aboutsummaryrefslogtreecommitdiff
path: root/gcc/c/gimple-parser.c
diff options
context:
space:
mode:
authorAlexander Monakov <amonakov@ispras.ru>2018-08-30 16:47:59 +0300
committerAlexander Monakov <amonakov@gcc.gnu.org>2018-08-30 16:47:59 +0300
commit22eea6b2f413a3cd575db5e6c44886c6eba488a6 (patch)
tree70b67664acad69f663f4544b74e8ffc84285681f /gcc/c/gimple-parser.c
parenta5f4d3d6a1379ad4a806e65b2fc7ac86bbaf72ae (diff)
downloadgcc-22eea6b2f413a3cd575db5e6c44886c6eba488a6.zip
gcc-22eea6b2f413a3cd575db5e6c44886c6eba488a6.tar.gz
gcc-22eea6b2f413a3cd575db5e6c44886c6eba488a6.tar.bz2
gimplefe: expose MULT_HIGHPART_EXPR
* gimple-parser.c (c_parser_gimple_binary_expression): Accept infix "__MULT_HIGHPART" for MULT_HIGHPART_EXPR. From-SVN: r263982
Diffstat (limited to 'gcc/c/gimple-parser.c')
-rw-r--r--gcc/c/gimple-parser.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/c/gimple-parser.c b/gcc/c/gimple-parser.c
index 1be5d14..ee2146f 100644
--- a/gcc/c/gimple-parser.c
+++ b/gcc/c/gimple-parser.c
@@ -450,6 +450,7 @@ c_parser_gimple_statement (c_parser *parser, gimple_seq *seq)
gimple-binary-expression:
gimple-unary-expression * gimple-unary-expression
+ gimple-unary-expression __MULT_HIGHPART gimple-unary-expression
gimple-unary-expression / gimple-unary-expression
gimple-unary-expression % gimple-unary-expression
gimple-unary-expression + gimple-unary-expression
@@ -544,6 +545,16 @@ c_parser_gimple_binary_expression (c_parser *parser)
case CPP_OR_OR:
c_parser_error (parser, "%<||%> not valid in GIMPLE");
return ret;
+ case CPP_NAME:
+ {
+ tree id = c_parser_peek_token (parser)->value;
+ if (strcmp (IDENTIFIER_POINTER (id), "__MULT_HIGHPART") == 0)
+ {
+ code = MULT_HIGHPART_EXPR;
+ break;
+ }
+ }
+ /* Fallthru. */
default:
/* Not a binary expression. */
return lhs;