// RUN: %clang_cc1 -triple i386-unknown-unknown -O1 -emit-llvm -o - %s | FileCheck %s // CHECK: define i32 @f0 // CHECK: ret i32 1 // CHECK: define i32 @f1 // CHECK: ret i32 1 // CHECK: define i32 @f2 // CHECK: ret i32 1 // <rdr://6115726> int f0() { int x; unsigned short n = 1; int *a = &x; int *b = &x; a = a - n; b -= n; return a == b; } int f1(int *a) { long b = a - (int*) 1; a -= (int*) 1; return b == (long) a; } int f2(long n) { int *b = n + (int*) 1; n += (int*) 1; return b == (int*) n; }