Antoine Leca
2011-07-19 14:58:26 UTC
Hi guys,
This one is really the dual of http://llvm.org/bugs/show_bug.cgi?id=10233
pcc handles correctly the case which clang was mishandling ;-)
But pcc apparently failed on a very close relative:
extern double ms2kph(double ms);
inline double ms2kph(double ms)
{
return (ms * 3.6);
}
I was trying to figure out by reading ccom/inline.c, but the code and
its comments appears sensate to me, so there should be some bug
somewhere; my guess is that the EXTDEF class flag is somehow "cleared"
when it parses the inline definition without explicit extern on _that_
definition, but I am not familiar enough with the internals of the
compiler to check that hypothesis easily.
Can someone confirm the problem?
Antoine
This one is really the dual of http://llvm.org/bugs/show_bug.cgi?id=10233
pcc handles correctly the case which clang was mishandling ;-)
But pcc apparently failed on a very close relative:
extern double ms2kph(double ms);
inline double ms2kph(double ms)
{
return (ms * 3.6);
}
I was trying to figure out by reading ccom/inline.c, but the code and
its comments appears sensate to me, so there should be some bug
somewhere; my guess is that the EXTDEF class flag is somehow "cleared"
when it parses the inline definition without explicit extern on _that_
definition, but I am not familiar enough with the internals of the
compiler to check that hypothesis easily.
Can someone confirm the problem?
Antoine