This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Inconsistent guards for internal and user types


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]