View Issue Details

IDProjectCategoryView StatusLast Update
00003761003.1(2008)/Issue 7Base Definitions and Headerspublic2013-04-16 13:06
Reportereblake Assigned Toajosey  
PrioritynormalSeverityObjectionTypeOmission
Status ClosedResolutionAccepted As Marked 
NameEric Blake
OrganizationRed Hat
User Referenceebb.dev_t
Section<sys/types.h>
Page Number399
Line Number13413
Interp StatusApproved
Final Accepted Text0000376:0000720
Summary0000376: dev_t should be integral
DescriptionI see no reason why dev_t should ever be a floating point type, and all
existing implementations provide it as an integral type (although with size
ranging between 16 bits and 64 bits). Similar to 0000327 for time_t, we
might as well match existing practice and tighten the specification to ease
the burden of applications not having to worry about writing code portable
to a floating point type (see, for example:
http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00106.html).

Unfortunately, at least HP-UX 11.31 has dev_t as an integral type, so we
cannot require dev_t to be unsigned (also, there is historical evidence in
Solaris 10 and Cygwin 1.5 that these platforms used to have dev_t as a
signed 16-bit type, but now have it as an unsigned 32-bit type).

Also, the standard is already clear that ino_t is unsigned, but only in one
location, whereas limits on most other types are listed in two locations.
Desired ActionBetween lines 13415 and 13416 [XBD <sys/types.h> DESCRIPTION], add two
bullets:

• dev_t shall be an integer type.
• ino_t shall be an unsigned integer type.

At line 18820 [XSH 2.12.1 Defined Types], change:

dev_t Arithmetic type used for device numbers.

to:

dev_t Integer type used for device numbers.
Tagstc1-2008

Activities

geoffclare

2011-02-10 15:34

manager   bugnote:0000672

The requirement for ino_t to be an unsigned integer type is already stated on the <sys/types.h> page at line 13417.

msbrown

2011-03-24 15:54

manager   bugnote:0000720

Last edited: 2011-03-24 15:57

Interpretation response
------------------------
The standard states that dev_t is allowed to be a floating type, and conforming applications must conform to this. However, concerns have been raised about this which are being referred to the sponsor.

Rationale:
-------------
Although dev_t is allowed to be a floating type, all known implementations use an integral type and many applications assume that it is an integral type.

Notes to the Editor (not part of this interpretation):
-----------------------------------------------------
Between lines 13415 and 13416 [XBD <sys/types.h> DESCRIPTION], add a
bullet:

• dev_t shall be an integer type.


At line 18820 [XSH 2.12.1 Defined Types], change:

dev_t Arithmetic type used for device numbers.

to:

dev_t Integer type used for device numbers.

ajosey

2011-06-16 10:11

manager   bugnote:0000839

Just resetting the interpretation status to Pending prior to setting a batch to proposed :-)

ajosey

2011-06-16 10:14

manager   bugnote:0000840

Interpretation proposed 16 June 2011 for final 30 day review

ajosey

2011-07-29 06:15

manager   bugnote:0000912

The interpretation is now approved.

Issue History

Date Modified Username Field Change
2011-02-08 16:21 eblake New Issue
2011-02-08 16:21 eblake Status New => Under Review
2011-02-08 16:21 eblake Assigned To => ajosey
2011-02-08 16:21 eblake Name => Eric Blake
2011-02-08 16:21 eblake Organization => Red Hat
2011-02-08 16:21 eblake User Reference => ebb.dev_t
2011-02-08 16:21 eblake Section => <sys/types.h>
2011-02-08 16:21 eblake Page Number => 399
2011-02-08 16:21 eblake Line Number => 13413
2011-02-08 16:21 eblake Interp Status => ---
2011-02-10 15:34 geoffclare Note Added: 0000672
2011-03-24 15:54 msbrown Interp Status --- => Proposed
2011-03-24 15:54 msbrown Note Added: 0000720
2011-03-24 15:54 msbrown Status Under Review => Interpretation Required
2011-03-24 15:54 msbrown Resolution Open => Accepted As Marked
2011-03-24 15:55 msbrown Tag Attached: tc1-2008
2011-03-24 15:55 msbrown Final Accepted Text => 0000376:0000720
2011-03-24 15:57 msbrown Note Edited: 0000720
2011-06-16 10:11 ajosey Interp Status Proposed => Pending
2011-06-16 10:11 ajosey Note Added: 0000839
2011-06-16 10:14 ajosey Interp Status Pending => Proposed
2011-06-16 10:14 ajosey Note Added: 0000840
2011-07-29 06:15 ajosey Interp Status Proposed => Approved
2011-07-29 06:15 ajosey Note Added: 0000912
2013-04-16 13:06 ajosey Status Interpretation Required => Closed