]> granicus.if.org Git - clang/commitdiff
Fixed __builtin_constant_p return type.
authorAbramo Bagnara <abramo.bagnara@gmail.com>
Sat, 9 Oct 2010 04:51:06 +0000 (04:51 +0000)
committerAbramo Bagnara <abramo.bagnara@gmail.com>
Sat, 9 Oct 2010 04:51:06 +0000 (04:51 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116145 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/Builtins.def
test/Sema/i-c-e.c

index 86ee69a23b51ecc96ba1481ec743acc22fc49920..718a7ba7ed6d2b3d1c41fa19f378d81984f712c5 100644 (file)
@@ -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")
index eb77bbe3b99023b32052bd861aa454ccc9e9ffa0..1347ee85e0a6512dc407096ccb013ed8d89e0280 100644 (file)
@@ -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.