| /* PR middle-end/97172 - ICE: tree code ‘ssa_name’ is not supported in LTO |
| streams |
| { dg-do compile } |
| { dg-options "-Wall -flto" } |
| { dg-require-effective-target lto } */ |
| |
| int n; |
| |
| void fn (int a[n]); |
| void fnp1 (int a[n + 1]); |
| |
| void fx_n (int a[][n]); |
| void fx_np1 (int a[][n + 1]); |
| |
| void f2_n (int a[2][n]); |
| void f2_np1 (int a[2][n + 1]); |
| |
| void fn_3 (int a[n][3]); |
| void fnp1_3 (int a[n + 1][3]); |
| |
| void fn_n (int a[n][n]); |
| void fn_np1 (int a[n][n + 1]); |
| void fnp1_np1 (int a[n + 1][n + 1]); |
| |
| void fn_n_n (int a[n][n][n]); |
| void fn_n_np1 (int a[n][n][n + 1]); |
| void fn_np1_np1 (int a[n][n + 1][n + 1]); |
| void fnp1_np1_np1 (int a[n + 1][n + 1][n + 1]); |
| |
| |
| void gn (int a[n]) { fn (a); } |
| void gnp1 (int a[n + 1]) { fnp1 (a); } |
| void gnd2p1 (int a[n / 2 + 1]) { fnp1 (a); } |
| |
| void gx_n (int a[][n]) { fx_n (a); } |
| void gx_np1 (int a[][n + 1]) { fx_np1 (a); } |
| void gx_nd2p1 (int a[][n / 2 + 1]) { fx_np1 (a); } |
| |
| void g2_n (int a[2][n]) { f2_n (a); } |
| void g2_np1 (int a[2][n + 1]) { f2_np1 (a); } |
| void g2_nd2p1 (int a[2][n / 2 + 1]) { f2_np1 (a); } |
| |
| void gn_3 (int a[n][3]) { fn_3 (a); } |
| void gnp1_3 (int a[n + 1][3]) { fnp1_3 (a); } |
| void gnd2p1_3 (int a[n / 2 + 1][3]) { fnp1_3 (a); } |
| |
| void gn_n (int a[n][n]) { fn_n (a); } |
| void gn_np1 (int a[n][n + 1]) { fn_np1 (a); } |
| void gnp1_np1 (int a[n + 1][n + 1]) { fnp1_np1 (a); } |
| void gnd2p1_nd2p1 (int a[n / 2 + 1][n / 2 + 1]) { fnp1_np1 (a); } |
| |
| void gn_n_n (int a[n][n][n]) { fn_n_n (a); } |
| void gn_n_np1 (int a[n][n][n + 1]) { fn_n_np1 (a); } |
| void gn_np1_np1 (int a[n][n + 1][n + 1]) { fn_np1_np1 (a); } |
| void gnp1_np1_np1 (int a[n + 1][n + 1][n + 1]) { fnp1_np1_np1 (a); } |
| void gnd2p1_nd2p1_nd2p1 (int a[n / 2 + 1][n / 2 + 1][n / 2 + 1]) |
| { fnp1_np1_np1 (a); } |
| |
| |
| void fna3_1 (int n, |
| int a[n / 2 + 1], |
| int b[n / 2 + 1], |
| int c[n / 2 + 1]); |
| |
| void gna3_1 (int n, |
| int a[n / 2 + 1], |
| int b[n / 2 + 1], |
| int c[n / 2 + 1]) { fna3_1 (n, a, b, c); } |
| |
| void fna3_2_3_4 (int n, |
| int a[n / 2 + 1][n / 2 + 2], |
| int b[n / 2 + 1][n / 2 + 2][n / 2 + 3], |
| int c[n / 2 + 1][n / 2 + 2][n / 2 + 3][n / 2 + 4]); |
| |
| void gna3_2_3_4 (int n, |
| int a[n / 2 + 1][n / 2 + 2], |
| int b[n / 2 + 1][n / 2 + 2][n / 2 + 3], |
| int c[n / 2 + 1][n / 2 + 2][n / 2 + 3][n / 2 + 4]) |
| { |
| fna3_2_3_4 (n, a, b, c); |
| } |