summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaOverload.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2012-09-13 22:00:12 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2012-09-13 22:00:12 +0000
commitca24ed473b9ce172021bf145062ab7617cd5d342 (patch)
treebf5e80c5a52286bff669988b2f2a26cb455b451b /clang/lib/Sema/SemaOverload.cpp
parent89f593a14c0b37250749d9b5e96c8f926a409475 (diff)
downloadbcm5719-llvm-ca24ed473b9ce172021bf145062ab7617cd5d342.tar.gz
bcm5719-llvm-ca24ed473b9ce172021bf145062ab7617cd5d342.zip
Revert r163829. The world (or libstdc++, at least) is not ready.
llvm-svn: 163846
Diffstat (limited to 'clang/lib/Sema/SemaOverload.cpp')
-rw-r--r--clang/lib/Sema/SemaOverload.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp
index 4d8795ea962..14f8db6db5e 100644
--- a/clang/lib/Sema/SemaOverload.cpp
+++ b/clang/lib/Sema/SemaOverload.cpp
@@ -4818,6 +4818,12 @@ static bool CheckConvertedConstantConversions(Sema &S,
return true;
case ICK_Boolean_Conversion:
+ // Conversion from an integral or unscoped enumeration type to bool is
+ // classified as ICK_Boolean_Conversion, but it's also an integral
+ // conversion, so it's permitted in a converted constant expression.
+ return SCS.getFromType()->isIntegralOrUnscopedEnumerationType() &&
+ SCS.getToType(2)->isBooleanType();
+
case ICK_Floating_Integral:
case ICK_Complex_Real:
return false;
OpenPOWER on IntegriCloud