r197164 - Switch to the new MingW ABI.

Rafael EspĂ­ndola rafael.espindola at gmail.com
Thu Dec 12 09:02:34 PST 2013


> Added:
>     cfe/trunk/test/CodeGenCXX/mingw-new-abi.cpp
> Modified:
>     cfe/trunk/docs/ReleaseNotes.rst
>     cfe/trunk/lib/AST/ItaniumCXXABI.cpp
>     cfe/trunk/test/CXX/class.access/p6.cpp
>     cfe/trunk/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp
>     cfe/trunk/test/CXX/expr/expr.const/p3-0x.cpp
>     cfe/trunk/test/CXX/expr/expr.mptr.oper/p5.cpp
>     cfe/trunk/test/CXX/expr/expr.mptr.oper/p6-0x.cpp
>     cfe/trunk/test/CXX/expr/expr.prim/expr.prim.lambda/blocks.mm
>     cfe/trunk/test/CXX/expr/expr.unary/expr.unary.op/p4.cpp
>     cfe/trunk/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
>
>
> These frontend tests really benefit from having precise matches:
>
> Consider a change like this:
>
>
> -int n = Val<bool, &S::operator int>::value; // expected-error {{conversion
> from 'int (S::*)() const' to 'bool' is not allowed in a converted constant
> expression}}
> +int n = Val<bool, &S::operator int>::value; // expected-error-re
> {{conversion from 'int (S::*)() {{.*}}const' to 'bool' is not allowed in a
> converted constant expression}}
>
>
> Now there's no testing at all for the qualifiers. Not good.
>
> They've had stable output across several OS and hardware configurations and
> major versions for years.
>
> So if an ABI point release switch on MinGW suddenly caused dozens of stable
> tests to break, I'd say that's a problem with the patch, rather than a case
> for editing all the tests.
>
> It's best to revert this until the pretty printer is fixed to display
> calling conventions only if they differ from the platform default.
>

I am happy to revert the test changes and add a -triple instead for now.

I will just let Reid comment on it since he suggested relaxing the tests.

Cheers,
Rafael



More information about the cfe-commits mailing list