ref: f08eafe178160c3dea617d0dd28c50b04b998c8d
dir: /cc1/tests/test041.c/
/* See LICENSE file for copyright and license details. */ /* name: TEST041 description: Test for bug parsing ternary operators error: test041.c:51: error: type mismatch in conditional expression test041.c:51: error: incompatible types when assigning test041.c:52: error: used struct/union type value where scalar is required test041.c:52: warning: expression without side effects test041.c:53: warning: 'i' defined but not used test041.c:53: warning: 'foo' defined but not used test041.c:53: warning: 's' defined but not used output: G2 I F "main { \ A3 I "i A5 P "q A7 P "s A8 P "p S10 "foo #N2 #N1 M11 I "i #N0 A12 S10 "foo A3 A3 #I0 !I #W0 #W0 ?W gI :I A8 A3 #I0 !I #P0 #P0 ?P :P A8 A3 #I0 !I #P0 #P0 ?P :P A8 A3 #I0 !I #P0 #P0 ?P :P A5 A3 #I0 !I #P0 A8 ?P :P A5 A3 #I0 !I A8 #P0 ?P :P A5 A3 #I0 !I A5 #P0 ?P :P A5 A3 #I0 !I #P0 A5 ?P :P */ int main(void) { int i, *q; char *s; void *p; struct foo {int i;} foo; i = i ? 0 : 0l; p = i ? (void *) 0 : 0; p = i ? 0 : (void *) 0; p = i ? 0 : (const void *) 0; q = i ? 0 : p; q = i ? p : 0; q = i ? q : 0; q = i ? 0 : q; p = i ? 2 : p; foo ? 1 : 2; }