[Bug c++/85535] New: bogus code in decl2.c:decl_needed_p
ebotcazou at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Apr 26 10:31:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85535
Bug ID: 85535
Summary: bogus code in decl2.c:decl_needed_p
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ebotcazou at gcc dot gnu.org
Target Milestone: ---
These lines are bogus:
/* When not optimizing, do not bother to produce definitions for extern
symbols. */
if (DECL_REALLY_EXTERN (decl)
&& ((TREE_CODE (decl) != FUNCTION_DECL
&& !optimize)
|| (TREE_CODE (decl) == FUNCTION_DECL
&& !opt_for_fn (decl, optimize)))
&& !lookup_attribute ("always_inline", decl))
return false;
You cannot call lookup_attribute on a DECL, this will immediately fail a check:
internal compiler error: tree check: expected tree_list, have var_decl in
get_attribute_name, at attribs.c:835
I spotted this by visual inspection so no testcase.
More information about the Gcc-bugs
mailing list