This is the mail archive of the
mailing list for the GCC project.
Re: [patch] Fix altivec-7.C testsuite failure due to vector name mangling.
- From: Aldy Hernandez <aldyh at redhat dot com>
- To: Brooks Moses <bmoses at google dot com>
- Cc: gcc-patches at gcc dot gnu dot org, dje dot gcc at gmail dot com, Paul Pluzhnikov <ppluzhnikov at google dot com>
- Date: Mon, 14 Oct 2013 09:56:47 -0500
- Subject: Re: [patch] Fix altivec-7.C testsuite failure due to vector name mangling.
- Authentication-results: sourceware.org; auth=none
- References: <CAOxa4KpAR4+mmD_u2mcVXH=XFE1ZaTMePWhqsVAbyQ7AHwwjwQ at mail dot gmail dot com>
On 10/11/13 13:55, Brooks Moses wrote:
Hi, all -
We recently built a compiler with a default -fabi-version value that's
different from the 2 that's used as default on trunk. The result of
this was a test failure in g++.dg/ext/altivec-7.C, which compiles a
bunch of empty functions with vector arguments and inspects the
generated assembly for the mangled names.
The failure is because the test is searching for mangled names of the
form "_Z3fooU8__vectorh", which are only generated by ABI versions 1,
2, and 3. As noted in the documentation, "Version 4, which first
appeared in G++ 4.5, implements a standard mangling for vector types";
this standard mangling looks like "_Z3fooDv16_h" instead.
This patch fixes the failure by adjusting the test to look for the
names using the standard mangling. It passes with all ABI versions;
the compiler always emits the standard symbols, and with versions 1,
2, and 3 it also emits duplicate symbols with the old mangling.
Ok to commit?