JTC 1/SC 22/WG 23 C++ Vulnerability Discussions WG 2 Dec 08 2025 Participants Stephen Michell - convenor, SCC Erhard Ploedereder - liaison Richard Corden - USA Paul Preney - Canada Matt Butler - USA Regrets Peter Sommerlad - Switzerland Loic Joly - AFNOR Actions: Issues addressed - none specific Clauses addressed: Clause 3 Terms and definitions significant rework FROM THE CHAT 2025-12-08: 2025-12-08 10:39:59 From Richard Corden to Everyone: well-defined behavior that the implementation is recommended to diagnose 2025-12-08 10:56:27 From Richard Corden to Everyone: an object has an indeterminate value if it's storage not been replaced and the object is declared with `[[indeterminate]]`. 2025-12-08 11:06:14 From Richard Corden to Everyone: https://eel.is/c++draft/basic#indet 2025-12-08 11:06:33 From Paul Preney (Univ. of Windsor/SHARCNET, Canada) to Everyone: [basic.indet] 2025-12-08 11:18:46 From Richard Corden to Everyone: > If no initialization is performed for an object (including subobjects), such a byte retains its initial value until that value is replaced ([dcl.init.general], [expr.assign]). If any bit in the value representation has an indeterminate value, the object has an indeterminate value; otherwise, if any bit in the value representation has an erroneous value, the object has an erroneous value. 2025-12-08 11:39:10 From Paul Preney (Univ. of Windsor/SHARCNET, Canada) to Everyone: [basic.memobj] 2025-12-08 11:39:34 From Paul Preney (Univ. of Windsor/SHARCNET, Canada) to Everyone: [intro.object] 2025-12-08 11:53:53 From Richard Corden to Everyone: https://godbolt.org/z/f3sTd7cad 2025-12-08 11:59:13 From Matthew Butler to Everyone: An overload is a function or operator sharing a name with others but distinguished by having a different namespace, parameter list or qualifier set. 2025-12-08 12:07:21 From Richard Corden to Everyone: Overload resolution is a mechanism for selecting the best function to call given a list of expressions that are to be the arguments of the call and a set of candidate functions that can be called based on the context of the call. 2025-12-08 12:18:40 From Richard Corden to Everyone: 6.24.Side-effectsAndOrderOfEvaluationOfOperands-SAM.md:116:instantiations that might lead to compile errors otherwiese. This is not a runtime safety issue. I 2025-12-08 12:24:50 From Richard Corden to Everyone: All variables declared with the thread_local keyword have thread storage duration. The storage for these entities lasts for the duration of the thread in which they are created. There is a distinct object or reference per thread, and use of the declared name refers to the entity associated with the current thread. 2025-12-08 12:28:52 From Richard Corden to Everyone: variables declared with the thread_local keyword 2025-12-08 12:31:15 From Richard Corden to Everyone: The storage duration is the property of an object that defines the minimum potential lifetime of the storage containing the object. The storage duration is determined by the construct used to create the object and is one of the following: (1.1) static storage duration (1.2) thread storage duration (1.3) automatic storage duration (1.4) dynamic storage duration 2025-12-08 12:38:56 From Richard Corden to Everyone: A template defines a family of classes, functions, or variables, an alias for a family of types, or a concept. 2025-12-08 12:59:48 From Matthew Butler to Everyone: Have to drop for a meeting.