| // RUN: %clang_cc1 -fsyntax-only %s 2> %t |
| // RUN: FileCheck < %t %s |
| #define F (1 << 99) |
| |
| #define M \ |
| F | F |
| |
| int a = M; |
| // CHECK: :8:9: warning: shift count >= width of type [-Wshift-count-overflow] |
| // CHECK-NEXT: 8 | int a = M; |
| // CHECK-NEXT: | ^ |
| // CHECK-NEXT: :5:11: note: expanded from macro 'M' |
| // CHECK-NEXT: 5 | #define M \ |
| // CHECK-NEXT: | ^ |
| // CHECK-NEXT: :3:14: note: expanded from macro '\ |
| // CHECK-NEXT: F' |
| // CHECK-NEXT: 3 | #define F (1 << 99) |
| // CHECK-NEXT: | ^ ~~ |
| // CHECK-NEXT: :8:9: warning: shift count >= width of type [-Wshift-count-overflow] |
| // CHECK-NEXT: 8 | int a = M; |
| // CHECK-NEXT: | ^ |
| // CHECK-NEXT: :6:5: note: expanded from macro 'M' |
| // CHECK-NEXT: 6 | F | F |
| // CHECK-NEXT: | ^ |
| // CHECK-NEXT: :3:14: note: expanded from macro 'F' |
| // CHECK-NEXT: 3 | #define F (1 << 99) |
| // CHECK-NEXT: | ^ ~~ |