re PR c++/57509 (Segmentation fault when using __builtin_shuffle in templated class.)

2013-06-28  Marc Glisse  <marc.glisse@inria.fr>

	PR c++/57509
	* g++.dg/ext/pr57509.C: Pass vectors by reference to avoid warnings.

From-SVN: r200511
This commit is contained in:
Marc Glisse 2013-06-28 12:31:39 +02:00 committed by Marc Glisse
parent 1572e697b7
commit ee429bdfe0
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2013-06-28 Marc Glisse <marc.glisse@inria.fr>
PR c++/57509
* g++.dg/ext/pr57509.C: Pass vectors by reference to avoid warnings.
2013-06-28 Kirill Yukhin <kirill.yukhin@intel.com>
* gcc.target/i386/bmi-1.c: Extend with new instrinsic.

View File

@ -4,8 +4,8 @@
template <bool> struct enable_if {};
template <> struct enable_if<true> {typedef void type;};
template <class T> void f (T& v) { v = __builtin_shuffle (v, v); }
template <class T> void g (T) {}
template <class T> auto g (T x) -> typename enable_if<sizeof(__builtin_shuffle(x,x))!=2>::type {}
template <class T> void g (T const&) {}
template <class T> auto g (T const& x) -> typename enable_if<sizeof(__builtin_shuffle(x,x))!=2>::type {}
typedef int v4i __attribute__((vector_size(4*sizeof(int))));
typedef float v4f __attribute__((vector_size(4*sizeof(float))));
int main(){