]> gcc.gnu.org Git - gcc.git/blobdiff - gcc/cp/ChangeLog
Daily bump.
[gcc.git] / gcc / cp / ChangeLog
index 102004774cefe50d3d8e8853d852300be286b5c2..335018c64039998a694d1ca28551047db2daafa7 100644 (file)
@@ -1,3 +1,467 @@
+2021-04-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97536
+       * decl.c (grokvardecl): Given an error when a concept is not defined
+       at namespace scope.
+
+2021-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/100111
+       * constexpr.c (cxx_eval_store_expression): Don't add CONSTRUCTORs
+       for empty classes into *valp when types don't match even when *valp
+       is NULL.
+
+2021-04-16  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99803
+       * decl.c (make_typename_type): Give an error and return when
+       name is is_overloaded_fn.
+       * parser.c (cp_parser_class_name): Don't check is_overloaded_fn
+       before calling make_typename_type.
+
+2021-04-16  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99700
+       * constexpr.c (reduced_constant_expression_p): For array
+       CONSTRUCTORs, use a dedicated loop that additionally verifies
+       the CONSTRUCTOR spans the entire array.
+
+2021-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99850
+       * parser.c (cp_parser_constraint_requires_parens) <case CPP_DEREF>:
+       If lambda_p, return pce_ok instead of pce_maybe_postfix.
+
+2021-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99833
+       * pt.c (extract_locals_r): When handling DECL_EXPR of a structured
+       binding, add to data.internal also all corresponding structured
+       binding decls.
+
+2021-04-16  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100079
+       * cp-tree.h (first_field): Declare.
+       * mangle.c (range_expr_nelts): New.
+       (write_expression): Improve class NTTP mangling.
+       * pt.c (get_template_parm_object): Clear TREE_HAS_CONSTRUCTOR.
+       * tree.c (zero_init_expr_p): Improve class NTTP handling.
+       * decl.c: Adjust comment.
+
+2021-04-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/80456
+       * call.c (build_new_method_call_1): Check again for side-effects
+       with a volatile object.
+
+2021-04-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100101
+       PR c++/99583
+       * pt.c (find_parameter_packs_r) [FUNCTION_TYPE]: Walk into
+       TYPE_RAISES_EXCEPTIONS here.
+       * tree.c (cp_walk_subtrees): Not here.
+
+2021-04-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100091
+       PR c++/99478
+       * parser.c (cp_parser_default_type_template_argument): Set
+       parser->local_variables_forbidden_p.
+
+2021-04-15  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR c++/98852
+       * typeck.c (merge_type_attributes_from): New function.
+       (cp_common_type): Use it for vector types.
+
+2021-04-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100078
+       PR c++/93085
+       * pt.c (uses_outer_template_parms): Also look at default
+       template argument.
+
+2021-04-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93314
+       * semantics.c (finish_id_expression_1): Clear cp_unevaluated_operand
+       for a non-static data member in a constant-expression.
+
+2021-04-14  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/83476
+       PR c++/99885
+       * pt.c (deducible_expression): Look through implicit
+       INDIRECT_REFs as well.
+
+2021-04-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99478
+       * parser.c (cp_parser_lambda_expression): Reject lambda
+       in template parameter type.
+
+2021-04-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/90674
+       * decl.c (duplicate_decls): Don't propagate
+       DECL_INITIALIZED_IN_CLASS_P to a specialization.
+
+2021-04-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/88742
+       PR c++/49951
+       PR c++/58123
+       * semantics.c (set_cleanup_locs): New.
+       (do_poplevel): Call it.
+       * parser.c (cp_parser_compound_statement): Consume the }
+       before finish_compound_stmt.
+
+2021-04-13  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100032
+       * pt.c (get_underlying_template): Compare TYPE_QUALS.
+
+2021-04-13  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100054
+       PR c++/90479
+       * init.c (get_nsdmi): Do more context adjustment for local classes.
+
+2021-04-13  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99008
+       * pt.c (do_class_deduction): Reject alias CTAD in C++17 mode
+       rather than issuing a pedwarn.
+       * typeck2.c (build_functional_cast_1): Handle CTAD uniformly
+       for consistent diagnostics.
+
+2021-04-13  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91933
+       * class.c (build_base_path): Shortcut simple non-pointer case.
+
+2021-04-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * module.cc (ordinary_loc_of): Test LINEMAPS_MACRO_LOWEST_LOCATION
+       of the linemap.
+       (module_state::write_location): Likewise.
+
+2021-04-13  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97134
+       * pt.c (do_class_deduction): Look through EXPR_PACK_EXPANSION
+       when checking if the initializer is an equivalent class
+       placeholder template parameter.
+
+2021-04-13  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99961
+       PR c++/99994
+       * constraint.cc (satisfy_normalized_constraints): Set
+       cp_unevaluated.
+       * parser.c (cp_parser_concept_definition): Likewise.
+       (cp_parser_requires_clause_opt): Likewise.
+
+2021-04-12  Jason Merrill  <jason@redhat.com>
+
+       PR c++/93085
+       * pt.c (uses_outer_template_parms): Handle non-type and template
+       template parameters specifically.
+
+2021-04-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97974
+       * decl.c (fixup_anonymous_aggr): Prune all functions from
+       CLASSTYPE_MEMBER_VEC.
+
+2021-04-10  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98800
+       PR c++/97399
+       * parser.c (cp_parser_direct_declarator): Don't
+       inject_this_parameter if static_p.
+       (cp_parser_omp_var_list_no_open): Parse 'this' even if
+       current_class_ptr isn't set for a better diagnostic.
+
+2021-04-10  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99180
+       PR c++/93295
+       PR c++/93867
+       PR c++/99118
+       PR c++/96873
+       * pt.c (alias_ctad_tweaks): Handle failure better.
+
+2021-04-10  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100006
+       * pt.c (find_parameter_packs_r) [TAG_DEFN]: Look into bases.
+
+2021-04-09  Patrick Palka  <ppalka@redhat.com>
+
+       * cp-tree.h (LAMBDA_EXPR_REGENERATED_FROM)
+       (LAMBDA_EXPR_REGENERATING_TARGS): Replace these with ...
+       (LAMBDA_EXPR_REGEN_INFO): ... this.
+       (tree_lambda_expr::regenerated_from)
+       (tree_lambda_expr::regenerating_targs): Replace these with ...
+       (tree_lambda_expr::regen_info): ... this.
+       * constraint.cc (satisfy_declaration_constraints): Adjust
+       accordingly.
+       * lambda.c (build_lambda_expr): Likewise.
+       * pt.c (regenerated_lambda_fn_p): Likewise.
+       (most_general_lambda): Likewise.
+       (tsubst_lambda_expr): Likewise.
+
+2021-04-09  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99806
+       * parser.c (cp_parser_member_declaration): Call
+       cp_parser_save_default_args even for function templates.  Use
+       STRIP_TEMPLATE on the declaration we're passing.
+
+2021-04-08  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99874
+       * constraint.cc (get_normalized_constraints_from_decl): Handle
+       regenerated lambdas.
+       (satisfy_declaration_constraints): Likewise.  Check for
+       dependent args later.
+       * cp-tree.h (LAMBDA_EXPR_INSTANTIATED): Replace with ...
+       (LAMBDA_EXPR_REGENERATED_FROM): ... this.
+       (LAMBDA_EXPR_REGENERATING_TARGS): New.
+       (tree_lambda_expr::regenerated_from): New data member.
+       (tree_lambda_expr::regenerating_targs): New data member.
+       (add_to_template_args): Declare.
+       (regenerated_lambda_fn_p): Likewise.
+       (most_general_lambda): Likewise.
+       * lambda.c (build_lambda_expr): Set LAMBDA_EXPR_REGENERATED_FROM
+       and LAMBDA_EXPR_REGENERATING_TARGS.
+       * pt.c (add_to_template_args): No longer static.
+       (tsubst_function_decl): Unconditionally propagate constraints on
+       the substituted function decl.
+       (instantiated_lambda_fn_p): Rename to ...
+       (regenerated_lambda_fn_p): ... this.  Check
+       LAMBDA_EXPR_REGENERATED_FROM instead of
+       LAMBDA_EXPR_INSTANTIATED.
+       (most_general_lambda): Define.
+       (enclosing_instantiation_of): Adjust after renaming
+       instantiated_lambda_fn_p.
+       (tsubst_lambda_expr): Don't set LAMBDA_EXPR_INSTANTIATED.  Set
+       LAMBDA_EXPR_REGENERATED_FROM and LAMBDA_EXPR_REGENERATING_TARGS.
+       Don't substitute or set constraints on the regenerated lambda.
+
+2021-04-08  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/97679
+       * pt.c (build_deduction_guide): Document OUTER_ARGS.  Substitute
+       them into the propagated constraints.
+
+2021-04-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91849
+       * call.c (convert_like_internal): Improve reference diagnostic.
+
+2021-04-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/99859
+       * constexpr.c (addr_of_non_const_var): New function.
+       (cxx_bind_parameters_in_call): Set *non_constant_args to true
+       even if cp_walk_tree on arg with addr_of_non_const_var callback
+       returns true.
+
+2021-04-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/94529
+       * pt.c (determine_specialization): Improve diagnostic.
+
+2021-04-08  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99844
+       * decl.c (build_explicit_specifier): Call
+       check_for_bare_parameter_packs.
+       * except.c (build_noexcept_spec): Likewise.
+
+2021-04-07  Jason Merrill  <jason@redhat.com>
+
+       PR c++/41723
+       * parser.c (cp_parser_class_name): Check dependent_scope_p.
+
+2021-04-07  Jason Merrill  <jason@redhat.com>
+
+       PR c++/52625
+       * pt.c (maybe_process_partial_specialization): Check
+       DECL_SELF_REFERENCE_P.
+
+2021-04-07  Jason Merrill  <jason@redhat.com>
+
+       PR c++/92918
+       * name-lookup.c (push_class_level_binding_1): Do overload a new
+       function with a previous using-declaration.
+
+2021-04-06  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96673
+       * init.c (get_nsdmi): Don't defer access checking.
+
+2021-04-06  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99901
+       * decl.c (cp_finish_decl): mark_needed an implicitly inline
+       static data member with an out-of-class redeclaration.
+
+2021-04-06  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91241
+       * mangle.c (write_compact_number): Add sanity check.
+       (write_local_name): Use list_length for parm number.
+
+2021-04-06  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99899
+       * pt.c (do_auto_deduction): Don't exit early when deducing the
+       array type of a structured binding.  Also handle adc_decomp_type
+       during constraint checking.
+
+2021-04-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/96311
+       * typeck.c (check_return_expr): Call mark_exp_read in dependent
+       case.
+
+2021-04-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98440
+       * typeck.c (build_reinterpret_cast_1): Don't perform
+       temporary materialization.
+
+2021-04-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95317
+       * pt.c (lookup_template_class_1): Do tsubst_enum when
+       tsubsting a generic lambda.
+
+2021-04-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95870
+       * pt.c (enclosing_instantiation_of): Compare DECL_SOURCE_LOCATION if
+       there is no enclosing non-lambda function.
+
+2021-04-05  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99380
+       * module.cc (name_pending_imports): Drop 'atend' parm.  Don't
+       query export when not needed.
+       (preprocess_module, preprocessed_module): Adjust.
+
+2021-04-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99066
+       * pt.c (mark_decl_instantiated): Set DECL_EXTERNAL.
+
+2021-04-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99201
+       * pt.c (class el_data): Add visited field.
+       (extract_local_specs): Pass it to cp_walk_tree.
+       (extract_locals_r): Walk into the body of a lambda.
+
+2021-04-05  Jason Merrill  <jason@redhat.com>
+
+       * ptree.c (cxx_print_decl): Check DECL_MODULE_IMPORT_P on
+       template result.
+
+2021-04-04  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99643
+       * typeck2.c (massage_init_elt): Don't strip TARGET_EXPR.
+
+2021-04-03  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/91416
+       * parser.c: Create a GC root for attributes in a decl specifier.
+       (cp_parser_type_specifier): Push/pop ->attributes onto/from it.
+
+2021-04-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/91217
+       * pt.c (tsubst_lambda_expr): Skip the body block from
+       DECL_SAVED_TREE.
+
+2021-04-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/90664
+       * cvt.c (can_convert_qual): Check fnptr_conv_p.
+
+2021-04-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97900
+       * pt.c (regenerate_decl_from_template): tsubst_decl
+       the parms.
+
+2021-04-02  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99869
+       * parser.c (do_range_for_auto_deduction): Pass adc_variable_type
+       to do_auto_deduction.
+
+2021-04-02  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/99586
+       * semantics.c (finish_compound_literal): Check
+       template_placeholder_p instead of type_uses_auto.
+
+2021-04-02  Jason Merrill  <jason@redhat.com>
+
+       PR c++/97938
+       * cp-tree.h (PACK_EXPANSION_AUTO_P): New.
+       * lambda.c (add_capture): Set it.
+       * pt.c (tsubst_pack_expansion): Handle it.
+
+2021-04-02  Nathan Sidwell  <nathan@acm.org>
+
+       * cp-tree.h (lang_decl_base): Correct module flag comment.
+       * module.cc (trees_in::assert_definition): Break out
+       not_tmpl var.
+       (trees_out::lang_decl_bools): Do not write purview for header units.
+
+2021-04-01  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/99831
+       * method.c (defaulted_late_check): ++ and -- function_depth around
+       the call to synthesize_method.
+       * pt.c: Remove the saved_trees global.
+
+2021-04-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/99583
+       PR c++/99584
+       * tree.c (cp_walk_subtrees) [FUNCTION_TYPE]: Walk into
+       TYPE_RAISES_EXCEPTIONS.
+
+2021-04-01  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * mapper-client.cc (INCLUDE_MAP): New; require map to be
+       included from system.h.
+       * mapper-resolver.cc (INCLUDE_MAP): Likewise.
+
+2021-04-01  Jason Merrill  <jason@redhat.com>
+
+       PR c++/98481
+       * mangle.c (write_expression): Adjust.
+       * class.c (find_abi_tags_r): Disable PR98481 fix for ABI v14.
+       (mark_abi_tags_r): Likewise.
+
+2021-04-01  Nathan Sidwell  <nathan@acm.org>
+
+       PR c++/99283
+       * module.cc (trees_out::decl_node): Adjust importedness reference
+       assert.
+       (module_state::intercluster_seed): New.  Seed both imports and
+       inter-cluster references.  Broken out of ...
+       (module_state::write_cluster): ... here.  Call it.
+
 2021-03-31  Jason Merrill  <jason@redhat.com>
 
        PR c++/99445
This page took 0.04036 seconds and 5 git commands to generate.