| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 43300
|
|
|
|
| |
llvm-svn: 43284
|
|
|
|
| |
llvm-svn: 43283
|
|
|
|
| |
llvm-svn: 43282
|
|
|
|
| |
llvm-svn: 43281
|
|
|
|
| |
llvm-svn: 43280
|
|
|
|
| |
llvm-svn: 43278
|
|
|
|
|
|
| |
typdef struct A { int i; struct A *next; } A
llvm-svn: 43268
|
|
|
|
| |
llvm-svn: 43258
|
|
|
|
| |
llvm-svn: 43236
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
report an error if a static initializer is not constant.
llvm-svn: 43058
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 43006
|
|
|
|
| |
llvm-svn: 42951
|
|
|
|
| |
llvm-svn: 42939
|
|
|
|
| |
llvm-svn: 42811
|
|
|
|
| |
llvm-svn: 42808
|
|
|
|
| |
llvm-svn: 42807
|
|
|
|
|
|
| |
Use copy for LHS, because it is incremented using ++ operator.
llvm-svn: 42792
|
|
|
|
| |
llvm-svn: 42791
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 42766
|
|
|
|
| |
llvm-svn: 42730
|
|
|
|
| |
llvm-svn: 42648
|
|
|
|
| |
llvm-svn: 42616
|
|
|
|
|
|
| |
Dummy block is an empty block with no predecessors.
llvm-svn: 42451
|
|
|
|
|
|
| |
APFloat straight through to LLVM now.
llvm-svn: 42236
|
|
|
|
| |
llvm-svn: 42010
|
|
|
|
|
|
| |
Decl is now svelte:-)
llvm-svn: 41935
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 41926
|
|
|
|
|
|
| |
the front-end adopts APFloat though. This fixes test/CodeGen/mandel.c
llvm-svn: 41908
|
|
|
|
| |
llvm-svn: 41907
|
|
|
|
|
|
|
|
| |
Silenced a couple of warnings.
Added *.vcproj file for new clangAnalysis library.
Renamed Basic to clangBasic projects.
llvm-svn: 41767
|
|
|
|
| |
llvm-svn: 41704
|
|
|
|
| |
llvm-svn: 41692
|
|
|
|
| |
llvm-svn: 41662
|
|
|
|
| |
llvm-svn: 41661
|
|
|
|
|
|
| |
support any sort of expr, add a new EmitAnyExpr routine.
llvm-svn: 41660
|
|
|
|
| |
llvm-svn: 41656
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 41633
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[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
|
|
|
|
|
|
| |
case, thanks Steve!
llvm-svn: 41560
|
|
|
|
|
|
|
| |
directly in it. Remove TargetInfo::getEnumPolicy, as there is only
one policy that we support right now.
llvm-svn: 41548
|
|
|
|
| |
llvm-svn: 41501
|
|
|
|
| |
llvm-svn: 41472
|
|
|
|
| |
llvm-svn: 41470
|