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

Reply via email to