1 2021-01-22 Marek Polacek <polacek@redhat.com>
4 * parser.c (inject_parm_decls): Remove a redundant assignment.
5 (cp_parser_class_specifier_1): Clear current_class_{ptr,ref}
6 before calling inject_parm_decls.
8 2021-01-22 Jason Merrill <jason@redhat.com>
11 * call.c (make_base_init_ok): Use DECL_HAS_VTT_PARM_P.
13 2021-01-22 Jakub Jelinek <jakub@redhat.com>
16 * init.c (build_zero_init_1): Revert the 2018-03-06 change to
17 return build_zero_cst for reference types.
18 * typeck2.c (process_init_constructor_record): Instead call
19 build_zero_cst here during error recovery instead of build_zero_init.
21 2021-01-22 Marek Polacek <polacek@redhat.com>
24 * mangle.c (write_member_name): Emit abi_warn_or_compat_version_crosses
25 warnings regardless of abi_version_at_least.
26 (write_expression): When the expression is a dependent name
27 and an operator name, write "on" before writing its name.
29 2021-01-22 Marek Polacek <polacek@redhat.com>
32 * pt.c (instantiate_class_template_1): Instantiate members
33 marked with attribute used only after we're done instantiating
36 2021-01-21 Patrick Palka <ppalka@redhat.com>
39 * semantics.c (finish_decltype_type): Set up a cp_unevaluated
40 sentinel at the start of the function. Remove a now-redundant
41 manual adjustment of cp_unevaluated_operand.
43 2021-01-21 Nathan Sidwell <nathan@acm.org>
46 * module.cc (depset::hash::find_dependencies): Add
48 (trees_out::core_vals): Check state before calling
50 (sort_cluster, module_state::write): Adjust
51 find_dependencies call.
53 2021-01-21 Jakub Jelinek <jakub@redhat.com>
56 * constexpr.c (check_for_return_continue_data): Add break_stmt member.
57 (check_for_return_continue): Also look for BREAK_STMT. Handle
58 SWITCH_STMT by ignoring break_stmt from its body.
59 (potential_constant_expression_1) <case FOR_STMT>,
60 <case WHILE_STMT>: If the condition isn't constant true, check if
61 the loop body can contain a return stmt.
62 <case SWITCH_STMT>: Adjust check_for_return_continue_data initializer.
63 <case IF_STMT>: If recursion with tf_none is successful,
64 merge *jump_target from the branches - returns with highest priority,
65 breaks or continues lower. If then branch is potentially constant and
66 doesn't return, check the else branch if it could return, break or
69 2021-01-21 Nathan Sidwell <nathan@acm.org>
72 * name-lookup.c (lookup_class_binding): Rearrange a stat-hack.
74 2021-01-20 Nathan Sidwell <nathan@acm.org>
76 * module.cc (bytes_in::i, bytes_in::wi): Avoid left shift of
79 2021-01-20 Patrick Palka <ppalka@redhat.com>
82 * pt.c (tsubst) <case TEMPLATE_TYPE_PARM>: If tsubsting
83 CLASS_PLACEHOLDER_TEMPLATE yields a TEMPLATE_TEMPLATE_PARM,
84 adjust to its TEMPLATE_TEMPLATE_PARM_TEMPLATE_DECL.
86 2021-01-20 Patrick Palka <ppalka@redhat.com>
89 * parser.c (cp_parser_class_head): Defer access checking when
90 parsing the base-clause until all bases are seen and attached
92 * pt.c (instantiate_class_template): Likewise when substituting
95 2021-01-20 Jakub Jelinek <jakub@redhat.com>
98 * semantics.c (finish_omp_clauses) <case OMP_CLAUSE_DETACH>: If
99 error_operand_p, remove clause without further checking. Check
100 for non-NULL TYPE_NAME.
102 2021-01-19 Marek Polacek <polacek@redhat.com>
105 * pt.c (maybe_instantiate_noexcept): Return false if FN is
108 2021-01-19 Marek Polacek <polacek@redhat.com>
111 * name-lookup.c (push_using_decl_bindings): New, broken out of...
112 (finish_nonmember_using_decl): ...here.
113 * name-lookup.h (push_using_decl_bindings): Update declaration.
114 * pt.c (tsubst_expr): Update the call to push_using_decl_bindings.
116 2021-01-19 Patrick Palka <ppalka@redhat.com>
120 * search.c (friend_accessible_p): If scope is a hidden friend
121 defined inside a dependent class, consider access from the
123 * parser.c (cp_parser_late_parsing_for_member): Don't push a
124 dk_no_check access state.
126 2021-01-19 Marek Polacek <polacek@redhat.com>
129 * parser.c (cp_parser_class_specifier_1): Perform late-parsing
130 of NSDMIs before late-parsing of noexcept-specifiers.
132 2021-01-19 Nathan Sidwell <nathan@acm.org>
134 * module.cc (identifier): Merge overloads.
136 2021-01-19 Nathan Sidwell <nathan@acm.org>
139 * module.cc (trees_out::write_location): Make static.
141 2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
143 * parser.c (cp_parser_omp_clause_detach): New.
144 (cp_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_DETACH.
145 (OMP_TASK_CLAUSE_MASK): Add mask for PRAGMA_OMP_CLAUSE_DETACH.
146 * pt.c (tsubst_omp_clauses): Handle OMP_CLAUSE_DETACH clause.
147 * semantics.c (finish_omp_clauses): Handle OMP_CLAUSE_DETACH clause.
148 Prevent use of detach with mergeable and overriding the data sharing
149 mode of the event handle.
151 2021-01-15 Nathan Sidwell <nathan@acm.org>
154 * tree.c (cp_build_qualified_type_real): Propagate an array's
155 dependentness to the copy, if known.
157 2021-01-15 Jason Merrill <jason@redhat.com>
160 * call.c (unsafe_return_slot_p): Return int.
161 (init_by_return_slot_p): Split out from...
162 (unsafe_copy_elision_p): ...here.
163 (unsafe_copy_elision_p_opt): New name for old meaning.
164 (build_over_call): Adjust.
165 (make_safe_copy_elision): New.
166 * typeck2.c (split_nonconstant_init_1): Elide copy from safe
170 2021-01-15 Jason Merrill <jason@redhat.com>
172 * call.c (base_ctor_for, make_base_init_ok): New.
173 (build_over_call): Use make_base_init_ok.
175 2021-01-15 Jason Merrill <jason@redhat.com>
178 * tree.c (build_vec_init_expr): Don't call build_vec_init_elt
179 if we got a CONSTRUCTOR.
181 2021-01-15 Nathan Sidwell <nathan@acm.org>
184 * lang-specs.h: Fix handling of -fmodule-only with -fsyntax-only.
186 2021-01-14 Jason Merrill <jason@redhat.com>
188 * typeck2.c (process_init_constructor_record): Use fldtype
189 variable consistently.
191 2021-01-14 Nathan Sidwell <nathan@acm.org>
194 * tree.c (cp_tree_equal): Correct map_context logic.
196 2021-01-13 Marek Polacek <polacek@redhat.com>
199 * name-lookup.c (push_using_decl_bindings): New.
200 * name-lookup.h (push_using_decl_bindings): Declare.
201 * pt.c (tsubst_expr): Call push_using_decl_bindings.
203 2021-01-13 Nathan Sidwell <nathan@acm.org>
206 * module.cc (module_add_import_initializers): Pass a
207 zero-element argument vector.
209 2021-01-12 Patrick Palka <ppalka@redhat.com>
212 * tree.c (cp_walk_subtrees) <case TEMPLATE_TYPE_PARM>: Visit
213 the template of a CTAD placeholder.
215 2021-01-12 Marek Polacek <polacek@redhat.com>
218 * typeck2.c (process_init_constructor_record): Don't emit
219 -Wmissing-field-initializers warnings in unevaluated contexts.
221 2021-01-11 Jakub Jelinek <jakub@redhat.com>
224 * class.c (find_abi_tags_r): Set *walk_subtrees to 2 instead of 1
226 (mark_abi_tags_r): Likewise.
227 * decl2.c (min_vis_r): Likewise.
228 * tree.c (cp_walk_subtrees): If *walk_subtrees_p is 2, look through
231 2021-01-08 Patrick Palka <ppalka@redhat.com>
234 * constexpr.c (cxx_eval_call_expression): Check CLASS_TYPE_P
235 instead of AGGREGATE_TYPE_P before calling replace_result_decl.
237 2021-01-08 Patrick Palka <ppalka@redhat.com>
240 * semantics.c (check_accessibility_of_qualified_id): Punt if
241 we're checking access of a scoped non-static member inside a
244 2021-01-07 Jakub Jelinek <jakub@redhat.com>
247 * pt.c (tsubst_copy) <case BIT_CAST_EXPR>: Don't call
248 cp_build_bit_cast here, instead just build_min a BIT_CAST_EXPR and set
250 (tsubst_copy_and_build): Handle BIT_CAST_EXPR.
252 2021-01-07 Marek Polacek <polacek@redhat.com>
255 * decl.c (grokdeclarator): Move the !funcdecl_p check inside the
256 !late_return_type block.
258 2021-01-07 Jason Merrill <jason@redhat.com>
260 * constexpr.c (cxx_bind_parameters_in_call): Add comment.
261 (cxx_eval_store_expression): Add comment.
263 2021-01-07 Jason Merrill <jason@redhat.com>
265 * call.c (has_next): Factor out from...
266 (next_conversion): ...here.
267 (strip_standard_conversion): And here.
268 (is_subseq): And here.
269 (build_conv): Check it.
270 (standard_conversion): Don't call build_conv
273 2021-01-06 Martin Sebor <msebor@redhat.com>
276 * error.c (dump_expr): Call c_pretty_printer::unary_expression.
278 2021-01-05 Patrick Palka <ppalka@redhat.com>
280 * pt.c (unify) <case TEMPLATE_PARM_INDEX>: After walking into
281 the type of the NTTP, substitute into the type again. If the
282 type is still dependent, don't unify the NTTP.
284 2021-01-05 Jakub Jelinek <jakub@redhat.com>
286 * Make-lang.in (cc1plus-checksum, cc1plus$(exeext): Add
287 $(CODYLIB) after $(BACKEND).
289 2021-01-05 Jakub Jelinek <jakub@redhat.com>
292 * constexpr.c (cxx_eval_constant_expression) <case BIT_CAST_EXPR>:
293 Punt if lval is true.
294 * semantics.c (cp_build_bit_cast): Call get_target_expr_sfinae on
295 the result if it has a class type.
297 2021-01-05 Marek Polacek <polacek@redhat.com>
300 * pt.c (resolve_overloaded_unification): Call
301 maybe_instantiate_noexcept after instantiating the function
304 2021-01-05 Nathan Sidwell <nathan@acm.org>
306 * parser.c (cp_parser_module_declaration): Alter diagnostic
307 text to say where is permissable.
309 2021-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
312 * Make-lang.in (cc1plus$(exeext)): Add $(CODYLIB), $(NETLIBS).
314 2021-01-02 Jan Hubicka <jh@suse.cz>
316 * cp-tree.h (cp_tree_c_finish_parsing): Declare.
317 * decl2.c (c_parse_final_cleanups): Call cp_tree_c_finish_parsing.
318 * tree.c (cp_tree_c_finish_parsing): New function.
320 2021-01-01 Jakub Jelinek <jakub@redhat.com>
322 * ChangeLog-2020: Rotate ChangeLog. New file.
325 Copyright (C) 2021 Free Software Foundation, Inc.
327 Copying and distribution of this file, with or without modification,
328 are permitted in any medium without royalty provided the copyright
329 notice and this notice are preserved.