[Mesa-dev] [PATCH v2 1/2] [util] add extern "C" guards

Emil Velikov emil.l.velikov at gmail.com
Thu Feb 16 15:00:18 UTC 2017


On 16 February 2017 at 14:48, Kyriazis, George
<george.kyriazis at intel.com> wrote:
>
>> -----Original Message-----
>> From: ibmirkin at gmail.com [mailto:ibmirkin at gmail.com] On Behalf Of Ilia
>> Mirkin
>> Sent: Wednesday, February 15, 2017 10:04 PM
>> To: Kyriazis, George <george.kyriazis at intel.com>
>> Cc: mesa-dev at lists.freedesktop.org
>> Subject: Re: [Mesa-dev] [PATCH v2 1/2] [util] add extern "C" guards
>>
>> On Wed, Feb 15, 2017 at 10:53 PM, George Kyriazis
>> <george.kyriazis at intel.com> wrote:
>> > Added extern "C" __cplusplus guards on headers that did not have them.
>> > ---
>> >  src/gallium/auxiliary/util/u_transfer.h   | 8 ++++++++
>> >  src/gallium/auxiliary/util/u_upload_mgr.h | 7 +++++++
>> >  2 files changed, 15 insertions(+)
>> >
>> > diff --git a/src/gallium/auxiliary/util/u_transfer.h
>> > b/src/gallium/auxiliary/util/u_transfer.h
>> > index ab787ab..1408498 100644
>> > --- a/src/gallium/auxiliary/util/u_transfer.h
>> > +++ b/src/gallium/auxiliary/util/u_transfer.h
>> > @@ -10,6 +10,10 @@
>> >  struct pipe_context;
>> >  struct winsys_handle;
>> >
>> > +#ifdef __cplusplus
>> > +extern "C" {
>> > +#endif
>>
>> I'm a little weak on the details, but I wonder if this has to encompass the type
>> forward decls above. I know that the C extern convention affects function
>> name mangling, but it would stand to reason that it could also affect types.
>> Not sure. e.g. u_blit.h and u_blitter.h include the forward decls inside the
>> extern section.
>>
>
>
> Yes,
>
> I was wondering about that, too, but I followed what was happening in other header files, for example util/u_format.h.
>
> I've seen name mangling affect global vars on MS devenv, but not on gcc, but types seem to work OK on both.
>
Please fix the commit summary - > s|[util]|util/u_format|

Having a forward decl. before the extern C is an exception, so I'd move it.

With the above:
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>

Ilia, nouveau has a few extern C { #include foo } cases. Can you give
them a bash - I'm purging through the rest of mesa.

Emil


More information about the mesa-dev mailing list