Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
68767ea
CWG2609 Padding in class types
burblebee Apr 4, 2026
5d6e9c8
CWG2744 Multiple objects of the same type at the same address
burblebee Apr 4, 2026
adcdd79
CWG2765 Address comparisons between potentially non-unique objects du…
burblebee Apr 4, 2026
5d65e7f
CWG2799 Inheriting default constructors
burblebee Apr 4, 2026
c2f1ab8
CWG2947 Limiting macro expansion in pp-module
burblebee Apr 4, 2026
7e8fea5
CWG2966 Alignment and value representation of std::nullptr_t
burblebee Apr 4, 2026
c3fbb89
CWG2976 Transferring control out of a function
burblebee Apr 4, 2026
2821d9c
CWG2983 Non-type template parameters are not variables
burblebee Apr 4, 2026
660f75c
CWG2992 Labels do not have names
burblebee Apr 5, 2026
c706a4e
CWG3010 constexpr placement-new should require transparent replaceabi…
burblebee Apr 5, 2026
ff3d471
CWG3029 Confusing note about ordinary character types for aligned mem…
burblebee Apr 5, 2026
e35e7c2
CWG3035 Lambda expressions in anonymous unions
burblebee Apr 5, 2026
13209c7
CWG3058 "Program point" is not defined
burblebee Apr 5, 2026
6181aa6
CWG3125 Token convertibility requirement in #if
burblebee Apr 5, 2026
3dfbe43
CWG3126 A module import needs a header-name as a token
burblebee Apr 5, 2026
4a2eed2
CWG3128 Potentially-throwing unevaluated operands
burblebee Apr 5, 2026
7f818ad
CWG3129 Clarify which floating-point-literals are valid
burblebee Apr 5, 2026
931cad9
CWG3130 Naming function members of anonymous unions
burblebee Apr 5, 2026
29022b7
CWG3132 Unclear disambiguation rule for condition
burblebee Apr 5, 2026
d339a26
CWG3133 Cv-qualified types in built-in operator candidates
burblebee Apr 5, 2026
870aab7
CWG3136 Constant expressions of type void
burblebee Apr 5, 2026
20e988a
CWG3142 Possible expansions of __LINE__ changing over time
burblebee Apr 6, 2026
c25b52e
[cpp.predefined] Insert "The integer literal" as introducer.
tkoeppe Apr 11, 2026
30b9804
CWG3148 Definition of "user-declared" special member function
burblebee Apr 6, 2026
383e447
CWG3151 Closure types that are final
burblebee Apr 6, 2026
e3b6062
CWG3153 Immediate-escalating defaulted comparison
burblebee Apr 6, 2026
a0b9b3b
CWG3155 Escalation of virtual functions
burblebee Apr 6, 2026
8c7d950
CWG3156 Handling of deleted functions in unevaluated lambda-captures
burblebee Apr 6, 2026
9959c52
CWG3157 Missing handling of operator new[] for deallocation function …
burblebee Apr 6, 2026
9b822e3
CWG3171 Codify the strong ownership for modules
burblebee Apr 6, 2026
30d255b
CWG3173 Remove misleading footnote about as-if rule
burblebee Apr 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
CWG2609 Padding in class types
  • Loading branch information
burblebee authored and tkoeppe committed Apr 8, 2026
commit 68767eaadec53b0b4c8c6a6238c251667e0fe76f
2 changes: 2 additions & 0 deletions source/expressions.tex
Original file line number Diff line number Diff line change
Expand Up @@ -5675,6 +5675,8 @@
When applied to a class, the result is the number of bytes in an object
of that class including any padding required for placing objects of that
type in an array.
The amount and placement of padding in a class type
is a property of the implementation.
The result of applying \keyword{sizeof} to a
potentially-overlapping subobject is
the size of the type, not the size of the subobject.
Expand Down
15 changes: 12 additions & 3 deletions source/intro.tex
Original file line number Diff line number Diff line change
Expand Up @@ -462,6 +462,11 @@
\end{codeblock}
\end{example}

\indexdefn{property!of the implementation}%
\definition{property of the implementation}{defns.impl.prop}
behavior, for a well-formed program\iref{defns.well.formed}
construct and correct data, that depends on the implementation

\definition{referenceable type}{defns.referenceable}
\indexdefn{type!referenceable}%
type that is either an
Expand Down Expand Up @@ -920,10 +925,14 @@

\pnum
\indextext{behavior!implementation-defined}%
Certain aspects and operations of the abstract machine are described in this
Certain aspects and operations of the abstract machine
constitute the parameters of the abstract machine and
are described in this
document as implementation-defined behavior (for example,
\tcode{sizeof(int)}). These constitute the parameters of the abstract machine.
Each implementation shall include documentation describing its characteristics
\tcode{sizeof(int)})
or as properties of the implementation (for example, padding in class types).
For implementation-defined behavior,
each implementation shall include documentation describing its characteristics
and behavior in these respects.
\begin{footnote}
This documentation also includes
Expand Down