re PR c++/49353 (C++ frontend should not declare function EXTERN when it forces them to stay)

PR c++/49353
	* semantics.c (expand_or_defer_fn_1): Clear DECL_EXTERNAL
	on kept inlines.

From-SVN: r175954
This commit is contained in:
Jason Merrill 2011-07-06 22:58:33 -04:00 committed by Jason Merrill
parent 33319c275f
commit ffca9d534c
2 changed files with 8 additions and 1 deletions

View file

@ -1,5 +1,9 @@
2011-07-06 Jason Merrill <jason@redhat.com>
PR c++/49353
* semantics.c (expand_or_defer_fn_1): Clear DECL_EXTERNAL
on kept inlines.
PR c++/49568
* method.c (make_thunk, use_thunk): Copy DECL_COMDAT.

View file

@ -3633,7 +3633,10 @@ expand_or_defer_fn_1 (tree fn)
&& !DECL_REALLY_EXTERN (fn))
|| (flag_keep_inline_dllexport
&& lookup_attribute ("dllexport", DECL_ATTRIBUTES (fn))))
mark_needed (fn);
{
mark_needed (fn);
DECL_EXTERNAL (fn) = 0;
}
}
/* There's no reason to do any of the work here if we're only doing