@@ -121,11 +121,12 @@ def InitPriorityDocs : Documentation {
121121In C++, the order in which global variables are initialized across translation
122122units is unspecified, unlike the ordering within a single translation unit. The
123123``init_priority`` attribute allows you to specify a relative ordering for the
124- initialization of objects declared at namespace scope in C++. The priority is
125- given as an integer constant expression between 101 and 65535 (inclusive).
126- Priorities outside of that range are reserved for use by the implementation. A
127- lower value indicates a higher priority of initialization. Note that only the
128- relative ordering of values is important. For example:
124+ initialization of objects declared at namespace scope in C++ within a single
125+ linked image on supported platforms. The priority is given as an integer constant
126+ expression between 101 and 65535 (inclusive). Priorities outside of that range are
127+ reserved for use by the implementation. A lower value indicates a higher priority
128+ of initialization. Note that only the relative ordering of values is important.
129+ For example:
129130
130131.. code-block:: c++
131132
@@ -136,10 +137,16 @@ relative ordering of values is important. For example:
136137``Obj2`` will be initialized *before* ``Obj1`` despite the usual order of
137138initialization being the opposite.
138139
140+ Note that this attribute does not control the initialization order of objects
141+ across final linked image boundaries like shared objects and executables.
142+
139143On Windows, ``init_seg(compiler)`` is represented with a priority of 200 and
140144``init_seg(library)`` is represented with a priority of 400. ``init_seg(user)``
141145uses the default 65535 priority.
142146
147+ On MachO platforms, this attribute also does not control the order of initialization
148+ across translation units, where it only affects the order within a single TU.
149+
143150This attribute is only supported for C++ and Objective-C++ and is ignored in
144151other language modes. Currently, this attribute is not implemented on z/OS.
145152 }];
0 commit comments