fc6ddd408a515f3f79ebf91a489d005fed90c596
[gcc.git] / gcc / cp / ChangeLog
1 2021-01-19 Marek Polacek <polacek@redhat.com>
2
3 PR c++/98659
4 * pt.c (maybe_instantiate_noexcept): Return false if FN is
5 error_mark_node.
6
7 2021-01-19 Marek Polacek <polacek@redhat.com>
8
9 PR c++/98687
10 * name-lookup.c (push_using_decl_bindings): New, broken out of...
11 (finish_nonmember_using_decl): ...here.
12 * name-lookup.h (push_using_decl_bindings): Update declaration.
13 * pt.c (tsubst_expr): Update the call to push_using_decl_bindings.
14
15 2021-01-19 Patrick Palka <ppalka@redhat.com>
16
17 PR c++/41437
18 PR c++/58993
19 * search.c (friend_accessible_p): If scope is a hidden friend
20 defined inside a dependent class, consider access from the
21 class.
22 * parser.c (cp_parser_late_parsing_for_member): Don't push a
23 dk_no_check access state.
24
25 2021-01-19 Marek Polacek <polacek@redhat.com>
26
27 PR c++/98333
28 * parser.c (cp_parser_class_specifier_1): Perform late-parsing
29 of NSDMIs before late-parsing of noexcept-specifiers.
30
31 2021-01-19 Nathan Sidwell <nathan@acm.org>
32
33 * module.cc (identifier): Merge overloads.
34
35 2021-01-19 Nathan Sidwell <nathan@acm.org>
36
37 PR c++/98624
38 * module.cc (trees_out::write_location): Make static.
39
40 2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
41
42 * parser.c (cp_parser_omp_clause_detach): New.
43 (cp_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_DETACH.
44 (OMP_TASK_CLAUSE_MASK): Add mask for PRAGMA_OMP_CLAUSE_DETACH.
45 * pt.c (tsubst_omp_clauses): Handle OMP_CLAUSE_DETACH clause.
46 * semantics.c (finish_omp_clauses): Handle OMP_CLAUSE_DETACH clause.
47 Prevent use of detach with mergeable and overriding the data sharing
48 mode of the event handle.
49
50 2021-01-15 Nathan Sidwell <nathan@acm.org>
51
52 PR c++/98538
53 * tree.c (cp_build_qualified_type_real): Propagate an array's
54 dependentness to the copy, if known.
55
56 2021-01-15 Jason Merrill <jason@redhat.com>
57
58 PR c++/98642
59 * call.c (unsafe_return_slot_p): Return int.
60 (init_by_return_slot_p): Split out from...
61 (unsafe_copy_elision_p): ...here.
62 (unsafe_copy_elision_p_opt): New name for old meaning.
63 (build_over_call): Adjust.
64 (make_safe_copy_elision): New.
65 * typeck2.c (split_nonconstant_init_1): Elide copy from safe
66 list-initialization.
67 * cp-tree.h: Adjust.
68
69 2021-01-15 Jason Merrill <jason@redhat.com>
70
71 * call.c (base_ctor_for, make_base_init_ok): New.
72 (build_over_call): Use make_base_init_ok.
73
74 2021-01-15 Jason Merrill <jason@redhat.com>
75
76 PR c++/63707
77 * tree.c (build_vec_init_expr): Don't call build_vec_init_elt
78 if we got a CONSTRUCTOR.
79
80 2021-01-15 Nathan Sidwell <nathan@acm.org>
81
82 PR c++/98591
83 * lang-specs.h: Fix handling of -fmodule-only with -fsyntax-only.
84
85 2021-01-14 Jason Merrill <jason@redhat.com>
86
87 * typeck2.c (process_init_constructor_record): Use fldtype
88 variable consistently.
89
90 2021-01-14 Nathan Sidwell <nathan@acm.org>
91
92 PR c++/98372
93 * tree.c (cp_tree_equal): Correct map_context logic.
94
95 2021-01-13 Marek Polacek <polacek@redhat.com>
96
97 PR c++/98231
98 * name-lookup.c (push_using_decl_bindings): New.
99 * name-lookup.h (push_using_decl_bindings): Declare.
100 * pt.c (tsubst_expr): Call push_using_decl_bindings.
101
102 2021-01-13 Nathan Sidwell <nathan@acm.org>
103
104 PR c++/98626
105 * module.cc (module_add_import_initializers): Pass a
106 zero-element argument vector.
107
108 2021-01-12 Patrick Palka <ppalka@redhat.com>
109
110 PR c++/98611
111 * tree.c (cp_walk_subtrees) <case TEMPLATE_TYPE_PARM>: Visit
112 the template of a CTAD placeholder.
113
114 2021-01-12 Marek Polacek <polacek@redhat.com>
115
116 PR c++/98620
117 * typeck2.c (process_init_constructor_record): Don't emit
118 -Wmissing-field-initializers warnings in unevaluated contexts.
119
120 2021-01-11 Jakub Jelinek <jakub@redhat.com>
121
122 PR c++/98481
123 * class.c (find_abi_tags_r): Set *walk_subtrees to 2 instead of 1
124 for types.
125 (mark_abi_tags_r): Likewise.
126 * decl2.c (min_vis_r): Likewise.
127 * tree.c (cp_walk_subtrees): If *walk_subtrees_p is 2, look through
128 typedefs.
129
130 2021-01-08 Patrick Palka <ppalka@redhat.com>
131
132 PR c++/98551
133 * constexpr.c (cxx_eval_call_expression): Check CLASS_TYPE_P
134 instead of AGGREGATE_TYPE_P before calling replace_result_decl.
135
136 2021-01-08 Patrick Palka <ppalka@redhat.com>
137
138 PR c++/98515
139 * semantics.c (check_accessibility_of_qualified_id): Punt if
140 we're checking access of a scoped non-static member inside a
141 class template.
142
143 2021-01-07 Jakub Jelinek <jakub@redhat.com>
144
145 PR c++/98329
146 * pt.c (tsubst_copy) <case BIT_CAST_EXPR>: Don't call
147 cp_build_bit_cast here, instead just build_min a BIT_CAST_EXPR and set
148 its location.
149 (tsubst_copy_and_build): Handle BIT_CAST_EXPR.
150
151 2021-01-07 Marek Polacek <polacek@redhat.com>
152
153 PR c++/98441
154 * decl.c (grokdeclarator): Move the !funcdecl_p check inside the
155 !late_return_type block.
156
157 2021-01-07 Jason Merrill <jason@redhat.com>
158
159 * constexpr.c (cxx_bind_parameters_in_call): Add comment.
160 (cxx_eval_store_expression): Add comment.
161
162 2021-01-07 Jason Merrill <jason@redhat.com>
163
164 * call.c (has_next): Factor out from...
165 (next_conversion): ...here.
166 (strip_standard_conversion): And here.
167 (is_subseq): And here.
168 (build_conv): Check it.
169 (standard_conversion): Don't call build_conv
170 for ck_identity.
171
172 2021-01-06 Martin Sebor <msebor@redhat.com>
173
174 PR c++/95768
175 * error.c (dump_expr): Call c_pretty_printer::unary_expression.
176
177 2021-01-05 Patrick Palka <ppalka@redhat.com>
178
179 * pt.c (unify) <case TEMPLATE_PARM_INDEX>: After walking into
180 the type of the NTTP, substitute into the type again. If the
181 type is still dependent, don't unify the NTTP.
182
183 2021-01-05 Jakub Jelinek <jakub@redhat.com>
184
185 * Make-lang.in (cc1plus-checksum, cc1plus$(exeext): Add
186 $(CODYLIB) after $(BACKEND).
187
188 2021-01-05 Jakub Jelinek <jakub@redhat.com>
189
190 PR c++/98469
191 * constexpr.c (cxx_eval_constant_expression) <case BIT_CAST_EXPR>:
192 Punt if lval is true.
193 * semantics.c (cp_build_bit_cast): Call get_target_expr_sfinae on
194 the result if it has a class type.
195
196 2021-01-05 Marek Polacek <polacek@redhat.com>
197
198 PR c++/82099
199 * pt.c (resolve_overloaded_unification): Call
200 maybe_instantiate_noexcept after instantiating the function
201 decl.
202
203 2021-01-05 Nathan Sidwell <nathan@acm.org>
204
205 * parser.c (cp_parser_module_declaration): Alter diagnostic
206 text to say where is permissable.
207
208 2021-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
209
210 PR c++/98316
211 * Make-lang.in (cc1plus$(exeext)): Add $(CODYLIB), $(NETLIBS).
212
213 2021-01-02 Jan Hubicka <jh@suse.cz>
214
215 * cp-tree.h (cp_tree_c_finish_parsing): Declare.
216 * decl2.c (c_parse_final_cleanups): Call cp_tree_c_finish_parsing.
217 * tree.c (cp_tree_c_finish_parsing): New function.
218
219 2021-01-01 Jakub Jelinek <jakub@redhat.com>
220
221 * ChangeLog-2020: Rotate ChangeLog. New file.
222
223 \f
224 Copyright (C) 2021 Free Software Foundation, Inc.
225
226 Copying and distribution of this file, with or without modification,
227 are permitted in any medium without royalty provided the copyright
228 notice and this notice are preserved.