summaryrefslogtreecommitdiffstats
path: root/clang/AST
Commit message (Collapse)AuthorAgeFilesLines
...
* Change uses of std::cerr/std::cout to llvm::Lcerr/llvm::cout, and removeTed Kremenek2008-01-141-2/+1
| | | | | | | | #include<iostream>. Patch provided by Sam Bishop. llvm-svn: 45962
* Revert r45951, Chris says it violates the C99 spec.Steve Naroff2008-01-141-30/+19
| | | | llvm-svn: 45961
* Fix ASTContext::typesAreCompatible when analyzing a function type with Chris Lattner2008-01-141-34/+42
| | | | | | | proto and function type without proto. It would never call 'functionTypesAreCompatible' because they have different type classes. llvm-svn: 45952
* Rewrite Expr::isNullPointerConstant() to deal with multiple levels of ↵Steve Naroff2008-01-141-19/+29
| | | | | | | | explicit casts. Now, isNullPointerConstant() will return true for the following: "(void*)(double*)0" llvm-svn: 45951
* Fix the type of predefined identifiers like __func__. Patch byChris Lattner2008-01-121-0/+4
| | | | | | Eli Friedman! llvm-svn: 45906
* Add first pieces of support for parsing and representing Chris Lattner2008-01-122-1/+23
| | | | | | extern "C" in C++ mode. Patch by Mike Stump! llvm-svn: 45904
* Renamed ProgramEdge to ProgramPoint and changed subclasses of ProgramEdgeTed Kremenek2008-01-111-0/+15
| | | | | | | to have a much simpler, cleaner interpretation of what is a "location" in a function (as encoded by a CFG). llvm-svn: 45846
* - Teach Expr::isConstantExpr() about InitListExpr's (and offsetof, since I ↵Steve Naroff2008-01-101-3/+14
| | | | | | | | | | noticed it was missing). - Rename CheckInitializer() to CheckInitializerTypes(). - Removed the isStatic argument to CheckInitializerTypes() and all of it's subroutines. Checking for constant expressions is now done separately. - Added CheckForConstantInitializer(). llvm-svn: 45840
* Allow messaging expression as foreach's collection expression.Fariborz Jahanian2008-01-101-1/+3
| | | | llvm-svn: 45793
* Add a FIXME to commit r45784. Thanks mrs!Steve Naroff2008-01-091-1/+2
| | | | llvm-svn: 45790
* Fix ASTContext::typesAreCompatible to allow for int/enum compatibility (C99 ↵Steve Naroff2008-01-091-1/+9
| | | | | | | | 6.7.2.2p4). Fix Sema::MergeFunctionDecl to allow for function type compatibility (by using the predicate on ASTContext). Function types don't have to be identical to be compatible... llvm-svn: 45784
* Fix isIntegerConstantExpr to compare against zero for casts to bool instead ofChris Lattner2008-01-091-1/+12
| | | | | | | | | | | | | | truncating. This allows us to compile: void foo() { static _Bool foo = 4; } into: @foo1 = internal global i8 1 instead of: @foo1 = internal global i8 4 llvm-svn: 45779
* Teach Expr::isConstantExpr() about CompoundLiterals.Steve Naroff2008-01-091-0/+4
| | | | llvm-svn: 45764
* Added VISIBILITY_HIDDEN to classes/structs in anonymous namespace.Ted Kremenek2008-01-081-6/+7
| | | | llvm-svn: 45749
* Verify/add code to make sure types passed to interfaceTypesAreCompatibleFariborz Jahanian2008-01-071-2/+9
| | | | | | are canonical. Asst in interfaceTypesAreCompatible if they are not. llvm-svn: 45717
* Substituted all instances of the string "Objc" for "ObjC". This fixesTed Kremenek2008-01-079-324/+324
| | | | | | | some naming inconsistencies in the names of classes pertaining to Objective-C support in clang. llvm-svn: 45715
* Minor tweak to serialization of ObjcForCollectionStmt: the three owned pointersTed Kremenek2008-01-071-6/+5
| | | | | | | are now emitted in a batch, which reduces the metadata overhead in the serialized bitcode. llvm-svn: 45710
* Moved serialization code for ObjcForCollectionStmt to be in alphabetical orderTed Kremenek2008-01-051-18/+18
| | | | | | with the rest of the Objective-C serialization code. llvm-svn: 45609
* Minor changes as suggested by Chris L.Fariborz Jahanian2008-01-041-3/+3
| | | | llvm-svn: 45598
* Couple more uninitialized before use warning elimination.Fariborz Jahanian2008-01-031-2/+2
| | | | llvm-svn: 45547
* Remove cause of misc. "variable might be used uninitialized in this ↵Fariborz Jahanian2008-01-031-2/+2
| | | | | | function" warnings. llvm-svn: 45546
* New declarations/defs for Objc2's foreach-statement. This is work in progress.Fariborz Jahanian2008-01-023-0/+45
| | | | llvm-svn: 45511
* Fix PR1895: a crash on an ugly gcc extension.Chris Lattner2008-01-021-2/+8
| | | | llvm-svn: 45505
* Compute the proper sourcerange for an CompoundLiteralExpr.Chris Lattner2008-01-021-1/+3
| | | | llvm-svn: 45504
* remove attribution from makefiles.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45412
* Don't attribute in file headers anymore. See llvmdev for theChris Lattner2007-12-2917-34/+34
| | | | | | discussion of this change. llvm-svn: 45410
* Fix OCUVector case in struct layout code.Christopher Lamb2007-12-291-1/+2
| | | | llvm-svn: 45396
* Add accessors + iterator interface.Chris Lattner2007-12-281-0/+30
| | | | llvm-svn: 45378
* This patch implements some of the more obscure type-checking involvingFariborz Jahanian2007-12-211-26/+71
| | | | | | | 'id' quallified with protocols and static types which have categories and inheritance which implement these protocols. llvm-svn: 45294
* Fixed successor order for CFG basic blocks when handling: x && y. The bugTed Kremenek2007-12-211-3/+12
| | | | | | | | | | | | | | | | | | is best explained by illustration: [ B2 ] 1: x T: [B2.1] && ... Predecessors (1): B4 Successors (2): B3 B1 Block "B3" should be the block where we evaluate "y" when "x" evaluates to true. Previously we had the successor list reversed. Now this behavior matches with how we handle other conditional branches. Thanks to Nuno Lopes for reporting this problem. llvm-svn: 45288
* Patch to compare to objective-c static types where one or the otherFariborz Jahanian2007-12-211-1/+16
| | | | | | (but not both) may be a protocol qualified static type. llvm-svn: 45283
* More objective-c type analysis. This time involving objective typesFariborz Jahanian2007-12-211-4/+21
| | | | | | of conforming protocols (or not). llvm-svn: 45276
* More objective-c type checking. This time comparing objective-c known objects.Fariborz Jahanian2007-12-201-1/+13
| | | | llvm-svn: 45269
* Converted uses of scoped_ptr to OwningPtr.Ted Kremenek2007-12-201-2/+2
| | | | llvm-svn: 45265
* Patch to do type-checking for objctive-c's object types.Fariborz Jahanian2007-12-202-8/+32
| | | | | | More is yet to come. llvm-svn: 45263
* Various tweaks to the get/lookup instance/class method API's.Steve Naroff2007-12-191-18/+18
| | | | llvm-svn: 45224
* Removed "SourceFile" from TranslationUnit. This same information will (soon)Ted Kremenek2007-12-191-11/+1
| | | | | | | be available by querying the SourceManager within the ASTContext referenced by the TranslationUnit. llvm-svn: 45223
* Removed storing inode and device number in TranslationUnit.Ted Kremenek2007-12-191-6/+15
| | | | | | | | | | Added "SourceFile" string to TranslationUnit to record corresponding source file. Updated serialization of TranslationUnits and logic in the driver to correctly pass the source file information to the serializer. llvm-svn: 45211
* fix some crazy indentationChris Lattner2007-12-191-34/+35
| | | | llvm-svn: 45210
* This patch concludes implementation of dynamic objective-c type qualified byFariborz Jahanian2007-12-191-5/+93
| | | | | | protocol list. llvm-svn: 45203
* Moved ReadBitcodeFile and EmitBitcodeFile out of TranslationUnit and made themTed Kremenek2007-12-181-5/+5
| | | | | | | the standalone functions ReadASTBitcodeFile and EmitASTBitcodeFile respectively. llvm-svn: 45180
* Fixed broken includes introduced by recent (incomplete) patch toTed Kremenek2007-12-181-2/+1
| | | | | | TranslationUnit. llvm-svn: 45177
* Moved TranslationUnit.h to include path.Ted Kremenek2007-12-181-82/+0
| | | | llvm-svn: 45176
* Moved TranslationUnit from Driver to AST library.Ted Kremenek2007-12-182-0/+311
| | | | llvm-svn: 45175
* Refactoring work. ObjcQualifiedIdType is now derived from 'Type'.Fariborz Jahanian2007-12-182-7/+18
| | | | llvm-svn: 45174
* remove the loc argument to Type::isConstantSizeType, which isn't useful.Chris Lattner2007-12-181-10/+6
| | | | llvm-svn: 45155
* Fix the location we emit the "not a constant" error for this:Chris Lattner2007-12-181-4/+12
| | | | | | | | | | | int foo() { typedef int x[foo()]; static int y = sizeof(x); } previously we'd emit it on the typedef, which made not sense at all. llvm-svn: 45154
* Fix PR1863: an assertion due to not setting a location on return fromChris Lattner2007-12-181-2/+6
| | | | | | this method. llvm-svn: 45153
* Fixed a comment describing a functionFariborz Jahanian2007-12-171-1/+1
| | | | llvm-svn: 45125
* Patch to implemented objective-c's dynamic object pointer qualified withFariborz Jahanian2007-12-173-3/+71
| | | | | | the protocol list (id<P,...> types). llvm-svn: 45121
OpenPOWER on IntegriCloud