1 /* PR middle-end/95903 */
2 /* { dg-do compile { target lp64 } } */
3 /* { dg-options "-O2 -fwrapv -fdump-tree-optimized" } */
4 /* Verify that for -fwrapv the + 1 addition is performed in the parameter's
5 type before sign extending it. */
6 /* { dg-final { scan-tree-dump-times "off_\[0-9]+\\\(D\\\) \\+ 1" 2 "optimized" } } */
7
8 char
foo(const char * ptr,int off)9 foo (const char *ptr, int off)
10 {
11 off += 1;
12 return ptr[off];
13 }
14
15 char
bar(const char * ptr,int off)16 bar (const char *ptr, int off)
17 {
18 return ptr[off + 1];
19 }
20