131
|
1 /* PR tree-optimization/86400 - set<string>::set<char (*)[2]) constructor
|
|
2 does not work with array argument
|
|
3 Verify that strlen() calls with one-character array elements of
|
|
4 multidimensional arrays are still folded.
|
|
5 { dg-do compile }
|
|
6 { dg-options "-O2 -Wall -fdump-tree-optimized" } */
|
|
7
|
|
8 #include "strlenopt.h"
|
|
9
|
|
10 void f (void)
|
|
11 {
|
|
12 extern char a[2][1];
|
|
13 int n = strlen (a[1]);
|
145
|
14 if (n >= sizeof a)
|
131
|
15 abort();
|
|
16 }
|
|
17
|
|
18 void g (void)
|
|
19 {
|
|
20 extern char b[3][2][1];
|
|
21 int n = strlen (b[2][1]);
|
145
|
22 if (n >= sizeof b)
|
131
|
23 abort();
|
|
24 }
|
|
25
|
|
26 void h (void)
|
|
27 {
|
|
28 extern char c[4][3][2][1];
|
|
29 int n = strlen (c[3][2][1]);
|
145
|
30 if (n >= sizeof c)
|
131
|
31 abort();
|
|
32 }
|
|
33
|
145
|
34 /* { dg-final { scan-tree-dump-times "strlen1" 0 "optimized" } }
|
131
|
35 { dg-final { scan-tree-dump-times "abort" 0 "optimized" } } */
|