https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65115
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- The docs for [[gnu::constructor(priority)]] imply that the default init priority of 65535 is an unspecified implementation detail: 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.