I think nested extern "C" is alright. The problem I hit was that the header provided some optional C++ interfaces, and the compiler barfed at having C++ inside extern "C" { .. }.
Jose ________________________________________ From: alan.coopersm...@sun.com [alan.coopersm...@sun.com] Sent: Saturday, February 06, 2010 6:00 To: Jose Fonseca Cc: mesa3d-dev@lists.sourceforge.net Subject: Re: [Mesa3d-dev] [PATCH] Gallium: Add Solaris atomic function definitions to u_atomic.h Jose Fonseca wrote: > +#ifdef __cplusplus > +extern "C" { > +#endif > + > +#include <atomic.h> > > It's probably fine for Solaris, but putting OS includes inside extern "C" > sometimes causes problems -- it does with certain MS headers. > > Other than that it looks fine. Hmm, hadn't thought about it - do C++ compilers get upset if you have nested extern "C" blocks? The entire atomic.h header is already inside one so could move out without issue: http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/sys/atomic.h -- -Alan Coopersmith- alan.coopersm...@sun.com Sun Microsystems, Inc. - X Window System Engineering ------------------------------------------------------------------------------ The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev