public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug target/43888] New: FAIL: gcc.dg/alias-7.c execution test @ 2010-04-25 18:32 davek at gcc dot gnu dot org 2010-04-25 18:33 ` [Bug target/43888] " davek at gcc dot gnu dot org ` (5 more replies) 0 siblings, 6 replies; 7+ messages in thread From: davek at gcc dot gnu dot org @ 2010-04-25 18:32 UTC (permalink / raw) To: gcc-bugs Here's what the alias-7.c test looks like, after preprocessing: > int foo __asm__ ("_" "foo") __attribute__((nocommon)); > extern __typeof (foo) bar __attribute__ ((weak, alias ("foo"))); > > int > main (void) > { > if (&foo != &bar || foo || bar) > abort (); > return bar; > } But here's how it compiles down using 4.5.0 on i686-pc-cygwin: > alias-7.c.003t.original: > ;; Function main (null) > ;; enabled by -tree-original > > > { > if (1) > { > abort (); > } > return bar; > } I've established that fold_comparison is returning (integer_cst 1) for the "&foo != &bar" test. In this clause, > /* For non-equal bases we can simplify if they are addresses > of local binding decls or constants. */ > else if (indirect_base0 && indirect_base1 > /* We know that !operand_equal_p (base0, base1, 0) > because the if condition was false. But make > sure two decls are not the same. */ > && base0 != base1 > && TREE_CODE (arg0) == ADDR_EXPR > && TREE_CODE (arg1) == ADDR_EXPR > && (((TREE_CODE (base0) == VAR_DECL > || TREE_CODE (base0) == PARM_DECL) > && (targetm.binds_local_p (base0) > || CONSTANT_CLASS_P (base1))) > || CONSTANT_CLASS_P (base0)) > && (((TREE_CODE (base1) == VAR_DECL > || TREE_CODE (base1) == PARM_DECL) > && (targetm.binds_local_p (base1) > || CONSTANT_CLASS_P (base0))) > || CONSTANT_CLASS_P (base1))) > { > if (code == EQ_EXPR) > return omit_two_operands_loc (loc, type, boolean_false_node, > arg0, arg1); > else if (code == NE_EXPR) > return omit_two_operands_loc (loc, type, boolean_true_node, > arg0, arg1); > } it seems that i386_pe_binds_local_p is incorrectly returning true even for the weak symbol. I have a patch. -- Summary: FAIL: gcc.dg/alias-7.c execution test Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: davek at gcc dot gnu dot org ReportedBy: davek at gcc dot gnu dot org GCC build triplet: i686-pc-cygwin GCC host triplet: i686-pc-cygwin GCC target triplet: i686-pc-cygwin http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43888 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug target/43888] FAIL: gcc.dg/alias-7.c execution test 2010-04-25 18:32 [Bug target/43888] New: FAIL: gcc.dg/alias-7.c execution test davek at gcc dot gnu dot org @ 2010-04-25 18:33 ` davek at gcc dot gnu dot org 2010-04-25 18:36 ` davek at gcc dot gnu dot org ` (4 subsequent siblings) 5 siblings, 0 replies; 7+ messages in thread From: davek at gcc dot gnu dot org @ 2010-04-25 18:33 UTC (permalink / raw) To: gcc-bugs -- davek at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2010-04-25 18:33:07 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43888 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug target/43888] FAIL: gcc.dg/alias-7.c execution test 2010-04-25 18:32 [Bug target/43888] New: FAIL: gcc.dg/alias-7.c execution test davek at gcc dot gnu dot org 2010-04-25 18:33 ` [Bug target/43888] " davek at gcc dot gnu dot org @ 2010-04-25 18:36 ` davek at gcc dot gnu dot org 2010-04-30 15:30 ` davek at gcc dot gnu dot org ` (3 subsequent siblings) 5 siblings, 0 replies; 7+ messages in thread From: davek at gcc dot gnu dot org @ 2010-04-25 18:36 UTC (permalink / raw) To: gcc-bugs ------- Comment #1 from davek at gcc dot gnu dot org 2010-04-25 18:36 ------- Created an attachment (id=20487) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20487&action=view) Simple fix. Maybe a bit verbose; I only made it a separate if clause so it could have its own comment, but should probably just integrate it into the preceding if. This resolves the failing testcase mentioned in the title, and also IIRC fixed g++.dg/eh/weak1.C. I'm testing it against the release of 4.5.0 that I'm currently preparing for the cygwin distro and posting it here so I don't forget to backport it upstream. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43888 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug target/43888] FAIL: gcc.dg/alias-7.c execution test 2010-04-25 18:32 [Bug target/43888] New: FAIL: gcc.dg/alias-7.c execution test davek at gcc dot gnu dot org 2010-04-25 18:33 ` [Bug target/43888] " davek at gcc dot gnu dot org 2010-04-25 18:36 ` davek at gcc dot gnu dot org @ 2010-04-30 15:30 ` davek at gcc dot gnu dot org 2010-05-02 23:56 ` [Bug target/43888] [4.5/4.6 Regression] " davek at gcc dot gnu dot org ` (2 subsequent siblings) 5 siblings, 0 replies; 7+ messages in thread From: davek at gcc dot gnu dot org @ 2010-04-30 15:30 UTC (permalink / raw) To: gcc-bugs ------- Comment #2 from davek at gcc dot gnu dot org 2010-04-30 15:30 ------- Posted: http://gcc.gnu.org/ml/gcc-patches/2010-04/msg01899.html -- davek at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch, wrong-code http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43888 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug target/43888] [4.5/4.6 Regression] FAIL: gcc.dg/alias-7.c execution test 2010-04-25 18:32 [Bug target/43888] New: FAIL: gcc.dg/alias-7.c execution test davek at gcc dot gnu dot org ` (2 preceding siblings ...) 2010-04-30 15:30 ` davek at gcc dot gnu dot org @ 2010-05-02 23:56 ` davek at gcc dot gnu dot org 2010-05-06 16:06 ` davek at gcc dot gnu dot org 2010-07-09 0:21 ` davek at gcc dot gnu dot org 5 siblings, 0 replies; 7+ messages in thread From: davek at gcc dot gnu dot org @ 2010-05-02 23:56 UTC (permalink / raw) To: gcc-bugs ------- Comment #3 from davek at gcc dot gnu dot org 2010-05-02 23:56 ------- Applied to trunk at r.158983. -- davek at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43888 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug target/43888] [4.5/4.6 Regression] FAIL: gcc.dg/alias-7.c execution test 2010-04-25 18:32 [Bug target/43888] New: FAIL: gcc.dg/alias-7.c execution test davek at gcc dot gnu dot org ` (3 preceding siblings ...) 2010-05-02 23:56 ` [Bug target/43888] [4.5/4.6 Regression] " davek at gcc dot gnu dot org @ 2010-05-06 16:06 ` davek at gcc dot gnu dot org 2010-07-09 0:21 ` davek at gcc dot gnu dot org 5 siblings, 0 replies; 7+ messages in thread From: davek at gcc dot gnu dot org @ 2010-05-06 16:06 UTC (permalink / raw) To: gcc-bugs ------- Comment #4 from davek at gcc dot gnu dot org 2010-05-06 16:06 ------- Subject: Bug 43888 Author: davek Date: Thu May 6 16:06:18 2010 New Revision: 159111 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=159111 Log: PR target/43888 * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol handling to still return true for x64 targets. Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/winnt.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43888 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug target/43888] [4.5/4.6 Regression] FAIL: gcc.dg/alias-7.c execution test 2010-04-25 18:32 [Bug target/43888] New: FAIL: gcc.dg/alias-7.c execution test davek at gcc dot gnu dot org ` (4 preceding siblings ...) 2010-05-06 16:06 ` davek at gcc dot gnu dot org @ 2010-07-09 0:21 ` davek at gcc dot gnu dot org 5 siblings, 0 replies; 7+ messages in thread From: davek at gcc dot gnu dot org @ 2010-07-09 0:21 UTC (permalink / raw) To: gcc-bugs ------- Comment #5 from davek at gcc dot gnu dot org 2010-07-09 00:21 ------- Subject: Bug 43888 Author: davek Date: Fri Jul 9 00:20:58 2010 New Revision: 161982 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=161982 Log: 2010-07-09 Dave Korn <dave.korn.cygwin@gmail.com> Backport from mainline 2010-05-06 Dave Korn <dave.korn.cygwin@gmail.com> PR target/43888 * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol handling to still return true for x64 targets. Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/config/i386/winnt.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43888 ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2010-07-09 0:21 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2010-04-25 18:32 [Bug target/43888] New: FAIL: gcc.dg/alias-7.c execution test davek at gcc dot gnu dot org 2010-04-25 18:33 ` [Bug target/43888] " davek at gcc dot gnu dot org 2010-04-25 18:36 ` davek at gcc dot gnu dot org 2010-04-30 15:30 ` davek at gcc dot gnu dot org 2010-05-02 23:56 ` [Bug target/43888] [4.5/4.6 Regression] " davek at gcc dot gnu dot org 2010-05-06 16:06 ` davek at gcc dot gnu dot org 2010-07-09 0:21 ` davek at gcc dot gnu dot org
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).