summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* followsFundamentalRule() returns true if "alloc" or "new" appear at the ↵Ted Kremenek2008-10-241-16/+22
| | | | | | beginning of the string, not anywhere within it. llvm-svn: 58112
* Expand bubble size by 50%.Ted Kremenek2008-10-241-1/+1
| | | | llvm-svn: 58111
* Implicit conversions from arrays can also be conversions to references (will ↵Ted Kremenek2008-10-241-1/+1
| | | | | | add a test case shortly). llvm-svn: 58110
* Issue warnings about owned objects returned from a method that does not ↵Ted Kremenek2008-10-241-54/+74
| | | | | | match the established Cocoa naming conventions. llvm-svn: 58108
* Added method "getSelfRegion" to Store. This method returns the region ↵Ted Kremenek2008-10-244-23/+51
| | | | | | associated with the "this" or "self" object (C++ and Objective-C respectively). llvm-svn: 58107
* Added region ObjCObjectRegion that represents an instance of an Objective-C ↵Ted Kremenek2008-10-241-0/+21
| | | | | | object. llvm-svn: 58106
* Move viewInheritance to CXXRecordDecl, and make sure it builds in Release ↵Douglas Gregor2008-10-241-14/+4
| | | | | | mode, too llvm-svn: 58105
* PR2942: FunctionDecls by typedef crash the C++ front-endDouglas Gregor2008-10-241-1/+30
| | | | llvm-svn: 58100
* Some cleanups for the ambiguous derived-to-base conversion checksDouglas Gregor2008-10-244-50/+49
| | | | llvm-svn: 58096
* Semantic analysis for C++ reinterpret_cast and const_cast. Patch by ↵Douglas Gregor2008-10-245-8/+351
| | | | | | Sebastian Redl. llvm-svn: 58094
* The Decl of an array region can be VarDecl or FieldDecl. Handle this in ↵Zhongxing Xu2008-10-241-2/+10
| | | | | | RegionStoreManager::ArrayToPointer(). llvm-svn: 58086
* Implement struct initialization. Make it into a recursive function. Also makeZhongxing Xu2008-10-241-24/+63
| | | | | | the array initialization code into a function. llvm-svn: 58083
* Don't crash on invalid source locations inDaniel Dunbar2008-10-241-3/+6
| | | | | | CGDebugInfo::getOrCreateCompileUnit. llvm-svn: 58081
* PR2919: __builtin_types_compatible_p strips CRV qualifiers.Daniel Dunbar2008-10-242-2/+14
| | | | llvm-svn: 58079
* Add printing method to ElementRegion.Zhongxing Xu2008-10-241-0/+5
| | | | llvm-svn: 58077
* Add printing method to RegionStoreManager.Zhongxing Xu2008-10-241-3/+11
| | | | llvm-svn: 58074
* Add printing with llvm::raw_ostream methods to SVals.Zhongxing Xu2008-10-241-0/+131
| | | | llvm-svn: 58073
* First non-embarrassing cut at checking for ambiguous derived-to-base Douglas Gregor2008-10-247-18/+465
| | | | | | | | | | conversions. Added PerformImplicitConversion, which follows an implicit conversion sequence computed by TryCopyInitialization and actually performs the implicit conversions, including the extra check for ambiguity mentioned above. llvm-svn: 58071
* Fix 80-col violation.Zhongxing Xu2008-10-242-4/+6
| | | | llvm-svn: 58070
* Add a bunch of dummy methods to make RegionStoreManager non-virtual.Zhongxing Xu2008-10-241-3/+29
| | | | llvm-svn: 58061
* Added getLValueElement() to RegionStore. Only handle constant array for now.Zhongxing Xu2008-10-241-0/+54
| | | | llvm-svn: 58058
* Make the analyzer store (memory model) a command line option.Ted Kremenek2008-10-242-2/+8
| | | | llvm-svn: 58056
* Map compilation units using FileEntry pointers instead ofDaniel Dunbar2008-10-242-11/+8
| | | | | | | | | FileIDs. This seems better conceptually and lets the SourceManager handle details of mapping the location to a file ID. - In practice, fixes an assert because this code wasn't using getPhysicalLoc. llvm-svn: 58055
* Use llvm::errs() instead of cerr.Ted Kremenek2008-10-231-5/+5
| | | | llvm-svn: 58054
* Convert InheritanceHierarchyWriter to use llvm::raw_ostream instead of ↵Ted Kremenek2008-10-231-11/+10
| | | | | | std::ostream. llvm-svn: 58053
* Fix regression in comparison of qualified id; == operator was beingDaniel Dunbar2008-10-231-1/+3
| | | | | | created with LHS and RHS whose types didn't match. llvm-svn: 58049
* Clean up and document the representation of C++ base classesDouglas Gregor2008-10-234-30/+40
| | | | llvm-svn: 58040
* Add an assertion to make our intention more clear.Zhongxing Xu2008-10-231-0/+2
| | | | llvm-svn: 58030
* If NDEBUG is set, don't include any of the code for visualizing inheritance ↵Douglas Gregor2008-10-231-0/+2
| | | | | | hierarchies llvm-svn: 58029
* Let StoreManager do different cast on arrays. BasicStore will just keep it ↵Zhongxing Xu2008-10-232-2/+10
| | | | | | intact. llvm-svn: 58028
* Disable warning about potential leaks of returned values until we test it a ↵Ted Kremenek2008-10-231-3/+33
| | | | | | little more (lots of noise). llvm-svn: 58021
* Add support for conversions from a pointer-to-derived to aDouglas Gregor2008-10-234-19/+214
| | | | | | | | | | | | pointer-to-base. Also, add overload ranking for pointer conversions (for both pointer-to-void and derived-to-base pointer conversions). Note that we do not yet diagnose derived-to-base pointer conversion errors that stem from ambiguous or inacessible base classes. These aren't handled during overload resolution; rather, when the conversion is actually used we go ahead and diagnose the error. llvm-svn: 58017
* Warn about potentially leaked objects that are returned from methods whose ↵Ted Kremenek2008-10-221-16/+64
| | | | | | names do not follow the Cocoa Memory Management guidelines. llvm-svn: 58012
* Restrict creation of OverloadedFunctionDecl only to C++ (it was getting used ↵Argyrios Kyrtzidis2008-10-221-1/+2
| | | | | | for invalid redeclarations on C). llvm-svn: 58008
* Fix <rdar://problem/6311947> clang on xcode (regression): error: use of ↵Steve Naroff2008-10-221-2/+2
| | | | | | | | undeclared identifier 'expandedValue'. Mea culpa: I introduced this regresson in the following 2 commits: r57529 (10/14), r57841 (10/20). llvm-svn: 58007
* Remove the GraphWriter-based version of the C++ class inheritance ↵Douglas Gregor2008-10-221-89/+1
| | | | | | visualization, since it isn't being used and can't handle virtual bases properly llvm-svn: 58002
* Added GraphViz visualization of C++ inheritance hierarchies. Douglas Gregor2008-10-222-9/+266
| | | | | | | Factored the QualTypeOrdering predicate into its own header (TypeOrdering.h), now that it is used in two places. llvm-svn: 58001
* Now that DeclRefExpr accepts a NamedDecl, use a DeclRefExpr for when a ↵Argyrios Kyrtzidis2008-10-222-5/+2
| | | | | | CXXFieldDecl is referenced inside a method. llvm-svn: 58000
* Enhance reference-count checker to correctly identify CG "release" ↵Ted Kremenek2008-10-221-5/+13
| | | | | | functions. This fixes <rdar://problem/6303488>. llvm-svn: 57997
* Fix <rdar://problem/6257675> error: member reference base type ↵Steve Naroff2008-10-221-0/+7
| | | | | | | | ('NSUserDefaults *') is not a structure or union. Teach Sema::ActOnMemberReferenceExpr() to look through local category implementations associated with the class. llvm-svn: 57995
* Add representation of base classes in the AST, and verify that weDouglas Gregor2008-10-225-24/+103
| | | | | | | | don't have duplicated direct base classes. Seriliazation of base class specifiers is not yet implemented. llvm-svn: 57991
* QualType::isMoreQualifiedThan and isAtLeastAsQualifiedAs assert that weDouglas Gregor2008-10-222-6/+12
| | | | | | | | | aren't trying to compare with address-space qualifiers (for now). Clean up handing of DeclRefExprs in Expr::isLvalue and refactor part of the check into a static DeclCanBeLvalue. llvm-svn: 57980
* Implement ranking of standard conversion sequences by their qualificationDouglas Gregor2008-10-224-40/+148
| | | | | | | | | | | | conversions (e.g., comparing int* -> const int* against int* -> const volatile int*); see C++ 13.3.3.2p3 bullet 3. Add Sema::UnwrapSimilarPointerTypes to simplify the control flow of IsQualificationConversion and CompareQualificationConversion (and fix the handling of the int* -> volatile int* conversion in the former). llvm-svn: 57978
* Add a bunch of getLValue* methods to RegionStore.Zhongxing Xu2008-10-221-0/+54
| | | | llvm-svn: 57977
* Adjust parameter order to more natural one.Zhongxing Xu2008-10-222-4/+4
| | | | llvm-svn: 57964
* Exprs of function type is another special case for ImplicitCast.Zhongxing Xu2008-10-221-2/+2
| | | | llvm-svn: 57963
* Move Sema::GetNonReferenceType to QualType::getNonReferenceType and make it ↵Douglas Gregor2008-10-223-19/+1
| | | | | | inline llvm-svn: 57951
* some minor cleanups to ParseObjCTypeName:Chris Lattner2008-10-221-17/+12
| | | | | | | | | | 1. Remove a bogus assertion, clients other than sema can return a null pointer from actions that result in ParseTypeName returning null. 2. Remove dead RParenLoc variable. 3. Simplify control flow handling error conditions. 4. On a major failure, we should skip until ')' not until '}'. llvm-svn: 57949
* Fix a thinko in the qualification-conversion check when the qualificaitons ↵Douglas Gregor2008-10-221-1/+1
| | | | | | are disjoint, and add some overloading-based tests of qualification conversions llvm-svn: 57942
* Functions can be lvalues in C++, but not modifiable lvaluesDouglas Gregor2008-10-221-1/+7
| | | | llvm-svn: 57941
OpenPOWER on IntegriCloud