Page MenuHomeFreeBSD

D37754.id114304.diff
No OneTemporary

D37754.id114304.diff

diff --git a/in-tree.txt b/sizeof.7
--- a/in-tree.txt
+++ b/sizeof.7
@@ -34,38 +34,30 @@
.br
.Nm Vt expression
.Sh DESCRIPTION
-The
-.Nm
-operator yields the size of its operand.
-The
-.Nm
-operator cannot be applied to incomplete types and expressions
-with incomplete types (e.g.
-.Vt void ,
-or forward-defined
-.Vt struct foo ),
-and function types.
-.Pp
-The size of primitive (non-derived) data types in C may differ
-across hardware platforms and implementations.
-They are defined by corresponding Application Binary Interface (ABI)
-specifications, see
-.Xr arch 7
-for details about ABI used by
-.Fx .
-It may be necessary or useful for a program to be able
-to determine the storage size of a data type or object
-to account for the platform specifics.
-.Pp
The unary
.Nm
operator yields the storage size of an expression or
-data type in
-.Em char sized units
-(C language bytes).
+data type in bytes.
+.Sh DETAILS
+The size of data types in C (such as e.g., integers or
+pointers) may differ across hardware platforms and
+implementations.
+For example, systems on which integers, longs, and
+pointers are using 32 bits (e.g., i386) are referred
+to as using the "ILP32" data model, systems using
+64 bit longs and pointers (e.g., amd64 / x86_64)
+as the "LP64" data model.
+.Pp
+As it may be necessary or useful for a program to be able
+to determine the storage size of a data type or
+object,
+.Nm
+yields that size in
+.Em char sized units .
As a result,
-.Ql sizeof(char)
-is always guaranteed to be 1.
+.Pf ' Vt sizeof(char) Ns '
+is always guaranteed to be
+1.
(The number of bits per
.Vt char
is given by the
@@ -79,13 +71,6 @@
.In sys/param.h
header.)
.Sh EXAMPLES
-Different platforms may use different data models.
-For example, systems on which integers, longs, and
-pointers are using 32 bits (e.g., i386) are referred
-to as using the "ILP32" data model, systems using
-64 bit longs and pointers (e.g., amd64 / x86_64)
-as the "LP64" data model.
-.Pp
The following examples illustrate the possible results
of calling
.Nm
@@ -93,7 +78,8 @@
.Pp
When applied to a simple variable or data type,
.Nm
-returns the storage size of the data type of the object:
+returns the storage size of the data type of the
+object:
.Bl -column -offset indent \
".Li sizeof(struct flex)" ".Sy Result (ILP32)" ".Sy Result (LP64)"
.It Sy Object or type \
@@ -271,9 +257,9 @@
.Ed
.Pp
In that case, the operator will return the storage
-size of the pointer (
-.Ql sizeof(char *)
-), not the
+size of the pointer
+.Pf (' Vt sizeof(char *) Ns '),
+not the
allocated memory.
.Pp
.Nm
@@ -291,6 +277,11 @@
preprocessor, the
.Nm
operator cannot be used in a preprocessor expression.
+.Pp
+The
+.Nm
+operator cannot be used on a bit-field object, a
+function type, or an incomplete type.
.Sh SEE ALSO
.Xr arch 7 ,
.Xr operator 7

File Metadata

Mime Type
text/plain
Expires
Sat, Jan 17, 9:14 PM (7 h, 8 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27699343
Default Alt Text
D37754.id114304.diff (2 KB)

Event Timeline