]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
a68: use LMD instead of LM for mode labels in exports
authorJose E. Marchesi <jose.marchesi@oracle.com>
Mon, 29 Dec 2025 03:18:52 +0000 (04:18 +0100)
committerJose E. Marchesi <jose.marchesi@oracle.com>
Mon, 29 Dec 2025 03:19:34 +0000 (04:19 +0100)
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 <jemarch@gnu.org>
gcc/algol68/ChangeLog

* a68-exports.cc (a68_asm_output_mode): Use .LMDnn labels for
modes instead of .LMnn.

gcc/algol68/a68-exports.cc

index 469e945cb4251219d1ec2534944291a9b1f99de1..3b388b156743c3038f1605c2fdc1d864c8ad022c 100644 (file)
@@ -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))