On both Solaris 9/x86 and 32-bit Linux/x86, g++.dg/ext/vector26.C FAILs like this:
FAIL: g++.dg/ext/vector26.C -std=c++11 (test for excess errors) Excess errors: /vol/gcc/src/hg/trunk/local/gcc/testsuite/g++.dg/ext/vector26.C:6:13: warning: M MX vector argument without MMX enabled changes the ABI [enabled by default] Like vector2.C, this can be avoided by compiling with -mmmx for 32-bit x86. The following patch does just that. Tested with the appropriate runtest invocations on i386-pc-solaris2.9, i386-pc-solaris2.10, i686-unknown-linux-gnu, and x86_64-unknown-linux-gnu. Ok for mainline? Rainer 2014-02-10 Rainer Orth <r...@cebitec.uni-bielefeld.de> * g++.dg/ext/vector26.C: Use -mmmx for 32-bit x86.
# HG changeset patch # Parent 19cc283c20f548cc9da82a7acbcba6936ee53ef7 Compile g++.dg/ext/vector26.C with -mmmx diff --git a/gcc/testsuite/g++.dg/ext/vector26.C b/gcc/testsuite/g++.dg/ext/vector26.C --- a/gcc/testsuite/g++.dg/ext/vector26.C +++ b/gcc/testsuite/g++.dg/ext/vector26.C @@ -1,6 +1,7 @@ // PR c++/59633 // In C++98, the definition of bar is an error. In C++11, bar implicitly // gets internal linkage. +// { dg-options "-mmmx" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ typedef enum { e } T __attribute__((vector_size(8))); static void foo(T t) {}
-- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University