diff options
author | Richard Biener <rguenther@suse.de> | 2014-03-06 11:19:13 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2014-03-06 11:19:13 +0000 |
commit | a74158c7f261a02fb5d0b7c7f7dc16be298d0772 (patch) | |
tree | 677a3969a785114d740dbb65000d540dd82bafd4 /gcc | |
parent | d9d8f6b1e604c6c73bd5f3b091fb23453b5b4035 (diff) | |
download | gcc-a74158c7f261a02fb5d0b7c7f7dc16be298d0772.zip gcc-a74158c7f261a02fb5d0b7c7f7dc16be298d0772.tar.gz gcc-a74158c7f261a02fb5d0b7c7f7dc16be298d0772.tar.bz2 |
re PR middle-end/60445 (473.astar miscompares with -Ofast)
2014-03-06 Richard Biener <rguenther@suse.de>
PR middle-end/60445
PR lto/60424
PR lto/60427
Revert
2014-03-04 Paulo Matos <paulo@matos-sorge.com>
* tree-streamer.c (record_common_node): Assert we don't record
nodes with type double.
(preload_common_node): Skip type double, complex double and
double pointer since it is now frontend dependent due to
fshort-double option.
* gcc.dg/lto/pr55113_0.c: New testcase.
From-SVN: r208379
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 14 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/lto/pr55113_0.c | 13 | ||||
-rw-r--r-- | gcc/tree-streamer.c | 11 |
4 files changed, 27 insertions, 21 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2a5b006..7754668 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,19 @@ 2014-03-06 Richard Biener <rguenther@suse.de> + PR middle-end/60445 + PR lto/60424 + PR lto/60427 + Revert + 2014-03-04 Paulo Matos <paulo@matos-sorge.com> + + * tree-streamer.c (record_common_node): Assert we don't record + nodes with type double. + (preload_common_node): Skip type double, complex double and + double pointer since it is now frontend dependent due to + fshort-double option. + +2014-03-06 Richard Biener <rguenther@suse.de> + * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin or -fno-lto is specified and the linker has full plugin support. * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d0b1e70..82d19e8 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,13 @@ +2014-03-06 Richard Biener <rguenther@suse.de> + + PR middle-end/60445 + PR lto/60424 + PR lto/60427 + Revert + 2014-03-04 Paulo Matos <paulo@matos-sorge.com> + + * gcc.dg/lto/pr55113_0.c: New testcase. + 2014-03-05 Jakub Jelinek <jakub@redhat.com> PR testsuite/59308 diff --git a/gcc/testsuite/gcc.dg/lto/pr55113_0.c b/gcc/testsuite/gcc.dg/lto/pr55113_0.c deleted file mode 100644 index 8ef11dc..0000000 --- a/gcc/testsuite/gcc.dg/lto/pr55113_0.c +++ /dev/null @@ -1,13 +0,0 @@ -/* PR 55113 */ -/* { dg-lto-do link } */ -/* { dg-lto-options { { -flto -fshort-double -O0 } } }*/ -/* { dg-skip-if "PR60410" { { x86_64-*-* i?86-*-* } && lp64 } } */ - -int -main(void) -{ - float a = 1.0; - float b = 2.0; - double f = a + b * 1e-12; - return (int)f - 1; -} diff --git a/gcc/tree-streamer.c b/gcc/tree-streamer.c index 4b3e3e4..af9461e 100644 --- a/gcc/tree-streamer.c +++ b/gcc/tree-streamer.c @@ -264,8 +264,7 @@ record_common_node (struct streamer_tree_cache_d *cache, tree node) gcc_checking_assert (node != boolean_type_node && node != boolean_true_node - && node != boolean_false_node - && node != double_type_node); + && node != boolean_false_node); /* We have to make sure to fill exactly the same number of elements for all frontends. That can include NULL trees. @@ -316,14 +315,10 @@ preload_common_nodes (struct streamer_tree_cache_d *cache) record_common_node (cache, sizetype_tab[i]); for (i = 0; i < TI_MAX; i++) - /* Skip boolean type and constants. They are frontend dependent. - Skip double type, frontend dependent due to -fshort-double. */ + /* Skip boolean type and constants, they are frontend dependent. */ if (i != TI_BOOLEAN_TYPE && i != TI_BOOLEAN_FALSE - && i != TI_BOOLEAN_TRUE - && i != TI_DOUBLE_TYPE - && i != TI_COMPLEX_DOUBLE_TYPE - && i != TI_DOUBLE_PTR_TYPE) + && i != TI_BOOLEAN_TRUE) record_common_node (cache, global_trees[i]); } |