1 /* { dg-do compile { target c++11 } } */
2 /* { dg-options "-Wall -Wno-tautological-compare" } */
3 
4 typedef float v4f __attribute__((vector_size(4*sizeof(float))));
5 
eat(T &&)6 template <class T> void eat (T&&) {}
7 
test1()8 void test1 ()
9 {
10   v4f x = {0,1,2,3};
11   typedef decltype (x < x) v4i;
12   v4i y = {4,5,6,7}; // v4i is not opaque
13   eat (y);
14 }
15 
16 template<class V>
test2()17 void test2 ()
18 {
19   V x = {0,1,2,3};
20   typedef decltype (x < x) v4i;
21   v4i y = {4,5,6,7}; // v4i is not opaque
22   eat (y);
23 }
24 
main()25 int main(){
26   test1();
27   test2<v4f>();
28 }
29