- Nov 13, 2012
-
-
Anna Zaks authored
and other functions. When these functions return null, the pointer is not freed by them/ownership is not transfered. So we should allow the user to free the pointer by calling another function when the return value is NULL. llvm-svn: 167813
-
Bill Wendling authored
If we have a type 'int a[1]' and a type 'int b[0]', the generated DWARF is the same for both of them because we use the 'upper_bound' attribute. Instead use the 'count' attrbute, which gives the correct number of elements in the array. <rdar://problem/12566646> llvm-svn: 167807
-
Eli Friedman authored
PR11777. llvm-svn: 167802
-
Argyrios Kyrtzidis authored
don't recursively continue lexing. This avoids a stack overflow with a sequence of many empty #includes. rdar://11988695 llvm-svn: 167801
-
Argyrios Kyrtzidis authored
llvm-svn: 167800
-
Bill Wendling authored
LTO doesn't generate correct accelerator tables. This is due to the general lack correct of debug info for LTO. Disable it when using LTO. <rdar://problem/12401423> llvm-svn: 167799
-
Richard Smith authored
- In C++11, perform overload resolution over all assignment operators, rather than just looking for copy/move assignment operators. - Clean up after temporaries produced by operator= immediately, rather than accumulating them until the end of the function. llvm-svn: 167798
-
Kaelyn Uhrain authored
llvm-svn: 167791
-
Anna Zaks authored
llvm-svn: 167790
-
Ted Kremenek authored
This code assigned the last created CFGBlock* to the variable 'Block', which is a scratch variable which is null'ed out after a block is completed. By assigning the last created block to 'Block', we start editing a completed block, inserting CFGStmts that should be in another block. This was the case with 'try'. The test case that showed this had a while loop inside a 'try', and the logic before the while loop was being included as part of the "condition block" for the loop. This showed up as a bogus dead store, but could have lots of implications. Turns out this bug was replicated a few times within CFG.cpp, so I went and fixed up those as well. llvm-svn: 167788
-
Nick Lewycky authored
add functions to namespace 'std', also filter out namespaces with '__' anywhere in the name. llvm-svn: 167786
-
Kaelyn Uhrain authored
applied to CXXRecordDecls, where functions with that return type will inherit the warn_unused_result attribute. Also includes a tiny fix (with no discernable behavior change for existing code) to re-sync AttributeDeclKind enum and err_attribute_wrong_decl_type with warn_attribute_wrong_decl_type since the enum is used with both diagnostic messages to chose the correct description. llvm-svn: 167783
-
Anna Zaks authored
conditions. The adjustment is needed only in case of dynamic dispatch performed by the analyzer - when the runtime declaration is different from the static one. Document this explicitly in the code (by adding a helper). Also, use canonical Decls to avoid matching against the case where the definition is different from found declaration. This fix suppresses the testcase I added in r167762, so add another testcase to make sure we do test commit r167762. llvm-svn: 167780
-
Richard Smith authored
assignment generation. This incidentally avoids reusing the same Expr* across multiple statements in the same object; that was generating slightly broken ASTs, but I couldn't trigger any observable bad behavior, so no test. llvm-svn: 167779
-
Eric Christopher authored
llvm-svn: 167777
-
- Nov 12, 2012
-
-
Rafael Espindola authored
llvm-svn: 167767
-
David Blaikie authored
Introduces more clear scoping flags & flag combinations which should hopefully be more understandable. llvm-svn: 167766
-
Bill Wendling authored
llvm-svn: 167763
-
Anna Zaks authored
Suppresses a leak false positive (radar://12663777). In addition, we'll need to rewrite the adjustReturnValue() method not to return UnknownVal by default, but rather assert in cases we cannot handle. To make it possible, we need to correctly handle some of the edge cases we already know about. llvm-svn: 167762
-
Bill Wendling authored
llvm-svn: 167761
-
Richard Smith authored
internal linkage, no uses, trivial construction, and nontrivial destruction were not emitted. llvm-svn: 167756
-
Chad Rosier authored
defined as an internal software error. This notifies the driver to report diagnostics information. rdar://11951540 llvm-svn: 167754
-
Ted Kremenek authored
Per discussion on cfe-dev, re-enable suppression of -Wimplicit-fallthrough on C, but also include dialects of C++ earlier than C++11. There was enough consensus that we *can* get a good language solution to have an annotation outside of C++11, and without this annotation this warning doesn't quite mean's completeness criteria for this kind of warning. For now, restrict this warning to C++11 (where an annotation exists), and make this the behavior for the LLVM 3.2 release. Afterwards, we will hammer out a language solution that we are all happy with. llvm-svn: 167749
-
Bill Wendling authored
llvm-svn: 167748
-
Chad Rosier authored
temporary files are removed. rdar://12282296 llvm-svn: 167741
-
David Blaikie authored
Post-commit review feedback by Eli Friedman. llvm-svn: 167739
-
David Blaikie authored
Patch by Florent Bruneau! llvm-svn: 167736
-
Bill Wendling authored
llvm-svn: 167735
-
Bill Wendling authored
The 'a', 'c', and 'd' constraints on i386 mean a 32-bit register. We cannot place a 64-bit value into the 32-bit register. Error out instead of causing the compiler to spew general badness. <rdar://problem/12415959> llvm-svn: 167717
-
Rafael Espindola authored
now covered by attribute merging. llvm-svn: 167714
-
Rafael Espindola authored
attributes. In cases where the merged declaration is fully equivalent to the two original ones, some of the code was getLVForDecl was duplicated. Cases that are still handled in getLVForDecl are things like __private_extern__ int N; int N; For which we cannot produce a single merged decl with all the information. llvm-svn: 167703
-
Justin Holewinski authored
Some NVVM intrinsics were incorrectly labeled. llvm-svn: 167700
-
- Nov 11, 2012
-
-
Daniel Jasper authored
When recursively visiting the generated matches, the aggregated bindings need to be copied during the recursion. Otherwise, we they might not be properly overwritten (which is shown by the test), or there might be bound nodes present that were bound on a different matching branch. Review: http://llvm-reviews.chandlerc.com/D112 llvm-svn: 167695
-
Nico Weber authored
llvm-svn: 167694
-
Nico Weber authored
llvm-svn: 167692
-
Nico Weber authored
llvm-svn: 167690
-
Nico Weber authored
llvm-svn: 167680
-
Richard Smith authored
llvm-svn: 167679
-
- Nov 10, 2012
-
-
Fariborz Jahanian authored
lower 24bit is currently being used. llvm-svn: 167678
-
Douglas Gregor authored
CXXRecordDecl::forallBases, which does *not* do what I need. Fixes the failure introduced in r167651. llvm-svn: 167668
-