if (ncrn & 1)
{
int res = arm_needs_doubleword_align (mode, type);
- /* Only warn during RTL expansion of call stmts, otherwise we would
- warn e.g. during gimplification even on functions that will be
- always inlined, and we'd warn multiple times. Don't warn when
- called in expand_function_start either, as we warn instead in
- arm_function_arg_boundary in that case. */
- if (res < 0 && warn_psabi && currently_expanding_gimple_stmt)
- inform (input_location, "parameter passing for argument of type "
- "%qT changed in GCC 7.1", type);
- else if (res > 0)
+ if (res > 0)
ncrn++;
}
if ((pcum->nregs & 1) && ARM_DOUBLEWORD_ALIGN)
{
int res = arm_needs_doubleword_align (mode, type);
- if (res < 0 && warn_psabi)
- inform (input_location, "parameter passing for argument of type "
- "%qT changed in GCC 7.1", type);
- else if (res > 0)
+ if (res > 0)
pcum->nregs++;
}
return PARM_BOUNDARY;
int res = arm_needs_doubleword_align (mode, type);
- if (res < 0 && warn_psabi)
- inform (input_location, "parameter passing for argument of type %qT "
- "changed in GCC 7.1", type);
return res > 0 ? DOUBLEWORD_ALIGNMENT : PARM_BOUNDARY;
}
if (nregs & 1)
{
int res = arm_needs_doubleword_align (mode, type);
- if (res < 0 && warn_psabi)
- inform (input_location, "parameter passing for argument of "
- "type %qT changed in GCC 7.1", type);
- else if (res > 0)
+ if (res > 0)
nregs++;
}
}
struct L { static double h; int i, j; };
int
-fn1 (int a, B<0> b) // { dg-message "note: parameter passing for argument of type \[^\n\r]* changed in GCC 7\.1" }
+fn1 (int a, B<0> b)
{
return a + b.i;
}
}
int
-fn3 (int a, L b) // { dg-message "note: parameter passing for argument of type \[^\n\r]* changed in GCC 7\.1" }
+fn3 (int a, L b)
{
return a + b.i;
}
int
fn4 (int a, int b, int c, int d, int e, int f, int g, int h, int i, int j, int k, int l, int m, B<0> n, ...)
-// { dg-message "note: parameter passing for argument of type \[^\n\r]* changed in GCC 7\.1" "" { target *-*-* } .-1 }
{
va_list ap;
va_start (ap, n);
int
fn10 (int a, int b, int c, int d, int e, int f, int g, int h, int i, int j, int k, int l, int m, J n, ...)
-// { dg-message "note: parameter passing for argument of type \[^\n\r]* changed in GCC 7\.1" "" { target *-*-* } .-1 }
{
va_list ap;
va_start (ap, n);
int
fn11 (int a, int b, int c, int d, int e, int f, int g, int h, int i, int j, int k, int l, int m, K<0> n, ...)
-// { dg-message "note: parameter passing for argument of type \[^\n\r]* changed in GCC 7\.1" "" { target *-*-* } .-1 }
{
va_list ap;
va_start (ap, n);
static J j;
static K<0> k0;
static K<2> k2;
- fn1 (1, b0); // { dg-message "note: parameter passing for argument of type \[^\n\r]* changed in GCC 7\.1" }
+ fn1 (1, b0);
fn2 (1, b1);
- fn3 (1, l); // { dg-message "note: parameter passing for argument of type \[^\n\r]* changed in GCC 7\.1" }
+ fn3 (1, l);
fn4 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, b0, 1, 2, 3, 4);
- // { dg-message "note: parameter passing for argument of type \[^\n\r]* changed in GCC 7\.1" "" { target *-*-* } .-1 }
fn5 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, b1, 1, 2, 3, 4);
fn6 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, c, 1, 2, 3, 4);
fn7 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, e, 1, 2, 3, 4);
fn8 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, h, 1, 2, 3, 4);
fn9 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, i, 1, 2, 3, 4);
fn10 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, j, 1, 2, 3, 4);
- // { dg-message "note: parameter passing for argument of type \[^\n\r]* changed in GCC 7\.1" "" { target *-*-* } .-1 }
fn11 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, k0, 1, 2, 3, 4);
- // { dg-message "note: parameter passing for argument of type \[^\n\r]* changed in GCC 7\.1" "" { target *-*-* } .-1 }
fn12 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, k2, 1, 2, 3, 4);
}