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 <[email protected]>
* 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