]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.dg/strlenopt-48.c
Update copyright years.
[thirdparty/gcc.git] / gcc / testsuite / gcc.dg / strlenopt-48.c
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]);
14 if (n >= sizeof a)
15 abort();
16 }
17
18 void g (void)
19 {
20 extern char b[3][2][1];
21 int n = strlen (b[2][1]);
22 if (n >= sizeof b)
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]);
30 if (n >= sizeof c)
31 abort();
32 }
33
34 /* { dg-final { scan-tree-dump-times "strlen1" 0 "optimized" } }
35 { dg-final { scan-tree-dump-times "abort" 0 "optimized" } } */