diff options
author | Ilya Enkovich <ilya.enkovich@intel.com> | 2014-11-26 13:53:38 +0000 |
---|---|---|
committer | Ilya Enkovich <ienkovich@gcc.gnu.org> | 2014-11-26 13:53:38 +0000 |
commit | 3c350d48a595d93c3e6336b79091d7f506a5fb03 (patch) | |
tree | 578191479f36668a1e05dffbefd71e9a3b6f881b /gcc | |
parent | 5e4683dc2f63cca81ce2a3ffcbbf338149a77cbe (diff) | |
download | gcc-3c350d48a595d93c3e6336b79091d7f506a5fb03.zip gcc-3c350d48a595d93c3e6336b79091d7f506a5fb03.tar.gz gcc-3c350d48a595d93c3e6336b79091d7f506a5fb03.tar.bz2 |
re PR lto/64075 (ICE: in bp_pack_value, at data-streamer.h:106)
gcc/
PR lto/64075
* tree-streamer-in.c (unpack_ts_function_decl_value_fields): Use
proper size for function_code bitfield.
(pack_ts_function_decl_value_fields): Likewise.
gcc/testsuite/
PR lto/64075
* gcc.dg/pr64075.c: New.
From-SVN: r218083
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr64075.c | 9 | ||||
-rw-r--r-- | gcc/tree-streamer-in.c | 2 | ||||
-rw-r--r-- | gcc/tree-streamer-out.c | 2 |
5 files changed, 23 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8dd1ab7..9f2d701 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2014-11-26 Ilya Enkovich <ilya.enkovich@intel.com> + + PR lto/64075 + * tree-streamer-in.c (unpack_ts_function_decl_value_fields): Use + proper size for function_code bitfield. + (pack_ts_function_decl_value_fields): Likewise. + 2014-11-21 Mark Wielaard <mjw@redhat.com> * doc/invoke.texi (-gdwarf-@{version}): Mention experimental DWARFv5. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index adf4a38..03605d1 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-11-26 Ilya Enkovich <ilya.enkovich@intel.com> + + PR lto/64075 + * gcc.dg/pr64075.c: New. + 2014-11-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * gcc.target/i386/pr63620.c: XFAIL get_pc_thunk scan on diff --git a/gcc/testsuite/gcc.dg/pr64075.c b/gcc/testsuite/gcc.dg/pr64075.c new file mode 100644 index 0000000..f913a79 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr64075.c @@ -0,0 +1,9 @@ +/* PR lto/64075 */ +/* { dg-do compile } */ +/* { dg-require-effective-target lto } */ +/* { dg-options "-flto" } */ + +_Complex float test (float a, float b, float c, float d) +{ + return 1.0iF; +} diff --git a/gcc/tree-streamer-in.c b/gcc/tree-streamer-in.c index 99448dd..eb205ed 100644 --- a/gcc/tree-streamer-in.c +++ b/gcc/tree-streamer-in.c @@ -333,7 +333,7 @@ unpack_ts_function_decl_value_fields (struct bitpack_d *bp, tree expr) if (DECL_BUILT_IN_CLASS (expr) != NOT_BUILT_IN) { DECL_FUNCTION_CODE (expr) = (enum built_in_function) bp_unpack_value (bp, - 11); + 12); if (DECL_BUILT_IN_CLASS (expr) == BUILT_IN_NORMAL && DECL_FUNCTION_CODE (expr) >= END_BUILTINS) fatal_error ("machine independent builtin code out of range"); diff --git a/gcc/tree-streamer-out.c b/gcc/tree-streamer-out.c index ad58b84..0d87cff 100644 --- a/gcc/tree-streamer-out.c +++ b/gcc/tree-streamer-out.c @@ -300,7 +300,7 @@ pack_ts_function_decl_value_fields (struct bitpack_d *bp, tree expr) bp_pack_value (bp, DECL_PURE_P (expr), 1); bp_pack_value (bp, DECL_LOOPING_CONST_OR_PURE_P (expr), 1); if (DECL_BUILT_IN_CLASS (expr) != NOT_BUILT_IN) - bp_pack_value (bp, DECL_FUNCTION_CODE (expr), 11); + bp_pack_value (bp, DECL_FUNCTION_CODE (expr), 12); } |