From 9c3d0685d3c1326b09b7ed914a09be21f4985653 Mon Sep 17 00:00:00 2001 From: ktietz Date: Fri, 8 Aug 2014 07:59:38 +0000 Subject: [PATCH] * semantics.c (expand_or_defer_fn_1): Check for keep-inline-dllexport that we operate on a true inline. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213751 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/cp/ChangeLog | 5 +++++ gcc/cp/semantics.c | 10 +++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 23afac42f14..7125444f331 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2014-08-08 Kai Tietz + + * semantics.c (expand_or_defer_fn_1): Check for keep-inline-dllexport + that we operate on a true inline. + 2014-08-07 Trevor Saunders * class.c, cp-gimplify.c, decl.c, decl2.c, error.c, method.c, diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 14bf82d6f0a..63365c70e1a 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -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; -- 2.11.4.GIT