aboutsummaryrefslogtreecommitdiff
path: root/gcc/lto/lto.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2014-11-14 16:47:53 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2014-11-14 15:47:53 +0000
commit54e774c010842d336124426aec671a96712cc1d7 (patch)
treeb9b240b3b0e9c9a5fc0a8dd259d3fa2ad0e27aa0 /gcc/lto/lto.c
parent7f201a67fbf807634ed09a0b8cb8b44d0ed31227 (diff)
downloadgcc-54e774c010842d336124426aec671a96712cc1d7.zip
gcc-54e774c010842d336124426aec671a96712cc1d7.tar.gz
gcc-54e774c010842d336124426aec671a96712cc1d7.tar.bz2
optc-save-gen.awk: Output cl_target_option_eq...
* optc-save-gen.awk: Output cl_target_option_eq, cl_target_option_hash, cl_target_option_stream_out, cl_target_option_stream_in functions. * opth-gen.awk: Output prototypes for cl_target_option_eq and cl_target_option_hash. * lto-streamer.h (cl_target_option_stream_out, cl_target_option_stream_in): Declare. * tree.c (cl_option_hash_hash): Use cl_target_option_hash. (cl_option_hash_eq): Use cl_target_option_eq. * tree-streamer-in.c (unpack_value_fields): Stream in TREE_TARGET_OPTION. * lto-streamer-out.c (DFS::DFS_write_tree_body): Follow DECL_FUNCTION_SPECIFIC_TARGET. (hash_tree): Hash TREE_TARGET_OPTION; visit DECL_FUNCTION_SPECIFIC_TARGET. * tree-streamer-out.c (streamer_pack_tree_bitfields): Skip TS_TARGET_OPTION. (streamer_write_tree_body): Output TS_TARGET_OPTION. * lto.c (compare_tree_sccs_1): Compare cl_target_option_eq. From-SVN: r217571
Diffstat (limited to 'gcc/lto/lto.c')
-rw-r--r--gcc/lto/lto.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c
index 98d48fb..ff7f9f6 100644
--- a/gcc/lto/lto.c
+++ b/gcc/lto/lto.c
@@ -1377,7 +1377,8 @@ compare_tree_sccs_1 (tree t1, tree t2, tree **map)
return false;
if (CODE_CONTAINS_STRUCT (code, TS_TARGET_OPTION))
- gcc_unreachable ();
+ if (!cl_target_option_eq (TREE_TARGET_OPTION (t1), TREE_TARGET_OPTION (t2)))
+ return false;
if (CODE_CONTAINS_STRUCT (code, TS_OPTIMIZATION))
if (memcmp (TREE_OPTIMIZATION (t1), TREE_OPTIMIZATION (t2),