summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Fix analyzer crash on analyzing 'catch' with no condition variable.Ted Kremenek2012-03-161-0/+5
| | | | llvm-svn: 152900
* Don't try to create "store atomic" instructions of non-integer types; they ↵Eli Friedman2012-03-161-4/+5
| | | | | | aren't supported at the moment. PR12040. llvm-svn: 152891
* [arcmt] The hard-coded list of weak-incompatible classes is no longer necessary.Argyrios Kyrtzidis2012-03-161-38/+0
| | | | | | rdar://10673816 llvm-svn: 152879
* [arcmt] iOS is always safe to use 'weak'. rdar://10950825Argyrios Kyrtzidis2012-03-161-0/+4
| | | | llvm-svn: 152878
* modern objective-c translation: writing @try/@catch/@finallyFariborz Jahanian2012-03-151-20/+28
| | | | | | statements. llvm-svn: 152875
* When a variable has a specified asm name, but isn't using the register ↵Eli Friedman2012-03-151-0/+2
| | | | | | storage class, the asm name doesn't specify a register. PR12244. llvm-svn: 152873
* [analyzer] If a metadata symbol is interesting, its region is interesting as ↵Jordy Rose2012-03-151-1/+6
| | | | | | well. llvm-svn: 152868
* modern objective-c translator: writing @try/@finally statement.Fariborz Jahanian2012-03-151-3/+31
| | | | llvm-svn: 152867
* [frontend] Fix how the frontend handles -fno-inline. AFAIK clang now matchesChad Rosier2012-03-152-6/+7
| | | | | | | the behavior of gcc with respect to the -fno-inline and -fno-inline-functions flags. llvm-svn: 152861
* [analyzer] Remove AggExprVisitor, a dead class that assisted in visiting C++ ↵Jordy Rose2012-03-153-78/+1
| | | | | | | | expressions with a "base object", because the CFG is now linearized. The only use of AggExprVisitor was in #if 0 code (the analyzer's incomplete C++ support), so there is no actual behavioral change anyway. llvm-svn: 152856
* Support deducing template arguments from nested initializer lists. PR12119.Sebastian Redl2012-03-151-3/+37
| | | | llvm-svn: 152848
* Support '%p' format specifier with block pointers.Ted Kremenek2012-03-151-1/+1
| | | | llvm-svn: 152839
* [analyzer] Allow checkers to supply call stack diagnostic hints for theAnna Zaks2012-03-153-5/+51
| | | | | | | | | | | | | | | | | | | | | | | | | BugVisitor DiagnosticPieces. When checkers create a DiagnosticPieceEvent, they can supply an extra string, which will be concatenated with the call exit message for every call on the stack between the diagnostic event and the final bug report. (This is a simple version, which could be/will be further enhanced.) For example, this is used in Malloc checker to produce the ", which allocated memory" in the following example: static char *malloc_wrapper() { // 2. Entered call from 'use' return malloc(12); // 3. Memory is allocated } void use() { char *v; v = malloc_wrapper(); // 1. Calling 'malloc_wrappers' // 4. Returning from 'malloc_wrapper', which allocated memory } // 5. Memory is never released; potential memory leak llvm-svn: 152837
* Provide the specific target type in the -Wnull-conversion warning.David Blaikie2012-03-151-1/+1
| | | | llvm-svn: 152835
* modern objective-c translator: rewriting of @catch-stmt.Fariborz Jahanian2012-03-151-4/+37
| | | | llvm-svn: 152830
* [Sema] Introduce a data recursive evaluator specific to binary operators.Argyrios Kyrtzidis2012-03-151-181/+401
| | | | | | | | | | | This allows us to handle extreme cases of chained binary operators without causing stack overflow. The binary operators that are handled with the data recursive evaluator are comma, logical, or operators that have operands with integral or enumeration type. Part of rdar://10941790. llvm-svn: 152819
* Remove hacky temporary fix of r151585.Argyrios Kyrtzidis2012-03-151-22/+1
| | | | llvm-svn: 152818
* modern objective-c translator: please symbols generatedFariborz Jahanian2012-03-151-12/+30
| | | | | | for @protocol expression into their own section. llvm-svn: 152808
* When laying out an Objective-C object, consultSean Callanan2012-03-151-0/+2
| | | | | | | | | the external source to complete the Decl if it hasn't been completed already. This fixes a crash in LLDB. llvm-svn: 152807
* Adding in newer MinGW header paths.Aaron Ballman2012-03-151-0/+3
| | | | | | Patch thanks to Nikola Smiljanic llvm-svn: 152801
* Fix codegen for vld{3,4}_dup intrinsics.James Molloy2012-03-151-4/+4
| | | | | | Patch by Silviu Baranga! llvm-svn: 152788
* Unrevert r152761 (reverted in r152772) with a fix for the issue which wasRichard Smith2012-03-151-64/+75
| | | | | | | | breaking bootstrap. No test yet: it's quite hard to tickle the failure case. The specific testcase for this wouldn't be useful for testing anything more general than a reintroduction of this precise bug in any case. llvm-svn: 152775
* Reapply r152745 (reverted in 152765) now that compiler-rt is fixed.David Blaikie2012-03-151-0/+1
| | | | | | | | | | | | | | | | | Original commit message: Provide -Wnull-conversion separately from -Wconversion. Like GCC, provide a NULL conversion to non-pointer conversion as a separate flag, on by default. GCC's flag is "conversion-null" which we provide for cross compatibility, but in the interests of consistency (with -Wint-conversion, -Wbool-conversion, etc) the canonical Clang flag is called -Wnull-conversion. Patch by Lubos Lunak. Review feedback by myself, Chandler Carruth, and Chad Rosier. llvm-svn: 152774
* Revert r152761 "Minor optimization to constant evaluation: don't botherDaniel Dunbar2012-03-151-74/+64
| | | | | | computing expr source...", it breaks bootstrap. llvm-svn: 152772
* Small cleanup: move trailing-return-type special-casing intoRichard Smith2012-03-151-3/+3
| | | | | | getDeclSpecContextFromDeclaratorContext. llvm-svn: 152766
* Revert r152745 as it's breaking the internal buildbots.Chad Rosier2012-03-151-1/+0
| | | | | | | Abbreviated commit message: Provide -Wnull-conversion separately from -Wconversion. llvm-svn: 152765
* Minor optimization to constant evaluation: don't bother computing expr sourceRichard Smith2012-03-151-64/+74
| | | | | | | | | | locations for diagnostics we're not going to emit, and don't track the subobject designator outside C++11 (since we're not going to use it anyway). This seems to give about a 0.5% speedup on 403.gcc/combine.c, but the results were sufficiently noisy that I can't reject the null hypothesis. llvm-svn: 152761
* Remove a variable rendered unused by r152750.Richard Smith2012-03-151-1/+1
| | | | llvm-svn: 152758
* [frontend] Add support for disabling the "inline" keyword using Chad Rosier2012-03-142-9/+11
| | | | | | | | | | | -fno-inline-functions. This behaves much like -fno-inline in gcc, but based on a discussion with Daniel it was decided that -fno-inline-functions should subsume -fno-inline. Please speak up if you object. The -fno-inline flag remains ignored. Final part of rdar://10972766 llvm-svn: 152754
* modern objective-c translator: section info.Fariborz Jahanian2012-03-141-6/+57
| | | | | | and metadata for "non-lazy" class and categories. llvm-svn: 152751
* Instantiating a class template should not instantiate the definition of anyRichard Smith2012-03-147-119/+296
| | | | | | | | scoped enumeration members. Later uses of an enumeration temploid as a nested name specifier should cause its instantiation. Plus some groundwork for explicit specialization of member enumerations of class templates. llvm-svn: 152750
* '#if 0' out a variable that's only used in other preprocessor-disabled code.Matt Beaumont-Gay2012-03-141-0/+2
| | | | | | | (Why are we keeping all of this code around anyway? Say the word and I'll start swinging the delete hammer.) llvm-svn: 152749
* Provide -Wnull-conversion separately from -Wconversion.David Blaikie2012-03-141-0/+1
| | | | | | | | | | | | | Like GCC, provide a NULL conversion to non-pointer conversion as a separate flag, on by default. GCC's flag is "conversion-null" which we provide for cross compatibility, but in the interests of consistency (with -Wint-conversion, -Wbool-conversion, etc) the canonical Clang flag is called -Wnull-conversion. Patch by Lubos Lunak. Review feedback by myself, Chandler Carruth, and Chad Rosier. llvm-svn: 152745
* objective-c modern tranaltor. More section info.Fariborz Jahanian2012-03-141-3/+44
| | | | | | for misc. objc meta-data. llvm-svn: 152743
* No longer defining LP64 in 64-bit builds on platforms which are not LP64.Aaron Ballman2012-03-141-2/+4
| | | | llvm-svn: 152740
* When emitting a diagnostic about two-phase name lookup, don't do uselessNick Lewycky2012-03-141-0/+3
| | | | | | qualified name lookups into transparent contexts. llvm-svn: 152739
* Fix dereference of end iterator. Spotted by ASan.Matt Beaumont-Gay2012-03-141-1/+3
| | | | llvm-svn: 152738
* [analyzer] Diagnostics: Supply Caller information even if the bug occursAnna Zaks2012-03-142-7/+12
| | | | | | in the callee. llvm-svn: 152734
* objective-c modern translator.Fariborz Jahanian2012-03-141-10/+12
| | | | | | | Add the _class_ro_t.reserved field for 64bit targets. // rdar://11040024 llvm-svn: 152731
* [Analyser] Remove unnecessary recursive visits for ExprWithCleanups andErik Verbruggen2012-03-142-24/+19
| | | | | | MaterializeTemporaryExpr. llvm-svn: 152730
* Minor cleanup in attribute-related diagnostics, from Alexander Kornienko!Douglas Gregor2012-03-141-14/+11
| | | | llvm-svn: 152725
* Parse brace initializers as default arguments. PR12236.Sebastian Redl2012-03-142-2/+11
| | | | llvm-svn: 152721
* [Analyser] Removes more recursive visitations in ExprEngine that are noErik Verbruggen2012-03-141-86/+10
| | | | | | longer needed as the CFG is fully linearized. llvm-svn: 152720
* [Sema] Fix SemaDiagnosticBuilder to be inline.Daniel Dunbar2012-03-141-39/+32
| | | | | | | | | | - As with DiagnosticBuilder, it is very important that SemaDiagnosticBuilder be completely inline to ensure that the compiler can rip it apart and sink it to registers. This is good for another 30k reduction in code size. llvm-svn: 152708
* Add support to mangle templated member function names with templateEric Christopher2012-03-141-1/+14
| | | | | | | | args. Fixes rdar://11042577 llvm-svn: 152691
* objective-c modern rewriter. Do not add _class_ro_t.reserved Fariborz Jahanian2012-03-131-2/+4
| | | | | | field. // rdar://11040024 llvm-svn: 152685
* [driver] Clang should report an error for -faltivec on non-ppc.Chad Rosier2012-03-131-0/+8
| | | | | | rdar://10963572 llvm-svn: 152684
* When adding member functions to a class add any specializations ofEric Christopher2012-03-131-9/+22
| | | | | | | | | | | function templates as well. A future commit will mangle the added name with the template args like classes are mangled. Fixes rdar://10986010 llvm-svn: 152683
* [analyser] Refactor shouldInline logic into a helper.Anna Zaks2012-03-131-8/+19
| | | | llvm-svn: 152677
* [analyzer] Call enter/exit diagnostic should refer to caller/callee,Anna Zaks2012-03-131-8/+6
| | | | | | respectively. llvm-svn: 152676
OpenPOWER on IntegriCloud