28 lines · c
1// RUN: %clang_cc1 -fsyntax-only %s 2> %t2// RUN: FileCheck < %t %s3#define F (1 << 99)4 5#define M \6F | F7 8int a = M;9// CHECK: :8:9: warning: shift count >= width of type [-Wshift-count-overflow]10// CHECK-NEXT: 8 | int a = M;11// CHECK-NEXT: | ^12// CHECK-NEXT: :5:11: note: expanded from macro 'M'13// CHECK-NEXT: 5 | #define M \14// CHECK-NEXT: | ^15// CHECK-NEXT: :3:14: note: expanded from macro '\16// CHECK-NEXT: F'17// CHECK-NEXT: 3 | #define F (1 << 99)18// CHECK-NEXT: | ^ ~~19// CHECK-NEXT: :8:9: warning: shift count >= width of type [-Wshift-count-overflow]20// CHECK-NEXT: 8 | int a = M;21// CHECK-NEXT: | ^22// CHECK-NEXT: :6:5: note: expanded from macro 'M'23// CHECK-NEXT: 6 | F | F24// CHECK-NEXT: | ^25// CHECK-NEXT: :3:14: note: expanded from macro 'F'26// CHECK-NEXT: 3 | #define F (1 << 99)27// CHECK-NEXT: | ^ ~~28