| /* { dg-do compile } */ | |
| /* { dg-options "-O -fdump-tree-optimized" } */ | |
| int f(int *p, int *q){ | |
| __SIZE_TYPE__ n = q - p; | |
| return n == 0; | |
| } | |
| int g(int *p, int *q){ | |
| __PTRDIFF_TYPE__ n = q - p; | |
| return n <= 2; | |
| } | |
| int h(long *p, long *q){ | |
| __SIZE_TYPE__ n = q - p; | |
| return n == (__SIZE_TYPE__)(-1)/2; | |
| } | |
| /* { dg-final { scan-tree-dump-not "== 0" "optimized" } } */ | |
| /* { dg-final { scan-tree-dump "<= 8" "optimized" { target { int32 } } } } */ | |
| /* { dg-final { scan-tree-dump "return 0" "optimized" } } */ |