- Oct 17, 2007
-
-
Hartmut Kaiser authored
Silenced some VC++ warnings. Had to rephrase a partial specialization of the IntrospectionTrait struct in SerializationTest.cpp, please review. Added a compiler specific workaround in IdentifierTable.h. Is that the way to fix this kind of issues? llvm-svn: 43074
-
Anders Carlsson authored
Generate code for static variables that don't have initializers. Also, report an error if a static initializer is not constant. llvm-svn: 43058
-
- Oct 15, 2007
-
-
Steve Naroff authored
Move type compatibility predicates from Type to ASTContext. In addition, the predicates are now instance methods (they were previously static class methods on Type). This allowed me to fix the following hack from this weekend... // FIXME: Devise a way to do this without using strcmp. // Would like to say..."return getAsStructureType() == IdStructType;", but // we don't have a pointer to ASTContext. bool Type::isObjcIdType() const { if (const RecordType *RT = getAsStructureType()) return !strcmp(RT->getDecl()->getName(), "objc_object"); return false; } ...which is now... bool isObjcIdType(QualType T) const { return T->getAsStructureType() == IdStructType; } Side notes: - I had to remove a convenience function from the TypesCompatibleExpr class. int typesAreCompatible() const {return Type::typesAreCompatible(Type1,Type2);} Which required a couple clients get a little more verbose... - Result = TCE->typesAreCompatible(); + Result = Ctx.typesAreCompatible(TCE->getArgType1(), TCE->getArgType2()); Overall, I think this change also makes sense for a couple reasons... 1) Since ASTContext vends types, it makes sense for the type compatibility API to be there. 2) This allows the type compatibility predeciates to refer to data not strictly present in the AST (which I have found problematic on several occasions). llvm-svn: 43009
-
Anders Carlsson authored
llvm-svn: 43006
-
- Oct 13, 2007
-
-
Anders Carlsson authored
llvm-svn: 42951
-
Anders Carlsson authored
llvm-svn: 42939
-
- Oct 09, 2007
-
-
Devang Patel authored
llvm-svn: 42811
-
Devang Patel authored
llvm-svn: 42808
-
Devang Patel authored
llvm-svn: 42807
-
Devang Patel authored
Use copy for LHS, because it is incremented using ++ operator. llvm-svn: 42792
-
Devang Patel authored
llvm-svn: 42791
-
Fariborz Jahanian authored
Protocols are now sorted and made unique in the list. Enhanced pretty printer for @interface (So, I can see the protocol list). llvm-svn: 42776
-
- Oct 08, 2007
-
-
Chris Lattner authored
likewise block and param. Reorder the layout of the Decl kind enum so that the inheritance tree is reflected in the ordering. This allows trivial range comparisons to determine whether something is an instance of some abstract class, making classof faster. llvm-svn: 42772
-
Devang Patel authored
llvm-svn: 42766
-
- Oct 07, 2007
-
-
Chris Lattner authored
llvm-svn: 42730
-
- Oct 05, 2007
-
-
Devang Patel authored
llvm-svn: 42648
-
Devang Patel authored
llvm-svn: 42616
-
- Sep 28, 2007
-
-
Devang Patel authored
Dummy block is an empty block with no predecessors. llvm-svn: 42451
-
- Sep 22, 2007
-
-
Chris Lattner authored
APFloat straight through to LLVM now. llvm-svn: 42236
-
- Sep 16, 2007
-
-
Chris Lattner authored
llvm-svn: 42010
-
- Sep 14, 2007
-
-
Steve Naroff authored
Move Decl::NextDeclarator (w/ setters/getters) down to ScopedDecl/FieldDecl. Decl is now svelte:-) llvm-svn: 41935
-
- Sep 13, 2007
-
-
Steve Naroff authored
Phase 2 of making the Decl class more lightweight... Move Identifier/Loc instance variables (and associated getters/setters) down from Decl to ScopedDecl/FieldDecl. Objc AST's can now inherit from Decl without getting instance variables and types that are C specific. For now, I am keeping NextDeclarator, since I believe it may be useful to ObjC. If not, it can be moved later. llvm-svn: 41934
-
Chris Lattner authored
llvm-svn: 41926
-
Chris Lattner authored
the front-end adopts APFloat though. This fixes test/CodeGen/mandel.c llvm-svn: 41908
-
Chris Lattner authored
llvm-svn: 41907
-
- Sep 07, 2007
-
-
Hartmut Kaiser authored
Silenced a couple of warnings. Added *.vcproj file for new clangAnalysis library. Renamed Basic to clangBasic projects. llvm-svn: 41767
-
- Sep 04, 2007
-
-
Ted Kremenek authored
llvm-svn: 41704
-
Chris Lattner authored
llvm-svn: 41692
-
- Sep 01, 2007
-
-
Chris Lattner authored
llvm-svn: 41662
-
Chris Lattner authored
llvm-svn: 41661
-
Chris Lattner authored
support any sort of expr, add a new EmitAnyExpr routine. llvm-svn: 41660
-
Chris Lattner authored
llvm-svn: 41656
-
- Aug 31, 2007
-
-
Chris Lattner authored
to their corresponding library routines (e.g. isinf). This allows us to handle all the stuff in macos math.h, and other stuff as it's added to *Builtins.def. llvm-svn: 41634
-
Chris Lattner authored
llvm-svn: 41633
-
- Aug 30, 2007
-
-
Steve Naroff authored
Fix the following redefinition errors submitted by Keith Bauer... [dylan:~/llvm/tools/clang] admin% cat tentative_decls.c // incorrectly generates redefinition error extern int array[3]; int array[3]; // incorrectly generates a redefinition error extern void nup(int a[3]); void nup(int a[3]) {} It turns out that this exposed a fairly major flaw in the type system, array types were never getting uniqued! This is because all array types contained an expression, which aren't unique. To solve this, we now have 2 array types, ConstantArrayType and VariableArrayType. ConstantArrayType's are unique, VAT's aren't. This is a fairly extensive set of fundamental changes. Fortunately, all the tests pass. Nevertheless, there may be some collateral damage:-) If so, let me know! llvm-svn: 41592
-
- Aug 29, 2007
-
-
Chris Lattner authored
llvm-svn: 41560
-
- Aug 28, 2007
-
-
Chris Lattner authored
directly in it. Remove TargetInfo::getEnumPolicy, as there is only one policy that we support right now. llvm-svn: 41548
-
- Aug 27, 2007
-
-
Chris Lattner authored
llvm-svn: 41501
-
Chris Lattner authored
llvm-svn: 41472
-
Chris Lattner authored
llvm-svn: 41470
-