Home | History | Annotate | Line # | Download | only in lint1
msg_249.c revision 1.9
      1  1.9  rillig /*	$NetBSD: msg_249.c,v 1.9 2022/01/15 23:21:34 rillig Exp $	*/
      2  1.1  rillig # 3 "msg_249.c"
      3  1.1  rillig 
      4  1.1  rillig // Test for message: syntax error '%s' [249]
      5  1.1  rillig 
      6  1.3  rillig /*
      7  1.4  rillig  * Cover the grammar rule 'top_level_declaration: error T_SEMI'.
      8  1.4  rillig  */
      9  1.4  rillig /* expect+1: syntax error '"' [249] */
     10  1.4  rillig "syntax error in top_level_declaration";
     11  1.4  rillig 
     12  1.4  rillig /* XXX: This is necessary to recover the yacc parser. */
     13  1.4  rillig int recover_from_semi;
     14  1.4  rillig 
     15  1.4  rillig /*
     16  1.4  rillig  * Cover the grammar rule 'top_level_declaration: error T_RBRACE'.
     17  1.4  rillig  */
     18  1.4  rillig /* expect+1: syntax error '"' [249] */
     19  1.4  rillig "syntax error in top_level_declaration"}
     20  1.4  rillig 
     21  1.4  rillig /* XXX: This is necessary to recover the yacc parser. */
     22  1.4  rillig int recover_from_rbrace;
     23  1.4  rillig 
     24  1.4  rillig /*
     25  1.3  rillig  * Before func.c 1.110 from 2021-06-19, lint ran into this:
     26  1.3  rillig  * assertion "cstmt->c_kind == kind" failed in end_control_statement
     27  1.3  rillig  */
     28  1.3  rillig void
     29  1.3  rillig function(void)
     30  1.3  rillig {
     31  1.9  rillig 	/* expect+2: warning: statement not reached [193] */
     32  1.3  rillig 	if (0)
     33  1.3  rillig 		;
     34  1.3  rillig 	);			/* expect: syntax error ')' */
     35  1.3  rillig }
     36  1.4  rillig 
     37  1.5  rillig /* XXX: It is unexpected that this error is not detected. */
     38  1.5  rillig "This syntax error is not detected.";
     39  1.5  rillig 
     40  1.4  rillig /* XXX: This is necessary to recover the yacc parser. */
     41  1.5  rillig double recover_from_rparen;
     42  1.5  rillig 
     43  1.5  rillig /* Ensure that the declaration after the syntax error is processed. */
     44  1.5  rillig double *
     45  1.5  rillig access_declaration_after_syntax_error(void)
     46  1.5  rillig {
     47  1.5  rillig 	return &recover_from_rparen;
     48  1.5  rillig }
     49  1.6  rillig 
     50  1.6  rillig struct cover_member_declaration {
     51  1.6  rillig 	/* cover 'noclass_declmods ... notype_member_decls' */
     52  1.6  rillig 	const noclass_declmods;
     53  1.6  rillig 
     54  1.6  rillig 	/* cover 'noclass_declspecs ...' */
     55  1.6  rillig 	const int noclass_declspecs;
     56  1.6  rillig 
     57  1.8  rillig 	/* cover 'add_type_qualifier_list end_type' */
     58  1.7  rillig 	/* expect+1: error: syntax error 'member without type' [249] */
     59  1.6  rillig 	const;
     60  1.6  rillig };
     61