https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183

            Bug ID: 108183
           Summary: wrong code generated in the modula2 scaffold mechanism
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: modula2
          Assignee: gaius at gcc dot gnu.org
          Reporter: iains at gcc dot gnu.org
  Target Milestone: ---

On m32 Darwin, we see very many failures like:
/Volumes/ramdisk/ccPnX6B8.s:379:non-relocatable subtraction expression,
"__M2_dtoa_ctor" minus "L5$pb"
/Volumes/ramdisk/ccPnX6B8.s:379:symbol: "__M2_dtoa_ctor" can't be undefined in
a subtraction expression

===

It seems that the function declarations for '__M2_dtoa_ctor' (and other
imported module ctors) are declared with TREE_STATIC() set, which indicates
that there is a definition in the TU  (which there is not) - they should be
declared as external.

So far, I could not figure out where these decls are built and what controls
whether they are considered external or not.

Reply via email to