On Thu, 2008-01-03 at 16:01 +0100, Hans de Goede wrote: > Jakub, > > Any chance you could explain this one to me: > http://sunsite.mff.cuni.cz/rawhide20071220-gcc43/fails-even-with-41/machineball-1.0-4.fc8.log > > In file included from /usr/include/allegrogl/gl_ext.h:27, > from /usr/include/alleggl.h:68, > from menu.cpp:12: > /usr/include/allegrogl/GLext/gl_ext_api.h:1827: error: '<anonymous>' has > incomplete type > /usr/include/allegrogl/GLext/gl_ext_api.h:1827: error: invalid use of 'GLvoid' > > I just tried to build the rawhide machineball sources on F-8 and there they > work fine. The offending line in /usr/include/allegrogl/GLext/gl_ext_api.h is: > AGL_API(void, EndTransformFeedbackNV, (GLvoid)) > > Which basically translates to: > void EndTransformFeedbackNV(GLvoid); > > And GLvoid is defined in: > /usr/include/GL/gl.h, which gets included by /usr/include/alleggl.h before > including /usr/include/allegrogl/gl_ext.h. > > GLvoid is defined as: > typedef void GLvoid; > > The only reason I can see for this not working is that: > /usr/include/alleggl.h > > Does not declare the prototypes in it and its included files as > extern "C" { > > Could that explain this? I don't think so. openvrml has the same failure; and in this case the code is in an 'extern "C"' block. I've recently had a user report this same problem with gcc 4.2. > Strange though that this breaks between gcc-4.1.2-33, and > gcc-4.1.2-36 I think you misunderstood. This problem occurs in gcc 4.3.0-0.4; not in 4.1.2-36. I'd like to know more about this, too. Currently I'm not convinced it isn't a gcc bug. Can someone with gcc 4.3 installed try compiling a few brief C++ programs with g++? For starters: typedef void void_t; int f(void_t) { return 0; } int main() { f(); } If that works, try this one: extern "C" { typedef void void_t; int f(void_t) { return 0; } } int main() { f(); } And finally: typedef void void_t; extern "C" { int f(void_t) { return 0; } } int main() { f(); } If any of these fails, I'd sure like to know why. If they succeed, I'd sure like to know what's special about GLvoid. -- Braden McDaniel e-mail: <braden@xxxxxxxxxxxxx> <http://endoframe.com> Jabber: <braden@xxxxxxxxxx> -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list