aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2008-12-21Remove unused function.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61299 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-21Fix for PR3246: an empty clobber list is the empty string, not a null Eli Friedman
string. That said, we should probably try and track down the correct clobber lists for the targets that don't have them (PPC, ARM, and Sparc), so that we can generate correct code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61298 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-21Did not mean to commit this.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61296 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-21Handle VLA indexingAnders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61295 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-20Add support for member references (E1.E2, E1->E2) with C++ semantics,Douglas Gregor
which can refer to static data members, enumerators, and member functions as well as to non-static data members. Implement correct lvalue computation for member references in C++. Compute the result type of non-static data members of reference type properly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61294 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-20Finish up saving original parameter type andFariborz Jahanian
using it in ObjC's method parameter encoding. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61293 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-20Extend the unsupported error to include break and continue, and fix a Eli Friedman
warning by using an unsigned index. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61292 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-20Make VLAs usable, and make basic usage work correctly. Also, add a Eli Friedman
simple test that actually does VLA codegen. Note that despite the fact that the alloca isn't in the entry block, it should dominate all uses; this is guaranteed by the restrictions on goto into VLA scope in C99. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61291 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-20Handle typedefs to VLAs (Emit the size expr when we encounter the typedefAnders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61290 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-20Check the entire StackSaveValues stack for VLAs when dealing with goto and ↵Anders Carlsson
return statements. Noticed by Eli Friedman. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61289 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-20Make sure to generate code for arguments that have a variably modified type.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61288 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-20Add case for the new AST node.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61287 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-20introducing ParmVarWithOriginalTypeDecl class toFariborz Jahanian
keep track of the original parameter decl. types. This is work in progress. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61286 91177308-0d34-0410-b5e6-96231b3b80d8
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-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-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-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-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-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-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-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-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-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-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-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-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