semantics.c (expand_or_defer_fn_1): Check for keep-inline-dllexport that we operate on a true inline.

* semantics.c (expand_or_defer_fn_1): Check for keep-inline-dllexport
	that we operate on a true inline.

From-SVN: r213751
This commit is contained in:
Kai Tietz 2014-08-08 09:59:38 +02:00 committed by Kai Tietz
parent 8c9a36b7ca
commit 322d490e02
2 changed files with 10 additions and 5 deletions

View File

@ -1,3 +1,8 @@
2014-08-08 Kai Tietz <ktietz@redhat.com>
* semantics.c (expand_or_defer_fn_1): Check for keep-inline-dllexport
that we operate on a true inline.
2014-08-07 Trevor Saunders <tsaunders@mozilla.com>
* class.c, cp-gimplify.c, decl.c, decl2.c, error.c, method.c,

View File

@ -4014,11 +4014,11 @@ expand_or_defer_fn_1 (tree fn)
this function as needed so that finish_file will make sure to
output it later. Similarly, all dllexport'd functions must
be emitted; there may be callers in other DLLs. */
if ((flag_keep_inline_functions
&& DECL_DECLARED_INLINE_P (fn)
&& !DECL_REALLY_EXTERN (fn))
|| (flag_keep_inline_dllexport
&& lookup_attribute ("dllexport", DECL_ATTRIBUTES (fn))))
if (DECL_DECLARED_INLINE_P (fn)
&& !DECL_REALLY_EXTERN (fn)
&& (flag_keep_inline_functions
|| (flag_keep_inline_dllexport
&& lookup_attribute ("dllexport", DECL_ATTRIBUTES (fn)))))
{
mark_needed (fn);
DECL_EXTERNAL (fn) = 0;