On 15 December 2012 18:52, Jonathan M Davis <jmdavisProg@gmx.com> wrote:
On Saturday, December 15, 2012 10:44:56 H. S. Teoh wrote:
> Isn't that just some compiler bugs that sometimes cause certain symbols
> not to be instantiated in the object file? IMO, such bugs should be
> fixed in the compiler, rather than force the user to compile one way or
> another.

Well obviously. They're bugs. Of course they should be fixed. But as long as
they haven't been fixed, we have to work around them, which means compiling
everything at once.

- Jonathan M Davis


Probably won't be easy (if bug still exists).  To describe it (I'll try to find a working example later) - when compiled separately, both modules claim the symbol is extern to their scope.  However when compiled under one compilation unit, the compiler has substantially more information regarding the symbol and sends it to the backend to be written.


If I don't find it by Monday, you'll have to wait until the new year when I return. :-)


--
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';