On 04/07/2023 3:38 pm, Jan Beulich wrote:
> On 28.06.2023 16:54, Andrew Cooper wrote:
>> Xen uses the stdint types.  Rearrange the types headers to define the
>> compatibility __{u,s}$N types in terms of the stdint types, not the other way
>> around.
>>
>> All supported compilers on architectures other than x86 support the stdint
>> __*_TYPE__ macros.  Move these into a new xen/stdint.h to avoid them being
>> duplicated in each architecture.  For the very old x86 compilers, synthesize
>> suitable types using GCC internals.
>>
>> This cleanup has the side effect of removing all use of the undocumented
>> __signed__ GCC keyword.  This is a vestigial remnant of `gcc -traditional`
>> mode for dialetcs of C prior to the introduction of the signed keyword.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com>
> Reviewed-by: Jan Beulich <jbeul...@suse.com>

Thanks.

> with one further remark:
>
>> --- /dev/null
>> +++ b/xen/include/xen/stdint.h
>> @@ -0,0 +1,33 @@
>> +/* SPDX-License-Identifier: GPL-2.0-only */
>> +#ifndef __XEN_STDINT_H__
>> +#define __XEN_STDINT_H__
>> +
>> +#ifndef __INT8_TYPE__ /* GCC <= 4.4 */
>> +
>> +/*
>> + * Define the types using GCC internal notation.  Clang understands this 
>> too.
>> + * https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html
>> + */
>> +typedef   signed __attribute__((__mode__(QI)))     int8_t;
>> +typedef unsigned __attribute__((__mode__(QI)))    uint8_t;
>> +typedef   signed __attribute__((__mode__(HI)))    int16_t;
>> +typedef unsigned __attribute__((__mode__(HI)))   uint16_t;
>> +typedef   signed __attribute__((__mode__(SI)))    int32_t;
>> +typedef unsigned __attribute__((__mode__(SI)))   uint32_t;
>> +typedef   signed __attribute__((__mode__(DI)))    int64_t;
>> +typedef unsigned __attribute__((__mode__(DI)))   uint64_t;
> Much like you avoid "mode" potentially being the name of a visible macro,
> the mode identifiers themselves could in principle be, too. Being upper
> case names, perhaps there the risk is even slightly higher. Hence I'd
> prefer if you/we could use __QI__ and alike.

Fixed locally.  I won't resend for just this.

~Andrew

Reply via email to