r184100 - Updated test cases for contextual conversion

Rafael EspĂ­ndola rafael.espindola at gmail.com
Mon Jun 17 11:59:51 PDT 2013


This is failing:

http://bb.pgr.jp/builders/cmake-clang-i686-mingw32/builds/1971/steps/test_clang/logs/Clang%20%3A%3A%20SemaCXX__cxx1y-contextual-conversion-tweaks.cpp

On 17 June 2013 14:41, Larisse Voufo <lvoufo at google.com> wrote:
> Author: lvoufo
> Date: Mon Jun 17 13:41:38 2013
> New Revision: 184100
>
> URL: http://llvm.org/viewvc/llvm-project?rev=184100&view=rev
> Log:
> Updated test cases for contextual conversion
>
> Modified:
>     cfe/trunk/lib/Sema/SemaExprCXX.cpp
>     cfe/trunk/test/SemaCXX/cxx1y-contextual-conversion-tweaks.cpp
>     cfe/trunk/test/SemaCXX/cxx98-compat-pedantic.cpp
>
> Modified: cfe/trunk/lib/Sema/SemaExprCXX.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExprCXX.cpp?rev=184100&r1=184099&r2=184100&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Sema/SemaExprCXX.cpp (original)
> +++ cfe/trunk/lib/Sema/SemaExprCXX.cpp Mon Jun 17 13:41:38 2013
> @@ -1205,9 +1205,9 @@ Sema::BuildCXXNew(SourceRange Range, boo
>                                                 AA_Converting);
>
>        if (!isSFINAEContext())
> -       // Diagnose the compatibility of this conversion.
> -       Diag(StartLoc, diag::warn_cxx98_compat_array_size_conversion)
> -         << ArraySize->getType() << 0 << Context.getSizeType();
> +        // Diagnose the compatibility of this conversion.
> +        Diag(StartLoc, diag::warn_cxx98_compat_array_size_conversion)
> +          << ArraySize->getType() << 0 << "'size_t'";
>      } else {
>        class SizeConvertDiagnoser : public ICEConvertDiagnoser {
>        protected:
>
> Modified: cfe/trunk/test/SemaCXX/cxx1y-contextual-conversion-tweaks.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/cxx1y-contextual-conversion-tweaks.cpp?rev=184100&r1=184099&r2=184100&view=diff
> ==============================================================================
> --- cfe/trunk/test/SemaCXX/cxx1y-contextual-conversion-tweaks.cpp (original)
> +++ cfe/trunk/test/SemaCXX/cxx1y-contextual-conversion-tweaks.cpp Mon Jun 17 13:41:38 2013
> @@ -154,4 +154,22 @@ namespace extended_examples_cxx1y {
>  //expected-error at 143 {{cannot initialize object parameter of type 'extended_examples_cxx1y::D' with an expression of type 'extended_examples_cxx1y::D'}}
>  #endif
>
> -// FIXME: Extend with more examples, including [expr.const] and [expr.new].
> +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 at 166 {{ambiguous conversion of array size expression of type 'extended_examples_array_bounds::Foo' to an integral or enumeration type}}
> +//expected-note at 160 {{conversion to integral type 'unsigned long' declared here}}
> +//expected-note at 161 {{conversion to integral type 'unsigned short' declared here}}
> +#endif
>
> Modified: cfe/trunk/test/SemaCXX/cxx98-compat-pedantic.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/cxx98-compat-pedantic.cpp?rev=184100&r1=184099&r2=184100&view=diff
> ==============================================================================
> --- cfe/trunk/test/SemaCXX/cxx98-compat-pedantic.cpp (original)
> +++ cfe/trunk/test/SemaCXX/cxx98-compat-pedantic.cpp Mon Jun 17 13:41:38 2013
> @@ -34,7 +34,7 @@ struct ConvertToInt {
>  };
>  int *ArraySizeConversion = new int[ConvertToInt()];
>  #ifdef CXX1Y2
> -// expected-warning at -2 {{implicit conversion from array size expression of type 'ConvertToInt' to integral type}} // 'unsigned long' is incompatible with C++98}}
> +// expected-warning at -2 {{implicit conversion from array size expression of type 'ConvertToInt' to integral type 'size_t' is incompatible with C++98}}
>  #else
>  // expected-warning at -4 {{implicit conversion from array size expression of type 'ConvertToInt' to integral type 'int' is incompatible with C++98}}
>  #endif
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits



More information about the cfe-commits mailing list