This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]