aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorSteve Naroff <snaroff@apple.com>2007-08-01 17:20:42 +0000
committerSteve Naroff <snaroff@apple.com>2007-08-01 17:20:42 +0000
commit8d1a3b8ca1e5fcc4567b5a6f51d82be2e460de1c (patch)
tree01f613be2c7baff3e4f229bca50a1212489ca554 /test
parentbf98651d4208f411b769a86976097683cbac36c3 (diff)
Two typeof() related changes...
- Changed the name of ASTContext::getTypeOfType(Expr*)->getTypeOfExpr(). - Remove FIXME for TypeOfExpr::getAsStringInternal(). This will work fine for printing the AST. It isn't ideal for error diagnostics (since it's more natural to display the expressions type). One "random" (or at least delayed:-) change... - Changed all "ext_typecheck_*" diagnostics from EXTENSION->WARNING. Reason: Since -pedantic is now off (by default), these diagnostics were never being emitted (which is bad). With this change, clang will emit the warning all the time. The only downside (wrt GCC compatibility) is -pedantic-errors will not turn this diagnostics into errors (a "feature" of making tagging them with EXTENSION). When/if this becomes an issue, we can revisit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40676 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/Parser/typeof.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/test/Parser/typeof.c b/test/Parser/typeof.c
index 8556687123..14025e5809 100644
--- a/test/Parser/typeof.c
+++ b/test/Parser/typeof.c
@@ -1,23 +1,23 @@
-// RUN: clang -parse-ast-check %s -pedantic
+// RUN: clang -parse-ast-check %s
typedef int TInt;
static void test() {
int *pi;
- int typeof (int) aIntInt; // expected-error{{cannot combine with previous 'int' declaration specifier}} expected-warning{{extension used}}
- short typeof (int) aShortInt; // expected-error{{'short typeof' is invalid}} expected-warning{{extension used}}
+ int typeof (int) aIntInt; // expected-error{{cannot combine with previous 'int' declaration specifier}}
+ short typeof (int) aShortInt; // expected-error{{'short typeof' is invalid}}
int int ttt; // expected-error{{cannot combine with previous 'int' declaration specifier}}
- typeof(TInt) anInt; // expected-warning{{extension used}}
+ typeof(TInt) anInt;
short TInt eee; // expected-error{{parse error}}
void ary[7] fff; // expected-error{{array has incomplete element type 'void'}} expected-error{{parse error}}
- typeof(void ary[7]) anIntError; // expected-warning{{extension used}} expected-error{{expected ')'}} expected-error{{to match this '('}}
- typeof(const int) aci; // expected-warning{{extension used}}
- const typeof (*pi) aConstInt; // expected-warning{{extension used}}
+ typeof(void ary[7]) anIntError; // expected-error{{expected ')'}} expected-error{{to match this '('}}
+ typeof(const int) aci;
+ const typeof (*pi) aConstInt;
int xx;
int *i;
i = aci; // expected-warning{{incompatible types assigning 'typeof(int const)' to 'int *'}}
i = anInt; // expected-warning{{incompatible types assigning 'typeof(TInt)' to 'int *'}}
- i = aConstInt; // expected-warning{{incompatible types assigning 'typeof(<expr>) const' to 'int *'}}
+ i = aConstInt; // expected-warning{{incompatible types assigning 'typeof(*pi) const' to 'int *'}}
i = xx; // expected-warning{{incompatible types assigning 'int' to 'int *'}}
}