diff options
author | Kai Tietz <ktietz@gcc.gnu.org> | 2013-09-13 08:43:17 +0200 |
---|---|---|
committer | Kai Tietz <ktietz@gcc.gnu.org> | 2013-09-13 08:43:17 +0200 |
commit | 34f56efcd57a31950d85b83c00b500a63ef46f35 (patch) | |
tree | cca08bfa2a207d4db89b1fa0da65ed4efa071520 /gcc | |
parent | f0e40b0a064d027278df3bc690bc5bfc4dbf8878 (diff) | |
download | gcc-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/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/i386/winnt-cxx.c | 7 | ||||
-rw-r--r-- | gcc/config/i386/winnt.c | 5 |
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; |