diff options
-rw-r--r-- | include/clang/Basic/Builtins.def | 2 | ||||
-rw-r--r-- | test/Sema/i-c-e.c | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/include/clang/Basic/Builtins.def b/include/clang/Basic/Builtins.def index 86ee69a23b..718a7ba7ed 100644 --- a/include/clang/Basic/Builtins.def +++ b/include/clang/Basic/Builtins.def @@ -288,7 +288,7 @@ BUILTIN(__builtin_bswap32, "UiUi", "nc") BUILTIN(__builtin_bswap64, "ULLiULLi", "nc") // Random GCC builtins -BUILTIN(__builtin_constant_p, "Us.", "nc") +BUILTIN(__builtin_constant_p, "is.", "nc") BUILTIN(__builtin_classify_type, "i.", "nc") BUILTIN(__builtin___CFStringMakeConstantString, "FC*cC*", "nc") BUILTIN(__builtin___NSStringMakeConstantString, "FC*cC*", "nc") diff --git a/test/Sema/i-c-e.c b/test/Sema/i-c-e.c index eb77bbe3b9..1347ee85e0 100644 --- a/test/Sema/i-c-e.c +++ b/test/Sema/i-c-e.c @@ -9,6 +9,7 @@ int a() {int p; *(1 ? &p : (void*)(0 && (a(),1))) = 10;} // expected-error {{inc int expr; char w[__builtin_constant_p(expr) ? expr : 1]; +char v[sizeof(__builtin_constant_p(0)) == sizeof(int) ? 1 : -1]; // __builtin_constant_p as the condition of ?: allows arbitrary foldable // constants to be transmogrified into i-c-e's. |