Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: redefined symbols issue

Iain Hibbert skrev 2014-04-20 20:07:

I found an issue when compiling NetBSD sources with pcc, which I am not
sure where the 'fault' lies, as pcc handles this slightly differently than
gcc (and clang) though the cause of it seems strange in its own right.

The problem I face is that DBL_DIG, DBL_MAX, DBL_MIN, FLT_DIG, FLT_MAX and
FLT_MIN are defined in <machine/limits.h> and <sys/float_ieee754.h> both,
and during a build of (eg) libc/absvdi2.o, I get an error because they are
defined slightly differently. For example, in <i386/limits.h> I see:

#define DBL_DIG         15

whereas in <sys/float_ieee754.h> there is effectively:

#define DBL_DIG         __DBL_DIG__

This is actually disallowed in C99 6.10.3 clause 1 and 2.
A redefinition must be literally identical to be allowed.

-- Ragge

Home | Main Index | Thread Index | Old Index