diff options
-rw-r--r-- | lib/AST/ASTContext.cpp | 4 | ||||
-rw-r--r-- | test/Sema/ppc-bool.c | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp index d5107b07c0..c192d28860 100644 --- a/lib/AST/ASTContext.cpp +++ b/lib/AST/ASTContext.cpp @@ -4153,8 +4153,8 @@ QualType ASTContext::getPromotedIntegerType(QualType Promotable) const { // At this point, we should have a signed or unsigned integer type. if (Promotable->isSignedIntegerType()) return IntTy; - uint64_t PromotableSize = getTypeSize(Promotable); - uint64_t IntSize = getTypeSize(IntTy); + uint64_t PromotableSize = getIntWidth(Promotable); + uint64_t IntSize = getIntWidth(IntTy); assert(Promotable->isUnsignedIntegerType() && PromotableSize <= IntSize); return (PromotableSize != IntSize) ? IntTy : UnsignedIntTy; } diff --git a/test/Sema/ppc-bool.c b/test/Sema/ppc-bool.c new file mode 100644 index 0000000000..2a4303eb1d --- /dev/null +++ b/test/Sema/ppc-bool.c @@ -0,0 +1,4 @@ +// RUN: %clang_cc1 -triple powerpc-apple-macosx10.4.0 -verify -fsyntax-only %s +// expected-no-diagnostics +extern __typeof(+(_Bool)0) should_be_int; +extern int should_be_int; |