93 lines · cpp
1// RUN: c-index-test -test-print-binops %s | FileCheck %s2 3struct C {4 int m;5};6 7void func(void) {8#pragma clang diagnostic push9#pragma clang diagnostic ignored "-Wunused-value"10 int a, b;11 int C::*p = &C::m;12 13 C c;14 c.*p;15 16 C *pc;17 pc->*p;18 19 a *b;20 a / b;21 a % b;22 a + b;23 a - b;24 25 a << b;26 a >> b;27 28 a < b;29 a > b;30 31 a <= b;32 a >= b;33 a == b;34 a != b;35 36 a &b;37 a ^ b;38 a | b;39 40 a &&b;41 a || b;42 43 a = b;44 45 a *= b;46 a /= b;47 a %= b;48 a += b;49 a -= b;50 51 a <<= b;52 a >>= b;53 54 a &= b;55 a ^= b;56 a |= b;57 a, b;58#pragma clang diagnostic pop59}60 61// CHECK: BinaryOperator=.* BinOp=.* 162// CHECK: BinaryOperator=->* BinOp=->* 263// CHECK: BinaryOperator=* BinOp=* 364// CHECK: BinaryOperator=/ BinOp=/ 465// CHECK: BinaryOperator=% BinOp=% 566// CHECK: BinaryOperator=+ BinOp=+ 667// CHECK: BinaryOperator=- BinOp=- 768// CHECK: BinaryOperator=<< BinOp=<< 869// CHECK: BinaryOperator=>> BinOp=>> 970// CHECK: BinaryOperator=< BinOp=< 1171// CHECK: BinaryOperator=> BinOp=> 1272// CHECK: BinaryOperator=<= BinOp=<= 1373// CHECK: BinaryOperator=>= BinOp=>= 1474// CHECK: BinaryOperator=== BinOp=== 1575// CHECK: BinaryOperator=!= BinOp=!= 1676// CHECK: BinaryOperator=& BinOp=& 1777// CHECK: BinaryOperator=^ BinOp=^ 1878// CHECK: BinaryOperator=| BinOp=| 1979// CHECK: BinaryOperator=&& BinOp=&& 2080// CHECK: BinaryOperator=|| BinOp=|| 2181// CHECK: BinaryOperator== BinOp== 2282// CHECK: CompoundAssignOperator=*= BinOp=*= 2383// CHECK: CompoundAssignOperator=/= BinOp=/= 2484// CHECK: CompoundAssignOperator=%= BinOp=%= 2585// CHECK: CompoundAssignOperator=+= BinOp=+= 2686// CHECK: CompoundAssignOperator=-= BinOp=-= 2787// CHECK: CompoundAssignOperator=<<= BinOp=<<= 2888// CHECK: CompoundAssignOperator=>>= BinOp=>>= 2989// CHECK: CompoundAssignOperator=&= BinOp=&= 3090// CHECK: CompoundAssignOperator=^= BinOp=^= 3191// CHECK: CompoundAssignOperator=|= BinOp=|= 3292// CHECK: BinaryOperator=, BinOp=, 3393