https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118981
--- Comment #5 from Erich Löw <Erich.Loew at outlook dot com> --- I found in "7.7 C++-Specific Variable, Function, and Type Attributes" that the lowest supported cardinal (indicating highest prio) should be 101. I tried to replace all occurrences of 99 with 101 and LATEST compiler 15.0.1 is as well compiling smoothly tzdb.cc. So... passing 2 or more times 99 as prio is maybe the root cause of problem. ----------------------------------------------------------------- P.S.: the SPEC wording is init_priority (priority) In Standard C++, objects defined at namespace scope are guaranteed to be initialized in an order in strict accordance with that of their definitions in a given translation unit. No guarantee is made for initializations across translation units. However, GNU C++ allows users to control the order of initialization of objects defined at namespace scope with the init_priority attribute by specifying a relative priority, a constant integral expression currently bounded between 101 and 65535 inclusive. Lower numbers indicate a higher priority. -----------------------------------------------------------------