From: Abramo Bagnara Date: Sat, 9 Oct 2010 04:51:06 +0000 (+0000) Subject: Fixed __builtin_constant_p return type. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=83a1c5c8996a68d9be4e54de27565ce037785df1;p=clang Fixed __builtin_constant_p return type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116145 91177308-0d34-0410-b5e6-96231b3b80d8 --- 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.