diff options
| author | Chris Lattner <sabre@nondot.org> | 2007-07-16 22:05:22 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2007-07-16 22:05:22 +0000 |
| commit | 96d423ef37d457049c1aebcbd36d574613f71318 (patch) | |
| tree | 7cdda997fa9a47ca0de6030b52c94f2fe5e32d17 /llvm/tools/llvm-db/Commands.cpp | |
| parent | f54537370ace6f1934a01671853497d1b0b13da2 (diff) | |
| download | bcm5719-llvm-96d423ef37d457049c1aebcbd36d574613f71318.tar.gz bcm5719-llvm-96d423ef37d457049c1aebcbd36d574613f71318.zip | |
In the final step for preserving typedef info better in the AST, upgrade
isPointerType and isVectorType to only look through a single level of typedef
when one is present. For this invalid code:
typedef float float4 __attribute__((vector_size(16)));
typedef int int4 __attribute__((vector_size(16)));
typedef int4* int4p;
void test(float4 a, int4p result, int i) {
result[i] = a;
}
we now get:
t.c:5:15: error: incompatible types assigning 'float4' to 'int4'
result[i] = a;
~~~~~~~~~ ^ ~
instead of:
t.c:5:15: error: incompatible types assigning 'float4' to 'int __attribute__((vector_size(16)))'
result[i] = a;
~~~~~~~~~ ^ ~
The rest of the type predicates should be upgraded to do the same thing.
llvm-svn: 39932
Diffstat (limited to 'llvm/tools/llvm-db/Commands.cpp')
0 files changed, 0 insertions, 0 deletions

