[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
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [PATCH v5 07/14] qapi: Utilize implicit struct visits, (continued)
- [Qemu-devel] [PATCH v5 07/14] qapi: Utilize implicit struct visits, Eric Blake, 2016/03/09
- [Qemu-devel] [PATCH v5 12/14] qapi: Make BlockdevOptions doc example closer to reality, Eric Blake, 2016/03/09
- [Qemu-devel] [PATCH v5 09/14] qapi: Inline gen_visit_members() into lone caller, Eric Blake, 2016/03/09
- [Qemu-devel] [PATCH v5 05/14] qapi: Emit implicit structs in generated C, Eric Blake, 2016/03/09
- [Qemu-devel] [PATCH v5 04/14] qapi: Adjust names of implicit types, Eric Blake, 2016/03/09
[Qemu-devel] [PATCH v5 13/14] qapi: Allow anonymous base for flat union, Eric Blake, 2016/03/09
[Qemu-devel] [PATCH v5 14/14] qapi: Use anonymous bases in QMP flat unions, Eric Blake, 2016/03/09
[Qemu-devel] [PATCH v5 11/14] qapi: Don't special-case simple union wrappers, Eric Blake, 2016/03/09
Re: [Qemu-devel] [PATCH v5 00/14] easier unboxed visits/qapi implicit types, Markus Armbruster, 2016/03/10