llvm-project/clang/AST
Chris Lattner aee0cfd486 Now that isPointerType can return a pointer type, avoid stripping off typedef
information in the common case.  On this invalid code:

typedef float float4 __attribute__((vector_size(16)));
typedef int int4 __attribute__((vector_size(16)));
void test(float4 a, int4 *result, int i) {
    result[i] = a;
}

we now generate:
  t.c:5:15: error: incompatible types assigning 'float4' to 'int4'
instead of:
  t.c:5:15: error: incompatible types assigning 'float4' to 'int  __attribute__((vector_size(16)))'

This implements test/Sema/typedef-retain.c

llvm-svn: 39892
2007-07-16 00:23:25 +00:00
..
ASTContext.cpp don't let builtin-type handling code fall into pointer handling code 2007-07-15 23:46:53 +00:00
Builtins.cpp Finally bite the bullet and make the major change: split the clang namespace 2007-06-15 23:05:46 +00:00
Decl.cpp Fix "no newline at end of file" warnings. Patch contributed by 2007-07-12 15:43:07 +00:00
Expr.cpp Remove an extraneous QualType from CastExpr, it's type is always 2007-07-15 23:54:50 +00:00
Makefile Fix these to allow clang to be in any dir. 2006-10-26 04:56:55 +00:00
Stmt.cpp Finally bite the bullet and make the major change: split the clang namespace 2007-06-15 23:05:46 +00:00
StmtPrinter.cpp Remove an extraneous QualType from CastExpr, it's type is always 2007-07-15 23:54:50 +00:00
StmtVisitor.cpp Finally bite the bullet and make the major change: split the clang namespace 2007-06-15 23:05:46 +00:00
Type.cpp Now that isPointerType can return a pointer type, avoid stripping off typedef 2007-07-16 00:23:25 +00:00