summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErick Ochoa <erick.ochoa@theobroma-systems.com>2020-06-04 10:07:43 +0200
committerErick Ochoa <erick.ochoa@theobroma-systems.com>2020-06-04 10:07:43 +0200
commitcf126175de70a7333d321f80a83e495767490222 (patch)
tree5432f7dabf940748e7c8bf636ab555960a69a6f6
parent6a16af5b4cb9501137081f5f3c50616b9f49c4ee (diff)
some expressions
-rw-r--r--gcc/expr-walker.c32
-rw-r--r--gcc/expr-walker.hpp3
-rw-r--r--gcc/ipa-prototype.c1
3 files changed, 35 insertions, 1 deletions
diff --git a/gcc/expr-walker.c b/gcc/expr-walker.c
index 235e80dce96..2b6dd7230d9 100644
--- a/gcc/expr-walker.c
+++ b/gcc/expr-walker.c
@@ -96,6 +96,15 @@ ExprWalker::_walk(const_tree e)
case CONSTRUCTOR:
walk_CONSTRUCTOR(e);
break;
+ case LE_EXPR:
+ walk_LE_EXPR(e);
+ break;
+ case EQ_EXPR:
+ walk_EQ_EXPR(e);
+ break;
+ case GT_EXPR:
+ walk_GT_EXPR(e);
+ break;
default:
{
log("missing %s\n", get_tree_code_name(code));
@@ -132,6 +141,9 @@ ExprWalkerFuncDef(VAR_DECL)
ExprWalkerFuncDef(RESULT_DECL)
ExprWalkerFuncDef(PARM_DECL)
ExprWalkerFuncDef(FUNCTION_DECL)
+ExprWalkerFuncDef(LE_EXPR)
+ExprWalkerFuncDef(EQ_EXPR)
+ExprWalkerFuncDef(GT_EXPR)
void
ExprWalker::_walk_leaf(const_tree e, const enum tree_code c)
@@ -159,6 +171,7 @@ void
ExprWalker::_walk_op_1(const_tree e, const enum tree_code c)
{
assert_is_type(e, c);
+ _walk_op_n(e, 0);
_walk_op_n(e, 1);
}
@@ -171,6 +184,25 @@ ExprWalker::_walk_CONSTRUCTOR(const_tree e)
}
void
+ExprWalker::_walk_LE_EXPR(const_tree e)
+{
+ _walk_op_1(e, LE_EXPR);
+}
+
+void
+ExprWalker::_walk_EQ_EXPR(const_tree e)
+{
+ _walk_op_1(e, EQ_EXPR);
+}
+
+void
+ExprWalker::_walk_GT_EXPR(const_tree e)
+{
+ _walk_op_1(e, GT_EXPR);
+}
+
+
+void
ExprWalker::_walk_INTEGER_CST(const_tree e)
{
_walk_leaf(e, INTEGER_CST);
diff --git a/gcc/expr-walker.hpp b/gcc/expr-walker.hpp
index 1ff3ca4dadc..42702bbf28d 100644
--- a/gcc/expr-walker.hpp
+++ b/gcc/expr-walker.hpp
@@ -40,5 +40,8 @@ private:
ExprWalkerFuncDecl(RESULT_DECL);
ExprWalkerFuncDecl(PARM_DECL);
ExprWalkerFuncDecl(FUNCTION_DECL);
+ ExprWalkerFuncDecl(LE_EXPR);
+ ExprWalkerFuncDecl(EQ_EXPR);
+ ExprWalkerFuncDecl(GT_EXPR);
};
diff --git a/gcc/ipa-prototype.c b/gcc/ipa-prototype.c
index ca8b77268a1..ddaaf87b642 100644
--- a/gcc/ipa-prototype.c
+++ b/gcc/ipa-prototype.c
@@ -727,7 +727,6 @@ iphw_execute()
print_escaping_types_in_set(types);
sanity_check_escape_xor_not(types);
sanity_check_escape_union_not_equals_ptrset(types);
- gcc_unreachable();
return 0;
}