aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKai Tietz <ktietz@gcc.gnu.org>2013-09-13 08:43:17 +0200
committerKai Tietz <ktietz@gcc.gnu.org>2013-09-13 08:43:17 +0200
commit34f56efcd57a31950d85b83c00b500a63ef46f35 (patch)
treecca08bfa2a207d4db89b1fa0da65ed4efa071520 /gcc
parentf0e40b0a064d027278df3bc690bc5bfc4dbf8878 (diff)
downloadgcc-34f56efcd57a31950d85b83c00b500a63ef46f35.zip
gcc-34f56efcd57a31950d85b83c00b500a63ef46f35.tar.gz
gcc-34f56efcd57a31950d85b83c00b500a63ef46f35.tar.bz2
winnt-cxx.c (i386_pe_type_dllexport_p): Don't dll-export inline-functions.
2013-09-13 Kai Tietz <ktietz@redhat.com> * config/i386/winnt-cxx.c (i386_pe_type_dllexport_p): Don't dll-export inline-functions. * config/i386/winnt.c (i386_pe_determine_dllexport_p): Likewise. Additional fix ChangeLog-date of prior commit. From-SVN: r202555
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/i386/winnt-cxx.c7
-rw-r--r--gcc/config/i386/winnt.c5
3 files changed, 20 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f479015..6517020 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,4 +1,11 @@
-2013-09-10 Jeff Law <law@redhat.com>
+2013-09-13 Kai Tietz <ktietz@redhat.com>
+
+ * config/i386/winnt-cxx.c (i386_pe_type_dllexport_p): Don't
+ dll-export inline-functions.
+ * config/i386/winnt.c (i386_pe_determine_dllexport_p): Likewise.
+
+
+2013-09-13 Jeff Law <law@redhat.com>
PR middle-end/58387
Revert:
diff --git a/gcc/config/i386/winnt-cxx.c b/gcc/config/i386/winnt-cxx.c
index 323844a..92de46a 100644
--- a/gcc/config/i386/winnt-cxx.c
+++ b/gcc/config/i386/winnt-cxx.c
@@ -65,6 +65,13 @@ i386_pe_type_dllexport_p (tree decl)
if (TREE_CODE (TREE_TYPE (decl)) == METHOD_TYPE
&& DECL_ARTIFICIAL (decl) && !DECL_THUNK_P (decl))
return false;
+ if (TREE_CODE (decl) == FUNCTION_DECL
+ && DECL_DECLARED_INLINE_P (decl))
+ {
+ if (DECL_REALLY_EXTERN (decl)
+ || !flag_keep_inline_dllexport)
+ return false;
+ }
return true;
}
diff --git a/gcc/config/i386/winnt.c b/gcc/config/i386/winnt.c
index c9e3aa9..8cf6b3c 100644
--- a/gcc/config/i386/winnt.c
+++ b/gcc/config/i386/winnt.c
@@ -110,6 +110,11 @@ i386_pe_determine_dllexport_p (tree decl)
if (!TREE_PUBLIC (decl))
return false;
+ if (TREE_CODE (decl) == FUNCTION_DECL
+ && DECL_DECLARED_INLINE_P (decl)
+ && !flag_keep_inline_dllexport)
+ return false;
+
if (lookup_attribute ("dllexport", DECL_ATTRIBUTES (decl)))
return true;