dwarf2out uses "LM" for line-info labels in text sections, using the
global counter line_info_label_num to get unique label names.  The
Algol 68 exports were using the same string for the mode labels in the
.a68_exports sections using its own private counter.  This led to
assemblers to not be happy whey they find duplicated labels in the
input assembly files.

This commit changes the names of mode labels in Algol 68 export
sections to use the "LMD" string instead.

Signed-off-by: Jose E. Marchesi <[email protected]>

gcc/algol68/ChangeLog

        * a68-exports.cc (a68_asm_output_mode): Use .LMDnn labels for
        modes instead of .LMnn.
---
 gcc/algol68/a68-exports.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/algol68/a68-exports.cc b/gcc/algol68/a68-exports.cc
index 469e945cb42..3b388b15674 100644
--- a/gcc/algol68/a68-exports.cc
+++ b/gcc/algol68/a68-exports.cc
@@ -254,7 +254,7 @@ a68_asm_output_mode (MOID_T *m, const char *module_label)
 
   static long int cnt;
   static char label[100];
-  ASM_GENERATE_INTERNAL_LABEL (label, "LM", cnt++);
+  ASM_GENERATE_INTERNAL_LABEL (label, "LMD", cnt++);
   ASM_LABEL (m) = ggc_strdup (label);
 
   if (IS_REF(m) || IS_FLEX (m))
-- 
2.30.2

Reply via email to