diff --git a/tools/qfcc/source/qc-parse.y b/tools/qfcc/source/qc-parse.y index 34cfe84e5..f0eac4b89 100644 --- a/tools/qfcc/source/qc-parse.y +++ b/tools/qfcc/source/qc-parse.y @@ -271,12 +271,29 @@ external_def_list : /* empty */ { current_symtab = pr.symtab; + current_storage = sc_global; } | external_def_list external_def | external_def_list obj_def - | error END { current_class = 0; yyerrok; current_symtab = pr.symtab; } - | error ';' { yyerrok; current_symtab = pr.symtab; } - | error '}' { yyerrok; current_symtab = pr.symtab; } + | error END + { + yyerrok; + current_class = 0; + current_symtab = pr.symtab; + current_storage = sc_global; + } + | error ';' + { + yyerrok; + current_symtab = pr.symtab; + current_storage = sc_global; + } + | error '}' + { + yyerrok; + current_symtab = pr.symtab; + current_storage = sc_global; + } ; external_def