From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8273 invoked by alias); 31 Jan 2003 10:46:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 8202 invoked by uid 71); 31 Jan 2003 10:46:00 -0000 Resent-Date: 31 Jan 2003 10:46:00 -0000 Resent-Message-ID: <20030131104600.8200.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, oliver.kellogg@sysde.eads.net Received: (qmail 6632 invoked by uid 48); 31 Jan 2003 10:42:53 -0000 Message-Id: <20030131104253.6631.qmail@sources.redhat.com> Date: Fri, 31 Jan 2003 10:46:00 -0000 From: oliver.kellogg@sysde.eads.net Reply-To: oliver.kellogg@sysde.eads.net To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: ada/9519: gnat-3.2: clash of assembler symbols for overloaded names X-SW-Source: 2003-01/txt/msg01748.txt.bz2 List-Id: >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: