extend.texi: add note about reserved ctor/dtor priorities
gcc/Changelog: * doc/extend.texi: Add note about reserved priorities to the constructor attribute. Signed-off-by: Jonathan Yong <10walls@gmail.com>
This commit is contained in:
parent
0012f921b6
commit
d4b782985b
@ -2787,16 +2787,16 @@ On some targets the attributes also accept an integer argument to
|
||||
specify a priority to control the order in which constructor and
|
||||
destructor functions are run. A constructor
|
||||
with a smaller priority number runs before a constructor with a larger
|
||||
priority number; the opposite relationship holds for destructors. So,
|
||||
if you have a constructor that allocates a resource and a destructor
|
||||
that deallocates the same resource, both functions typically have the
|
||||
same priority. The priorities for constructor and destructor
|
||||
functions are the same as those specified for namespace-scope C++
|
||||
objects (@pxref{C++ Attributes}). However, at present, the order in which
|
||||
constructors for C++ objects with static storage duration and functions
|
||||
decorated with attribute @code{constructor} are invoked is unspecified.
|
||||
In mixed declarations, attribute @code{init_priority} can be used to
|
||||
impose a specific ordering.
|
||||
priority number; the opposite relationship holds for destructors. Note
|
||||
that priorities 0-100 are reserved. So, if you have a constructor that
|
||||
allocates a resource and a destructor that deallocates the same
|
||||
resource, both functions typically have the same priority. The
|
||||
priorities for constructor and destructor functions are the same as
|
||||
those specified for namespace-scope C++ objects (@pxref{C++ Attributes}).
|
||||
However, at present, the order in which constructors for C++ objects
|
||||
with static storage duration and functions decorated with attribute
|
||||
@code{constructor} are invoked is unspecified. In mixed declarations,
|
||||
attribute @code{init_priority} can be used to impose a specific ordering.
|
||||
|
||||
Using the argument forms of the @code{constructor} and @code{destructor}
|
||||
attributes on targets where the feature is not supported is rejected with
|
||||
|
Loading…
Reference in New Issue
Block a user