aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Wilson <jim.wilson@linaro.org>2017-07-25 16:06:37 +0000
committerJim Wilson <wilson@gcc.gnu.org>2017-07-25 09:06:37 -0700
commit50ca694de2a2f3ffc7583f53c6a1c1e0f40c5045 (patch)
treeca85a34ef2b969d89db341b840f428aa41181cca /gcc
parentdf7c5241f8aff0ffeca5e356e8f92960d2177289 (diff)
downloadgcc-50ca694de2a2f3ffc7583f53c6a1c1e0f40c5045.zip
gcc-50ca694de2a2f3ffc7583f53c6a1c1e0f40c5045.tar.gz
gcc-50ca694de2a2f3ffc7583f53c6a1c1e0f40c5045.tar.bz2
Fix i686-pc-cygwin build failure.
gcc/ PR bootstrap/81521 * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition): Look for FUNCTION_DECLs in TYPE_FIELDS rather than TYPE_METHODS. From-SVN: r250529
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/winnt-cxx.c15
2 files changed, 13 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fa76a9b..1ddf5b5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2017-07-25 Jim Wilson <jim.wilson@linaro.org>
+ PR bootstrap/81521
+ * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition): Look
+ for FUNCTION_DECLs in TYPE_FIELDS rather than TYPE_METHODS.
+
+2017-07-25 Jim Wilson <jim.wilson@linaro.org>
+
* config/i386/gstabs.h: Delete.
* config/i386/openbsd.h, config/i386/t-openbsd: Likewise.
diff --git a/gcc/config/i386/winnt-cxx.c b/gcc/config/i386/winnt-cxx.c
index cf271d3..a3569fb 100644
--- a/gcc/config/i386/winnt-cxx.c
+++ b/gcc/config/i386/winnt-cxx.c
@@ -127,7 +127,8 @@ i386_pe_adjust_class_at_definition (tree t)
for (thunk = DECL_THUNKS (member); thunk;
thunk = TREE_CHAIN (thunk))
maybe_add_dllexport (thunk);
- }
+ }
+
/* Check vtables */
for (member = CLASSTYPE_VTABLES (t);
member; member = DECL_CHAIN (member))
@@ -145,14 +146,11 @@ i386_pe_adjust_class_at_definition (tree t)
That is just right since out-of class declarations can only be a
definition. */
- /* Check static VAR_DECL's. */
+ /* Check FUNCTION_DECL's and static VAR_DECL's. */
for (member = TYPE_FIELDS (t); member; member = DECL_CHAIN (member))
if (TREE_CODE (member) == VAR_DECL)
maybe_add_dllimport (member);
-
- /* Check FUNCTION_DECL's. */
- for (member = TYPE_METHODS (t); member; member = DECL_CHAIN (member))
- if (TREE_CODE (member) == FUNCTION_DECL)
+ else if (TREE_CODE (member) == FUNCTION_DECL)
{
tree thunk;
maybe_add_dllimport (member);
@@ -161,10 +159,11 @@ i386_pe_adjust_class_at_definition (tree t)
for (thunk = DECL_THUNKS (member); thunk;
thunk = DECL_CHAIN (thunk))
maybe_add_dllimport (thunk);
- }
+ }
/* Check vtables */
- for (member = CLASSTYPE_VTABLES (t); member; member = DECL_CHAIN (member))
+ for (member = CLASSTYPE_VTABLES (t);
+ member; member = DECL_CHAIN (member))
if (TREE_CODE (member) == VAR_DECL)
maybe_add_dllimport (member);