diff options
Diffstat (limited to 'gcc/tree.c')
-rw-r--r-- | gcc/tree.c | 20 |
1 files changed, 4 insertions, 16 deletions
@@ -11972,30 +11972,18 @@ cl_option_hasher::equal (tree x, tree y) { const_tree const xt = x; const_tree const yt = y; - const char *xp; - const char *yp; - size_t len; if (TREE_CODE (xt) != TREE_CODE (yt)) return 0; if (TREE_CODE (xt) == OPTIMIZATION_NODE) - { - xp = (const char *)TREE_OPTIMIZATION (xt); - yp = (const char *)TREE_OPTIMIZATION (yt); - len = sizeof (struct cl_optimization); - } - + return cl_optimization_option_eq (TREE_OPTIMIZATION (xt), + TREE_OPTIMIZATION (yt)); else if (TREE_CODE (xt) == TARGET_OPTION_NODE) - { - return cl_target_option_eq (TREE_TARGET_OPTION (xt), - TREE_TARGET_OPTION (yt)); - } - + return cl_target_option_eq (TREE_TARGET_OPTION (xt), + TREE_TARGET_OPTION (yt)); else gcc_unreachable (); - - return (memcmp (xp, yp, len) == 0); } /* Build an OPTIMIZATION_NODE based on the options in OPTS. */ |