diff options
Diffstat (limited to 'gcc/cp/ChangeLog')
-rw-r--r-- | gcc/cp/ChangeLog | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 0d69bda285d..3abf79440cc 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,89 @@ +2017-10-12 Nathan Sidwell <nathan@acm.org> + + * cp-tree.h (cp_expr): Add const operator * and operator-> + accessors. + (cp_tree_node_structure_enum): Delete TS_CP_BINDING, + TS_CP_WRAPPER, LAST_TS_CP_ENUM. + +2017-10-12 David Malcolm <dmalcolm@redhat.com> + + * parser.c (get_required_cpp_ttype): New function. + (cp_parser_error_1): Call it, using the result to call + maybe_suggest_missing_token_insertion. + +2017-10-12 David Malcolm <dmalcolm@redhat.com> + + * parser.c (get_matching_symbol): Move to before... + (cp_parser_error): Split out into... + (cp_parser_error_1): ...this new function, merging in content + from... + (cp_parser_required_error): ...here. Eliminate partial duplicate + of body of cp_parser_error in favor of a call to the new + cp_parser_error_1 helper function. + +2017-10-11 Nathan Sidwell <nathan@acm.org> + + * decl2.c (struct mangled_decl_hash): Use DECL_ASSEMBLER_NAME_RAW. + (record_mangling): Likewise. + +2017-10-10 Nathan Sidwell <nathan@acm.org> + + * name-lookup.c (extern_c_fns): Rename to ... + (extern_c_decls): ... here. + (check_extern_c_conflict, extern_c_linkage_bindings): Update. + (do_pushdecl): Check extern-c fns and vars. + + * cp-tree.h (default_hash_traits <lang_identifier *>): Delete + specialization. + + * decl2.c (struct mangled_decl_hash): New hash traits. + (mangled_decls): Make hash_table<mangled_decl_hash>. + (generate_mangling_alias, record_mangling): Adjust. + +2017-10-10 Jason Merrill <jason@redhat.com> + + More delayed lambda capture fixes. + * call.c (add_function_candidate): Use build_address. + (build_op_call_1): Call mark_lvalue_use early. + (build_over_call): Handle error from build_this. + * constexpr.c (cxx_bind_parameters_in_call): Use build_address. + (cxx_eval_increment_expression): Don't use rvalue(). + * cvt.c (convert_to_void): Use mark_discarded_use. + * expr.c (mark_use): Handle PARM_DECL, NON_DEPENDENT_EXPR. Fix + reference handling. Don't copy the expression. + (mark_discarded_use): New. + * lambda.c (insert_capture_proxy): Add some sanity checking. + (maybe_add_lambda_conv_op): Set cp_unevaluated_operand. + * pt.c (register_local_specialization): Add sanity check. + * semantics.c (process_outer_var_ref): Fix check for existing proxy. + * typeck.c (cp_build_addr_expr_1): Handle error from + mark_lvalue_use. + (cp_build_modify_expr): Call mark_lvalue_use_nonread, handle error + from rvalue. + + Handle generic lambda capture in dependent expressions. + * lambda.c (need_generic_capture, dependent_capture_r) + (do_dependent_capture): New. + * pt.c (processing_nonlambda_template): Use need_generic_capture. + * semantics.c (maybe_cleanup_point_expr) + (maybe_cleanup_point_expr_void, finish_goto_stmt) + (maybe_convert_cond): Call do_dependent_capture. + * typeck.c (build_static_cast): Remove dependent capture handling. + + * typeck.c (condition_conversion): Assert !processing_template_decl. + * semantics.c (finish_omp_clauses): Don't + fold_build_cleanup_point_expr if processing_template_decl. + (outer_var_p): A temporary can't be from an outer scope. + * pt.c (type_dependent_expression_p): Fix dependency checking of + functions without DECL_TEMPLATE_INFO. + (instantiate_decl): Use lss_copy. + * constexpr.c (is_valid_constexpr_fn): Fix lambdas before C++17. + + * typeck.c (check_return_expr): Check non-dependent conversion in + templates. + * constraint.cc (check_function_concept): Don't complain about an + empty concept if seen_error. + 2017-10-10 Richard Sandiford <richard.sandiford@linaro.org> * cvt.c (ignore_overflows): Use wi::to_wide when |