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