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

Reply via email to