This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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: [PATCH] Y2038: add struct __timespec64


On Wed, 19 Sep 2018, Joseph Myers wrote:

> The bit-fields needs to be *anonymous* for initializers to work as 
> intended.  It can't have the name tv_pad that it has in this patch, or any 
> other name, with our without leading underscores.

Ignore this, I see you are distinguishing between an internal type here 
with a named field and a public type with an anonymous field.

*But* I wouldn't expect the internal type to be declared in any public 
header at all.  That is, this should not be a bits/ header at all, not an 
installed header, because it would only be used in implementation code, 
not from any public interface.  So you need to rename the header out of 
the bits/ namespace, which is purely for installed headers, and remove all 
the #includes from installed headers.

Regarding the comment you have on this type: 2038, not 2036; things, not 
tings; don't reference timeval at all (describing timespec in terms of 
timeval is a very historical way of writing a comment, that may have made 
sense when timeval was the established type and timespec was the new one, 
but doesn't make sense for over 20 years now; rather, comments on timeval 
should describe it as a legacy type, superseded by timespec).

-- 
Joseph S. Myers
joseph@codesourcery.com


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