From 6745c3b732d1013b2c9aca55ec5ed028528a00eb Mon Sep 17 00:00:00 2001 From: Eli Friedman Date: Thu, 15 Nov 2012 01:21:59 +0000 Subject: [PATCH] Fix a trivial bool-related bug I spotted while skimming David Fang's current list of powerpc-darwin8 failures. llvm-svn: 168016 --- clang/lib/AST/ASTContext.cpp | 4 ++-- clang/test/Sema/ppc-bool.c | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 clang/test/Sema/ppc-bool.c diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp index d5107b0..c192d28 100644 --- a/clang/lib/AST/ASTContext.cpp +++ b/clang/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/clang/test/Sema/ppc-bool.c b/clang/test/Sema/ppc-bool.c new file mode 100644 index 0000000..2a4303e --- /dev/null +++ b/clang/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; -- 2.7.4