aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2012-11-15 01:21:59 +0000
committerEli Friedman <eli.friedman@gmail.com>2012-11-15 01:21:59 +0000
commit5b64e77c2d51ca3e9313ed4107d3c4d927895cd6 (patch)
tree0e149bfa209a01a5dc7637c81dff75d69fb5813f
parent8a3e578ed7f21da4013297d3345a3f69f1f4df96 (diff)
Fix a trivial bool-related bug I spotted while skimming David Fang's
current list of powerpc-darwin8 failures. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168016 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/AST/ASTContext.cpp4
-rw-r--r--test/Sema/ppc-bool.c4
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;