aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Korn <dave.korn.cygwin@gmail.com>2010-05-02 23:51:59 +0000
committerDave Korn <davek@gcc.gnu.org>2010-05-02 23:51:59 +0000
commit2dfccd834ce3af40eb7623d02cfead60e5bb4401 (patch)
tree5a339bf6c2cf48cd038c3210f57350b6fe830881
parent63004b4903e0c5bc9d4d3a30f1ffca5721456ead (diff)
downloadgcc-2dfccd834ce3af40eb7623d02cfead60e5bb4401.zip
gcc-2dfccd834ce3af40eb7623d02cfead60e5bb4401.tar.gz
gcc-2dfccd834ce3af40eb7623d02cfead60e5bb4401.tar.bz2
winnt.c (i386_pe_binds_local_p): Handle weak decls.
* config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls. From-SVN: r158983
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/i386/winnt.c5
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 49fe658..b528def 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2010-05-03 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls.
+
2010-05-02 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
diff --git a/gcc/config/i386/winnt.c b/gcc/config/i386/winnt.c
index f7f4d28..34d3f42 100644
--- a/gcc/config/i386/winnt.c
+++ b/gcc/config/i386/winnt.c
@@ -321,6 +321,11 @@ i386_pe_binds_local_p (const_tree exp)
&& DECL_DLLIMPORT_P (exp))
return false;
+ /* Or a weak one, now that they are supported. */
+ if ((TREE_CODE (exp) == VAR_DECL || TREE_CODE (exp) == FUNCTION_DECL)
+ && DECL_WEAK (exp))
+ return false;
+
return true;
}