Inconsistent guards for internal and user types
Craig Howland
howland@LGSInnovations.com
Wed Apr 13 14:31:00 GMT 2016
On 04/13/2016 05:32 AM, Corinna Vinschen wrote:
> On Apr 13 10:44, Sebastian Huber wrote:
>> Hello,
>>
>> Newlib defines defaults for internal types via <sys/_types.h> and uses
>> <machine/_types.h> to let systems define their own type if necessary. For
>> example
>>
>> #ifndef __dev_t_defined
>> typedef short __dev_t;
>> #endif
>>
>> However, the __*_t_defined pattern conflicts with the glibc type guard
>> pattern for user types, e.g. dev_t in this this example. I suggest to
>> introduce a __machine_*_t_pattern for internal types (defined by
>> <machine/_types.h>, used by <sys/_types.h>). For example
>>
>> #ifndef __machine_dev_t_defined
>> typedef short __dev_t;
>> #endif
> Hmm, ok. Looks a bit longish but I can't think of anything shorter
> and still readable either.
>
>
> Corinna
>
How about just changing the original order, for example __defined_dev_t (exactly
the same length)? It would want an explanatory comment somewhere to
differentiate, but that would be needed no matter how it is done, anyway.
Craig
More information about the Newlib
mailing list