diff --git a/abi.html b/abi.html index 6a0efab..626d29d 100644 --- a/abi.html +++ b/abi.html @@ -2252,15 +2252,15 @@
new Cookies
-If a function-scope static variable or a static data member with vague +If a block-scope static variable or a static data member with vague linkage (i.e., a static data member of a class template) is dynamically initialized, then there is an associated guard variable which is used to guarantee that construction occurs only once. The guard variable's name is mangled based on the mangling of the guarded object name. Thus, for -function-scope static variables, if multiple instances of the function +block-scope static variables, if multiple instances of the function body are emitted (e.g., due to inlining), each function uses the same -guard variable to ensure that the function-scope static is initialized +guard variable to ensure that the block-scope static is initialized only once. Similarly, if a static data member is instantiated in multiple object files, the initialization code in each object file will use the same guard variable to ensure that the static data member @@ -3984,8 +3984,8 @@
-The only requirement of the C++ Standard with respect to file scope
-object construction order is that file scope objects
+The only requirement of the C++ Standard with respect to namespace scope
+object construction order is that namespace scope objects
in a single object file are constructed in declaration order.
However, building large programs sometimes requires careful attention
to construction ordering for objects in different object files,
@@ -4969,7 +4969,7 @@
-Initialization of certain objects with static storage duration
+Initialization of certain variables with static storage duration
requires a guard variable to prevent multiple
initialization. The mangled name of a guard variable is the name of
the guarded variable prefixed with 5.1.4.3 Constructors and Destructors
5.1.4.4 Guard Variables
GV.