Home | History | Annotate | Line # | Download | only in lint1
d_gcc_compound_statements2.c revision 1.4
      1  1.4  rillig /*	$NetBSD: d_gcc_compound_statements2.c,v 1.4 2021/09/10 20:02:51 rillig Exp $	*/
      2  1.2  rillig # 3 "d_gcc_compound_statements2.c"
      3  1.2  rillig 
      4  1.1  jruoho /* GCC compound statements with non-expressions */
      5  1.1  jruoho struct cpu_info {
      6  1.1  jruoho 	int bar;
      7  1.1  jruoho };
      8  1.1  jruoho 
      9  1.1  jruoho int
     10  1.3  rillig compound_expression_with_decl_and_stmt(void)
     11  1.1  jruoho {
     12  1.1  jruoho 	return ({
     13  1.3  rillig 	    struct cpu_info *ci;
     14  1.3  rillig 	    __asm__ volatile("movl %%fs:4,%0":"=r" (ci));
     15  1.3  rillig 	    ci;
     16  1.1  jruoho 	})->bar;
     17  1.1  jruoho }
     18  1.3  rillig 
     19  1.3  rillig int
     20  1.3  rillig compound_expression_with_only_stmt(void)
     21  1.3  rillig {
     22  1.3  rillig 	struct cpu_info ci = { 0 };
     23  1.3  rillig 	return ({
     24  1.4  rillig 		if (ci.bar > 0)
     25  1.4  rillig 			ci.bar++;
     26  1.4  rillig 		ci;
     27  1.3  rillig 	}).bar;
     28  1.3  rillig }
     29