File tree Expand file tree Collapse file tree 3 files changed +8
-9
lines changed Expand file tree Collapse file tree 3 files changed +8
-9
lines changed Original file line number Diff line number Diff line change 828
828
\item an identifier label\iref {stmt.label },
829
829
\item a definition of a variable
830
830
of non-literal type or
831
- of static or thread storage duration or
832
- for which no initialization is performed.
831
+ of static or thread storage duration.
833
832
\end {itemize }
834
833
\begin {note }
835
834
A \grammarterm {function-body} that is \tcode {= delete} or \tcode {= default}
853
852
return value;
854
853
}
855
854
constexpr int uninit() {
856
- int a; // error: variable is uninitialized
857
- return a;
855
+ struct { int a; } s;
856
+ return s.a; // error: uninitialized read of \tcode {s.a}
858
857
}
859
858
constexpr int prev(int x)
860
859
{ return --x; } // OK
886
885
shall satisfy the requirements for a \grammarterm {function-body} of a
887
886
constexpr function;
888
887
889
- \item
890
- every non-variant non-static data member and base class subobject
891
- shall be initialized\iref {class.base.init };
892
-
893
888
\item
894
889
if the class is a union having variant members\iref {class.union }, exactly one of them
895
890
shall be initialized;
Original file line number Diff line number Diff line change 6935
6935
that is applied to a glvalue
6936
6936
that refers to a non-active member of a union or a subobject thereof;
6937
6937
6938
+ \item
6939
+ an lvalue-to-rvalue conversion that is applied to
6940
+ an object with an indeterminate value\iref {basic.indet };
6941
+
6938
6942
\item
6939
6943
an invocation of an implicitly-defined copy/move constructor or
6940
6944
copy/move assignment operator
Original file line number Diff line number Diff line change 1684
1684
\defnxname {cpp_capture_star_this} & \tcode {201603L} \\ \rowsep
1685
1685
\defnxname {cpp_char8_t} & \tcode {201811L} \\ \rowsep
1686
1686
\defnxname {cpp_conditional_explicit} & \tcode {201806L} \\ \rowsep
1687
- \defnxname {cpp_constexpr} & \tcode {201603L } \\ \rowsep
1687
+ \defnxname {cpp_constexpr} & \tcode {201907L } \\ \rowsep
1688
1688
\defnxname {cpp_coroutines} & \tcode {201902L} \\ \rowsep
1689
1689
\defnxname {cpp_decltype} & \tcode {200707L} \\ \rowsep
1690
1690
\defnxname {cpp_decltype_auto} & \tcode {201304L} \\ \rowsep
You can’t perform that action at this time.
0 commit comments