diff options
author | Andrew Sutton <andrew.n.sutton@gmail.com> | 2015-09-17 18:26:06 +0000 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2015-09-17 14:26:06 -0400 |
commit | 378b307d0d7e789c69570cba4a9388b781c3f062 (patch) | |
tree | 6946be114431b50821732989faea2214c6fb345a /gcc/dwarf2asm.c | |
parent | 750cdaf713adb0a6c873f729ec7ac48ec4cd25b8 (diff) | |
download | gcc-378b307d0d7e789c69570cba4a9388b781c3f062.zip gcc-378b307d0d7e789c69570cba4a9388b781c3f062.tar.gz gcc-378b307d0d7e789c69570cba4a9388b781c3f062.tar.bz2 |
Implement N4295 fold-expressions.
* cp-tree.def: Add UNARY_LEFT_FOLD_EXPR, UNARY_RIGHT_FOLD_EXPR,
BINARY_LEFT_FOLD_EXPR, BINARY_RIGHT_FOLD_EXPR.
* cp-objcp-common.c (cp_common_init_ts): Handle them.
* cp-tree.h (FOLD_EXPR_CHECK, BINARY_FOLD_EXPR_CHECK, FOLD_EXPR_P)
(FOLD_EXPR_MODIFY_P, FOLD_EXPR_OP, FOLD_EXPR_PACK, FOLD_EXPR_INIT): New.
* parser.c (cp_parser_skip_to_closing_parenthesis): Split out...
(cp_parser_skip_to_closing_parenthesis_1): This function. Change
or_comma parameter to or_ttype.
(cp_parser_fold_operator, cp_parser_fold_expr_p)
(cp_parser_fold_expression): New.
(cp_parser_primary_expression): Use them.
* pt.c (expand_empty_fold, fold_expression, tsubst_fold_expr_pack)
(tsubst_fold_expr_init, expand_left_fold, tsubst_unary_left_fold)
(tsubst_binary_left_fold, expand_right_fold)
(tsubst_unary_right_fold, tsubst_binary_right_fold): New.
(tsubst_copy): Use them.
(type_dependent_expression_p): Handle fold-expressions.
* semantics.c (finish_unary_fold_expr)
(finish_left_unary_fold_expr, finish_right_unary_fold_expr)
(finish_binary_fold_expr): New.
Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r227883
Diffstat (limited to 'gcc/dwarf2asm.c')
0 files changed, 0 insertions, 0 deletions