2 extern volatile void *q
;
3 extern volatile int *r
;
6 q
= 1 ? p
: q
; // warn: const volatile void * -> const int *
7 r
= 1 ? r
: q
; // OK: volatile void * -> volatile int *
8 r
= 1 ? r
: p
; // warn: const volatile int * -> volatile int *
11 * check-name: type of conditional expression
12 * check-description: Used to miss qualifier mixing and mishandle void *
15 cond_expr2.c:6:11: warning: incorrect type in assignment (different modifiers)
16 cond_expr2.c:6:11: expected void volatile *extern [addressable] [toplevel] q
17 cond_expr2.c:6:11: got void const volatile *
18 cond_expr2.c:8:11: warning: incorrect type in assignment (different modifiers)
19 cond_expr2.c:8:11: expected int volatile *extern [addressable] [toplevel] [assigned] r
20 cond_expr2.c:8:11: got int const volatile *