llvm-project/clang/Sema
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
..
ASTStreamer.cpp Finally bite the bullet and make the major change: split the clang namespace 2007-06-15 23:05:46 +00:00
Makefile fix description 2007-05-23 23:56:42 +00:00
Sema.cpp Finally bite the bullet and make the major change: split the clang namespace 2007-06-15 23:05:46 +00:00
Sema.h More changes related to implementing ImplicitCastExpr. 2007-07-13 23:32:42 +00:00
SemaDecl.cpp Refactor code so that isIntegerConstantExpr has an ASTContext available. 2007-07-15 23:26:56 +00:00
SemaExpr.cpp Now that isPointerType can return a pointer type, avoid stripping off typedef 2007-07-16 00:23:25 +00:00
SemaExprCXX.cpp Submitted by: Bill Wendling 2007-06-29 18:21:34 +00:00
SemaStmt.cpp Refactor code so that isIntegerConstantExpr has an ASTContext available. 2007-07-15 23:26:56 +00:00
SemaType.cpp Unspecified type specs default to int. This fixes a crash 2007-07-13 21:02:29 +00:00