diff options
author | Michael Matz <matz@suse.de> | 2008-02-21 12:38:35 +0000 |
---|---|---|
committer | Michael Matz <matz@gcc.gnu.org> | 2008-02-21 12:38:35 +0000 |
commit | c754abbfbf21999688720e4c52a4814b0c47fd76 (patch) | |
tree | d88c433168e3918143905f89701e9355355cefbf /gcc | |
parent | 85845bb942dde352fc0abfdef5e46b99322a3aa1 (diff) | |
download | gcc-c754abbfbf21999688720e4c52a4814b0c47fd76.zip gcc-c754abbfbf21999688720e4c52a4814b0c47fd76.tar.gz gcc-c754abbfbf21999688720e4c52a4814b0c47fd76.tar.bz2 |
re PR target/35264 (ntfs-3g miscompiled)
PR target/35264
* config/i386/i386.c (ix86_expand_branch): Add missing breaks.
* gcc.dg/pr35264.c: New testcase.
From-SVN: r132521
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr35264.c | 24 |
4 files changed, 36 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b7ab324..c3dfc8a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2008-02-21 Michael Matz <matz@suse.de> + + PR target/35264 + * config/i386/i386.c (ix86_expand_branch): Add missing breaks. + 2008-02-21 Uros Bizjak <ubizjak@gmail.com> * config/i386/i386.md (mov<mode>cc): Macroize expander from movsfcc, diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 5dad2fcf..5a4456d 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -12148,6 +12148,7 @@ ix86_expand_branch (enum rtx_code code, rtx label) ix86_expand_branch (code, label); return; } + break; case LE: case LEU: case GT: case GTU: if (lo[1] == constm1_rtx) { @@ -12156,6 +12157,7 @@ ix86_expand_branch (enum rtx_code code, rtx label) ix86_expand_branch (code, label); return; } + break; default: break; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 780efe8..259bfbe 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2008-02-21 Michael Matz <matz@suse.de> + + PR target/35264 + * gcc.dg/pr35264.c: New testcase. + 2008-02-21 Richard Guenther <rguenther@suse.de> * gfortran.dg/reassoc_1.f90: New testcase. diff --git a/gcc/testsuite/gcc.dg/pr35264.c b/gcc/testsuite/gcc.dg/pr35264.c new file mode 100644 index 0000000..a332efc --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr35264.c @@ -0,0 +1,24 @@ +/* { dg-do run } */ +/* { dg-options "-O1" } */ +extern void abort(void); +long long __attribute__((noinline)) get(void) +{ + return -2; +} +long long __attribute__((noinline)) get(void); +int __attribute__((noinline)) check(void) +{ + long long lcn; + + lcn = get(); + if (lcn >= 0 || lcn == -1) + return 0; + + return -1; +} +int main() +{ + if (check() == 0) + abort(); + return 0; +} |