Re: [PATCH 1/1] kconfig: fix lists definition for C++

From: Rob Landley
Date: Mon Apr 29 2013 - 18:57:53 EST


On 04/29/2013 05:30:54 PM, Yann E. MORIN wrote:
Rob, All,

On Mon, Apr 29, 2013 at 04:54:14PM -0500, Rob Landley wrote:
> On 04/29/2013 02:28:07 PM, Randy Dunlap wrote:
> >On 04/29/13 10:59, Yann E. MORIN wrote:
> >> From: "Yann E. MORIN" <yann.morin.1998@xxxxxxx>
> >>
> >> The C++ compiler is more strict in that it refuses to assign
> >> a void* to a struct list_head*.
>
> Given that the code _isn't_ C++ (because C is not a subset of C++ but a
> separate langauge in its own right where "throw" is a legitimate variable
> name and so on), how is this an issue?

It's an issue because the xconfig frontends is qconf, which as the name
implies is using Qt, which *is* C++, and includes list.h.

So, list.h is included by both by C and C++ code.

So yes, list.h can be compiled by a C++ compiler.

Now, granted: list.h should all be enclosed in:
ifdef __cpluplus
extern "C" {
endif
...
ifdef __cpluplus
}
endif

Was that the fix you were suggesting between the lines? ;-)

It does more clearly document the issue. (A comment about the QT front-end would also be nice. I don't use that one, so I didn't think of it.)

Thanks,

Rob--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/