diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/semantics.c | 10 |
2 files changed, 10 insertions, 5 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 23afac4..7125444 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -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, diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 14bf82d..63365c7 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; |