annotate gcc/testsuite/gcc.dg/tree-ssa/pr81741.c @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-do compile } */
kono
parents:
diff changeset
2 /* { dg-options "-O2 -w -fdump-tree-dom2-details" } */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 #include <string.h>
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 typedef struct string_s {
kono
parents:
diff changeset
7 unsigned long size, alloc;
kono
parents:
diff changeset
8 char *ptr;
kono
parents:
diff changeset
9 } string_t[1];
kono
parents:
diff changeset
10
kono
parents:
diff changeset
11 # define M_ASSUME(x) \
kono
parents:
diff changeset
12 (! __builtin_constant_p (!!(x) || !(x)) || (x) ? \
kono
parents:
diff changeset
13 (void) 0 : __builtin_unreachable())
kono
parents:
diff changeset
14
kono
parents:
diff changeset
15 int f(string_t s)
kono
parents:
diff changeset
16 {
kono
parents:
diff changeset
17 M_ASSUME(strlen(s->ptr) == s->size);
kono
parents:
diff changeset
18 return s->size;
kono
parents:
diff changeset
19 }
kono
parents:
diff changeset
20
kono
parents:
diff changeset
21 /* { dg-final { scan-assembler-not "strlen" } } */
kono
parents:
diff changeset
22