mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-25 20:40:29 +08:00
re PR c++/11131 (Unrelated declaration removes inline flag from function)
PR c++/11131 * tree.c (cp_cannot_inline_fn): Check for "inline" before instantiation. From-SVN: r67783
This commit is contained in:
parent
c0081c100c
commit
a5512a2fe2
@ -1,3 +1,9 @@
|
||||
2003-06-11 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/11131
|
||||
* tree.c (cp_cannot_inline_fn): Check for "inline" before
|
||||
instantiation.
|
||||
|
||||
2003-06-10 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/10968
|
||||
|
@ -2209,14 +2209,16 @@ cp_cannot_inline_tree_fn (fnp)
|
||||
if (DECL_TEMPLATE_INFO (fn)
|
||||
&& TI_PENDING_TEMPLATE_FLAG (DECL_TEMPLATE_INFO (fn)))
|
||||
{
|
||||
/* Don't instantiate functions that are not going to be
|
||||
inlined. */
|
||||
if (!DECL_INLINE (DECL_TEMPLATE_RESULT
|
||||
(template_for_substitution (fn))))
|
||||
return 1;
|
||||
fn = *fnp = instantiate_decl (fn, /*defer_ok=*/0);
|
||||
if (TI_PENDING_TEMPLATE_FLAG (DECL_TEMPLATE_INFO (fn)))
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (!DECL_INLINE (fn))
|
||||
return 1;
|
||||
|
||||
if (flag_really_no_inline
|
||||
&& lookup_attribute ("always_inline", DECL_ATTRIBUTES (fn)) == NULL)
|
||||
return 1;
|
||||
|
Loading…
Reference in New Issue
Block a user