From a264fb65b56f10388b078ecd25ee50421bb83222 Mon Sep 17 00:00:00 2001 From: ceriel Date: Fri, 14 Apr 1989 18:25:39 +0000 Subject: [PATCH] fix: filename label sometimes turned up as external --- lang/m2/comp/walk.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/lang/m2/comp/walk.c b/lang/m2/comp/walk.c index d8520ae4..91795e29 100644 --- a/lang/m2/comp/walk.c +++ b/lang/m2/comp/walk.c @@ -280,7 +280,15 @@ WalkProcedure(procedure) /* Generate code for this procedure */ TmpOpen(procscope); - C_insertpart(partno2); + C_insertpart(partno2); /* procedure header */ + /* generate code for filename only when the procedure can be + exported, either directly or by taking the address. + This cannot be done if the level is bigger than one (because in + this case it is a nested procedure). + */ + DoFilename(procscope->sc_level == 1); + DoPriority(); + C_insertpart(partno); text_label = 1; /* label at end of procedure */ @@ -288,13 +296,6 @@ WalkProcedure(procedure) end_reached = WalkNode(procedure->prc_body, NO_EXIT_LABEL, REACH_FLAG); C_beginpart(partno); - DoPriority(); - /* generate code for filename only when the procedure can be - exported, either directly or by taking the address. - This cannot be done if the level is bigger than one (because in - this case it is a nested procedure). - */ - DoFilename(procscope->sc_level == 1); /* Generate calls to initialization routines of modules defined within this procedure