https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87747

--- Comment #3 from iii at gcc dot gnu.org ---
Author: iii
Date: Thu Oct 25 13:47:10 2018
New Revision: 265488

URL: https://gcc.gnu.org/viewcvs?rev=265488&root=gcc&view=rev
Log:
Fix rtx_code_size static initialization order fiasco

r264556 and r264537 changed the format of EQ_ATTR_ALT RTXs to "ww",
which also required adjusting rtx_code_size initializer.  In order to
simplify things, the list of rtx_codes known to use HOST_WIDE_INTs was
replaced by the format string check.  However, unlike the old one, this
new check cannot be always performed at compile time, in which case a
static constructor is generated.  This may lead to a static
initialization order fiasco with respect to other static constructors
in the compiler, in case of PR87747, cselib's pool_allocator.

gcc/ChangeLog:

2018-10-25  Ilya Leoshkevich  <i...@linux.ibm.com>

        PR bootstrap/87747
        * rtl.c (RTX_CODE_HWINT_P_1): New helper macro.
        (RTX_CODE_HWINT_P): New macro.
        (rtx_code_size): Use RTX_CODE_HWINT_P ().

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/rtl.c

Reply via email to