This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
trouble compiling glibc-2.3.2 with gcc-3.5-20040523
- From: Dan Kegel <dank at kegel dot com>
- To: GNU C Library <libc-alpha at sources dot redhat dot com>
- Date: Thu, 27 May 2004 09:05:00 -0700
- Subject: trouble compiling glibc-2.3.2 with gcc-3.5-20040523
After backporting the iconv fixes from glibc cvs, glibc-2.3.2
compiles ok with gcc-3.5-20040523 right up until it hits
a problem in stdlib/atof.c.
The error is discussed in http://gcc.gnu.org/PR14096
which concludes that gcc is being a bit too strict about
some inline arcana.
I'm posting here in case anyone wants to light a fire under the gcc
guys, who may not realize this affects glibc, or in case
anyone has a workaround that placates gcc.
- Dan
p.s.
Here's a small test case boiled down from atof.c. Run
i686-unknown-linux-gnu-gcc -O -c z.i
where z.i is:
extern double strtod(__const char *__restrict __nptr, char **__restrict __endptr);
extern double __strtod_internal(__const char *__restrict __nptr, char
**__restrict __endptr, int __group);
extern __inline double
strtod(__const char *__restrict __nptr, char **__restrict __endptr)
{
return __strtod_internal(__nptr, __endptr, 0);
}
extern __inline double atof(__const char *__nptr)
{
return strtod(__nptr, (char **) ((void *) 0));
}
double atof(const char *nptr)
{
return strtod(nptr, (char **) ((void *) 0));
}
This produces
z.i:15: error: Inlined_to pointer is set but no predecesors found
strtod/3: (inline copy in atof/2) 14 insns tree always_inline
called by:
calls: __strtod_internal/0
z.i:15: internal compiler error: verify_cgraph_node failed.
--
My technical stuff: http://kegel.com
My politics: see http://www.misleader.org for examples of why I'm for regime change