Thanks, that took care of the compiler error.
The next snag is that the .so modules seem to get odd symbol references to _fprintf$LDBLStub and similar wrappers (apparently for compatibility with different long double sizes). These symbols can't be resolved when dlopen() runs unless I manually add -lSystemStub to the makefiles. That ugly workaround surely isn't the intended solution, so the question is how it ought to be handled instead?
(Both the compiler and Darwin 8.0 are pre-release so it's possible these issues will be fixed later on. Still, any insights are welcome.)