From 34a7af0facec33bc4fc327578b829c7e340fc2a8 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 13 Aug 2021 22:23:40 +0930 Subject: tidy mri script extern MRI mode generally doesn't flip lexer states, so let's make MRI mode "extern" not do so either. * ldgram.y (extern_name_list): Don't change lex state here. (ifile_p1): Change state here on EXTERN instead. --- ld/ldgram.y | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/ld/ldgram.y b/ld/ldgram.y index 794cf28..24979de 100644 --- a/ld/ldgram.y +++ b/ld/ldgram.y @@ -280,18 +280,12 @@ casesymlist: | casesymlist ',' NAME ; -/* Parsed as expressions so that commas separate entries */ extern_name_list: - { ldlex_expression (); } - extern_name_list_body - { ldlex_popstate (); } - -extern_name_list_body: - NAME + NAME { ldlang_add_undef ($1, false); } - | extern_name_list_body NAME + | extern_name_list NAME { ldlang_add_undef ($2, false); } - | extern_name_list_body ',' NAME + | extern_name_list ',' NAME { ldlang_add_undef ($3, false); } ; @@ -355,7 +349,8 @@ ifile_p1: { lang_add_nocrossref_to ($3); } - | EXTERN '(' extern_name_list ')' + | EXTERN '(' { ldlex_expression (); } extern_name_list ')' + { ldlex_popstate (); } | INSERT_K AFTER NAME { lang_add_insert ($3, 0); } | INSERT_K BEFORE NAME -- cgit v1.1