25 lines
754 B
C
25 lines
754 B
C
/* PR c/101702 - ICE on invalid function redeclaration
|
|
{ dg-do compile }
|
|
{ dg-options "-Wall" } */
|
|
|
|
typedef __INTPTR_TYPE__ intptr_t;
|
|
|
|
#define copysign(x, y) __builtin_copysign (x, y)
|
|
|
|
void f0 (double[!copysign (~2, 3)]);
|
|
|
|
void f1 (double[!copysign (~2, 3)]);
|
|
void f1 (double[1]); // { dg-warning "-Warray-parameter" }
|
|
|
|
void f2 (int[(int)+1.0]);
|
|
void f2 (int[(int)+1.1]);
|
|
|
|
/* Also verify that equivalent expressions don't needlessly cause false
|
|
positives or negatives. */
|
|
struct S { int a[1]; };
|
|
extern struct S *sp;
|
|
|
|
void f3 (int[(intptr_t)((char*)sp->a - (char*)sp)]);
|
|
void f3 (int[(intptr_t)((char*)&sp->a[0] - (char*)sp)]);
|
|
void f3 (int[(intptr_t)((char*)&sp->a[1] - (char*)sp)]); // { dg-warning "-Warray-parameter" }
|