public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug ada/17540] New: Duplicate symbols while building Ada
@ 2004-09-17 21:32 laurent at guerby dot net
2004-09-17 22:46 ` [Bug ada/17540] " fw at deneb dot enyo dot de
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: laurent at guerby dot net @ 2004-09-17 21:32 UTC (permalink / raw)
To: gcc-bugs
Filed to enable tracking, from "Ada system.fat_lflt.fat_long_float.scaling
problem analysis" discussion on gcc@gcc.gnu.org:
On Mon, 2004-09-13 at 23:24, Richard Kenner wrote:
> s-fatlfl.o(.bss+0x0): In function `system.fat_lflt.fat_long_float.scaling':
>
/home/guerby/work/gcc/build/build-20040913T200122/gcc/ada/rts/s-fatgen.adb:540:
multiple definition of `r'
>
s-fatflt.o(.bss+0x0):/home/guerby/work/gcc/build/build-20040913T200122/gcc/ada/rts/s-fatgen.adb:540:
first defined here
>
> I'm assuming this is a problem in the Ada front end, though I haven't
> gotten a chance to look at it yet.
I looked at the expanded code for s-fatflt.ads and found the "r":
xa : constant system.system__address :=
system__fat_flt__fat_float__valid__to_addressGP22755__target!
(system__fat_flt__fat_float__valid__float_access(x));
r : system__fat_flt__fat_float__valid__float_rep;
pragma import (ada, r);
for r'address use xa;
freeze r []
The following reduced test case shows the problem:
procedure P is
procedure P1 (X : access Integer) is
R : Integer;
pragma Import (Ada, R);
for R'Address use X.all'Address;
begin
null;
end P1;
procedure P2 (X : access Integer) is
R : Integer;
pragma Import (Ada, R);
for R'Address use X.all'Address;
begin
null;
end P2;
begin
null;
end P;
$ /home/guerby/work/gcc/build/build-20040917T192720/gcc/xgcc
-B/home/guerby/work/gcc/build/build-20040917T192720/gcc/ -c p.adb
/tmp/ccK6lePn.s: Assembler messages:
/tmp/ccK6lePn.s:13: Error: symbol `r' is already defined
My guess is that the r symbol is not flagged as local when
there's an address clause and an Import pragma, so it
might be a gigi problem.
Very similar code is present in GNAT sources and is causing the ACATS
failures, see s-fatgen.adb, function Valid:
XA : constant System.Address := To_Address (Float_Access (X));
R : Float_Rep;
pragma Import (Ada, R);
for R'Address use XA;
-- R is a view of the input floating-point parameter. Note that we
-- must avoid copying the actual bits of this parameter in float
-- form (since it may be a signalling NaN.
Since it's a generic, it might lead to generated code
as I've writen in my example if multiple instanciation
are present. Such a construct has worked for all versions of GNAT, but might depend
on some specific code generation behaviour that is no longer present.
--
Summary: Duplicate symbols while building Ada
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: ada
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: laurent at guerby dot net
CC: dewar at gnat dot com,gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17540
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug ada/17540] Duplicate symbols while building Ada
2004-09-17 21:32 [Bug ada/17540] New: Duplicate symbols while building Ada laurent at guerby dot net
@ 2004-09-17 22:46 ` fw at deneb dot enyo dot de
2004-09-20 10:51 ` charlet at gcc dot gnu dot org
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: fw at deneb dot enyo dot de @ 2004-09-17 22:46 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |fw at deneb dot enyo dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17540
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug ada/17540] Duplicate symbols while building Ada
2004-09-17 21:32 [Bug ada/17540] New: Duplicate symbols while building Ada laurent at guerby dot net
2004-09-17 22:46 ` [Bug ada/17540] " fw at deneb dot enyo dot de
@ 2004-09-20 10:51 ` charlet at gcc dot gnu dot org
2004-09-20 12:08 ` cvs-commit at gcc dot gnu dot org
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: charlet at gcc dot gnu dot org @ 2004-09-20 10:51 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From charlet at gcc dot gnu dot org 2004-09-20 10:51 -------
confirmed.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2004-09-20 10:51:05
date| |
Target Milestone|--- |4.0.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17540
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug ada/17540] Duplicate symbols while building Ada
2004-09-17 21:32 [Bug ada/17540] New: Duplicate symbols while building Ada laurent at guerby dot net
2004-09-17 22:46 ` [Bug ada/17540] " fw at deneb dot enyo dot de
2004-09-20 10:51 ` charlet at gcc dot gnu dot org
@ 2004-09-20 12:08 ` cvs-commit at gcc dot gnu dot org
2004-09-20 12:10 ` charlet at gcc dot gnu dot org
2004-09-23 9:00 ` cvs-commit at gcc dot gnu dot org
4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-09-20 12:08 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-09-20 12:08 -------
Subject: Bug 17540
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: charlet@gcc.gnu.org 2004-09-20 12:07:53
Modified files:
gcc/ada : freeze.adb ChangeLog
Log message:
2004-09-20 Robert Dewar <dewar@gnat.com>
PR ada/17540
* freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
if an address clause is present, since that means that the Import
should be ignored.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/freeze.adb.diff?cvsroot=gcc&r1=1.20&r2=1.21
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/ChangeLog.diff?cvsroot=gcc&r1=1.563&r2=1.564
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17540
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug ada/17540] Duplicate symbols while building Ada
2004-09-17 21:32 [Bug ada/17540] New: Duplicate symbols while building Ada laurent at guerby dot net
` (2 preceding siblings ...)
2004-09-20 12:08 ` cvs-commit at gcc dot gnu dot org
@ 2004-09-20 12:10 ` charlet at gcc dot gnu dot org
2004-09-23 9:00 ` cvs-commit at gcc dot gnu dot org
4 siblings, 0 replies; 6+ messages in thread
From: charlet at gcc dot gnu dot org @ 2004-09-20 12:10 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From charlet at gcc dot gnu dot org 2004-09-20 12:10 -------
Fixed.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17540
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug ada/17540] Duplicate symbols while building Ada
2004-09-17 21:32 [Bug ada/17540] New: Duplicate symbols while building Ada laurent at guerby dot net
` (3 preceding siblings ...)
2004-09-20 12:10 ` charlet at gcc dot gnu dot org
@ 2004-09-23 9:00 ` cvs-commit at gcc dot gnu dot org
4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-09-23 9:00 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-09-23 09:00 -------
Subject: Bug 17540
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: charlet@gcc.gnu.org 2004-09-23 09:00:12
Modified files:
gcc/ada : sem_prag.adb freeze.adb ChangeLog
Log message:
2004-09-23 Robert Dewar <dewar@gnat.com>
PR ada/17540
* sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
instead do this at freeze time (we won't do it if there is an address
clause).
Change "pragma inline" to "pragma Inline" in information and error
messages.
Minor reformatting.
* freeze.adb (Check_Address_Clause): Remove previous change, not the
right way of doing things after all.
(Freeze_Entity): For object, set Is_Public for imported entities
unless there is an address clause present.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/sem_prag.adb.diff?cvsroot=gcc&r1=1.42&r2=1.43
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/freeze.adb.diff?cvsroot=gcc&r1=1.21&r2=1.22
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/ChangeLog.diff?cvsroot=gcc&r1=1.567&r2=1.568
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17540
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2004-09-23 9:00 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-09-17 21:32 [Bug ada/17540] New: Duplicate symbols while building Ada laurent at guerby dot net
2004-09-17 22:46 ` [Bug ada/17540] " fw at deneb dot enyo dot de
2004-09-20 10:51 ` charlet at gcc dot gnu dot org
2004-09-20 12:08 ` cvs-commit at gcc dot gnu dot org
2004-09-20 12:10 ` charlet at gcc dot gnu dot org
2004-09-23 9:00 ` cvs-commit at gcc dot gnu dot org
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).