]> granicus.if.org Git - clang/commitdiff
Revert "Updated test cases for contextual conversion"
authorRafael Espindola <rafael.espindola@gmail.com>
Mon, 17 Jun 2013 19:26:19 +0000 (19:26 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Mon, 17 Jun 2013 19:26:19 +0000 (19:26 +0000)
This reverts commit r184100.

It was faling on some bots:
http://bb.pgr.jp/builders/cmake-clang-i686-mingw32/builds/1973/steps/test_clang/logs/Clang%20%3A%3A%20SemaCXX__cxx1y-contextual-conversion-tweaks.cpp

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184108 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaExprCXX.cpp
test/SemaCXX/cxx1y-contextual-conversion-tweaks.cpp
test/SemaCXX/cxx98-compat-pedantic.cpp

index d723c1fe77dc995826cc3f7b39563be661ae1def..40af2075c3f5861943948398586cd7e6a22f678f 100644 (file)
@@ -1205,9 +1205,9 @@ Sema::BuildCXXNew(SourceRange Range, bool UseGlobal,
                                                AA_Converting);
 
       if (!isSFINAEContext())
-        // Diagnose the compatibility of this conversion.
-        Diag(StartLoc, diag::warn_cxx98_compat_array_size_conversion)
-          << ArraySize->getType() << 0 << "'size_t'";
+       // Diagnose the compatibility of this conversion.
+       Diag(StartLoc, diag::warn_cxx98_compat_array_size_conversion)
+         << ArraySize->getType() << 0 << Context.getSizeType();
     } else {
       class SizeConvertDiagnoser : public ICEConvertDiagnoser {
       protected:
index c91c361544c06be61a8d7b14e7b3638c19179e22..f00bf1ea3104a61d4cebc6f568d41d630a2214db 100644 (file)
@@ -154,22 +154,4 @@ namespace extended_examples_cxx1y {
 //expected-error@143 {{cannot initialize object parameter of type 'extended_examples_cxx1y::D' with an expression of type 'extended_examples_cxx1y::D'}}
 #endif
 
-namespace extended_examples_array_bounds {
-  
-  struct Foo {
-    operator unsigned long();          // @160
-    operator unsigned short();  // @161
-  };
-
-  void bar() {
-    Foo x;
-    int *p = new int[x];        // @166
-  }
-}
-
-#ifdef CXX1Y
-#else
-//expected-error@166 {{ambiguous conversion of array size expression of type 'extended_examples_array_bounds::Foo' to an integral or enumeration type}}
-//expected-note@160 {{conversion to integral type 'unsigned long' declared here}}
-//expected-note@161 {{conversion to integral type 'unsigned short' declared here}}
-#endif
+// FIXME: Extend with more examples, including [expr.const] and [expr.new].
index 50ce6a49002ee5d9bb73d0d8db114dc74969f0ee..5fe7980994e533c661b8ad8f56eea28efdeed9d9 100644 (file)
@@ -34,7 +34,7 @@ struct ConvertToInt {
 };
 int *ArraySizeConversion = new int[ConvertToInt()];
 #ifdef CXX1Y2
-// expected-warning@-2 {{implicit conversion from array size expression of type 'ConvertToInt' to integral type 'size_t' is incompatible with C++98}}
+// expected-warning@-2 {{implicit conversion from array size expression of type 'ConvertToInt' to integral type}} // 'unsigned long' is incompatible with C++98}}
 #else
 // expected-warning@-4 {{implicit conversion from array size expression of type 'ConvertToInt' to integral type 'int' is incompatible with C++98}}
 #endif