On 2/20/19 12:25 PM, Jakub Jelinek wrote:
Hi!

The following testcase ICEs with -fno-weak, because maybe_commonize_var
clears TREE_PUBLIC/DECL_COMMON, but later we assume that if
!DECL_INTERFACE_KNOWN that TREE_PUBLIC is true.
Other spots that clear TREE_PUBLIC also set DECL_INTERFACE_KNOWN,
e.g. twice in optimize.c:
cp/optimize.c-      TREE_PUBLIC (fn) = false;
cp/optimize.c-      DECL_EXTERNAL (fn) = false;
cp/optimize.c:      DECL_INTERFACE_KNOWN (fn) = true;

Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?

2019-02-20  Jakub Jelinek  <ja...@redhat.com>

        PR c++/89405
        * decl.c (maybe_commonize_var): When clearing TREE_PUBLIC and
        DECL_COMMON, set DECL_INTERFACE_KNOWN.

OK.

Jason

Reply via email to