]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/cp/ChangeLog
Fix abi-tag16.C.
[thirdparty/gcc.git] / gcc / cp / ChangeLog
CommitLineData
b676a079
JM
12016-01-31 Jason Merrill <jason@redhat.com>
2
b1568582
JM
3 * mangle.c (maybe_check_abi_tags): New.
4 (write_guarded_var_name): Call it.
5 (mangle_ref_init_variable): Call check_abi_tags.
6
b676a079
JM
7 * pt.c (lookup_template_class_1): Don't share TYPE_ATTRIBUTES
8 between template and instantiation.
9
16b77b32
JJ
102016-01-29 Jakub Jelinek <jakub@redhat.com>
11
12 PR debug/66869
13 * decl.c (wrapup_globals_for_namespace): Warn about unused static
14 function declarations.
15
5453bfed
MP
162016-01-29 Marek Polacek <polacek@redhat.com>
17
18 PR c++/69509
19 PR c++/69516
20 * constexpr.c (cxx_eval_array_reference): Give the "array subscript
21 out of bound" error earlier.
22 * init.c (build_vec_init): Change NE_EXPR into GT_EXPR. Update the
23 commentary.
24
e9f69069
PP
252016-01-29 Patrick Palka <ppalka@gcc.gnu.org>
26
27 * name-lookup.c (begin_scope): After reusing a cp_binding_level
28 structure, update free_binding_level before the structure's
29 level_chain field gets cleared, not after.
30
e448880c
JM
312016-01-28 Jason Merrill <jason@redhat.com>
32
33 PR c++/67407
34 * search.c (dfs_walk_once, dfs_walk_once_r)
35 (dfs_walk_once_accessible_r, dfs_walk_once_accessible): Use
36 hash_set instead of BINFO_MARKED.
37 (dfs_unmark_r): Remove.
38
2b4f7b94
PP
392016-01-28 Patrick Palka <ppalka@gcc.gnu.org>
40
41 PR c++/24208
42 * parser.c (LEXER_DEBUGGING_ENABLED_P): New macro.
43 (cp_lexer_debugging_p): Use it.
44 (cp_lexer_start_debugging): Likewise.
45 (cp_lexer_stop_debugging): Likewise.
46
fa74a4bc
MP
472016-01-27 Marek Polacek <polacek@redhat.com>
48
49 PR c/68062
50 * typeck.c (cp_build_binary_op): Promote operand to unsigned, if
51 needed. Add -Wsign-compare warning.
52
5d70666e
RB
532016-01-27 Ryan Burn <contact@rnburn.com>
54
55 PR cilkplus/69267
56 * cp-gimplify.c (cilk_cp_gimplify_call_params_in_spawned_fn): Removed
57 superfluous post_p argument in call to
58 cilk_gimplify_call_params_in_spawned_fn.
59
05bf54c3
MP
602016-01-27 Marek Polacek <polacek@redhat.com>
61
62 PR c++/69379
63 * constexpr.c (cxx_eval_constant_expression): Handle PTRMEM_CSTs
64 wrapped in NOP_EXPRs.
65
60214d0d
MS
662016-01-27 Martin Sebor <msebor@redhat.com>
67
68 PR c++/69317
69 * mangle.c (mangle_decl): Reference the correct (saved) version
70 of the ABI in -Wabi diagnostics.
71
95e3030c
MP
722016-01-27 Marek Polacek <polacek@redhat.com>
73
74 PR c++/69496
75 * constexpr.c (cxx_eval_array_reference): Evaluate the number of
76 elements of the array.
77
ca30abcd
JM
782016-01-26 Jason Merrill <jason@redhat.com>
79
80 PR c++/68949
81 * constexpr.c (register_constexpr_fundef): Keep the un-massaged body.
82 (cxx_eval_call_expression): Don't look through clones.
83 * optimize.c (maybe_clone_body): Clear DECL_SAVED_TREE of the alias.
84 * semantics.c (expand_or_defer_fn_1): Keep DECL_SAVED_TREE of
85 maybe-in-charge *tor.
86
2d63bc39
JM
872016-01-26 Jason Merrill <jason@redhat.com>
88
89 PR c++/68782
90 * constexpr.c (cxx_eval_bare_aggregate): Update TREE_CONSTANT
91 and TREE_SIDE_EFFECTS.
92 (cxx_eval_constant_expression) [CONSTRUCTOR]: Call
93 verify_constructor_flags.
94
476805ae
JJ
952016-01-26 Jakub Jelinek <jakub@redhat.com>
96
97 PR c++/68357
98 * cp-gimplify.c (cp_fold): If some operand folds to error_mark_node,
99 return error_mark_node instead of building trees with error_mark_node
100 operands.
101
01e1dea3
DM
1022016-01-26 David Malcolm <dmalcolm@redhat.com>
103
104 PR other/69006
105 * error.c (print_instantiation_partial_context_line): Add missing
106 newlines from output for the t == NULL case.
107 (print_instantiation_partial_context): Remove call to pp_newline.
108
a59b92b0
PP
1092016-01-24 Patrick Palka <ppalka@gcc.gnu.org>
110
111 Revert:
112 2016-01-18 Patrick Palka <ppalka@gcc.gnu.org>
113
114 PR c++/11858
115 PR c++/24663
116 PR c++/24664
117 * decl.c (grokdeclarator): Don't decay array parameter type to
118 a pointer type if it's dependent.
119 (grokparms): Invoke strip_top_quals instead of directly invoking
120 cp_build_qualified_type.
121 * pt.c (decay_dependent_array_parm_type): New static function.
122 (type_unification_real): Call decay_dependent_array_parm_type
123 to decay a dependent array parameter type to its corresponding
124 pointer type before unification.
125 (more_specialized_fn): Likewise.
126 (get_bindings): Likewise.
127 * tree.c (cp_build_qualified_type): Trivial typofix in
128 documentation.
129
69da7802
MS
1302016-01-23 Martin Sebor <msebor@redhat.com>
131
132 PR c++/58109
133 PR c++/69022
134 * decl2.c (is_late_template_attribute): Handle dependent argument
135 to attribute align and attribute vector_size.
136
97ca3d0d
JM
1372016-01-21 Jason Merrill <jason@redhat.com>
138
130ee9a9
JM
139 PR c++/69392
140 * lambda.c (lambda_capture_field_type): Handle 'this' specially
141 for init-capture, too.
142
020491e6
JM
143 PR c++/65687
144 * decl.c (type_is_deprecated): Don't look into a typedef.
145
2f3932b9
JM
146 PR c++/40751
147 PR c++/64987
148 * decl.c (copy_type_enum): Respect TYPE_USER_ALIGN.
149
97ca3d0d
JM
150 PR c++/43407
151 * decl.c (start_enum): Add attributes parameter.
152 * parser.c (cp_parser_enum_specifier): Pass it.
153 * pt.c (lookup_template_class_1): Pass it.
154 * cp-tree.h: Adjust.
155
33f48842
JM
1562016-01-19 Jason Merrill <jason@redhat.com>
157
158 PR c++/59759
159 * pt.c (convert_template_argument): Handle VAR_DECL properly.
160
1e297006
MP
1612016-01-19 Marek Polacek <polacek@redhat.com>
162
163 PR c++/68586
164 * constexpr.c (clear_cv_cache): New.
165 * cp-gimplify.c (clear_fold_cache): New.
166 * cp-tree.h (clear_cv_cache, clear_fold_cache): Declare.
167 * decl.c (finish_enum_value_list): Call them.
168
38a979f2
MP
169 PR c++/68965
170 * pt.c (tsubst_copy): Mark elements in expanded vector as used.
171
17c15cb9
PP
1722016-01-18 Patrick Palka <ppalka@gcc.gnu.org>
173
174 PR c++/11858
175 PR c++/24663
176 PR c++/24664
177 * decl.c (grokdeclarator): Don't decay array parameter type to
178 a pointer type if it's dependent.
179 (grokparms): Invoke strip_top_quals instead of directly invoking
180 cp_build_qualified_type.
181 * pt.c (decay_dependent_array_parm_type): New static function.
182 (type_unification_real): Call decay_dependent_array_parm_type
183 to decay a dependent array parameter type to its corresponding
184 pointer type before unification.
185 (more_specialized_fn): Likewise.
186 (get_bindings): Likewise.
187 * tree.c (cp_build_qualified_type): Trivial typofix in
188 documentation.
189
7f26f7df
JM
1902016-01-18 Jason Merrill <jason@redhat.com>
191
4b0b30ef
JM
192 * cp-gimplify.c (cp_fold) [CONSTRUCTOR]: Don't clobber the input.
193
8d8f3235
JM
194 * cp-gimplify.c (cp_fold): Remove unnecessary special cases.
195
7f26f7df
JM
196 PR c++/68767
197 * cp-gimplify.c (cp_fold) [COND_EXPR]: Simplify. Do fold COND_EXPR.
198 (contains_label_1, contains_label_p): Remove.
199
ec7886c1
PP
2002016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
201
202 PR c++/69091
203 * pt.c (type_dependent_expression_p): For a function template
204 specialization, a type is dependent iff any of its template
205 arguments are.
206
203484bb
PP
2072016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
208
209 * cp-array-notation.c (cp_expand_cond_array_notations): Return
210 error_mark_node only if find_rank failed, not if it was
211 successful.
212
aa2500e9
PP
2132016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
214
215 PR c++/68936
216 * tree.c (build_min_non_dep_call_vec): Don't retain the
217 KOENIG_LOOKUP_P flag of the non-dependent expression that's
218 been built.
219 (build_min_non_dep_op_overload): Instead, do it here.
220
e0a575ff
JJ
2212016-01-15 Jakub Jelinek <jakub@redhat.com>
222
223 PR bootstrap/68271
224 * parser.h (cp_token): Remove pragma_kind field. Add comment
225 with number of unused bits.
226 * parser.c (eof_token): Remove pragma_kind field initializer.
227 (cp_lexer_get_preprocessor_token): Don't set pragma_kind
228 field, don't clear CPP_PRAGMA u.value.
229 (cp_parser_pragma_kind): New function.
230 (cp_parser_omp_sections_scope, cp_parser_oacc_kernels_parallel,
231 cp_parser_omp_construct, cp_parser_initial_pragma,
232 cp_parser_pragma): Use cp_parser_pragma_kind instead of accessing
233 pragma_kind field.
234
56233bd6
JM
2352016-01-15 Jason Merrill <jason@redhat.com>
236
c5e3b6fc
JM
237 PR c++/68847
238 * call.c (build_cxx_call): Use fold_non_dependent_expr.
239
f3255019
JM
240 * typeck2.c (cxx_incomplete_type_diagnostic): Use the location of
241 value.
242
56233bd6
JM
243 PR c++/69257
244 * typeck.c (decay_conversion): Don't call mark_rvalue_use for
245 array/function-to-pointer conversion. Call
246 complete_type_or_maybe_complain for lvalue-to-rvalue conversion.
247 * call.c (convert_like_real): Print call context if
248 decay_conversion errors.
249
e6d6ec9e
TV
2502016-01-14 Tom de Vries <tom@codesourcery.com>
251
252 PR tree-optimization/68773
253 * parser.c (cp_parser_oacc_declare, cp_parser_omp_declare_target): Don't
254 set force_output.
255
a7ccb9e7
JM
2562016-01-14 Jason Merrill <jason@redhat.com>
257
258 PR c++/69261
259 * constexpr.c (find_array_ctor_elt): Handle splitting RANGE_EXPR.
260
5342156c
MP
2612016-01-12 Marek Polacek <polacek@redhat.com>
262
263 PR c++/68979
264 * constexpr.c (cxx_eval_check_shift_p): Use permerror rather than
265 error_at and adjust the return value.
266
723033a6
JJ
2672016-01-12 Jakub Jelinek <jakub@redhat.com>
268
65364cc5
JJ
269 PR objc++/68511
270 PR c++/69213
271 * cp-gimplify.c (cp_gimplify_expr) <case INIT_EXPR>: Don't return
272 GS_ERROR whenever seen_error (), only if *expr_p contains
273 cilk spawn stmt, but cilk_detect_spawn_and_unwrap failed.
274
723033a6
JJ
275 PR c++/66808
276 PR c++/69000
277 * pt.c (tsubst_decl): If not local_p, clear DECL_TEMPLATE_INFO.
278
9fc21977
JM
2792016-01-11 Jason Merrill <jason@redhat.com>
280
281 PR c++/69131
282 * method.c (walk_field_subobs): Add dtor_from_ctor parm.
283 (process_subob_fn): Likewise. Don't consider triviality if true.
284 (synthesize_method_walk): Pass it.
285
655441d6
DM
2862016-01-11 David Malcolm <dmalcolm@redhat.com>
287
288 PR c++/68795
289 * parser.c (cp_parser_postfix_expression): Initialize
290 close_paren_loc to UNKNOWN_LOCATION; only use it if
291 it has been written to by
292 cp_parser_parenthesized_expression_list.
293 (cp_parser_parenthesized_expression_list): Document the behavior
294 with respect to the CLOSE_PAREN_LOC param.
295
9cb6bd74
JJ
2962016-01-11 Jakub Jelinek <jakub@redhat.com>
297
298 PR c++/69211
299 * cp-gimplify.c (cp_fold): If COMPOUND_EXPR or MODIFY_EXPR
300 folded operands have side-effects, but folding changed any of them,
301 build a new tree with the folded operands instead of returning the
302 unfolded tree.
303
73f0dae2
MP
3042016-01-09 Marek Polacek <polacek@redhat.com>
305
306 PR c++/69113
307 * decl2.c (comdat_linkage): Only set DECL_COMDAT if TREE_PUBLIC is set.
308
c50e614b
JJ
3092016-01-09 Jakub Jelinek <jakub@redhat.com>
310
311 PR c++/69164
312 * class.c (layout_class_type): Use copy_node to copy FIELD_DECLs.
313
fe71aa4e
JM
3142016-01-08 Jason Merrill <jason@redhat.com>
315
316 PR c++/69158
317 * constexpr.c (cxx_fold_indirect_ref): Handle array type differing
318 in completion.
319
bd8f5bb2
MP
3202016-01-08 Marek Polacek <polacek@redhat.com>
321
322 PR c++/68449
323 * constexpr.c (cxx_eval_constant_expression): Handle NULL initializer.
324
0795b6f2
JM
3252016-01-08 Jason Merrill <jason@redhat.com>
326
550c5f8a
JM
327 * constexpr.c (cxx_eval_call_expression): Remove convert_to_void
328 workaround.
329
45177337
JM
330 PR c++/68983
331 PR c++/67557
332 * cvt.c (convert_to_void): Don't strip a TARGET_EXPR of
333 TREE_ADDRESSABLE type.
334
0795b6f2
JM
335 PR c++/68983
336 PR c++/67557
337 * call.c (unsafe_copy_elision_p): Look through COMPOUND_EXPR.
338
ce3e43d7
NS
3392016-01-05 Nathan Sidwell <nathan@acm.org>
340
341 PR c++/58583
342 * pt.c (build_non_dependent_expr): Don't try a checking fold when
343 parsing an nsdmi.
344
818ab71a 3452016-01-04 Jakub Jelinek <jakub@redhat.com>
5624e564
JJ
346
347 Update copyright years.
ad41bd84 348\f
818ab71a 349Copyright (C) 2016 Free Software Foundation, Inc.
ad41bd84
JM
350
351Copying and distribution of this file, with or without modification,
352are permitted in any medium without royalty provided the copyright
353notice and this notice are preserved.