This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/30589] New: [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32
- From: "fxcoudert at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 25 Jan 2007 17:00:32 -0000
- Subject: [Bug bootstrap/30589] New: [4.3 regression] C99 extern inline patch broke bootstrap on i386-pc-mingw32
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
A simple example of what breaks the libgfortran build:
$ cat a.c
#include <math.h>
extern float foo(float);
float bar(float x) { return sinhf(x); }
int main(void)
{
float x;
x = bar(x);
x = foo(x);
return 0;
}
$ cat b.c
#include <math.h>
int foo(float x) { return sinhf(x); }
$ gcc a.c b.c -std=c99
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x0): multiple
definition of `__fpclassifyl'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x0): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x1f): multiple
definition of `__isnan'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x1f): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x55): multiple
definition of `__isnanf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x55): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x7f): multiple
definition of `__isnanl'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x7f): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0xa9): multiple
definition of `__signbit'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0xa9): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0xdc): multiple
definition of `__signbitf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0xdc): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x103): multiple
definition of `__signbitl'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x103): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x12a): multiple
definition of `sinhf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x12a): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x14d): multiple
definition of `coshf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x14d): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x170): multiple
definition of `tanhf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x170): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x193): multiple
definition of `expf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x193): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x1b6): multiple
definition of `frexpf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x1b6): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x1dc): multiple
definition of `ldexpf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x1dc): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x202): multiple
definition of `logb'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x202): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x22f): multiple
definition of `logbf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x22f): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x24a): multiple
definition of `logbl'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x24a): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x271): multiple
definition of `hypotf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x271): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x29d): multiple
definition of `powf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x29d): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x2c9): multiple
definition of `rint'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x2c9): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x2f4): multiple
definition of `rintf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x2f4): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x30d): multiple
definition of `rintl'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x30d): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x332): multiple
definition of `lrint'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x332): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x34f): multiple
definition of `lrintf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x34f): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x360): multiple
definition of `lrintl'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x360): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x371): multiple
definition of `llrint'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x371): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x391): multiple
definition of `llrintf'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x391): first defined
here
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccyLWAx7.o:b.c:(.text+0x3a5): multiple
definition of `llrintl'
C:/DOCUME~1/coudert/LOCALS~1/Temp/ccuYdlXI.o:a.c:(.text+0x3a5): first defined
here
collect2: ld returned 1 exit status
--
Summary: [4.3 regression] C99 extern inline patch broke bootstrap
on i386-pc-mingw32
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Keywords: rejects-valid, build
Severity: critical
Priority: P3
Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: fxcoudert at gcc dot gnu dot org
GCC build triplet: i386-pc-mingw32
GCC host triplet: i386-pc-mingw32
GCC target triplet: i386-pc-mingw32
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30589