qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v5 04/14] qapi: Adjust names of implicit types


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH v5 04/14] qapi: Adjust names of implicit types
Date: Thu, 10 Mar 2016 09:11:40 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0

On 03/10/2016 06:39 AM, Markus Armbruster wrote:
> Eric Blake <address@hidden> writes:
> 
>> The original choice of ':obj-' as the prefix for implicit types
>> made it obvious that we weren't going to clash with any user-defined
>> names.  But now we want to create structs for implicit types.
> 
> Why?  I know, but the commit message should still give a hint.  Perhaps:
> "to get rid of special cases in the generators"?
> 
>>                                                                We
>> could transliterate ':' to '_', except that C99 says that a leading
>> underscore and lower-case letter should be used only for file scope
>> identifiers, while we would be exposing it in qapi-types.h.  So it's
> 
> Misunderstanding!  When the standard says "identifiers that X are
> reserved for Y use", it reserves these identifiers for itself and the
> implementation.  You shouldn't use them for Y then.
> 
> Suggest to simply quote the standard instead of interpreting it:
> ... except that C99 mandates that "identifiers that begin with an
> underscore are always reserved for use as identifiers with file scope in
> both the ordinary and tag name spaces"

Both those changes sound fine.

> 
>> time to change our naming convention; we can instead use the 'q_'
>> prefix that we reserved for ourselves back in commit 9fb081e0.  As
>> long as we don't declare 'empty' or 'obj' ticklish, it shouldn't
>> clash with c_name() prepending 'q_' to the user's ticklish names.
> 
> Do we really want to rename :empty?  We're not going to generate C for
> it, are we?

No, but it was easier to implement .is_implicit() as
"name.startswith('q_')" than as "name == ':empty' or
name.startswith('q_obj')".  I can stick with :empty if you want a
respin, though.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]