[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH for Xen 4.5] xen/arm: Add support for GICv3 for domU



>>> On 18.11.14 at 17:19, <julien.grall@xxxxxxxxxx> wrote:
> On 11/18/2014 04:15 PM, Jan Beulich wrote:
>>>>> On 18.11.14 at 16:00, <julien.grall@xxxxxxxxxx> wrote:
>>> On 10/31/2014 09:02 AM, Jan Beulich wrote:
>>>>>>> On 30.10.14 at 19:51, <julien.grall@xxxxxxxxxx> wrote:
>>>> The naming suggests that the #if really should be around just the
>>>> gic_version field (with a dummy field in the #else case to be C89
>>>> compatible, e.g. a zero width unnamed bitfield) and the
>>>> corresponding #define-s above, ...
>>>
>>> Not really related to this patch... but the way to improve it (via
>>> extending createdomain).
>>>
>>> I need to create an empty structure. Is the dummy field really needed?
>>> If so, did you meant?
>>>
>>> struct
>>> {
>>>    int :0;
>>> }
>> 
>> Yes.
>> 
>>> The C spec declare this kind of structure as undefined.
>> 
>> I can't find anything saying so.
> 
> http://c0x.coding-guidelines.com/6.7.2.1.html 
> 
> "1401 If the struct-declaration-list contains no named members, the
> behavior is undefined."

Ah, indeed. I overlooked that clause in the standard, and all compilers
I have at hand have no problem compiling such a struct.

>>> Would an empty structure and used it be better?
>> 
>> Empty structures (and unions) aren't valid in standard C afaics, up to
>> and including C11. That was the whole point of suggesting the above
>> alternative, with me (maybe wrongly) believing that this would be valid.
> 
> Right, this is an extension of GCC. As neither of the 2 solutions are
> valid, Ian Jackson was suggesting to use
> 
> struct {
>    char dummy;
> }
> 
> Would it be ok for you?

Sure - whatever is the smallest possible placeholder (unless, as seems
to emerge from the other sub-thread, you need to go with #ifdef-s
anyway).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.