Home | History | Annotate | Line # | Download | only in lint1
op_colon.c revision 1.2
      1 /*	$NetBSD: op_colon.c,v 1.2 2022/01/15 14:22:03 rillig Exp $	*/
      2 # 3 "op_colon.c"
      3 
      4 /*
      5  * Test handling of the operator ':', as part of the '?:'.
      6  */
      7 
      8 /* lint1-extra-flags: -p */
      9 
     10 void sink(void *);
     11 
     12 void
     13 test_merge_qualifiers(_Bool cond, int *p, const int *c, volatile int *v,
     14 		      const volatile int *cv)
     15 {
     16 	sink(cond ? p : p);
     17 	/* expect+1: 'pointer to const int' */
     18 	sink(cond ? p : c);
     19 	/* expect+1: 'pointer to volatile int' */
     20 	sink(cond ? p : v);
     21 	/* expect+1: 'pointer to const volatile int' */
     22 	sink(cond ? p : cv);
     23 
     24 	/* expect+1: 'pointer to const int' */
     25 	sink(cond ? c : p);
     26 	/* expect+1: 'pointer to const int' */
     27 	sink(cond ? c : c);
     28 	/* expect+1: 'pointer to const volatile int' */
     29 	sink(cond ? c : v);
     30 	/* expect+1: 'pointer to const volatile int' */
     31 	sink(cond ? c : cv);
     32 
     33 	/* expect+1: 'pointer to volatile int' */
     34 	sink(cond ? v : p);
     35 	/* expect+1: 'pointer to const volatile int' */
     36 	sink(cond ? v : c);
     37 	/* expect+1: 'pointer to volatile int' */
     38 	sink(cond ? v : v);
     39 	/* expect+1: 'pointer to const volatile int' */
     40 	sink(cond ? v : cv);
     41 
     42 	/* expect+1: 'pointer to const volatile int' */
     43 	sink(cond ? cv : p);
     44 	/* expect+1: 'pointer to const volatile int' */
     45 	sink(cond ? cv : c);
     46 	/* expect+1: 'pointer to const volatile int' */
     47 	sink(cond ? cv : v);
     48 	/* expect+1: 'pointer to const volatile int' */
     49 	sink(cond ? cv : cv);
     50 }
     51