diff options
author | Erick Ochoa <erick.ochoa@theobroma-systems.com> | 2020-06-04 10:07:43 +0200 |
---|---|---|
committer | Erick Ochoa <erick.ochoa@theobroma-systems.com> | 2020-06-04 10:07:43 +0200 |
commit | cf126175de70a7333d321f80a83e495767490222 (patch) | |
tree | 5432f7dabf940748e7c8bf636ab555960a69a6f6 | |
parent | 6a16af5b4cb9501137081f5f3c50616b9f49c4ee (diff) |
some expressions
-rw-r--r-- | gcc/expr-walker.c | 32 | ||||
-rw-r--r-- | gcc/expr-walker.hpp | 3 | ||||
-rw-r--r-- | gcc/ipa-prototype.c | 1 |
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; } |