[cfe-commits] r80374 - in /cfe/trunk: lib/Sema/SemaCXXCast.cpp test/SemaCXX/cast-explicit-ctor.cpp

Anders Carlsson andersca at mac.com
Fri Aug 28 09:22:21 PDT 2009


Author: andersca
Date: Fri Aug 28 11:22:20 2009
New Revision: 80374

URL: http://llvm.org/viewvc/llvm-project?rev=80374&view=rev
Log:
Allow explicit ctors for casts.

Added:
    cfe/trunk/test/SemaCXX/cast-explicit-ctor.cpp
Modified:
    cfe/trunk/lib/Sema/SemaCXXCast.cpp

Modified: cfe/trunk/lib/Sema/SemaCXXCast.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaCXXCast.cpp?rev=80374&r1=80373&r2=80374&view=diff

==============================================================================
--- cfe/trunk/lib/Sema/SemaCXXCast.cpp (original)
+++ cfe/trunk/lib/Sema/SemaCXXCast.cpp Fri Aug 28 11:22:20 2009
@@ -784,7 +784,7 @@
   ImplicitConversionSequence ICS = 
     Self.TryImplicitConversion(SrcExpr, DestType,
                                /*SuppressUserConversions=*/false,
-                               /*AllowExplicit=*/false,
+                               /*AllowExplicit=*/true,
                                /*ForceRValue=*/false,
                                /*InOverloadResolution=*/false);
   

Added: cfe/trunk/test/SemaCXX/cast-explicit-ctor.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/cast-explicit-ctor.cpp?rev=80374&view=auto

==============================================================================
--- cfe/trunk/test/SemaCXX/cast-explicit-ctor.cpp (added)
+++ cfe/trunk/test/SemaCXX/cast-explicit-ctor.cpp Fri Aug 28 11:22:20 2009
@@ -0,0 +1,6 @@
+// RUN: clang-cc -fsyntax-only -verify %s
+struct B { B(bool); };
+void f() { 
+  (void)(B)true;
+  (void)B(true); 
+}





More information about the cfe-commits mailing list