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

Reply via email to