1 2021-02-19 Nathan Sidwell <nathan@acm.org>
4 * module.cc (pending_imports): New.
5 (declare_module): Adjust test condition.
6 (name_pending_imports): New.
7 (preprocess_module): Reimplement using pending_imports.
8 (preprocessed_module): Move name-getting to name_pending_imports.
9 * name-lookup.c (append_imported_binding_slot): Assert module
10 ordering is increasing.
12 2021-02-19 Nathan Sidwell <nathan@acm.org>
14 * module.cc (note_cmis): New.
15 (struct module_state): Add inform_read_p bit.
16 (module_state::do_import): Inform of CMI location, if enabled.
17 (init_modules): Canonicalize note_cmis entries.
18 (handle_module_option): Handle -flang-info-module-read=FOO.
20 2021-02-19 Jason Merrill <jason@redhat.com>
23 * call.c (perfect_conversion_p): Limit rvalueness
24 test to reference bindings.
26 2021-02-19 Jason Merrill <jason@redhat.com>
29 * call.c (perfect_conversion_p): New.
30 (perfect_candidate_p): New.
31 (add_candidates): Ignore templates after a perfect non-template.
33 2021-02-18 Nathan Sidwell <nathan@acm.org>
36 * module.cc (canonicalize_header_name): Use
37 cpp_probe_header_unit.
38 (maybe_translate_include): Fix note_includes comparison.
39 (init_modules): Fix note_includes string termination.
41 2021-02-18 Jakub Jelinek <jakub@redhat.com>
44 * cp-gimplify.c (cp_genericize_r) <case CALL_EXPR>: Use
45 cp_get_callee_fndecl_nofold instead of cp_get_callee_fndecl to check
46 for immediate function calls.
48 2021-02-17 Nathan Sidwell <nathan@acm.org>
51 * module.cc (struct macro_export): Add GTY markers.
52 (macro_exports): Likewise, us a va_gc Vector.
54 2021-02-17 Jakub Jelinek <jakub@redhat.com>
57 * init.c (build_zero_init_1): For flexible array members just return
58 NULL_TREE instead of returning empty CONSTRUCTOR with non-complete
61 2021-02-17 Nathan Sidwell <nathan@acm.org>
64 * name-lookup.c (do_pushdecl): Don't peek under template_parm
66 (set_identifier_type_value_with_scope): ... or here.
67 (do_pushtag): Only set_identifier_type_value_with_scope at
68 non-class template parm scope, and use parent scope.
70 2021-02-17 Nathan Sidwell <nathan@acm.org>
73 * name-lookup.c (maybe_record_mergeable_decl): Deref the correct
76 2021-02-17 Patrick Palka <ppalka@redhat.com>
80 * tree.c (build_aggr_init_expr): Revert r10-7718 change.
82 2021-02-12 Nathan Sidwell <nathan@acm.org>
84 * module.cc (module_state::write_cluster): Check bindings for
87 2021-02-12 Nathan Sidwell <nathan@acm.org>
90 * module.cc (trees_in::decl_value): Call add_module_namespace_decl
91 for new namespace-scope entities.
92 (module_state::read_cluster): Don't call add_module_decl here.
93 * name-lookup.h (add_module_decl): Rename to ...
94 (add_module_namespace_decl): ... this.
95 * name-lookup.c (newbinding_bookkeeping): Move into ...
96 (do_pushdecl): ... here. Its only remaining caller.
97 (add_module_decl): Rename to ...
98 (add_module_namespace_decl): ... here. Add checking-assert for
99 circularity. Don't call newbinding_bookkeeping, just extern_c
100 checking and incomplete var checking.
102 2021-02-12 Nathan Sidwell <nathan@acm.org>
106 * cp-tree.h (CPTI_GLOBAL_TYPE): Delete.
107 (global_type_node): Delete.
108 (IDENTIFIER_TYPE_VALUE): Delete.
109 (IDENTIFIER_HAS_TYPE_VALUE): Delete.
110 (get_type_value): Delete.
111 * name-lookup.h (identifier_type_value): Delete.
112 * name-lookup.c (check_module_override): Don't
113 SET_IDENTIFIER_TYPE_VALUE here.
114 (do_pushdecl): Nor here.
115 (identifier_type_value_1, identifier_type_value): Delete.
116 (set_identifier_type_value_with_scope): Only
117 SET_IDENTIFIER_TYPE_VALUE for local and class scopes.
118 (pushdecl_nanmespace_level): Remove shadow stack nadgering.
119 (do_pushtag): Use REAL_IDENTIFIER_TYPE_VALUE.
120 * call.c (check_dtor_name): Use lookup_name.
121 * decl.c (cxx_init_decl_processing): Drop global_type_node.
122 * decl2.c (cplus_decl_attributes): Don't SET_IDENTIFIER_TYPE_VALUE
124 * init.c (get_type_value): Delete.
125 * pt.c (instantiate_class_template_1): Don't call pushtag or
126 SET_IDENTIFIER_TYPE_VALUE here.
127 (tsubst): Assert never an identifier.
128 (dependent_type_p): Drop global_type_node assert.
129 * typeck.c (error_args_num): Don't use IDENTIFIER_HAS_TYPE_VALUE
130 to determine ctorness.
132 2021-02-12 Jakub Jelinek <jakub@redhat.com>
135 * parser.c (cp_parser_requirement_seq): Stop iterating after reaching
138 2021-02-12 Jason Merrill <jason@redhat.com>
142 * pt.c (extract_fnparm_pack): Check DECL_PACK_P here.
143 (register_parameter_specializations): Not here.
145 2021-02-11 Marek Polacek <polacek@redhat.com>
148 * pt.c (lookup_template_class_1): Pass tf_none to tsubst when looking
149 for the partial instantiation.
151 2021-02-11 Jakub Jelinek <jakub@redhat.com>
154 * init.c (build_zero_init_1): Handle zero initialiation of
155 flexible array members like initialization of [0] arrays.
156 Use integer_minus_onep instead of comparison to integer_minus_one_node
157 and integer_zerop instead of comparison against size_zero_node.
160 2021-02-11 Marek Polacek <polacek@redhat.com>
163 * semantics.c (finish_do_stmt): Check for unexpanded parameter packs.
165 2021-02-11 Patrick Palka <ppalka@redhat.com>
168 * name-lookup.c (op_unqualified_lookup): Handle an ambiguous
169 lookup result by discarding it if the first element is a
170 class-scope declaration, otherwise return it.
171 (push_operator_bindings): Handle an ambiguous lookup result by
172 doing push_local_binding on each element in the list.
174 2021-02-11 Marek Polacek <polacek@redhat.com>
176 * parser.c (cp_parser_selection_statement): Use vec_free.
178 2021-02-10 Jakub Jelinek <jakub@redhat.com>
182 * constexpr.c: Include cgraph.h.
183 (cxx_eval_call_expression): Call varpool_node::finalize_decl on
184 heap artificial vars.
185 (cxx_eval_outermost_constant_expr): Remove varpool nodes for
186 heap artificial vars.
188 2021-02-10 Nathan Sidwell <nathan@acm.org>
191 * pt.c (tsubst_copy) [VAR_DECL]: For a DECL_LOCAL_DECL_P T is the
192 answer if there's no local specialization.
194 2021-02-09 Nathan Sidwell <nathan@acm.org>
197 * module.cc (module_state::is_rooted): Rename to ...
198 (module_state::has_location): ... here. Adjust callers.
199 (module_state::read_partitions): Adjust validity check.
200 Don't overwrite a known location.
202 2021-02-09 Jason Merrill <jason@redhat.com>
205 * pt.c (mark_decl_instantiated): Exit early if consteval.
207 2021-02-09 Jason Merrill <jason@redhat.com>
211 * cp-gimplify.c (simple_empty_class_p): Don't touch an invisiref
214 2021-02-09 Jason Merrill <jason@redhat.com>
218 * constexpr.c (cxx_eval_store_expression): Only skip empty fields in
221 2021-02-08 Nathan Sidwell <nathan@acm.org>
223 * decl.c (start_cleanup_fn): Push function into
226 2021-02-08 Nathan Sidwell <nathan@acm.org>
229 * cp-tree.h (push_abi_namespace, pop_abi_namespace): Declare.
230 * decl.c (push_abi_namespace, pop_abi_namespace): Moved
231 from rtti.c, add default namespace arg.
232 (check_redeclaration_exception_specification): Allow a lazy
233 builtin's eh spec to differ from an lready-declared user
235 (declare_global_var): Use push/pop_abi_namespace.
236 (get_atexit_node): Push the fndecl into a namespace.
237 * rtti.c (push_abi_namespace, pop_abi_namespace): Moved to
240 2021-02-08 Marek Polacek <polacek@redhat.com>
242 * cp-tree.h (CLASSTYPE_TI_TEMPLATE): Fix typo.
244 2021-02-05 Marek Polacek <polacek@redhat.com>
247 * call.c (build_conditional_expr_1): Don't call mark_lvalue_use
249 * expr.c (mark_use) <case MODIFY_EXPR>: Don't check read_p when
250 issuing the -Wvolatile warning. Only set TREE_THIS_VOLATILE if
251 a warning was emitted.
253 2021-02-05 Marek Polacek <polacek@redhat.com>
256 * name-lookup.c (lookup_using_decl): Hoist the destructor check.
258 2021-02-05 Jakub Jelinek <jakub@redhat.com>
261 * decl.c (check_array_initializer): For structured bindings, require
262 the array type to be complete.
264 2021-02-04 Jason Merrill <jason@redhat.com>
267 * constraint.cc (build_concept_check_arguments): Remove assert.
268 (build_concept_check): Allow empty args.
270 2021-02-04 Tom Greenslade (thomgree) <thomgree@cisco.com>
273 * call.c (can_convert_array): Extend to handle all valid aggregate
274 initializers of an array; including by string literals, not just by
276 (build_aggr_conv): Call can_convert_array more often, not just in
277 brace-init-list case.
278 * typeck2.c (array_string_literal_compatible_p): New function.
279 (digest_init_r): call array_string_literal_compatible_p
280 * cp-tree.h: (array_string_literal_compatible_p): Declare.
282 2021-02-04 Jason Merrill <jason@redhat.com>
285 * pt.c (do_class_deduction): No aggregate guide if any_dguides_p.
287 2021-02-04 Jason Merrill <jason@redhat.com>
290 * pt.c (tsubst_attribute): Handle error.
291 (apply_late_template_attributes): Return false on error.
292 (tsubst_function_decl): Check its return value.
293 (tsubst_decl): Likewise.
294 (push_template_decl): Assert current_template_parms.
295 (tsubst_template_decl): Set current_template_parms.
297 2021-02-03 Marek Polacek <polacek@redhat.com>
300 * call.c (struct z_candidate): Mark rewritten and reversed as const.
301 (struct NonPublicField): Mark operator() as const.
302 (struct NonTrivialField): Likewise.
304 2021-02-03 Jason Merrill <jason@redhat.com>
308 * pt.c (spec_hasher::equal): Set processing_template_decl.
309 * Make-lang.in (check-g++-strict-gc): Add --param
310 hash-table-verification-limit=10000.
312 2021-02-03 Marek Polacek <polacek@redhat.com>
315 * parser.c (cp_parser_class_specifier_1): Use any possible
316 DEFPARSE_INSTANTIATIONS to update DEFERRED_NOEXCEPT_PATTERN.
317 (cp_parser_save_noexcept): Initialize DEFPARSE_INSTANTIATIONS.
318 * pt.c (tsubst_exception_specification): Stash new_specs into
319 DEFPARSE_INSTANTIATIONS.
320 * tree.c (fixup_deferred_exception_variants): Use
321 UNPARSED_NOEXCEPT_SPEC_P.
323 2021-02-02 Jason Merrill <jason@redhat.com>
327 * error.c (dump_expr): Ignore dummy object.
328 * pt.c (tsubst_baselink): Handle dependent scope.
330 2021-02-01 Patrick Palka <ppalka@redhat.com>
333 * constexpr.c (cxx_eval_array_reference): Also set
334 new_ctx.object when setting new_ctx.ctor.
336 2021-02-01 Marek Polacek <polacek@redhat.com>
339 * parser.c (cp_parser_has_attribute_expression): Use
340 uses_template_parms instead of type_dependent_expression_p.
342 2021-02-01 Jason Merrill <jason@redhat.com>
345 * cp-tree.h: Declare it.
346 * pt.c (comparing_dependent_aliases): New flag.
347 (template_args_equal, spec_hasher::equal): Set it.
348 (dependent_alias_template_spec_p): Assert that we don't
349 get non-types other than error_mark_node.
350 (instantiate_alias_template): SET_TYPE_STRUCTURAL_EQUALITY
351 on complex alias specializations. Set TYPE_DEPENDENT_P here.
352 (tsubst_decl): Not here.
353 * module.cc (module_state::read_cluster): Set
354 comparing_dependent_aliases instead of
355 comparing_specializations.
356 * tree.c (cp_tree_equal): Remove comparing_specializations
358 * typeck.c (structural_comptypes): Adjust.
359 (comptypes): Remove comparing_specializations handling.
361 2021-01-29 Nathan Sidwell <nathan@acm.org>
364 * module.cc (module_state_config): Add num_entities field.
365 (module_state::read_entities): The entity_ary span is
367 (module_state::write_config): Write num_entities.
368 (module_state::read_config): Read num_entities.
369 (module_state::write): Set config's num_entities.
370 (module_state::read_initial): Allocate the entity ary
372 (module_state::read_language): Do not set entity_lwm
375 2021-01-29 Marek Polacek <polacek@redhat.com>
378 * parser.c (cp_parser_class_name): If parser->scope is
379 error_mark_node, return it, otherwise continue.
381 2021-01-28 Jakub Jelinek <jakub@redhat.com>
384 * typeck.c (build_x_indirect_ref): For *this, return current_class_ref.
386 2021-01-28 Jakub Jelinek <jakub@redhat.com>
390 * decl.c (cp_finish_decl): For register vars with asmspec in templates
391 call set_user_assembler_name and set DECL_HARD_REGISTER.
392 * pt.c (tsubst_expr): When instantiating DECL_HARD_REGISTER vars,
393 pass asmspec_tree to cp_finish_decl.
395 2021-01-28 Nathan Sidwell <nathan@acm.org>
398 * module.cc (trees_out::decl_value): Swap is_typedef & TYPE_NAME
400 (trees_in::decl_value): Do typedef frobbing only when installing
401 a new typedef, adjust is_matching_decl call. Swap is_typedef
403 (trees_in::is_matching_decl): Add is_typedef parm. Adjust variable
404 names and deal with typedef checking.
406 2021-01-27 Jason Merrill <jason@redhat.com>
409 * name-lookup.c (lookup_using_decl): Clean up handling
410 of dependency and inherited constructors.
411 (finish_nonmember_using_decl): Handle DECL_DEPENDENT_P.
412 * pt.c (tsubst_expr): Handle DECL_DEPENDENT_P.
414 2021-01-26 Jason Merrill <jason@redhat.com>
417 * call.c (type_passed_as): Don't mark invisiref restrict.
419 2021-01-26 Jason Merrill <jason@redhat.com>
423 * class.c (layout_class_type): An empty field gets size 0.
424 (is_empty_field): New.
425 (check_bases): Check it.
426 * cp-tree.h (is_empty_field): Declare it.
427 * constexpr.c (cxx_eval_store_expression): Check it.
428 (cx_check_missing_mem_inits): Likewise.
429 * init.c (perform_member_init): Likewise.
430 * typeck2.c (process_init_constructor_record): Likewise.
432 2021-01-25 Martin Sebor <msebor@redhat.com>
435 * cvt.c (cp_fold_convert): Propagate TREE_NO_WARNING.
437 2021-01-25 Jason Merrill <jason@redhat.com>
440 * constexpr.c (get_or_insert_ctor_field): Add check.
441 (cxx_eval_store_expression): Handle discontinuity of refs.
443 2021-01-23 Anthony Sharp <anthonysharp15@gmail.com>
445 * call.c (complain_about_access): Altered function.
446 * cp-tree.h (complain_about_access): Changed parameters of function.
447 (get_parent_with_private_access): Declared new function.
448 * search.c (get_parent_with_private_access): Defined new function.
449 * semantics.c (enforce_access): Modified function.
450 * typeck.c (complain_about_unrecognized_member): Updated function
451 arguments in complain_about_access.
453 2021-01-23 Patrick Palka <ppalka@redhat.com>
456 * cp-tree.h (shared_member_p): Adjust declaration.
457 * parser.c (cp_parser_init_declarator): If the storage class
458 specifier is sc_static, pass true for static_p to
459 cp_parser_declarator.
460 (cp_parser_direct_declarator): Don't do inject_this_parm when
461 the declarator is a friend.
462 * search.c (shared_member_p): Change return type to bool and
463 adjust function body accordingly. Return false for a dependent
464 USING_DECL instead of aborting.
465 * semantics.c (finish_qualified_id_expr): Rely on shared_member_p
466 even when type-dependent.
468 2021-01-22 Marek Polacek <polacek@redhat.com>
471 * parser.c (inject_parm_decls): Remove a redundant assignment.
472 (cp_parser_class_specifier_1): Clear current_class_{ptr,ref}
473 before calling inject_parm_decls.
475 2021-01-22 Jason Merrill <jason@redhat.com>
478 * call.c (make_base_init_ok): Use DECL_HAS_VTT_PARM_P.
480 2021-01-22 Jakub Jelinek <jakub@redhat.com>
483 * init.c (build_zero_init_1): Revert the 2018-03-06 change to
484 return build_zero_cst for reference types.
485 * typeck2.c (process_init_constructor_record): Instead call
486 build_zero_cst here during error recovery instead of build_zero_init.
488 2021-01-22 Marek Polacek <polacek@redhat.com>
491 * mangle.c (write_member_name): Emit abi_warn_or_compat_version_crosses
492 warnings regardless of abi_version_at_least.
493 (write_expression): When the expression is a dependent name
494 and an operator name, write "on" before writing its name.
496 2021-01-22 Marek Polacek <polacek@redhat.com>
499 * pt.c (instantiate_class_template_1): Instantiate members
500 marked with attribute used only after we're done instantiating
503 2021-01-21 Patrick Palka <ppalka@redhat.com>
506 * semantics.c (finish_decltype_type): Set up a cp_unevaluated
507 sentinel at the start of the function. Remove a now-redundant
508 manual adjustment of cp_unevaluated_operand.
510 2021-01-21 Nathan Sidwell <nathan@acm.org>
513 * module.cc (depset::hash::find_dependencies): Add
515 (trees_out::core_vals): Check state before calling
517 (sort_cluster, module_state::write): Adjust
518 find_dependencies call.
520 2021-01-21 Jakub Jelinek <jakub@redhat.com>
523 * constexpr.c (check_for_return_continue_data): Add break_stmt member.
524 (check_for_return_continue): Also look for BREAK_STMT. Handle
525 SWITCH_STMT by ignoring break_stmt from its body.
526 (potential_constant_expression_1) <case FOR_STMT>,
527 <case WHILE_STMT>: If the condition isn't constant true, check if
528 the loop body can contain a return stmt.
529 <case SWITCH_STMT>: Adjust check_for_return_continue_data initializer.
530 <case IF_STMT>: If recursion with tf_none is successful,
531 merge *jump_target from the branches - returns with highest priority,
532 breaks or continues lower. If then branch is potentially constant and
533 doesn't return, check the else branch if it could return, break or
536 2021-01-21 Nathan Sidwell <nathan@acm.org>
539 * name-lookup.c (lookup_class_binding): Rearrange a stat-hack.
541 2021-01-20 Nathan Sidwell <nathan@acm.org>
543 * module.cc (bytes_in::i, bytes_in::wi): Avoid left shift of
546 2021-01-20 Patrick Palka <ppalka@redhat.com>
549 * pt.c (tsubst) <case TEMPLATE_TYPE_PARM>: If tsubsting
550 CLASS_PLACEHOLDER_TEMPLATE yields a TEMPLATE_TEMPLATE_PARM,
551 adjust to its TEMPLATE_TEMPLATE_PARM_TEMPLATE_DECL.
553 2021-01-20 Patrick Palka <ppalka@redhat.com>
556 * parser.c (cp_parser_class_head): Defer access checking when
557 parsing the base-clause until all bases are seen and attached
559 * pt.c (instantiate_class_template): Likewise when substituting
560 into dependent bases.
562 2021-01-20 Jakub Jelinek <jakub@redhat.com>
565 * semantics.c (finish_omp_clauses) <case OMP_CLAUSE_DETACH>: If
566 error_operand_p, remove clause without further checking. Check
567 for non-NULL TYPE_NAME.
569 2021-01-19 Marek Polacek <polacek@redhat.com>
572 * pt.c (maybe_instantiate_noexcept): Return false if FN is
575 2021-01-19 Marek Polacek <polacek@redhat.com>
578 * name-lookup.c (push_using_decl_bindings): New, broken out of...
579 (finish_nonmember_using_decl): ...here.
580 * name-lookup.h (push_using_decl_bindings): Update declaration.
581 * pt.c (tsubst_expr): Update the call to push_using_decl_bindings.
583 2021-01-19 Patrick Palka <ppalka@redhat.com>
587 * search.c (friend_accessible_p): If scope is a hidden friend
588 defined inside a dependent class, consider access from the
590 * parser.c (cp_parser_late_parsing_for_member): Don't push a
591 dk_no_check access state.
593 2021-01-19 Marek Polacek <polacek@redhat.com>
596 * parser.c (cp_parser_class_specifier_1): Perform late-parsing
597 of NSDMIs before late-parsing of noexcept-specifiers.
599 2021-01-19 Nathan Sidwell <nathan@acm.org>
601 * module.cc (identifier): Merge overloads.
603 2021-01-19 Nathan Sidwell <nathan@acm.org>
606 * module.cc (trees_out::write_location): Make static.
608 2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
610 * parser.c (cp_parser_omp_clause_detach): New.
611 (cp_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_DETACH.
612 (OMP_TASK_CLAUSE_MASK): Add mask for PRAGMA_OMP_CLAUSE_DETACH.
613 * pt.c (tsubst_omp_clauses): Handle OMP_CLAUSE_DETACH clause.
614 * semantics.c (finish_omp_clauses): Handle OMP_CLAUSE_DETACH clause.
615 Prevent use of detach with mergeable and overriding the data sharing
616 mode of the event handle.
618 2021-01-15 Nathan Sidwell <nathan@acm.org>
621 * tree.c (cp_build_qualified_type_real): Propagate an array's
622 dependentness to the copy, if known.
624 2021-01-15 Jason Merrill <jason@redhat.com>
627 * call.c (unsafe_return_slot_p): Return int.
628 (init_by_return_slot_p): Split out from...
629 (unsafe_copy_elision_p): ...here.
630 (unsafe_copy_elision_p_opt): New name for old meaning.
631 (build_over_call): Adjust.
632 (make_safe_copy_elision): New.
633 * typeck2.c (split_nonconstant_init_1): Elide copy from safe
637 2021-01-15 Jason Merrill <jason@redhat.com>
639 * call.c (base_ctor_for, make_base_init_ok): New.
640 (build_over_call): Use make_base_init_ok.
642 2021-01-15 Jason Merrill <jason@redhat.com>
645 * tree.c (build_vec_init_expr): Don't call build_vec_init_elt
646 if we got a CONSTRUCTOR.
648 2021-01-15 Nathan Sidwell <nathan@acm.org>
651 * lang-specs.h: Fix handling of -fmodule-only with -fsyntax-only.
653 2021-01-14 Jason Merrill <jason@redhat.com>
655 * typeck2.c (process_init_constructor_record): Use fldtype
656 variable consistently.
658 2021-01-14 Nathan Sidwell <nathan@acm.org>
661 * tree.c (cp_tree_equal): Correct map_context logic.
663 2021-01-13 Marek Polacek <polacek@redhat.com>
666 * name-lookup.c (push_using_decl_bindings): New.
667 * name-lookup.h (push_using_decl_bindings): Declare.
668 * pt.c (tsubst_expr): Call push_using_decl_bindings.
670 2021-01-13 Nathan Sidwell <nathan@acm.org>
673 * module.cc (module_add_import_initializers): Pass a
674 zero-element argument vector.
676 2021-01-12 Patrick Palka <ppalka@redhat.com>
679 * tree.c (cp_walk_subtrees) <case TEMPLATE_TYPE_PARM>: Visit
680 the template of a CTAD placeholder.
682 2021-01-12 Marek Polacek <polacek@redhat.com>
685 * typeck2.c (process_init_constructor_record): Don't emit
686 -Wmissing-field-initializers warnings in unevaluated contexts.
688 2021-01-11 Jakub Jelinek <jakub@redhat.com>
691 * class.c (find_abi_tags_r): Set *walk_subtrees to 2 instead of 1
693 (mark_abi_tags_r): Likewise.
694 * decl2.c (min_vis_r): Likewise.
695 * tree.c (cp_walk_subtrees): If *walk_subtrees_p is 2, look through
698 2021-01-08 Patrick Palka <ppalka@redhat.com>
701 * constexpr.c (cxx_eval_call_expression): Check CLASS_TYPE_P
702 instead of AGGREGATE_TYPE_P before calling replace_result_decl.
704 2021-01-08 Patrick Palka <ppalka@redhat.com>
707 * semantics.c (check_accessibility_of_qualified_id): Punt if
708 we're checking access of a scoped non-static member inside a
711 2021-01-07 Jakub Jelinek <jakub@redhat.com>
714 * pt.c (tsubst_copy) <case BIT_CAST_EXPR>: Don't call
715 cp_build_bit_cast here, instead just build_min a BIT_CAST_EXPR and set
717 (tsubst_copy_and_build): Handle BIT_CAST_EXPR.
719 2021-01-07 Marek Polacek <polacek@redhat.com>
722 * decl.c (grokdeclarator): Move the !funcdecl_p check inside the
723 !late_return_type block.
725 2021-01-07 Jason Merrill <jason@redhat.com>
727 * constexpr.c (cxx_bind_parameters_in_call): Add comment.
728 (cxx_eval_store_expression): Add comment.
730 2021-01-07 Jason Merrill <jason@redhat.com>
732 * call.c (has_next): Factor out from...
733 (next_conversion): ...here.
734 (strip_standard_conversion): And here.
735 (is_subseq): And here.
736 (build_conv): Check it.
737 (standard_conversion): Don't call build_conv
740 2021-01-06 Martin Sebor <msebor@redhat.com>
743 * error.c (dump_expr): Call c_pretty_printer::unary_expression.
745 2021-01-05 Patrick Palka <ppalka@redhat.com>
747 * pt.c (unify) <case TEMPLATE_PARM_INDEX>: After walking into
748 the type of the NTTP, substitute into the type again. If the
749 type is still dependent, don't unify the NTTP.
751 2021-01-05 Jakub Jelinek <jakub@redhat.com>
753 * Make-lang.in (cc1plus-checksum, cc1plus$(exeext): Add
754 $(CODYLIB) after $(BACKEND).
756 2021-01-05 Jakub Jelinek <jakub@redhat.com>
759 * constexpr.c (cxx_eval_constant_expression) <case BIT_CAST_EXPR>:
760 Punt if lval is true.
761 * semantics.c (cp_build_bit_cast): Call get_target_expr_sfinae on
762 the result if it has a class type.
764 2021-01-05 Marek Polacek <polacek@redhat.com>
767 * pt.c (resolve_overloaded_unification): Call
768 maybe_instantiate_noexcept after instantiating the function
771 2021-01-05 Nathan Sidwell <nathan@acm.org>
773 * parser.c (cp_parser_module_declaration): Alter diagnostic
774 text to say where is permissable.
776 2021-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
779 * Make-lang.in (cc1plus$(exeext)): Add $(CODYLIB), $(NETLIBS).
781 2021-01-02 Jan Hubicka <jh@suse.cz>
783 * cp-tree.h (cp_tree_c_finish_parsing): Declare.
784 * decl2.c (c_parse_final_cleanups): Call cp_tree_c_finish_parsing.
785 * tree.c (cp_tree_c_finish_parsing): New function.
787 2021-01-01 Jakub Jelinek <jakub@redhat.com>
789 * ChangeLog-2020: Rotate ChangeLog. New file.
792 Copyright (C) 2021 Free Software Foundation, Inc.
794 Copying and distribution of this file, with or without modification,
795 are permitted in any medium without royalty provided the copyright
796 notice and this notice are preserved.