aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/semantics.c
diff options
context:
space:
mode:
authorKai Tietz <ktietz@redhat.com>2014-08-08 09:59:38 +0200
committerKai Tietz <ktietz@gcc.gnu.org>2014-08-08 09:59:38 +0200
commit322d490e02ff3008949d14370e651c89290465a6 (patch)
tree70090c79bbf4d735292c6f6682eab07dab7b0e97 /gcc/cp/semantics.c
parent8c9a36b7cac01afb70ca41c1435efb2077202035 (diff)
downloadgcc-322d490e02ff3008949d14370e651c89290465a6.zip
gcc-322d490e02ff3008949d14370e651c89290465a6.tar.gz
gcc-322d490e02ff3008949d14370e651c89290465a6.tar.bz2
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
Diffstat (limited to 'gcc/cp/semantics.c')
-rw-r--r--gcc/cp/semantics.c10
1 files changed, 5 insertions, 5 deletions
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;