public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
From: oliver.kellogg@sysde.eads.net
To: gcc-gnats@gcc.gnu.org
Subject: ada/9519: gnat-3.2: clash of assembler symbols for overloaded names
Date: Fri, 31 Jan 2003 10:46:00 -0000	[thread overview]
Message-ID: <20030131104253.6631.qmail@sources.redhat.com> (raw)


>Number:         9519
>Category:       ada
>Synopsis:       gnat-3.2: clash of assembler symbols for overloaded names
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jan 31 10:46:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Oliver Kellogg
>Release:        gcc-3.2 and 3.2.1
>Organization:
>Environment:
RedHat Linux 8.0 (i686)
>Description:
This is a regression.
With gnat-3.13p, correct assembler names are generated:

$ nm ovrlod.o
00000418 T ovrlod__subprog
00000850 T ovrlod__subprog__2
00000000 t ovrlod__subprog__io__get.0
000000fc t ovrlod__subprog__io__get__2.1
00000534 t ovrlod__subprog__io__get__2.7
00000634 t ovrlod__subprog__io__get__3.10
000001fc t ovrlod__subprog__io__get__3.4
00000434 t ovrlod__subprog__io__get.6
00000368 t ovrlod__subprog__io__put.2
00000390 t ovrlod__subprog__io__put__2.3
000007c8 t ovrlod__subprog__io__put__2.9
000007f4 t ovrlod__subprog__io__put__3.11
000003bc t ovrlod__subprog__io__put__3.5
000007a0 t ovrlod__subprog__io__put.8

gnat-3.2 and 3.2.1 generate assembler names
that are liable to clash:

$ gcc -c ovrlod.adb
/tmp/ccBg9i2E.s: Assembler messages:
/tmp/ccBg9i2E.s:422: Error: symbol `ovrlod__subprog__io__get__2' is already defined
/tmp/ccBg9i2E.s:497: Error: symbol `ovrlod__subprog__io__get__3' is already defined
/tmp/ccBg9i2E.s:610: Error: symbol `ovrlod__subprog__io__put__2' is already defined
/tmp/ccBg9i2E.s:629: Error: symbol `ovrlod__subprog__io__put__3' is already defined
>How-To-Repeat:
Compile the body of this package:

-- file: ovrlod.ads
package Ovrlod is

   procedure Subprog;
   function Subprog return String;

end Ovrlod;


-- file: ovrlod.adb
with Text_IO;

package body Ovrlod is

   procedure Subprog is
      package Io is new Text_Io.Integer_Io (Integer);
   begin
      null;
   end Subprog;

   function Subprog return String is
      package Io is new Text_Io.Integer_Io (Integer);
   begin
      return "";
   end Subprog;

end Ovrlod;

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:


             reply	other threads:[~2003-01-31 10:46 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-31 10:46 oliver.kellogg [this message]
2003-05-13  0:36 Dara Hazeghi
2003-05-13  6:27 steven

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030131104253.6631.qmail@sources.redhat.com \
    --to=oliver.kellogg@sysde.eads.net \
    --cc=gcc-gnats@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).