On 11/16/2017 10:02 AM, Koval, Julia wrote: > Thanks for your comments, fixed it. > > 2017-11-16 Julia Koval <julia.ko...@intel.com> > Sebastian Peryt <sebastian.pe...@intel.com> > > * Makefile.def (target_modules): Remove libcilkrts. > * Makefile.in: Ditto. > * configure: Ditto. > * configure.ac: Ditto. > > contrib/ > * contrib/gcc_update: Ditto. > > gcc/ > * Makefile.in (cilkplus.def, cilk-builtins.def, c-family/cilk.o, > c-family/c-cilkplus.o, c-family/array-notation-common.o, > cilk-common.o, cilk.h, cilk-common.c): Remove. > * builtin-types.def > (BT_FN_INT_PTR_PTR_PTR_FTYPE_BT_INT_BT_PTR_BT_PTR_BT_PTR): Remove. > * builtins.c (is_builtin_name): Remove cilkplus condition. > (BUILT_IN_CILK_DETACH, BUILT_IN_CILK_POP_FRAME): Remove. > * builtins.def (DEF_CILK_BUILTIN_STUB, DEF_CILKPLUS_BUILTIN, > cilk-builtins.def, cilkplus.def): Remove. > * cif-code.def (CILK_SPAWN): Remove. > * cilk-builtins.def: Delete. > * cilk-common.c: Ditto. > * cilk.h: Ditto. > * cilkplus.def: Ditto. > * config/darwin.h (fcilkplus): Delete. > * cppbuiltin.c: Ditto. > * doc/extend.texi: Remove cilkplus doc. > * doc/generic.texi: Ditto. > * doc/invoke.texi: Ditto. > * doc/passes.texi: Ditto. > * gcc.c (fcilkplus): Remove. > * gengtype.c (cilk.h): Remove. > * gimple-pretty-print.c (dump_gimple_omp_for): Remove cilkplus support. > * gimple.h (GF_OMP_FOR_KIND_CILKFOR, GF_OMP_FOR_KIND_CILKSIMD): Remove. > * gimplify.c (gimplify_return_expr, maybe_fold_stmt, gimplify_call_expr, > is_gimple_stmt, gimplify_modify_expr, gimplify_scan_omp_clauses, > gimplify_adjust_omp_clauses, gimplify_omp_for, gimplify_expr): Remove > cilkplus conditions. > * ipa-fnsummary.c (ipa_dump_fn_summary, compute_fn_summary, > inline_read_section): Ditto. > * ipa-inline-analysis.c (cilk.h): Remove. > * ira.c (ira_setup_eliminable_regset): Remove cilkplus support. > * lto-wrapper.c (merge_and_complain, append_compiler_options, > append_linker_options): Remove condition for fcilkplus. > * lto/lto-lang.c (cilk.h): Remove. > (lto_init): Remove condition for fcilkplus. > * omp-expand.c (expand_cilk_for_call): Delete. > (expand_omp_taskreg, expand_omp_for_static_chunk, > expand_omp_for): Remove cilkplus > conditions. > (expand_cilk_for): Delete. > * omp-general.c (omp_extract_for_data): Remove cilkplus support. > * omp-low.c (scan_sharing_clauses, create_omp_child_function, > execute_lower_omp, diagnose_sb_0): Ditto. > * omp-simd-clone.c (simd_clone_clauses_extract): Ditto. > * tree-core.h (OMP_CLAUSE__CILK_FOR_COUNT_): Delete. > * tree-nested.c: Ditto. > * tree-pretty-print.c (dump_omp_clause): Remove cilkplus support. > (dump_generic_node): Ditto. > * tree.c (OMP_CLAUSE__CILK_FOR_COUNT_): Delete. > * tree.def (cilk_simd, cilk_for, cilk_spawn_stmt, cilk_sync_stmt): > Delete. > * tree.h (CILK_SPAWN_FN, EXPR_CILK_SPAWN): Delete. > > gcc/c-family/ > * array-notation-common.c: Delete. > * c-cilkplus.c: Ditto. > * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove. > * c-common.def (ARRAY_NOTATION_REF): Remove. > * c-common.h (RID_CILK_SPAWN, build_array_notation_expr, > build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop, > c_validate_cilk_plus_loop, cilkplus_an_parts, > cilk_ignorable_spawn_rhs_op, > cilk_recognize_spawn): Remove. > * c-gimplify.c (CILK_SPAWN_STMT): Remove. > * c-omp.c: Remove CILK_SIMD check. > * c-pragma.c: Ditto. > * c-pragma.h: Remove CILK related pragmas. > * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove > ARRAY_NOTATION_REF condition. > (c_pretty_printer::expression): Ditto. > * c.opt (fcilkplus): Remove. > * cilk.c: Delete. > > gcc/c/ > * Make-lang.in (c/c-array-notation.o): Remove. > * c-array-notation.c: Delete. > * c-decl.c: Remove cilkplus condition. > * c-parser.c (c_parser_cilk_simd, c_parser_cilk_for, > c_parser_cilk_verify_simd, c_parser_array_notation, > c_parser_cilk_clause_vectorlength, c_parser_cilk_grainsize, > c_parser_cilk_simd_fn_vector_attrs, > c_finish_cilk_simd_fn_tokens): Delete. > (c_parser_declaration_or_fndef): Remove cilkplus condition. > (c_parser_direct_declarator_inner): Ditto. > (CILK_SIMD_FN_CLAUSE_MASK): Delete. > (c_parser_attributes, c_parser_compound_statement, > c_parser_statement_after_labels, c_parser_if_statement, > c_parser_switch_statement, c_parser_while_statement, > c_parser_do_statement, c_parser_for_statement, > c_parser_unary_expression, c_parser_postfix_expression, > c_parser_postfix_expression_after_primary, > c_parser_pragma, c_parser_omp_clause_name, c_parser_omp_all_clauses, > c_parser_omp_for_loop, c_finish_omp_declare_simd): Remove cilkplus > support. > * c-typeck.c (build_array_ref, build_function_call_vec, > convert_arguments, > lvalue_p, build_compound_expr, c_finish_return, c_finish_if_stmt, > c_finish_loop, build_binary_op): Remove cilkplus support. > > gcc/cp/ > * Make-lang.in (cp/cp-array-notation.o, cp/cp-cilkplus.o): Delete. > * call.c (convert_for_arg_passing, build_cxx_call): Remove cilkplus. > * constexpr.c (potential_constant_expression_1): Ditto. > * cp-array-notation.c: Delete. > * cp-cilkplus.c: Ditto. > * cp-cilkplus.h: Ditto. > * cp-gimplify.c (cp_gimplify_expr, cp_fold_r, cp_genericize): Remove > cilkplus condition. > * cp-objcp-common.c (ARRAY_NOTATION_REF): Delete. > * cp-tree.h (cilkplus_an_triplet_types_ok_p): Delete. > * decl.c (grokfndecl, finish_function): Remove cilkplus condition. > * error.c (dump_decl, dump_expr): Remove ARRAY_NOTATION_REF condition. > * lambda.c (cp-cilkplus.h): Remove. > * parser.c (cp_parser_cilk_simd, cp_parser_cilk_for, > cp_parser_cilk_simd_vectorlength): Delete. > (cp_debug_parser, cp_parser_ctor_initializer_opt_and_function_body, > cp_parser_postfix_expression, cp_parser_postfix_open_square_expression, > cp_parser_statement, cp_parser_jump_statement, > cp_parser_direct_declarator, > cp_parser_late_return_type_opt, cp_parser_gnu_attribute_list, > cp_parser_omp_clause_name, cp_parser_omp_clause_aligned, > cp_parser_omp_clause_linear, cp_parser_omp_all_clauses, > cp_parser_omp_flush, > cp_parser_omp_for_cond, cp_parser_omp_for_incr, > cp_parser_omp_for_loop_init, > cp_parser_omp_for_loop, > cp_parser_omp_declare_simd): Remove cilkplus support. > (CILK_SIMD_FN_CLAUSE_MASK, cp_parser_late_parsing_cilk_simd_fn_info, > cp_parser_cilk_grainsize): Remove. > (cp_parser_pragma, c_parse_file): Remove cilkplus support. > (cp_parser_cilk_simd_vectorlength, cp_parser_cilk_simd_linear, > cp_parser_cilk_simd_clause_name, cp_parser_cilk_simd_all_clauses, > cp_parser_cilk_simd, cp_parser_cilk_for): Remove. > * parser.h (IN_CILK_SIMD_FOR, IN_CILK_SPAWN): Remove. > * pt.c (tsubst_attribute, tsubst_expr, tsubst_copy_and_build): Remove > cilkplus support. > * semantics.c (finish_goto_stmt, begin_while_stmt, finish_do_body, > finish_init_stmt, finish_switch_cond, simplify_aggr_init_expr, > finish_omp_clauses, finish_omp_clauses, finish_omp_for): Remove cilkplus > support. > * tree.c (lvalue_kind): Remove ARRAY_NOTATION_REF conditon. > * typeck.c (cp_build_array_ref, cp_build_compound_expr, > check_return_expr): Remove cilkplus support. > > gcc/testsuite/ > * c-c++-common/attr-simd-3.c: Delete. > * c-c++-common/cilk-plus/AN/an-if.c: Delete. > * c-c++-common/cilk-plus/AN/array_test1.c: Delete. > * c-c++-common/cilk-plus/AN/array_test2.c: Delete. > * c-c++-common/cilk-plus/AN/array_test_ND.c: Delete. > * c-c++-common/cilk-plus/AN/builtin_fn_custom.c: Delete. > * c-c++-common/cilk-plus/AN/builtin_fn_mutating.c: Delete. > * c-c++-common/cilk-plus/AN/builtin_func_double.c: Delete. > * c-c++-common/cilk-plus/AN/builtin_func_double2.c: Delete. > * c-c++-common/cilk-plus/AN/comma_exp.c: Delete. > * c-c++-common/cilk-plus/AN/conditional.c: Delete. > * c-c++-common/cilk-plus/AN/decl-ptr-colon.c: Delete. > * c-c++-common/cilk-plus/AN/dimensionless-arrays.c: Delete. > * c-c++-common/cilk-plus/AN/exec-once.c: Delete. > * c-c++-common/cilk-plus/AN/exec-once2.c: Delete. > * c-c++-common/cilk-plus/AN/fn_ptr-2.c: Delete. > * c-c++-common/cilk-plus/AN/fn_ptr.c: Delete. > * c-c++-common/cilk-plus/AN/fp_triplet_values.c: Delete. > * c-c++-common/cilk-plus/AN/gather-scatter-errors.c: Delete. > * c-c++-common/cilk-plus/AN/gather_scatter.c: Delete. > * c-c++-common/cilk-plus/AN/if_test.c: Delete. > * c-c++-common/cilk-plus/AN/if_test_errors.c: Delete. > * c-c++-common/cilk-plus/AN/misc.c: Delete. > * c-c++-common/cilk-plus/AN/n-ptr-test.c: Delete. > * c-c++-common/cilk-plus/AN/parser_errors.c: Delete. > * c-c++-common/cilk-plus/AN/parser_errors2.c: Delete. > * c-c++-common/cilk-plus/AN/parser_errors3.c: Delete. > * c-c++-common/cilk-plus/AN/parser_errors4.c: Delete. > * c-c++-common/cilk-plus/AN/pr57457-2.c: Delete. > * c-c++-common/cilk-plus/AN/pr57457.c: Delete. > * c-c++-common/cilk-plus/AN/pr57490.c: Delete. > * c-c++-common/cilk-plus/AN/pr57541-2.c: Delete. > * c-c++-common/cilk-plus/AN/pr57541.c: Delete. > * c-c++-common/cilk-plus/AN/pr57577.c: Delete. > * c-c++-common/cilk-plus/AN/pr58942.c: Delete. > * c-c++-common/cilk-plus/AN/pr61191.c: Delete. > * c-c++-common/cilk-plus/AN/pr61455-2.c: Delete. > * c-c++-common/cilk-plus/AN/pr61455.c: Delete. > * c-c++-common/cilk-plus/AN/pr61962.c: Delete. > * c-c++-common/cilk-plus/AN/pr61963.c: Delete. > * c-c++-common/cilk-plus/AN/pr62008.c: Delete. > * c-c++-common/cilk-plus/AN/pr63884.c: Delete. > * c-c++-common/cilk-plus/AN/rank_mismatch.c: Delete. > * c-c++-common/cilk-plus/AN/rank_mismatch2.c: Delete. > * c-c++-common/cilk-plus/AN/rank_mismatch3.c: Delete. > * c-c++-common/cilk-plus/AN/sec_implicit.c: Delete. > * c-c++-common/cilk-plus/AN/sec_implicit2.c: Delete. > * c-c++-common/cilk-plus/AN/sec_implicit_ex.c: Delete. > * c-c++-common/cilk-plus/AN/sec_reduce_ind_same_value.c: Delete. > * c-c++-common/cilk-plus/AN/sec_reduce_max_min_ind.c: Delete. > * c-c++-common/cilk-plus/AN/sec_reduce_return.c: Delete. > * c-c++-common/cilk-plus/AN/side-effects-1.c: Delete. > * c-c++-common/cilk-plus/AN/test_builtin_return.c: Delete. > * c-c++-common/cilk-plus/AN/test_sec_limits.c: Delete. > * c-c++-common/cilk-plus/AN/tst_lngth.c: Delete. > * c-c++-common/cilk-plus/AN/vla.c: Delete. > * c-c++-common/cilk-plus/CK/Wparentheses-1.c: Delete. > * c-c++-common/cilk-plus/CK/cilk-for-2.c: Delete. > * c-c++-common/cilk-plus/CK/cilk-for-3.c: Delete. > * c-c++-common/cilk-plus/CK/cilk-fors.c: Delete. > * c-c++-common/cilk-plus/CK/cilk_for_errors.c: Delete. > * c-c++-common/cilk-plus/CK/cilk_for_grain.c: Delete. > * c-c++-common/cilk-plus/CK/cilk_for_grain_errors.c: Delete. > * c-c++-common/cilk-plus/CK/cilk_for_ptr_iter.c: Delete. > * c-c++-common/cilk-plus/CK/compound_cilk_spawn.c: Delete. > * c-c++-common/cilk-plus/CK/concec_cilk_spawn.c: Delete. > * c-c++-common/cilk-plus/CK/errors.c: Delete. > * c-c++-common/cilk-plus/CK/fib.c: Delete. > * c-c++-common/cilk-plus/CK/fib_init_expr_xy.c: Delete. > * c-c++-common/cilk-plus/CK/fib_no_return.c: Delete. > * c-c++-common/cilk-plus/CK/fib_no_sync.c: Delete. > * c-c++-common/cilk-plus/CK/invalid_spawns.c: Delete. > * c-c++-common/cilk-plus/CK/invalid_sync.c: Delete.c > * c-c++-common/cilk-plus/CK/nested_cilk_for.c: Delete. > * c-c++-common/cilk-plus/CK/no_args_error.c: Delete. > * c-c++-common/cilk-plus/CK/pr59631.c: Delete. > * c-c++-common/cilk-plus/CK/pr60197-2.c: Delete. > * c-c++-common/cilk-plus/CK/pr60197.c: Delete. > * c-c++-common/cilk-plus/CK/pr60469.c: Delete. > * c-c++-common/cilk-plus/CK/pr60586.c: Delete. > * c-c++-common/cilk-plus/CK/pr63307.c: Delete. > * c-c++-common/cilk-plus/CK/pr69826-1.c: Delete. > * c-c++-common/cilk-plus/CK/pr69826-2.c: Delete. > * c-c++-common/cilk-plus/CK/pr79428-4.c: Delete. > * c-c++-common/cilk-plus/CK/pr79428-7.c: Delete. > * c-c++-common/cilk-plus/CK/spawn_in_return.c: Delete. > * c-c++-common/cilk-plus/CK/spawnee_inline.c: Delete. > * c-c++-common/cilk-plus/CK/spawner_inline.c: Delete. > * c-c++-common/cilk-plus/CK/spawning_arg.c: Delete. > * c-c++-common/cilk-plus/CK/steal_check.c: Delete. > * c-c++-common/cilk-plus/CK/sync_wo_spawn.c: Delete. > * c-c++-common/cilk-plus/CK/test__cilk.c: Delete. > * c-c++-common/cilk-plus/CK/varargs_test.c: Delete. > * c-c++-common/cilk-plus/PS/Wparentheses-1.c: Delete. > * c-c++-common/cilk-plus/PS/body.c: Delete. > * c-c++-common/cilk-plus/PS/clauses1.c: Delete. > * c-c++-common/cilk-plus/PS/clauses2.c: Delete. > * c-c++-common/cilk-plus/PS/clauses3.c: Delete. > * c-c++-common/cilk-plus/PS/clauses4.c: Delete. > * c-c++-common/cilk-plus/PS/for1.c: Delete. > * c-c++-common/cilk-plus/PS/for2.c: Delete. > * c-c++-common/cilk-plus/PS/for3.c: Delete. > * c-c++-common/cilk-plus/PS/pr69363.c: Delete. > * c-c++-common/cilk-plus/PS/reduction-1.c: Delete. > * c-c++-common/cilk-plus/PS/reduction-2.c: Delete. > * c-c++-common/cilk-plus/PS/reduction-3.c: Delete. > * c-c++-common/cilk-plus/PS/run-1.c: Delete. > * c-c++-common/cilk-plus/PS/safelen.c: Delete. > * c-c++-common/cilk-plus/PS/vectorlength-2.c: Delete. > * c-c++-common/cilk-plus/PS/vectorlength-3.c: Delete. > * c-c++-common/cilk-plus/PS/vectorlength.c: Delete. > * c-c++-common/cilk-plus/SE/ef_error.c: Delete. > * c-c++-common/cilk-plus/SE/ef_error2.c: Delete. > * c-c++-common/cilk-plus/SE/ef_error3.c: Delete. > * c-c++-common/cilk-plus/SE/ef_test.c: Delete. > * c-c++-common/cilk-plus/SE/ef_test2.c: Delete. > * c-c++-common/cilk-plus/SE/vlength_errors.c: Delete. > * g++.dg/cilk-plus/AN/array_function.c: Delete. > * g++.dg/cilk-plus/AN/array_test1_tplt.c: Delete. > * g++.dg/cilk-plus/AN/array_test2_tplt.c: Delete. > * g++.dg/cilk-plus/AN/array_test_ND_tplt.c: Delete. > * g++.dg/cilk-plus/AN/braced_list.c: Delete. > * g++.dg/cilk-plus/AN/builtin_fn_custom_tplt.c: Delete. > * g++.dg/cilk-plus/AN/builtin_fn_mutating_tplt.c: Delete. > * g++.dg/cilk-plus/AN/fp_triplet_values_tplt.c: Delete. > * g++.dg/cilk-plus/AN/postincr_test.c: Delete. > * g++.dg/cilk-plus/AN/preincr_test.c: Delete. > * g++.dg/cilk-plus/CK/catch_exc.c: Delete. > * g++.dg/cilk-plus/CK/cf3.c: Delete. > * g++.dg/cilk-plus/CK/cilk-for-tplt.c: Delete. > * g++.dg/cilk-plus/CK/const_spawn.c: Delete. > * g++.dg/cilk-plus/CK/fib-opr-overload.c: Delete. > * g++.dg/cilk-plus/CK/fib-tplt.c: Delete. > * g++.dg/cilk-plus/CK/for1.c: Delete. > * g++.dg/cilk-plus/CK/lambda_spawns.c: Delete. > * g++.dg/cilk-plus/CK/lambda_spawns_tplt.c: Delete. > * g++.dg/cilk-plus/CK/pr60586.c: Delete. > * g++.dg/cilk-plus/CK/pr66326.c: Delete. > * g++.dg/cilk-plus/CK/pr68001.c: Delete. > * g++.dg/cilk-plus/CK/pr68997.c: Delete. > * g++.dg/cilk-plus/CK/pr69024.c: Delete. > * g++.dg/cilk-plus/CK/pr69048.c: Delete. > * g++.dg/cilk-plus/CK/pr69267.c: Delete. > * g++.dg/cilk-plus/CK/pr80038.c: Delete. > * g++.dg/cilk-plus/CK/stl_iter.c: Delete. > * g++.dg/cilk-plus/CK/stl_rev_iter.c: Delete. > * g++.dg/cilk-plus/CK/stl_test.c: Delete. > * g++.dg/cilk-plus/cilk-plus.exp > * g++.dg/cilk-plus/ef_test.C: Delete. > * g++.dg/cilk-plus/for.C: Delete. > * g++.dg/cilk-plus/for2.C: Delete. > * g++.dg/cilk-plus/for3.C: Delete. > * g++.dg/cilk-plus/for4.C: Delete. > * g++.dg/cilk-plus/pr60967.C: Delete. > * g++.dg/cilk-plus/pr69028.C: Delete. > * g++.dg/cilk-plus/pr70565.C: Delete. > * g++.dg/pr57662.C: Delete. > * gcc.dg/cilk-plus/cilk-plus.exp > * gcc.dg/cilk-plus/for1.c: Delete. > * gcc.dg/cilk-plus/for2.c: Delete. > * gcc.dg/cilk-plus/jump-openmp.c: Delete. > * gcc.dg/cilk-plus/jump.c: Delete. > * gcc.dg/cilk-plus/pr69798-1.c: Delete. > * gcc.dg/cilk-plus/pr69798-2.c: Delete. > * gcc.dg/cilk-plus/pr78306.c: Delete. > * gcc.dg/cilk-plus/pr79116.c: Delete. > * gcc.dg/graphite/id-28.c: Delete. > * lib/cilk-plus-dg.exp: Delete. > * lib/target-supports.exp (cilkplus_runtime): Delete. > > libcilkrts: Delete So it's not important, but the patch doesn't have the removal of the cilk+ testsuite or runtime. BUt again, it's not a big deal, I can guess what that part of the patch looks like.
It's not unusual to find lingering bits after the removal. So if after the kit is ack'd & committed you find additional tidbits, don't hesitate to let us know. In c-family/c-gimplify.c:c_gimplify_expr you have this change: case MODIFY_EXPR: case INIT_EXPR: case CALL_EXPR: - if (fn_contains_cilk_spawn_p (cfun) - && cilk_detect_spawn_and_unwrap (expr_p) - /* If an error is found, the spawn wrapper is removed and the - original expression (MODIFY/INIT/CALL_EXPR) is processes as - it is supposed to be. */ - && !seen_error ()) - return (enum gimplify_status) gimplify_cilk_spawn (expr_p); - default:; I wonder if we should just remove the case labels as well since they do nothing after the cilk+ bits are removed. In c-family/c.opt rather than deleting the flag entirely, standard practice is leave the flag and issue a Deprecated error/warning. There should be examples in c-family/c.opt. In c/c-parser: @@ -2338,8 +2330,6 @@ c_parser_declaration_or_fndef (c_parser *parser, bool fndef_ok, else { fnbody = c_parser_compound_statement (parser); - if (flag_cilkplus && contains_array_notation_expr (fnbody)) - fnbody = expand_array_notation_exprs (fnbody); } tree fndecl = current_function_decl; if (nested) I think the curly-braces become redundant after your remove the cilk+ specific code. Also in c/c-parser.c, this time in c_parser_postfix_expression_after_primary. The assignment to idx before this comment: + /* Here we have 3 options: + 1. Array [EXPR] -- Normal Array call. + 2. Array [EXPR : EXPR] -- Array notation without stride. + 3. Array [EXPR : EXPR : EXPR] -- Array notation with stride. + + For 1, we just handle it just like a normal array expression. + For 2 and 3 we handle it like we handle array notations. The + idx value we have above becomes the initial/start index. + */ Appears to be indented too far. Also the close comment should be at the end of the previous line. In these two hunks, you need to reindent the "else" clause that has become unconditional: @@ -9416,15 +9195,9 @@ c_parser_postfix_expression_after_primary (c_parser *parser, finish = c_parser_peek_token (parser)->get_finish (); c_parser_consume_token (parser); /* If the expressions have array notations, we expand them. */ - if (flag_cilkplus - && TREE_CODE (expr.value) == ARRAY_NOTATION_REF) - expr = fix_array_notation_expr (expr_loc, POSTINCREMENT_EXPR, expr); - else - { expr = default_function_array_read_conversion (expr_loc, expr); expr.value = build_unary_op (op_loc, POSTINCREMENT_EXPR, expr.value, false); - } set_c_expr_source_range (&expr, start, finish); expr.original_code = ERROR_MARK; expr.original_type = NULL; @@ -9435,15 +9208,9 @@ c_parser_postfix_expression_after_primary (c_parser *parser, finish = c_parser_peek_token (parser)->get_finish (); c_parser_consume_token (parser); /* If the expressions have array notations, we expand them. */ - if (flag_cilkplus - && TREE_CODE (expr.value) == ARRAY_NOTATION_REF) - expr = fix_array_notation_expr (expr_loc, POSTDECREMENT_EXPR, expr); - else - { expr = default_function_array_read_conversion (expr_loc, expr); expr.value = build_unary_op (op_loc, POSTDECREMENT_EXPR, expr.value, false); - } set_c_expr_source_range (&expr, start, finish); expr.original_code = ERROR_MARK; expr.original_type = NULL; In c_parser_omp_for_loop: @@ -15882,8 +15604,6 @@ c_parser_omp_for_loop (location_t loc, c_parser *parser, enum tree_code code, case LE_EXPR: break; case NE_EXPR: - if (code == CILK_SIMD || code == CILK_FOR) - break; /* FALLTHRU. */ default: /* Can't be cond = error_mark_node, because we want to preserve I think you can just delete the NE_EXPR case label and the associated FALLTHRU comment. The && part of this condition needs reindenting as a result of pulling the code out of the conditional. - if (!is_cilkplus_cilk_simd_fn) - gcc_assert (token->type == CPP_NAME + gcc_assert (token->type == CPP_NAME && strcmp (IDENTIFIER_POINTER (token->value), "simd") == 0); In cp/parser.c: @@ -25090,12 +24798,6 @@ cp_parser_gnu_attribute_list (cp_parser* parser) vec<tree, va_gc> *vec; int attr_flag = (attribute_takes_identifier_p (identifier) ? id_attr : normal_attr); - if (is_cilkplus_vector_p (identifier)) - { - cp_parser_cilk_simd_fn_vector_attrs (parser, id_token); - continue; - } - else vec = cp_parser_parenthesized_expression_list (parser, attr_flag, /*cast_p=*/false, /*allow_expansion_p=*/false, You need to reindent the code from the else clause that you're keeping. I think the outer curleys are redundant now: @@ -34825,12 +34495,8 @@ cp_parser_omp_for_loop_init (cp_parser *parser, if (cp_lexer_next_token_is (parser->lexer, CPP_OPEN_PAREN)) { - if (code != CILK_SIMD && code != CILK_FOR) - error ("parenthesized initialization is not allowed in " + error ("parenthesized initialization is not allowed in " "OpenMP %<for%> loop"); - else - error ("parenthesized initialization is " - "not allowed in for-loop"); } else /* Trigger an error. */ Indentation on the else clause here needs to be fixed: @@ -35267,9 +34921,6 @@ cp_parser_omp_for_loop (cp_parser *parser, enum tree_code code, tree clauses, /* Note that we saved the original contents of this flag when we entered the structured block, and so we don't need to re-save it here. */ - if (code == CILK_SIMD || code == CILK_FOR) - parser->in_statement = IN_CILK_SIMD_FOR; - else parser->in_statement = IN_OMP_FOR; /* Note that the grammar doesn't call for a structured block here, I know it seems like a lot of issues, but I'm encouraged by the fact that they're all just formatting things. The one or two correctness fragments I was worried about turned out to be non-issues when I looked at the larger context. So if you could fix the things noted above and repost. I'm pretty sure it'll be approved at that point. jeff