aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-12-20Change EmitVLASize to take a QualType that must be a variably modified type.Anders Carlsson
Emit the size even if the declared type is a variably modified type. This lets us handle void f(int n) { int (*a)[n]; printf("size: %d\n", sizeof(*a)); } git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61285 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-20Split up emitting of VLA sizes and getting the size of a VLA.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61284 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-20Add some ErrorUnsupported calls and turn on VLA codegen again.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61283 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-20Strangely enough, name of ObjC class is not encoded into theFariborz Jahanian
full encoding of the class which has an ivar of pointer to this class. Its name is encoded in the type for the ivar in the ivar-list metadata. This patch conforms to the above rule. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61282 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-20Implement checks for bool in increment and decrement.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61275 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-20Lazy bingding for region-store manager.Zhongxing Xu
* Now Bind() methods take and return GRState* because binding could also alter GDM. * No variables are initialized except those declared with initial values. * failed C test cases are due to bugs in RemoveDeadBindings(), which removes constraints that is still alive. This will be fixed in later patch. * default value of array and struct regions will be implemented in later patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61274 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-20Updated checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61273 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-20Fix <rdar://problem/6454568>: BugReporter should correctly handle switch ↵Ted Kremenek
statements with no default case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61270 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-19avoid using a typedef that isn't always included from headers.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61269 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-19More encoding support. This time forFariborz Jahanian
@encode of classes and bitfields. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61268 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-19Get rid of the old Expr::Evaluate variant.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61260 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-19Pass -fblocks to clangAnders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61258 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-19Add a missing @end. Why didn't this get diagnosed?Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61256 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-19Support more implicit conversions for Objective-C types. Addresses ↵Douglas Gregor
<rdar://problem/6458293>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61255 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-19Test case for my last @encode patch.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61247 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-19Allow downcasts of pointers to Objective-C interfaces, with aDouglas Gregor
warning. This matches GCC's behavior and addresses <rdar://problem/6458293>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61246 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-19Fix for PR3234Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61245 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-19Updated checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61233 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-19Several@encode bug fixes for ObjC.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61231 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-19Update Xcode project.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61230 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-18Add some more implicit conversions for Objective-C++Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61229 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-18Added test case for suppressing leak warnings for reference-counted objects ↵Ted Kremenek
passed by-reference to an unknown function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61227 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-18Fix regression when invalidating reference-counts for objects ↵Ted Kremenek
passed-by-reference to a function/method. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61224 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-18Don't define __STDC__ when compiling with -fms-extensionsSteve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61223 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-18Don't check initializers when there are dependent types or type-dependent ↵Douglas Gregor
expressions involved git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61212 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-18Ultrasimplistic sketch for the parsing of C++ template-ids. This won'tDouglas Gregor
become useful or correct until we (1) parse template arguments correctly, (2) have some way to turn template-ids into types, declarators, etc., and (3) have a real representation of templates. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61208 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-18Use '&' to test StartOfLine flag.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61205 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-18Removed a slot in ObjCMemRegExpr used inFariborz Jahanian
code gen which did not belong there. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61203 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-18Fix http://llvm.org/bugs/show_bug.cgi?id=3189.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61202 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-18add a simple fast-path for the common case of [] and [4] in Chris Lattner
array size declarators. No need to go through all the trouble of parsing crazy things like [static const 4] when most code doesn't need it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61200 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-18rename argumentChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61199 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-18disallow attributes in a few callers of ParseTypeQualifierListOpt,Chris Lattner
these completely ignore parsed attributes anyway, so don't try to read them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61198 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-18Clean up the C89/C++ warnings about C99 array features to not Chris Lattner
emit duplicate diags (some in parser and some in sema) and to warn about use of typequals in array sizes. This implements PR2759. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61197 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-18Add method used by ImmutableMap GDM specialization.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61193 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-18Allow ABI to use StructRet even for scalar values.Daniel Dunbar
- Update comment to reflect fact that StructRet is now supported for any type (modulo LLVM support). - No functionality change, no scalar types currently use this feature. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61192 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-18This is valid in C++.Chris Lattner
void foo() { return foo(); } git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61188 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-18Merge function-return.c into function.cChris Lattner
Fix PR2790 by making a warning an EXTWARN instead of EXTENSION. Add a new EXTENSION warning for "return (some void expression);" git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61187 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-18implement PR3177 - "__extension__ union" not supported in C++ modeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61180 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17Updated checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61173 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17Rewrite PTHLexer::DiscardToEndOfLine() to not use GetToken and instead only ↵Ted Kremenek
read the bytes needed to determine if a token is not at the start of the line. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61172 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17fix leakage of var's initializersNuno Lopes
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61171 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17Change PTHLexer::getSourceLocation() to not call GetToken() and instead just ↵Ted Kremenek
read the file offset in the token data buffer directly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61170 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17PTHLexer::isNextPPTokenLParen() no longer calls GetToken() and just reads ↵Ted Kremenek
the token kind from the token data buffer. This results in a minor speedup and reduces the dependency on GetToken(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61168 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17Delay semantic analysis of the C++ names casts when the subexpression is ↵Douglas Gregor
type-dependent or the destination type is dependent. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61165 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17fix a few more memory leaks: clean the ASTRecordLayouts, ASTObjCInterfaces ↵Nuno Lopes
and ASTRecordForInterface maps git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61163 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17Oops, accidentally commited the wrong version of the test (original Eli Friedman
commit r61160). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61162 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17Patch to re-implement duplicate ivar checkingFariborz Jahanian
(which will pass duplicate-ivar-check.m test again). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61161 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17Do proper recovery from an invalid switch condiition. Fixes PR3229.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61160 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17CF-retain/release checker:Ted Kremenek
- Fix regression reported in <rdar://problem/6452745>. After a null check, null references to resources should not have a retain count. This regression was caused by removing the call to "GRTransferFuncs::EvalAssume" in BasicConstraintManager. - Added a test case to test this behavior. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61155 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17This patch will build the Records lazily per Steve's comments.Fariborz Jahanian
Note that one test duplicate-ivar-check.m will fail because I need to re-implement duplicate ivar checking. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61154 91177308-0d34-0410-b5e6-96231b3b80d8