diff mbox series

[v4,1/2] qapi: Avoid generating C identifier 'linux'

Message ID 20220707005602.696557-2-pizhenwei@bytedance.com (mailing list archive)
State New, archived
Headers show
Series qga: add command 'guest-get-cpustats' | expand

Commit Message

zhenwei pi July 7, 2022, 12:56 a.m. UTC
'linux' is not usable as identifier, because C compilers targeting
Linux predefine it as a macro expanding to 1.  Add it to
@polluted_words. 'unix' is already there.

Suggested-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
---
 scripts/qapi/common.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Markus Armbruster July 7, 2022, 6:26 a.m. UTC | #1
zhenwei pi <pizhenwei@bytedance.com> writes:

> 'linux' is not usable as identifier, because C compilers targeting
> Linux predefine it as a macro expanding to 1.  Add it to
> @polluted_words. 'unix' is already there.
>
> Suggested-by: Markus Armbruster <armbru@redhat.com>
> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
> ---
>  scripts/qapi/common.py | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/qapi/common.py b/scripts/qapi/common.py
> index 489273574a..737b059e62 100644
> --- a/scripts/qapi/common.py
> +++ b/scripts/qapi/common.py
> @@ -114,7 +114,7 @@ def c_name(name: str, protect: bool = True) -> str:
>                       'and', 'and_eq', 'bitand', 'bitor', 'compl', 'not',
>                       'not_eq', 'or', 'or_eq', 'xor', 'xor_eq'])
>      # namespace pollution:
> -    polluted_words = set(['unix', 'errno', 'mips', 'sparc', 'i386'])
> +    polluted_words = set(['unix', 'errno', 'mips', 'sparc', 'i386', 'linux'])

If this list gets any longer, we better keep it in alphabetical order.

>      name = re.sub(r'[^A-Za-z0-9_]', '_', name)
>      if protect and (name in (c89_words | c99_words | c11_words | gcc_words
>                               | cpp_words | polluted_words)

Reviewed-by: Markus Armbruster <armbru@redhat.com>
zhenwei pi July 7, 2022, 6:28 a.m. UTC | #2
On 7/7/22 14:26, Markus Armbruster wrote:
> zhenwei pi <pizhenwei@bytedance.com> writes:
> 
>> 'linux' is not usable as identifier, because C compilers targeting
>> Linux predefine it as a macro expanding to 1.  Add it to
>> @polluted_words. 'unix' is already there.
>>
>> Suggested-by: Markus Armbruster <armbru@redhat.com>
>> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
>> Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
>> ---
>>   scripts/qapi/common.py | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/scripts/qapi/common.py b/scripts/qapi/common.py
>> index 489273574a..737b059e62 100644
>> --- a/scripts/qapi/common.py
>> +++ b/scripts/qapi/common.py
>> @@ -114,7 +114,7 @@ def c_name(name: str, protect: bool = True) -> str:
>>                        'and', 'and_eq', 'bitand', 'bitor', 'compl', 'not',
>>                        'not_eq', 'or', 'or_eq', 'xor', 'xor_eq'])
>>       # namespace pollution:
>> -    polluted_words = set(['unix', 'errno', 'mips', 'sparc', 'i386'])
>> +    polluted_words = set(['unix', 'errno', 'mips', 'sparc', 'i386', 'linux'])
> 
> If this list gets any longer, we better keep it in alphabetical order.
> 

OK!

>>       name = re.sub(r'[^A-Za-z0-9_]', '_', name)
>>       if protect and (name in (c89_words | c99_words | c11_words | gcc_words
>>                                | cpp_words | polluted_words)
> 
> Reviewed-by: Markus Armbruster <armbru@redhat.com>
>
diff mbox series

Patch

diff --git a/scripts/qapi/common.py b/scripts/qapi/common.py
index 489273574a..737b059e62 100644
--- a/scripts/qapi/common.py
+++ b/scripts/qapi/common.py
@@ -114,7 +114,7 @@  def c_name(name: str, protect: bool = True) -> str:
                      'and', 'and_eq', 'bitand', 'bitor', 'compl', 'not',
                      'not_eq', 'or', 'or_eq', 'xor', 'xor_eq'])
     # namespace pollution:
-    polluted_words = set(['unix', 'errno', 'mips', 'sparc', 'i386'])
+    polluted_words = set(['unix', 'errno', 'mips', 'sparc', 'i386', 'linux'])
     name = re.sub(r'[^A-Za-z0-9_]', '_', name)
     if protect and (name in (c89_words | c99_words | c11_words | gcc_words
                              | cpp_words | polluted_words)