aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree.c')
-rw-r--r--gcc/tree.c20
1 files changed, 4 insertions, 16 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index 8fc206d..afd41d4 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -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. */