]> gcc.gnu.org Git - gcc.git/blob - gcc/cp/ChangeLog
Daily bump.
[gcc.git] / gcc / cp / ChangeLog
1 2021-02-19 Nathan Sidwell <nathan@acm.org>
2
3 PR c++/98741
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.
11
12 2021-02-19 Nathan Sidwell <nathan@acm.org>
13
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.
19
20 2021-02-19 Jason Merrill <jason@redhat.com>
21
22 PR c++/96926
23 * call.c (perfect_conversion_p): Limit rvalueness
24 test to reference bindings.
25
26 2021-02-19 Jason Merrill <jason@redhat.com>
27
28 PR c++/96926
29 * call.c (perfect_conversion_p): New.
30 (perfect_candidate_p): New.
31 (add_candidates): Ignore templates after a perfect non-template.
32
33 2021-02-18 Nathan Sidwell <nathan@acm.org>
34
35 PR c++/99023
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.
40
41 2021-02-18 Jakub Jelinek <jakub@redhat.com>
42
43 PR c++/99132
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.
47
48 2021-02-17 Nathan Sidwell <nathan@acm.org>
49
50 PR c++/99023
51 * module.cc (struct macro_export): Add GTY markers.
52 (macro_exports): Likewise, us a va_gc Vector.
53
54 2021-02-17 Jakub Jelinek <jakub@redhat.com>
55
56 PR sanitizer/99106
57 * init.c (build_zero_init_1): For flexible array members just return
58 NULL_TREE instead of returning empty CONSTRUCTOR with non-complete
59 ARRAY_TYPE.
60
61 2021-02-17 Nathan Sidwell <nathan@acm.org>
62
63 PR c++/99116
64 * name-lookup.c (do_pushdecl): Don't peek under template_parm
65 bindings here ...
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.
69
70 2021-02-17 Nathan Sidwell <nathan@acm.org>
71
72 PR c++/99071
73 * name-lookup.c (maybe_record_mergeable_decl): Deref the correct
74 pointer.
75
76 2021-02-17 Patrick Palka <ppalka@redhat.com>
77
78 PR debug/96997
79 PR c++/94034
80 * tree.c (build_aggr_init_expr): Revert r10-7718 change.
81
82 2021-02-12 Nathan Sidwell <nathan@acm.org>
83
84 * module.cc (module_state::write_cluster): Check bindings for
85 imported using-decls.
86
87 2021-02-12 Nathan Sidwell <nathan@acm.org>
88
89 PR c++/99040
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.
101
102 2021-02-12 Nathan Sidwell <nathan@acm.org>
103
104 PR c++/99039
105 PR c++/99040
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
123 here.
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.
131
132 2021-02-12 Jakub Jelinek <jakub@redhat.com>
133
134 PR c++/97742
135 * parser.c (cp_parser_requirement_seq): Stop iterating after reaching
136 CPP_EOF.
137
138 2021-02-12 Jason Merrill <jason@redhat.com>
139
140 PR c++/97246
141 PR c++/94546
142 * pt.c (extract_fnparm_pack): Check DECL_PACK_P here.
143 (register_parameter_specializations): Not here.
144
145 2021-02-11 Marek Polacek <polacek@redhat.com>
146
147 PR c++/95888
148 * pt.c (lookup_template_class_1): Pass tf_none to tsubst when looking
149 for the partial instantiation.
150
151 2021-02-11 Jakub Jelinek <jakub@redhat.com>
152
153 PR c++/99033
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.
158 Formatting fixes.
159
160 2021-02-11 Marek Polacek <polacek@redhat.com>
161
162 PR c++/99063
163 * semantics.c (finish_do_stmt): Check for unexpanded parameter packs.
164
165 2021-02-11 Patrick Palka <ppalka@redhat.com>
166
167 PR c++/97582
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.
173
174 2021-02-11 Marek Polacek <polacek@redhat.com>
175
176 * parser.c (cp_parser_selection_statement): Use vec_free.
177
178 2021-02-10 Jakub Jelinek <jakub@redhat.com>
179
180 PR c++/98988
181 PR c++/99031
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.
187
188 2021-02-10 Nathan Sidwell <nathan@acm.org>
189
190 PR c++/99030
191 * pt.c (tsubst_copy) [VAR_DECL]: For a DECL_LOCAL_DECL_P T is the
192 answer if there's no local specialization.
193
194 2021-02-09 Nathan Sidwell <nathan@acm.org>
195
196 PR c++/98944
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.
201
202 2021-02-09 Jason Merrill <jason@redhat.com>
203
204 PR c++/96905
205 * pt.c (mark_decl_instantiated): Exit early if consteval.
206
207 2021-02-09 Jason Merrill <jason@redhat.com>
208
209 PR c++/98326
210 PR c++/20408
211 * cp-gimplify.c (simple_empty_class_p): Don't touch an invisiref
212 parm.
213
214 2021-02-09 Jason Merrill <jason@redhat.com>
215
216 PR c++/98994
217 PR c++/97566
218 * constexpr.c (cxx_eval_store_expression): Only skip empty fields in
219 RECORD_TYPE.
220
221 2021-02-08 Nathan Sidwell <nathan@acm.org>
222
223 * decl.c (start_cleanup_fn): Push function into
224 namespace.
225
226 2021-02-08 Nathan Sidwell <nathan@acm.org>
227
228 PR c++/98531
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
234 declaration.
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
238 decl.c.
239
240 2021-02-08 Marek Polacek <polacek@redhat.com>
241
242 * cp-tree.h (CLASSTYPE_TI_TEMPLATE): Fix typo.
243
244 2021-02-05 Marek Polacek <polacek@redhat.com>
245
246 PR c++/98947
247 * call.c (build_conditional_expr_1): Don't call mark_lvalue_use
248 on arg2/arg3.
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.
252
253 2021-02-05 Marek Polacek <polacek@redhat.com>
254
255 PR c++/96462
256 * name-lookup.c (lookup_using_decl): Hoist the destructor check.
257
258 2021-02-05 Jakub Jelinek <jakub@redhat.com>
259
260 PR c++/97878
261 * decl.c (check_array_initializer): For structured bindings, require
262 the array type to be complete.
263
264 2021-02-04 Jason Merrill <jason@redhat.com>
265
266 PR c++/98717
267 * constraint.cc (build_concept_check_arguments): Remove assert.
268 (build_concept_check): Allow empty args.
269
270 2021-02-04 Tom Greenslade (thomgree) <thomgree@cisco.com>
271
272 PR c++/90926
273 * call.c (can_convert_array): Extend to handle all valid aggregate
274 initializers of an array; including by string literals, not just by
275 brace-init-list.
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.
281
282 2021-02-04 Jason Merrill <jason@redhat.com>
283
284 PR c++/98802
285 * pt.c (do_class_deduction): No aggregate guide if any_dguides_p.
286
287 2021-02-04 Jason Merrill <jason@redhat.com>
288
289 PR c++/95192
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.
296
297 2021-02-03 Marek Polacek <polacek@redhat.com>
298
299 PR c++/98951
300 * call.c (struct z_candidate): Mark rewritten and reversed as const.
301 (struct NonPublicField): Mark operator() as const.
302 (struct NonTrivialField): Likewise.
303
304 2021-02-03 Jason Merrill <jason@redhat.com>
305
306 PR c++/98926
307 PR c++/98570
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.
311
312 2021-02-03 Marek Polacek <polacek@redhat.com>
313
314 PR c++/98899
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.
322
323 2021-02-02 Jason Merrill <jason@redhat.com>
324
325 PR c++/98929
326 PR c++/96199
327 * error.c (dump_expr): Ignore dummy object.
328 * pt.c (tsubst_baselink): Handle dependent scope.
329
330 2021-02-01 Patrick Palka <ppalka@redhat.com>
331
332 PR c++/98295
333 * constexpr.c (cxx_eval_array_reference): Also set
334 new_ctx.object when setting new_ctx.ctor.
335
336 2021-02-01 Marek Polacek <polacek@redhat.com>
337
338 PR c++/98355
339 * parser.c (cp_parser_has_attribute_expression): Use
340 uses_template_parms instead of type_dependent_expression_p.
341
342 2021-02-01 Jason Merrill <jason@redhat.com>
343
344 PR c++/98570
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
357 module handling.
358 * typeck.c (structural_comptypes): Adjust.
359 (comptypes): Remove comparing_specializations handling.
360
361 2021-01-29 Nathan Sidwell <nathan@acm.org>
362
363 PR c++/98843
364 * module.cc (module_state_config): Add num_entities field.
365 (module_state::read_entities): The entity_ary span is
366 already allocated.
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
371 span here.
372 (module_state::read_language): Do not set entity_lwm
373 here.
374
375 2021-01-29 Marek Polacek <polacek@redhat.com>
376
377 PR c++/96137
378 * parser.c (cp_parser_class_name): If parser->scope is
379 error_mark_node, return it, otherwise continue.
380
381 2021-01-28 Jakub Jelinek <jakub@redhat.com>
382
383 PR c++/98841
384 * typeck.c (build_x_indirect_ref): For *this, return current_class_ref.
385
386 2021-01-28 Jakub Jelinek <jakub@redhat.com>
387
388 PR c++/33661
389 PR c++/98847
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.
394
395 2021-01-28 Nathan Sidwell <nathan@acm.org>
396
397 PR c++/98770
398 * module.cc (trees_out::decl_value): Swap is_typedef & TYPE_NAME
399 check order.
400 (trees_in::decl_value): Do typedef frobbing only when installing
401 a new typedef, adjust is_matching_decl call. Swap is_typedef
402 & TYPE_NAME check.
403 (trees_in::is_matching_decl): Add is_typedef parm. Adjust variable
404 names and deal with typedef checking.
405
406 2021-01-27 Jason Merrill <jason@redhat.com>
407
408 PR c++/97874
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.
413
414 2021-01-26 Jason Merrill <jason@redhat.com>
415
416 PR c++/97474
417 * call.c (type_passed_as): Don't mark invisiref restrict.
418
419 2021-01-26 Jason Merrill <jason@redhat.com>
420
421 PR c++/97566
422 PR c++/98463
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.
431
432 2021-01-25 Martin Sebor <msebor@redhat.com>
433
434 PR c++/98646
435 * cvt.c (cp_fold_convert): Propagate TREE_NO_WARNING.
436
437 2021-01-25 Jason Merrill <jason@redhat.com>
438
439 PR c++/98463
440 * constexpr.c (get_or_insert_ctor_field): Add check.
441 (cxx_eval_store_expression): Handle discontinuity of refs.
442
443 2021-01-23 Anthony Sharp <anthonysharp15@gmail.com>
444
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.
452
453 2021-01-23 Patrick Palka <ppalka@redhat.com>
454
455 PR c++/97399
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.
467
468 2021-01-22 Marek Polacek <polacek@redhat.com>
469
470 PR c++/96623
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.
474
475 2021-01-22 Jason Merrill <jason@redhat.com>
476
477 PR c++/98744
478 * call.c (make_base_init_ok): Use DECL_HAS_VTT_PARM_P.
479
480 2021-01-22 Jakub Jelinek <jakub@redhat.com>
481
482 PR sanitizer/95693
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.
487
488 2021-01-22 Marek Polacek <polacek@redhat.com>
489
490 PR c++/98545
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.
495
496 2021-01-22 Marek Polacek <polacek@redhat.com>
497
498 PR c++/97966
499 * pt.c (instantiate_class_template_1): Instantiate members
500 marked with attribute used only after we're done instantiating
501 the class.
502
503 2021-01-21 Patrick Palka <ppalka@redhat.com>
504
505 PR c++/71879
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.
509
510 2021-01-21 Nathan Sidwell <nathan@acm.org>
511
512 PR c++/98624
513 * module.cc (depset::hash::find_dependencies): Add
514 module arg.
515 (trees_out::core_vals): Check state before calling
516 write_location.
517 (sort_cluster, module_state::write): Adjust
518 find_dependencies call.
519
520 2021-01-21 Jakub Jelinek <jakub@redhat.com>
521
522 PR c++/98672
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
534 continue.
535
536 2021-01-21 Nathan Sidwell <nathan@acm.org>
537
538 PR c++/98530
539 * name-lookup.c (lookup_class_binding): Rearrange a stat-hack.
540
541 2021-01-20 Nathan Sidwell <nathan@acm.org>
542
543 * module.cc (bytes_in::i, bytes_in::wi): Avoid left shift of
544 signed type.
545
546 2021-01-20 Patrick Palka <ppalka@redhat.com>
547
548 PR c++/95434
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.
552
553 2021-01-20 Patrick Palka <ppalka@redhat.com>
554
555 PR c++/82613
556 * parser.c (cp_parser_class_head): Defer access checking when
557 parsing the base-clause until all bases are seen and attached
558 to the class type.
559 * pt.c (instantiate_class_template): Likewise when substituting
560 into dependent bases.
561
562 2021-01-20 Jakub Jelinek <jakub@redhat.com>
563
564 PR c++/98742
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.
568
569 2021-01-19 Marek Polacek <polacek@redhat.com>
570
571 PR c++/98659
572 * pt.c (maybe_instantiate_noexcept): Return false if FN is
573 error_mark_node.
574
575 2021-01-19 Marek Polacek <polacek@redhat.com>
576
577 PR c++/98687
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.
582
583 2021-01-19 Patrick Palka <ppalka@redhat.com>
584
585 PR c++/41437
586 PR c++/58993
587 * search.c (friend_accessible_p): If scope is a hidden friend
588 defined inside a dependent class, consider access from the
589 class.
590 * parser.c (cp_parser_late_parsing_for_member): Don't push a
591 dk_no_check access state.
592
593 2021-01-19 Marek Polacek <polacek@redhat.com>
594
595 PR c++/98333
596 * parser.c (cp_parser_class_specifier_1): Perform late-parsing
597 of NSDMIs before late-parsing of noexcept-specifiers.
598
599 2021-01-19 Nathan Sidwell <nathan@acm.org>
600
601 * module.cc (identifier): Merge overloads.
602
603 2021-01-19 Nathan Sidwell <nathan@acm.org>
604
605 PR c++/98624
606 * module.cc (trees_out::write_location): Make static.
607
608 2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
609
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.
617
618 2021-01-15 Nathan Sidwell <nathan@acm.org>
619
620 PR c++/98538
621 * tree.c (cp_build_qualified_type_real): Propagate an array's
622 dependentness to the copy, if known.
623
624 2021-01-15 Jason Merrill <jason@redhat.com>
625
626 PR c++/98642
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
634 list-initialization.
635 * cp-tree.h: Adjust.
636
637 2021-01-15 Jason Merrill <jason@redhat.com>
638
639 * call.c (base_ctor_for, make_base_init_ok): New.
640 (build_over_call): Use make_base_init_ok.
641
642 2021-01-15 Jason Merrill <jason@redhat.com>
643
644 PR c++/63707
645 * tree.c (build_vec_init_expr): Don't call build_vec_init_elt
646 if we got a CONSTRUCTOR.
647
648 2021-01-15 Nathan Sidwell <nathan@acm.org>
649
650 PR c++/98591
651 * lang-specs.h: Fix handling of -fmodule-only with -fsyntax-only.
652
653 2021-01-14 Jason Merrill <jason@redhat.com>
654
655 * typeck2.c (process_init_constructor_record): Use fldtype
656 variable consistently.
657
658 2021-01-14 Nathan Sidwell <nathan@acm.org>
659
660 PR c++/98372
661 * tree.c (cp_tree_equal): Correct map_context logic.
662
663 2021-01-13 Marek Polacek <polacek@redhat.com>
664
665 PR c++/98231
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.
669
670 2021-01-13 Nathan Sidwell <nathan@acm.org>
671
672 PR c++/98626
673 * module.cc (module_add_import_initializers): Pass a
674 zero-element argument vector.
675
676 2021-01-12 Patrick Palka <ppalka@redhat.com>
677
678 PR c++/98611
679 * tree.c (cp_walk_subtrees) <case TEMPLATE_TYPE_PARM>: Visit
680 the template of a CTAD placeholder.
681
682 2021-01-12 Marek Polacek <polacek@redhat.com>
683
684 PR c++/98620
685 * typeck2.c (process_init_constructor_record): Don't emit
686 -Wmissing-field-initializers warnings in unevaluated contexts.
687
688 2021-01-11 Jakub Jelinek <jakub@redhat.com>
689
690 PR c++/98481
691 * class.c (find_abi_tags_r): Set *walk_subtrees to 2 instead of 1
692 for types.
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
696 typedefs.
697
698 2021-01-08 Patrick Palka <ppalka@redhat.com>
699
700 PR c++/98551
701 * constexpr.c (cxx_eval_call_expression): Check CLASS_TYPE_P
702 instead of AGGREGATE_TYPE_P before calling replace_result_decl.
703
704 2021-01-08 Patrick Palka <ppalka@redhat.com>
705
706 PR c++/98515
707 * semantics.c (check_accessibility_of_qualified_id): Punt if
708 we're checking access of a scoped non-static member inside a
709 class template.
710
711 2021-01-07 Jakub Jelinek <jakub@redhat.com>
712
713 PR c++/98329
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
716 its location.
717 (tsubst_copy_and_build): Handle BIT_CAST_EXPR.
718
719 2021-01-07 Marek Polacek <polacek@redhat.com>
720
721 PR c++/98441
722 * decl.c (grokdeclarator): Move the !funcdecl_p check inside the
723 !late_return_type block.
724
725 2021-01-07 Jason Merrill <jason@redhat.com>
726
727 * constexpr.c (cxx_bind_parameters_in_call): Add comment.
728 (cxx_eval_store_expression): Add comment.
729
730 2021-01-07 Jason Merrill <jason@redhat.com>
731
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
738 for ck_identity.
739
740 2021-01-06 Martin Sebor <msebor@redhat.com>
741
742 PR c++/95768
743 * error.c (dump_expr): Call c_pretty_printer::unary_expression.
744
745 2021-01-05 Patrick Palka <ppalka@redhat.com>
746
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.
750
751 2021-01-05 Jakub Jelinek <jakub@redhat.com>
752
753 * Make-lang.in (cc1plus-checksum, cc1plus$(exeext): Add
754 $(CODYLIB) after $(BACKEND).
755
756 2021-01-05 Jakub Jelinek <jakub@redhat.com>
757
758 PR c++/98469
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.
763
764 2021-01-05 Marek Polacek <polacek@redhat.com>
765
766 PR c++/82099
767 * pt.c (resolve_overloaded_unification): Call
768 maybe_instantiate_noexcept after instantiating the function
769 decl.
770
771 2021-01-05 Nathan Sidwell <nathan@acm.org>
772
773 * parser.c (cp_parser_module_declaration): Alter diagnostic
774 text to say where is permissable.
775
776 2021-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
777
778 PR c++/98316
779 * Make-lang.in (cc1plus$(exeext)): Add $(CODYLIB), $(NETLIBS).
780
781 2021-01-02 Jan Hubicka <jh@suse.cz>
782
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.
786
787 2021-01-01 Jakub Jelinek <jakub@redhat.com>
788
789 * ChangeLog-2020: Rotate ChangeLog. New file.
790
791 \f
792 Copyright (C) 2021 Free Software Foundation, Inc.
793
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.
This page took 0.073321 seconds and 6 git commands to generate.