From 9f5af26dacc26944d1a9db6e937afc6909d18e48 Mon Sep 17 00:00:00 2001 From: Martin Sebor Date: Mon, 20 Mar 2017 18:33:31 +0000 Subject: [PATCH] PR c++/52477 - Wrong initialization order __attribute__((constructor)) vs static data access * doc/extend.texi (attribute constructor): Document present limitation. From-SVN: r246288 --- gcc/ChangeLog | 5 +++++ gcc/doc/extend.texi | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 77952ffea1c..188a561963b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2017-03-20 Martin Sebor + + PR c++/52477 + * doc/extend.texi (attribute constructor): Document present limitation. + 2017-03-20 Kelvin Nilsen PR target/79963 diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 143a7b7eb61..dbeec60bd54 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -2510,7 +2510,11 @@ 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}). +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. @item deprecated @itemx deprecated (@var{msg}) -- 2.30.2