summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Move -undef flag into PreprocessorInitOptionsDaniel Dunbar2009-11-041-3/+2
| | | | llvm-svn: 86047
* Add code gen for pointer-to-member function inFariborz Jahanian2009-11-041-0/+2
| | | | | | ctor's initializer. Fixes pr5178. llvm-svn: 86040
* Properly replace (cxxscope, template-id) annotation tokens with aDouglas Gregor2009-11-041-5/+4
| | | | | | single typename annotation token when backtracing. Fixes PR5350. llvm-svn: 86034
* This patch extends CleanupScope to support destructionFariborz Jahanian2009-11-043-22/+41
| | | | | | of array objects on block exit. Patch is by Anders Calrsson. llvm-svn: 86032
* Don't try to check the initialization of fields with dependentDouglas Gregor2009-11-041-7/+16
| | | | | | | | types. Fixes PR5352. Fariborz, please review. llvm-svn: 86031
* Store the unresolved class type in MemberPointerType's Class field,Douglas Gregor2009-11-043-9/+24
| | | | | | from Peter Collingbourne! llvm-svn: 86030
* Eliminate the "old" ways of parsing operator-function-ids andDouglas Gregor2009-11-041-135/+0
| | | | | | | conversion-function-ids; all clients have moved on to ParseUnqualifiedId. llvm-svn: 86028
* Switch parsing of using declarations over to ParseUnqualifiedId.Douglas Gregor2009-11-044-53/+45
| | | | llvm-svn: 86027
* Preserve type source information in sizeof/alignof expressions, and pass itJohn McCall2009-11-047-19/+43
| | | | | | through to indexing. llvm-svn: 86018
* When performing template instantiation (transformation) ofDouglas Gregor2009-11-042-94/+179
| | | | | | | | | expressions, keep track of whether we are immediately taking the address of the expression. Pass this flag when building a declaration name expression so that we handle pointer-to-member constants properly. llvm-svn: 86017
* Update CMake.Daniel Dunbar2009-11-041-0/+1
| | | | llvm-svn: 86015
* Move -fcolor-diagnostics logic to driver.Daniel Dunbar2009-11-041-3/+8
| | | | llvm-svn: 86014
* Move logic for selection -fmessage-length= to driver.Daniel Dunbar2009-11-041-1/+12
| | | | llvm-svn: 86013
* Fix indentation.Daniel Dunbar2009-11-041-24/+24
| | | | llvm-svn: 86011
* Factor out a diagnostic options class.Daniel Dunbar2009-11-041-24/+31
| | | | llvm-svn: 86010
* Add FIXME.Ted Kremenek2009-11-041-0/+2
| | | | llvm-svn: 86004
* Catch uses of undefined values when they are used in assignment, thus ↵Ted Kremenek2009-11-043-31/+140
| | | | | | catching such bugs closer to the source. llvm-svn: 86003
* Diagnose the use of 'fastcall' on functions without prototypes or withJohn McCall2009-11-041-0/+18
| | | | | | varargs prototypes. llvm-svn: 86001
* Diagnose __builtin_offsetof on incomplete types. FixesJohn McCall2009-11-041-0/+4
| | | | | | rdar://problem/7222956 llvm-svn: 85999
* Change our basic strategy for avoiding deprecation warnings when the decl useJohn McCall2009-11-0412-78/+135
| | | | | | | | | | | | appears in a deprecated context. In the new strategy, we emit the warnings as usual unless we're currently parsing a declaration, where "declaration" is restricted to mean a decl group or a few special cases in Objective C. If we *are* parsing a declaration, we queue up the deprecation warnings until the declaration has been completely parsed, and then emit them only if the decl is not deprecated. We also standardize the bookkeeping for deprecation so as to avoid special cases. llvm-svn: 85998
* Merge ZeroSizedVLAChecker and UndefSizedVLAChecker.Zhongxing Xu2009-11-044-62/+42
| | | | llvm-svn: 85996
* Merge constant array and structures. This will create a global variables for ↵Tanya Lattner2009-11-042-0/+18
| | | | | | arrays and structs that are constant and their initializer is constant. It is on by default but can be disable with the flag -fno-merge-all-constants. llvm-svn: 85991
* Fix 80-col violations.Mike Stump2009-11-041-15/+19
| | | | llvm-svn: 85990
* Implement support for parsing dependent template-ids that refer toDouglas Gregor2009-11-049-169/+344
| | | | | | | | overloaded operators, e.g., p->template operator+<T>() llvm-svn: 85989
* Split out return adjustments in thunks from this adjustment in thunksMike Stump2009-11-041-2/+9
| | | | | | | so the optimizer can tailcall into the return value adjustment thunk. This improves codesize for complex hierarchies. llvm-svn: 85988
* Refactor StoreManager::BindDecl() to take a VarRegion* instead of a ↵Ted Kremenek2009-11-043-42/+41
| | | | | | VarDecl*, and modify GRExprEngine::EvalBind() to handle decl initialization as well. This paves the way for adding "checker" visitation in EvalBind(). llvm-svn: 85983
* Misc cleanups.Mike Stump2009-11-031-2/+0
| | | | llvm-svn: 85978
* Change GRTransferFuncs::RegisterChecks() to take a GRExprEngine& instead of ↵Ted Kremenek2009-11-032-3/+5
| | | | | | a BugReporter&. This paves the way for pulling some of the retain/release checker into a "Checker" class. llvm-svn: 85971
* Refine volatile handling, specifically, we must have the canonicalMike Stump2009-11-037-39/+47
| | | | | | | type to look at the volatile specifier. I found these all from just hand auditing the code. llvm-svn: 85967
* Parsing and semantic analysis for template-ids that name overloadedDouglas Gregor2009-11-036-71/+91
| | | | | | | | | | | | operators, e.g., operator+<int> which now works in declarators, id-expressions, and member access expressions. This commit only implements the non-dependent case, where we can resolve the template-id to an actual declaration. llvm-svn: 85966
* We have to ensure we have the canonical type to do this. This is butMike Stump2009-11-031-1/+2
| | | | | | | one instance of a large problem. assert for non-canoical types would help track down these things. llvm-svn: 85956
* Tweak some comments about unqualified-id and id-expression parsing. No ↵Douglas Gregor2009-11-031-13/+6
| | | | | | functionality change llvm-svn: 85942
* CFieldCallback doesn't need to create an ExtensionRAIIObject: it's actuallyJohn McCall2009-11-031-14/+3
| | | | | | | automatically shadowed by the ExtensionRAIIObject created by ParseStructDeclaration. llvm-svn: 85941
* Remove a bunch of #if 0'd code made irrelevant by the latest ↵Douglas Gregor2009-11-031-106/+0
| | | | | | ParseUnqualifiedId changes llvm-svn: 85938
* Remove previous patch for pr5296 due to further clarificationFariborz Jahanian2009-11-031-29/+1
| | | | | | of value-initialization and trivial constructors. llvm-svn: 85935
* Implement support for the -undef command line option, patch byChris Lattner2009-11-032-3/+7
| | | | | | Roman Divacky! PR5363 llvm-svn: 85932
* silence a warning.Chris Lattner2009-11-031-1/+1
| | | | llvm-svn: 85931
* Replace the code that parses member access expressions after "." orDouglas Gregor2009-11-038-285/+139
| | | | | | | | | | | | "->" with a use of ParseUnqualifiedId. Collapse ActOnMemberReferenceExpr, ActOnDestructorReferenceExpr (both of them), ActOnOverloadedOperatorReferenceExpr, ActOnConversionOperatorReferenceExpr, and ActOnMemberTemplateIdReferenceExpr into a single, new action ActOnMemberAccessExpr that does the same thing more cleanly (and can keep more source-location information). llvm-svn: 85930
* Silence a warning by giving Parser::FieldCallback a virtual destructor, andJohn McCall2009-11-031-0/+7
| | | | | | anchor the vtable to Parser.cpp for good measure. llvm-svn: 85927
* Reorganize the parsing of decl groups / function definitions so thatJohn McCall2009-11-033-126/+93
| | | | | | | declarators are parsed primarily within a single function (at least for these cases). Remove some excess diagnostics arising during parse failures. llvm-svn: 85924
* Refine codegen for covariant thunks that return references.Mike Stump2009-11-032-4/+6
| | | | llvm-svn: 85916
* Merge NullDerefChecker.[h,cpp] and UndefDerefChecker.[h,cpp]. They are ↵Ted Kremenek2009-11-035-59/+40
| | | | | | essentially two parts of the same check. llvm-svn: 85911
* Refine return value adjustments for thunks.Mike Stump2009-11-032-28/+42
| | | | llvm-svn: 85905
* Use ParseUnqualifiedId when parsing id-expressions. This eliminatesDouglas Gregor2009-11-036-125/+118
| | | | | | | | | | | yet another copy of the unqualified-id parsing code. Also, use UnqualifiedId to simplify the Action interface for building id-expressions. ActOnIdentifierExpr, ActOnCXXOperatorFunctionIdExpr, ActOnCXXConversionFunctionExpr, and ActOnTemplateIdExpr have all been removed in favor of the new ActOnIdExpression action. llvm-svn: 85904
* Fix documentation.Mike Stump2009-11-031-1/+1
| | | | llvm-svn: 85901
* Update CMakeLists.Benjamin Kramer2009-11-031-0/+2
| | | | llvm-svn: 85898
* Pull VLA size checker into its own files. Zhongxing Xu2009-11-034-97/+141
| | | | | | | | Split it to two checkers, one for undefined size, the other for zero size, so that we don't need to query the size when emitting the bug report. llvm-svn: 85895
* Implement: <rdar://problem/6250216> Warn against using -[NSAutoreleasePool ↵Ted Kremenek2009-11-035-6/+96
| | | | | | release] in GC mode llvm-svn: 85887
* Move 'static inline' functions GetNullarySelector() and GetUnarySelector() ↵Ted Kremenek2009-11-031-14/+0
| | | | | | from CFRefCount.cpp to ASTContext.h. These functions are likely to be generally useful. llvm-svn: 85886
* Pull AttrNonNullChecker into its own files.Zhongxing Xu2009-11-033-90/+103
| | | | llvm-svn: 85883
OpenPOWER on IntegriCloud