1/* { dg-do compile } */ 2/* { dg-options "-std=c99 -pedantic-errors" } */ 3#include <spu_intrinsics.h> 4/* With this intrinsics section, we used to ICE as we would try 5 to convert from an vector to an integer type. */ 6void f(void) 7{ 8 vec_uint4 gt, N; 9 vec_int4 a; 10 int *a1; 11 _Complex double b; 12 gt = spu_cmpgt(a, N); /* { dg-error "parameter list" } */ 13 gt = spu_cmpgt(a, a1); /* { dg-error "integer from pointer without a cast" } */ 14 gt = spu_cmpgt(a, b); /* { dg-error "parameter list" } */ 15 gt = spu_cmpgt(a, a); 16 a = spu_cmpgt(a, a); /* { dg-message "note: use -flax-vector-conversions to permit conversions between vectors with differing element types or numbers of subparts" } */ 17/* { dg-message "note: expected 'int'" "" { target *-*-* } 13 } */ 18/* { dg-error "incompatible types when assigning" "" { target *-*-* } 16 } */ 19} 20