$NetBSD: patch-ab,v 1.1 2013/11/16 07:41:00 mef Exp $ Based on the suggenstion from TNT (www.trans-nt.com) Thanks locore64 (at) alkyltechnology.com for the info. --- gcc/c-parse.y.orig 2006-03-06 12:57:18.000000000 +0900 +++ gcc/c-parse.y 2010-11-24 12:10:18.000000000 +0900 @@ -1647,34 +1647,34 @@ structsp_attr: struct_head identifier '{' - { $$ = start_struct (RECORD_TYPE, $2); + { $$ = start_struct (RECORD_TYPE, $2); /* Start scope of tag before parsing components. */ } component_decl_list '}' maybe_attribute - { $$ = finish_struct ($4, nreverse ($5), + { $$ = finish_struct ($4, nreverse ($5), chainon ($1, $7)); } | struct_head '{' component_decl_list '}' maybe_attribute - { $$ = finish_struct (start_struct (RECORD_TYPE, NULL_TREE), + { $$ = finish_struct (start_struct (RECORD_TYPE, NULL_TREE), nreverse ($3), chainon ($1, $5)); } | union_head identifier '{' - { $$ = start_struct (UNION_TYPE, $2); } + { $$ = start_struct (UNION_TYPE, $2); } component_decl_list '}' maybe_attribute - { $$ = finish_struct ($4, nreverse ($5), + { $$ = finish_struct ($4, nreverse ($5), chainon ($1, $7)); } | union_head '{' component_decl_list '}' maybe_attribute - { $$ = finish_struct (start_struct (UNION_TYPE, NULL_TREE), + { $$ = finish_struct (start_struct (UNION_TYPE, NULL_TREE), nreverse ($3), chainon ($1, $5)); } | enum_head identifier '{' - { $$ = start_enum ($2); } + { $$ = start_enum ($2); } enumlist maybecomma_warn '}' maybe_attribute - { $$ = finish_enum ($4, nreverse ($5), + { $$ = finish_enum ($4, nreverse ($5), chainon ($1, $8)); } | enum_head '{' - { $$ = start_enum (NULL_TREE); } + { $$ = start_enum (NULL_TREE); } enumlist maybecomma_warn '}' maybe_attribute - { $$ = finish_enum ($3, nreverse ($4), + { $$ = finish_enum ($3, nreverse ($4), chainon ($1, $7)); } ;