summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* Add test case for FuncDecl and function pointer variable.Zhongxing Xu2008-10-221-0/+9
| | | | llvm-svn: 57979
* Implement ranking of standard conversion sequences by their qualificationDouglas Gregor2008-10-225-41/+170
| | | | | | | | | | | | 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-224-9/+9
| | | | 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-224-40/+44
| | | | | | 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
* Update to use raw_ostream for PrintModulePass.Daniel Dunbar2008-10-221-6/+6
| | | | | | - Stop playing fast and loose with the std stream. llvm-svn: 57948
* Fix a thinko in the qualification-conversion check when the qualificaitons ↵Douglas Gregor2008-10-223-2/+31
| | | | | | 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
* Commito, didn't mean to remove this header.Daniel Dunbar2008-10-211-0/+1
| | | | llvm-svn: 57938
* [LLVM up] Add basic -S option to clang.Daniel Dunbar2008-10-215-98/+332
| | | | | | | | | | | - Split backend related consumer out into Backend.cpp, replaces LLVMCodeGenWriter. - Structure follows llvm-gcc to some extent. - Still need to implement all the options which impact code generation and the optimization passes which llvm-gcc uses at various levels. llvm-svn: 57936
* Initial step toward supporting qualification conversions (C++ 4.4).Douglas Gregor2008-10-218-12/+182
| | | | | | | | | | | | | | | | | | | | Changes: - Sema::IsQualificationConversion determines whether we have a qualification conversion. - Sema::CheckSingleAssignment constraints now follows the C++ rules in C++, performing an implicit conversion from the right-hand side to the type of the left-hand side rather than checking based on the C notion of "compatibility". We now rely on the implicit-conversion code to determine whether the conversion can happen or not. Sema::TryCopyInitialization has an ugly reference-related hack to cope with the initialization of references, for now. - When building DeclRefExprs, strip away the reference type, since there are no expressions whose type is a reference. We'll need to do this throughout Sema. - Expr::isLvalue now permits functions to be lvalues in C++ (but not in C). llvm-svn: 57935
* Updated checker build.Ted Kremenek2008-10-211-1/+1
| | | | llvm-svn: 57931
* Add coverage of part of getPrimaryDecl that was failing prior toDaniel Dunbar2008-10-211-3/+4
| | | | | | previous commit. llvm-svn: 57930
* Fix use of dyn_cast.Daniel Dunbar2008-10-211-1/+1
| | | | llvm-svn: 57927
* Add GetModule accessor to ModuleBuilderDaniel Dunbar2008-10-212-2/+7
| | | | llvm-svn: 57924
* When conjuring symbols for compound assignments, use the promoted type to ↵Ted Kremenek2008-10-211-4/+4
| | | | | | determine if the symbolic value as a "loc::" or "nonloc::" value. llvm-svn: 57917
* Fix <rdar://problem/6257645> clang static analyzer crashes when encountering ↵Steve Naroff2008-10-211-0/+5
| | | | | | | | | blocks as objects ASTContext::isObjCObjectPointerType() needs to consider blocks as objects. Note: My previous commit was done in the test directory...as a result, this commit was necessary. llvm-svn: 57914
* Fix <rdar://problem/6257645> clang static analyzer crashes when encountering ↵Steve Naroff2008-10-211-0/+4
| | | | | | | | blocks as objects ASTContext::isObjCObjectPointerType() needs to consider blocks as objects. llvm-svn: 57913
* Cosmetic patch from João Paulo Rechi VitaDouglas Gregor2008-10-211-1/+0
| | | | llvm-svn: 57910
* Preliminary support for function overloadingDouglas Gregor2008-10-2128-64/+1704
| | | | llvm-svn: 57909
* Handle [NSAutoreleasePool addObject:] (an alternative way to add objects to ↵Ted Kremenek2008-10-211-2/+27
| | | | | | | | the current autorelease pool). Added initial code for tracking stack of autorelease pools. llvm-svn: 57908
* Update Xcode project.Ted Kremenek2008-10-211-16/+24
| | | | llvm-svn: 57907
* Fix a crasher during error recovery in Parser::ParseObjCTypeName().Steve Naroff2008-10-212-1/+14
| | | | | | Found this while fixing another unrelated radar. llvm-svn: 57904
* Fix <rdar://problem/6297052> confused in some way by embedded /* */ comments.Steve Naroff2008-10-211-2/+2
| | | | llvm-svn: 57903
* Update VC++ project files.Steve Naroff2008-10-212-1/+5
| | | | llvm-svn: 57902
* Tweak an expected-error to match the output. IMHO it is better to diagnose ↵Gabor Greif2008-10-211-1/+1
| | | | | | 'int (void)' because it has the same meaning in C and C++. llvm-svn: 57901
* Fix typo.Steve Naroff2008-10-211-1/+1
| | | | llvm-svn: 57899
* Fix <rdar://problem/6261178> clang-on-xcode: [sema] multiple method warning ↵Steve Naroff2008-10-214-16/+50
| | | | | | | | | | | | is over enthusiastic. Fix <rdar://problem/6265257> warnings for ambiguous message send swamp other warnings. Reworked Sema::MatchTwoMethodDeclarations() to optionally match based on method size and alignment (the default in GCC). Changed Sema::LookupInstanceMethodInGlobalPool() to use this feature. Added -Wno-struct-selector-match to driver, however didn't hook it up yet. Added a FIXME that says this. llvm-svn: 57898
* Localize the special processing of array variable inside Zhongxing Xu2008-10-212-14/+3
| | | | | | | | | | | GRExprEngine::VisitCast() so that other parts of the analyzer can be ignorant. When we cast "array of type T" to "pointer to T", we get the loc::MemRegionVal corresponding to the array variable. This is sufficient for BasicStore, but not for RegionStore. RegionStore should get the element region for the first array element in the cast. So next comes to the revamping of transfer functions for different store model. llvm-svn: 57897
* Modify Store interface: GetSVal/SetSVal => Retrieve/Bind.Zhongxing Xu2008-10-215-29/+29
| | | | llvm-svn: 57896
* Add partial specialization of ImmutableList for GRStatePartialTrait.Ted Kremenek2008-10-211-0/+32
| | | | llvm-svn: 57895
* Rename:Zhongxing Xu2008-10-218-7/+7
| | | | | | RValues.h/cpp => SVals.h/cpp llvm-svn: 57893
* Process decls in RegionStore. Individual elements of fixed size arrays areZhongxing Xu2008-10-211-2/+115
| | | | | | initialized to UndefinedVal. llvm-svn: 57892
* Add ElementRegion to represent memory chunks for array elements.Zhongxing Xu2008-10-212-3/+55
| | | | llvm-svn: 57891
* Updated checker buildTed Kremenek2008-10-211-1/+1
| | | | llvm-svn: 57890
* Add fileid_iterator to SourceManager.Ted Kremenek2008-10-211-0/+24
| | | | llvm-svn: 57878
* Added method to access the raw flags of Token.Ted Kremenek2008-10-211-0/+7
| | | | llvm-svn: 57877
* Change signature for CheckDivideZero.Ted Kremenek2008-10-211-2/+2
| | | | llvm-svn: 57876
* Added the start of a prototype implementation of PCH based on token caching.Ted Kremenek2008-10-213-11/+229
| | | | llvm-svn: 57863
* Further improve path-sensitivity with divide-by-zero checking by assuming ↵Ted Kremenek2008-10-202-18/+45
| | | | | | that a denominator cannot be zero even when the result of an '/' or '%' expression is unknown. llvm-svn: 57855
* Added test case inspired by <rdar://6268365>: recover path-sensitivity after ↵Ted Kremenek2008-10-201-0/+16
| | | | | | compound assignment when the result of the assignment is not known. llvm-svn: 57852
* Used conjured symbols to recover path-sensitivity when the result of a ↵Ted Kremenek2008-10-201-0/+13
| | | | | | compound assignment is UnknownVal(). llvm-svn: 57851
* Fix <rdar://problem/6268365> Parser rejects property (dot notation) access ↵Steve Naroff2008-10-202-1/+29
| | | | | | on id<protocol>. llvm-svn: 57850
* Sema::CheckCompareOperands() and ASTContext::mergeTypes(): Change handling ↵Steve Naroff2008-10-204-8/+33
| | | | | | of ObjC qualified id types to be consistent with gcc. This changes a handful of test case errors into warnings (diff will tell you which cases have changed). llvm-svn: 57841
* Add newline at the end of file, to silence compiler warning.Matthijs Kooijman2008-10-201-1/+1
| | | | llvm-svn: 57818
* eliminate ObjCPropertyAttrs an corresponding enums, just useChris Lattner2008-10-203-27/+9
| | | | | | strcmp when needed. llvm-svn: 57817
* rearrange some code.Chris Lattner2008-10-201-17/+16
| | | | llvm-svn: 57816
* more simplifications to error recovery in ParseObjCPropertyAttributeChris Lattner2008-10-201-28/+18
| | | | llvm-svn: 57815
OpenPOWER on IntegriCloud