/* { 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" } } */