- Apr 03, 2013
-
-
Jordan Rose authored
The lifetime of a temporary can be extended when it is immediately bound to a local reference: const Value &MyVal = Value("temporary"); In this case, the temporary object's lifetime is extended for the entire scope of the reference; at the end of the scope it is destroyed. The analyzer was modeling this improperly in two ways: - Since we don't model temporary constructors just yet, we create a fake temporary region when it comes time to "materialize" a temporary into a real object (lvalue). This wasn't taking base casts into account when the bindings being materialized was Unknown; now it always respects base casts except when the temporary region is itself a pointer. - When actually destroying the region, the analyzer did not actually load from the reference variable -- it was basically destroying the reference instead of its referent. Now it does do the load. This will be more useful whenever we finally start modeling temporaries, or at least those that get bound to local reference variables. <rdar://problem/13552274> llvm-svn: 178697
-
rdar://problem/13561911Greg Clayton authored
Modify LLDB to handle DW_FORM_ref_addr attributes for DWARF3 and DWARF4. llvm-svn: 178696
-
Rafael Espindola authored
llvm-svn: 178695
-
Rafael Espindola authored
Normally r_info is just a 32 of 64 bit number matching the endian of the rest of the file. Unfortunately, mips 64 bit little endian is special: The top 32 bits are a little endian number and the following 32 are a big endian one. llvm-svn: 178694
-
Rafael Espindola authored
llvm-svn: 178693
-
Jason Molenda authored
needed for some versions of clang. llvm-svn: 178692
-
-
Howard Hinnant authored
The move / swap members were not correctly taking all of the possible states of the basic_stringbuf into account. Just rewrote these members. Test included. This fixes http://llvm.org/bugs/show_bug.cgi?id=15659. llvm-svn: 178690
-
Richard Osborne authored
llvm-svn: 178689
-
Richard Osborne authored
Previously some instructions were unintentionally covered twice and others were not covered at all. llvm-svn: 178688
-
Anna Zaks authored
As they are relevant on both Mac and iOS. llvm-svn: 178687
-
Anna Zaks authored
This also allows us to ensure IDC/return null suppression gets triggered in such cases. llvm-svn: 178686
-
Anna Zaks authored
llvm-svn: 178685
-
Anna Zaks authored
1) Look for the node where the condition expression is live when checking if it is constrained to true or false. 2) Fix a bug in ProgramState::isNull, which was masking the problem. When the expression is not a symbol (,which is the case when it is Unknown) return unconstrained value, instead of value constrained to “false”! (Thankfully other callers of isNull have not been effected by the bug.) llvm-svn: 178684
-
Anna Zaks authored
Thanks Jordan! llvm-svn: 178683
-
Rafael Espindola authored
http://lab.llvm.org:8011/builders/clang-x86_64-darwin10-gdb went back green before it processed the reverted 178663, so it could not have been the culprit. Revert "Revert 178663." This reverts commit 4f8a3eb2ce5d4ba422483439e20c8cbb4d953a41. llvm-svn: 178682
-
Rafael Espindola authored
Looks like it broke http://lab.llvm.org:8011/builders/clang-x86_64-darwin10-gdb Revert "Don't compute a patched/semantic storage class." This reverts commit 8f187f62cb0487d31bc4afdfcd47e11fe9a51d05. llvm-svn: 178681
-
Fariborz Jahanian authored
rewriting typedef for a qualified object type and also when two declarations happen to be on the same line. // rdar://13562505 llvm-svn: 178680
-
Eric Christopher authored
ELF with support for: - File headers - Section headers + data - Relocations - Symbols - Unwind data (only COFF/Win64) The output format follows a few rules: - Values are almost always output one per line (as elf-dump/coff-dump already do). - Many values are translated to something readable (like enum names), with the raw value in parentheses. - Hex numbers are output in uppercase, prefixed with "0x". - Flags are sorted alphabetically. - Lists and groups are always delimited. Example output: ---------- snip ---------- Sections [ Section { Index: 1 Name: .text (5) Type: SHT_PROGBITS (0x1) Flags [ (0x6) SHF_ALLOC (0x2) SHF_EXECINSTR (0x4) ] Address: 0x0 Offset: 0x40 Size: 33 Link: 0 Info: 0 AddressAlignment: 16 EntrySize: 0 Relocations [ 0x6 R_386_32 .rodata.str1.1 0x0 0xB R_386_PC32 puts 0x0 0x12 R_386_32 .rodata.str1.1 0x0 0x17 R_386_PC32 puts 0x0 ] SectionData ( 0000: 83EC04C7 04240000 0000E8FC FFFFFFC7 |.....$..........| 0010: 04240600 0000E8FC FFFFFF31 C083C404 |.$.........1....| 0020: C3 |.| ) } ] ---------- snip ---------- Relocations and symbols can be output standalone or together with the section header as displayed in the example. This feature set supports all tests in test/MC/COFF and test/MC/ELF (and I suspect all additional tests using elf-dump), making elf-dump and coff-dump deprecated. Patch by Nico Rieck! llvm-svn: 178679
-
Eric Christopher authored
Patch by Nico Rieck! llvm-svn: 178678
-
Eric Christopher authored
Patch by Nico Rieck! llvm-svn: 178677
-
Eric Christopher authored
Patch by Nico Rieck! llvm-svn: 178676
-
Vincent Lejeune authored
llvm-svn: 178675
-
Aaron Ballman authored
llvm-svn: 178674
-
Hal Finkel authored
Incorporating review feedback from Bill Schmidt on r178617. No functionality change intended. llvm-svn: 178672
-
Argyrios Kyrtzidis authored
Syntactically means the function macro parameter names do not need to use the same identifiers in order for the definitions to be considered identical. Syntactic equivalence is a microsoft extension for macro redefinitions and we'll also use this kind of comparison to check for ambiguous macros coming from modules. rdar://13562254 llvm-svn: 178671
-
Nico Weber authored
llvm-svn: 178670
-
Jyotsna Verma authored
llvm-svn: 178669
-
Kaelyn Uhrain authored
smarts so that it doesn't approve of keywords and/or type names when it knows (based on its flags) that those kinds of corrections are not wanted. llvm-svn: 178668
-
Vincent Lejeune authored
llvm-svn: 178667
-
Aaron Ballman authored
Testing for Visual Studio 2010 SP1 or greater before calling the _xgetbv intrinsic. This also fixes a minor code formatting issue. llvm-svn: 178666
-
Vincent Lejeune authored
llvm-svn: 178665
-
Vincent Lejeune authored
Mesa does not override llvm behavior wrt KILLGT anymore so llvm has to handle KILLGT on its own. llvm-svn: 178664
-
Rafael Espindola authored
For variables and functions clang used to store two storage classes. The one "as written" in the code and a patched one, which, for example, propagates static to the following decls. This apparently is from the days clang lacked linkage computation. It is now redundant and this patch removes it. llvm-svn: 178663
-
Eli Bendersky authored
llvm-svn: 178662
-
Edwin Vane authored
Added support to CMake and autoconf for unit tests in clang-tools-extra. A dummy test exists for now until more meaningful tests can be written. llvm-svn: 178661
-
Hal Finkel authored
I discussed this with Bill Schmidt on IRC, and it was decided that this is a safe and reasonable default. llvm-svn: 178659
-
Hal Finkel authored
llvm-svn: 178658
-
Hal Finkel authored
llvm-svn: 178657
-
Ulrich Weigand authored
More direct types in PowerPC AltiVec intrinsics. This patch follows up on work done by Bill Schmidt in r178277, and replaces most of the remaining uses of VRRC in ISEL DAG patterns. The resulting .inc files are identical except for comments, so no change in code generation is expected. llvm-svn: 178656
-