diff options
author | Anders Carlsson <andersca@mac.com> | 2009-08-28 16:22:20 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-08-28 16:22:20 +0000 |
commit | 83b534cb4329a49e265776dba3e87dc7032174be (patch) | |
tree | 9e8210bfa632a0733669938d23834b1cf38d9f48 | |
parent | bbf306bd1d3e674edf40c692a5693a475e961a57 (diff) |
Allow explicit ctors for casts.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80374 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Sema/SemaCXXCast.cpp | 2 | ||||
-rw-r--r-- | test/SemaCXX/cast-explicit-ctor.cpp | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/lib/Sema/SemaCXXCast.cpp b/lib/Sema/SemaCXXCast.cpp index 9c27bf6e36..52ebdef6f1 100644 --- a/lib/Sema/SemaCXXCast.cpp +++ b/lib/Sema/SemaCXXCast.cpp @@ -784,7 +784,7 @@ TryStaticImplicitCast(Sema &Self, Expr *SrcExpr, QualType DestType, ImplicitConversionSequence ICS = Self.TryImplicitConversion(SrcExpr, DestType, /*SuppressUserConversions=*/false, - /*AllowExplicit=*/false, + /*AllowExplicit=*/true, /*ForceRValue=*/false, /*InOverloadResolution=*/false); diff --git a/test/SemaCXX/cast-explicit-ctor.cpp b/test/SemaCXX/cast-explicit-ctor.cpp new file mode 100644 index 0000000000..1064758635 --- /dev/null +++ b/test/SemaCXX/cast-explicit-ctor.cpp @@ -0,0 +1,6 @@ +// RUN: clang-cc -fsyntax-only -verify %s +struct B { B(bool); }; +void f() { + (void)(B)true; + (void)B(true); +} |