]> gcc.gnu.org Git - gcc.git/blame - gcc/cp/ChangeLog
S390: Clean up cross-compile for S390.
[gcc.git] / gcc / cp / ChangeLog
CommitLineData
0c0d447a
JM
12015-07-24 Jason Merrill <jason@redhat.com>
2
00367044 3 PR c++/64969
0c0d447a
JM
4 * pt.c (splice_late_return_type): Correct deduced return type for
5 abbreviated function template.
6
24f1db9c
RB
72015-07-24 Richard Biener <rguenther@suse.de>
8
9 * init.c (build_vec_init): Build iterator bound in the same
10 type as the iterator.
11
04e4dbd0
MP
122015-07-23 Marek Polacek <polacek@redhat.com>
13
14 PR c++/66572
15 * pt.c (tsubst_copy_and_build): Add warn_logical_op sentinel.
16
25f05e7b
PC
172015-07-23 Paolo Carlini <paolo.carlini@oracle.com>
18
19 PR c++/52987
20 * parser.c (cp_parser_simple_declaration): Robustify check avoiding
21 redundant error messages.
22
faa16e44
PC
232015-07-21 Paolo Carlini <paolo.carlini@oracle.com>
24
25 * decl.c (grokdeclarator): For an erroneous template parameter
26 propagate error_mark_node as type.
27
451b5e48
MP
282015-07-20 Marek Polacek <polacek@redhat.com>
29
30 PR c++/55095
31 * typeck.c (cp_build_binary_op): Warn about left shift overflows.
32
0467e3eb
JM
332015-07-15 Jason Merrill <jason@redhat.com>
34
35 PR c++/65091
36 * parser.c (cp_parser_unqualified_id): Don't accept ~x in a
37 template if there is no type x in scope.
38
09f725f4
PP
392015-07-14 Patrick Palka <ppalka@gcc.gnu.org>
40
41 PR c++/66850
42 * pt.c (redeclare_class_template): Set the DECL_CONTEXTs of each
43 template template parm in the redeclaration.
44 (lookup_template_class_1): Peel off irrelevant template levels
45 from current_template_parms before augmenting the argument
46 list.
47
973590f3
AA
482015-07-14 Andrea Azzarone <azzaronea@gmail.com>
49
50 PR c++/65071
51 * parser.c (cp_parser_sizeof_pack): Also consider template template
52 parameters.
53
e056dfd0
JM
542015-07-14 Jason Merrill <jason@redhat.com>
55
56 * call.c (build_new_method_call_1): Call reshape_init.
57
87679b76
PC
582015-07-14 Paolo Carlini <paolo.carlini@oracle.com>
59
60 * pt.c (check_template_shadow): Emit error + inform instead of
61 two errors.
62
15d6614a
PP
632015-07-13 Patrick Palka <ppalka@gcc.gnu.org>
64
65 PR c++/65186
66 * pt.c (invalid_nontype_parm_type_p): Accept a bound template
67 template parm type under C++11 and later.
68
026c3cfd
AH
692015-07-12 Aldy Hernandez <aldyh@redhat.com>
70
71 * call.c: Fix double word typos.
72 * cp-array-notation.c: Same.
73 * cp-tree.h: Same.
74 * init.c: Same.
75 * name-lookup.c: Same.
76 * parser.c: Same.
77
c5540945
PP
782015-07-10 Patrick Palka <ppalka@gcc.gnu.org>
79
80 PR c++/30044
81 * pt.c (begin_template_parm_list): Add a dummy parameter level
82 to current_template_parms.
83 (end_template_parm_list): Remove the dummy parameter level
84 before adding the real one.
85 (tsubst): Don't attempt to substitute for template parameters
86 corresponding to a dummy argument level.
87 (template_parms_to_args): Remove obsolete hack for
88 giving template template arguments the proper level.
89 (splite_late_return_type): Remove obsolete hack for giving
90 template template arguments the proper level.
91 * error.c (dump_template_decl): Don't print dummy template
92 levels.
93
0a73242e
PC
942015-07-10 Paolo Carlini <paolo.carlini@oracle.com>
95
96 PR c++/54521
97 * call.c (convert_like_real): Do not set LOOKUP_ONLYCONVERTING for
98 the second step of copy-initialization.
99
55b467a0
JM
1002015-07-10 Jason Merrill <jason@redhat.com>
101
8de8fdb4
JM
102 * pt.c (find_parameter_packs_r): Handle variable templates.
103 (variable_template_specialization_p): New.
104 * cp-tree.h: Declare it.
105
55b467a0
JM
106 * parser.c (cp_parser_template_id): SET_EXPR_LOCATION.
107
bb49ee66
EB
1082015-07-10 Eric Botcazou <ebotcazou@adacore.com>
109
110 * decl2.c (cpp_check): Revert latest change.
111
5c4e8e5c
JM
1122015-07-09 Jason Merrill <jason@redhat.com>
113
1bf3fe3c
JM
114 * pt.c (instantiation_dependent_r) [TRAIT_EXPR]: Call
115 value_dependent_expression_p.
116
5c4e8e5c
JM
117 * cp-tree.h (struct cp_parameter_declarator): Rename ellipsis_p to
118 template_parameter_pack_p.
119 * parser.c (declarator_can_be_parameter_pack): False if
120 parameter_pack_p is set.
121 (make_parameter_declarator): Add template_parameter_pack_p parm.
122 (cp_parser_template_parameter): Remove parameter pack parsing.
123 (cp_parser_parameter_declaration): Handle all parameter packs.
124 Tweak default argument permerror.
125
2cc6d90e
AS
1262015-07-09 Andrew Sutton <andrew.n.sutton@gmail.com>
127
128 * parser.c (cp_parser_default_type_template_argument)
129 (cp_parser_default_template_template_argument): Factor out from
130 cp_parser_type_parameter.
131
09bae928
PC
1322015-07-09 Paolo Carlini <paolo.carlini@oracle.com>
133
134 * typeck.c (warn_args_num): Rename to error_args_num.
135 (convert_arguments): Adjust calls.
136
f51ade33
AM
1372015-07-09 Andrew MacLeod <amacleod@redhat.com>
138
139 * cp-ubsan.c: Don't include alloc-pool.h or lto-streamer.h.
140
a9dcd529
EB
1412015-07-08 Eric Botcazou <ebotcazou@adacore.com>
142
143 * decl2.c (cpp_check): Deal with IS_CONSTEXPR.
144
b03b462f
JJ
1452015-07-08 Jakub Jelinek <jakub@redhat.com>
146
147 * decl.c (grokfndecl): Handle flag_openmp_simd like flag_openmp.
148 * pt.c (apply_late_template_attributes): Likewise.
149
7b3bc1f3
MP
1502015-07-08 Marek Polacek <polacek@redhat.com>
151
152 PR c++/66748
153 * tree.c (handle_abi_tag_attribute): Check for CLASS_TYPE_P before
154 accessing TYPE_LANG_SPECIFIC node.
155
c7131fb2
AM
1562015-07-07 Andrew MacLeod <amacleod@redhat.com>
157
158 * call.c: Adjust includes.
159 * class.c: Likewise.
160 * constexpr.c: Likewise.
161 * cp-array-notation.c: Likewise.
162 * cp-gimplify.c: Likewise.
163 * cp-lang.c: Likewise.
164 * cp-objcp-common.c: Likewise.
165 * cp-ubsan.c: Likewise.
166 * cvt.c: Likewise.
167 * decl.c: Likewise.
168 * decl2.c: Likewise.
169 * dump.c: Likewise.
170 * error.c: Likewise.
171 * except.c: Likewise.
172 * expr.c: Likewise.
173 * friend.c: Likewise.
174 * init.c: Likewise.
175 * lambda.c: Likewise.
176 * lex.c: Likewise.
177 * mangle.c: Likewise.
178 * method.c: Likewise.
179 * name-lookup.c: Likewise.
180 * optimize.c: Likewise.
181 * parser.c: Likewise.
182 * pt.c: Likewise.
183 * ptree.c: Likewise.
184 * repo.c: Likewise.
185 * rtti.c: Likewise.
186 * search.c: Likewise.
187 * semantics.c: Likewise.
188 * tree.c: Likewise.
189 * typeck.c: Likewise.
190 * typeck2.c: Likewise.
191
2a7fb83f
EB
1922015-07-07 Eric Botcazou <ebotcazou@adacore.com>
193
194 * decl2.c (cpp_check): Deal with IS_MOVE_CONSTRUCTOR.
195
d762287d
JM
1962015-07-06 Jason Merrill <jason@redhat.com>
197
4366e1c0
JM
198 * pt.c (reduce_template_parm_level): Also build the TYPE_DECL
199 for a template template parameter.
200 (tsubst_decl) [TEMPLATE_DECL]: Use the TEMPLATE_DECL built
201 by reduce_template_parm_level.
202
d762287d
JM
203 * pt.c (argument_pack_element_is_expansion_p): A decl pack is an
204 expansion.
205
a426f31a
JM
2062015-07-02 Jason Merrill <jason@redhat.com>
207
208 PR c++/66743
209 * pt.c (for_each_template_parm_r) [UNDERLYING_TYPE]: Use
210 TYPE_VALUES_RAW rather than TYPE_FIELDS.
211
ee00eaea
AS
2122015-07-02 Andrew Sutton <andrew.n.sutton@gmail.com>
213
214 * pt.c (type_dependent_expression_p): Handle expressions
215 that refer to variable templates.
216
d68f848b
JM
2172015-07-01 Jason Merrill <jason@redhat.com>
218
36a85135
JM
219 * lex.c (init_reswords): s/CXX0X/CXX11/.
220 * parser.c (cp_lexer_get_preprocessor_token): Likewise.
221
a03c9bf1
JM
222 * mangle.c (write_CV_qualifiers_for_type, write_nested_name):
223 Attribute mangling is now -fabi-version=10.
224
d68f848b
JM
225 PR c++/65945
226 * decl.c (cxx_init_decl_processing): Set TYPE_ALIGN of nullptr_t.
227 * class.c (layout_nonempty_base_or_field): Warn if that affects
228 the offset of a field.
229
a31dc4e5
PC
2302015-07-01 Paolo Carlini <paolo.carlini@oracle.com>
231
232 PR c++/60365
233 * parser.c (cp_parser_check_std_attribute): New.
234 (cp_parser_std_attribute_list): Call it.
235
f58d5e06
PP
2362015-07-01 Patrick Palka <ppalka@gcc.gnu.org>
237
238 PR c++/66686
239 * pt.c (coerce_template_template_parm) [PARM_DECL]: Don't
240 return 0 if tsubst returns a dependent type.
241
3048c0c7
JM
2422015-06-30 Jason Merrill <jason@redhat.com>
243
47297e51
JM
244 PR debug/66653
245 * decl2.c (is_late_template_attribute): True for tls_model.
246
3048c0c7
JM
247 PR debug/66653
248 * cp-tree.h (CP_DECL_THREAD_LOCAL_P): New.
249 (DECL_GNU_TLS_P): Use DECL_LANG_SPECIFIC field.
250 (SET_DECL_GNU_TLS_P): New.
251 * call.c (make_temporary_var_for_ref_to_temp): Use
252 CP_DECL_THREAD_LOCAL_P.
253 (set_up_extended_ref_temp): Likewise.
254 * decl.c (duplicate_decls, expand_static_init): Likewise.
255 (redeclaration_error_message, grokvardecl): Likewise.
256 (start_decl, register_dtor_fn, grokdeclarator): Likewise.
257 * decl2.c (get_guard, var_needs_tls_wrapper): Likewise.
258 (handle_tls_init): Likewise.
259 * pt.c (tsubst_decl, tsubst_copy_and_build): Likewise.
260 * semantics.c (finish_id_expression): Likewise.
261 (handle_omp_array_sections_1, finish_omp_clauses): Likewise.
262 (finish_omp_threadprivate): Likewise.
263 * tree.c (decl_storage_duration): Likewise.
264 * cp-gimplify.c (omp_var_to_track): Likewise.
265 (cp_genericize_r): Check that it matches DECL_THREAD_LOCAL_P.
266 * lex.c (retrofit_lang_decl): Return if DECL_LANG_SPECIFIC is
267 already set.
268
fe95b036
ESR
2692015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
270
271 Implement N4197 - Adding u8 character literals
272 * parser.c (cp_parser_primary_expression()): Treat CPP_UTF8CHAR
273 and CPP_UTF8CHAR_USERDEF tokens;
274 (cp_parser_parenthesized_expression_list()): Treat CPP_UTF8CHAR token.
275
71506d41
PC
2762015-06-29 Paolo Carlini <paolo.carlini@oracle.com>
277
278 PR c++/65977
279 * decl.c (grokfndecl): Allow constexpr declarations of friend
280 template specializations.
281
da2e71c9
MLI
2822015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
283
284 PR fortran/66605
285 * decl.c (finish_function): Call do_warn_unused_parameter.
286
b155cfd9
MP
2872015-06-29 Marek Polacek <polacek@redhat.com>
288
289 PR c/66322
290 * decl.c (struct cp_switch): Add OUTSIDE_RANGE_P.
291 (push_switch): Set OUTSIDE_RANGE_P.
292 (pop_switch): Update c_do_switch_warnings call.
293 (finish_case_label): Update c_add_case_label call.
294 * semantics.c (finish_switch_cond): Don't warn about -Wswitch-bool
295 here.
296
b55b02ea
MP
2972015-06-27 Marek Polacek <polacek@redhat.com>
298
299 * call.c: Use VECTOR_TYPE_P.
300 * constexpr.c: Likewise.
301 * cvt.c: Likewise.
302 * decl.c: Likewise.
303 * decl2.c: Likewise.
304 * init.c: Likewise.
305 * semantics.c: Likewise.
306 * tree.c: Likewise.
307 * typeck.c: Likewise.
308 * typeck2.c: Likewise.
309
56a6f1d3
MP
3102015-06-27 Marek Polacek <polacek@redhat.com>
311
312 * call.c (set_up_extended_ref_temp): Use VAR_P.
313 * class.c: Use VAR_P throughout.
314 * constexpr.c (cxx_eval_constant_expression): Use VAR_P.
315 * cp-array-notation.c (make_triplet_val_inv): Likewise.
316 * decl.c: Use VAR_OR_FUNCTION_DECL_P or VAR_P
317 throughout.
318 * decl2.c: Likewise.
319 * error.c (dump_decl): Use VAR_P.
320 * mangle.c (decl_implicit_alias_p): Likewise.
321 * parser.c: Use VAR_P throughout.
322 * pt.c: Likewise.
323 * semantics.c: Likewise.
324 * vtable-class-hierarchy.c: Likewise.
325 * tree.c (handle_abi_tag_attribute): Use VAR_OR_FUNCTION_DECL_P.
326
e1cc2355
AS
3272015-06-27 Andreas Schwab <schwab@linux-m68k.org>
328
329 * pt.c (check_unstripped_args): Mark parameter as unused.
330
7457279b
JM
3312015-06-26 Jason Merrill <jason@redhat.com>
332
e0ff153d
JM
333 PR c++/66216
334 * class.c (finish_struct): Call fixup_attribute_variants.
335
9579e906
JM
336 PR c++/66684
337 * typeck2.c (merge_exception_specifiers): Allow different
338 noexcept-specifiers if we've had errors.
339
7498239e
JM
340 PR c++/66255
341 * pt.c (check_unstripped_args): Split out from...
342 (retrieve_specialization): ...here. Allow typedefs in the type of
343 a non-type argument.
344
d15364ce
JM
345 PR c++/66067
346 * mangle.c (write_nested_name): Limit TYPENAME_TYPE handling to
347 TYPE_DECLs.
348 * mangle.c (write_template_args): Handle 0 length TREE_VEC.
349
7457279b
JM
350 PR c++/66654
351 * typeck2.c (digest_init_r): Only expect reshaping if the class is
352 aggregate.
353
311bd4d8
MP
3542015-06-26 Marek Polacek <polacek@redhat.com>
355
356 * cp-array-notation.c (expand_sec_reduce_builtin): Use INDIRECT_REF_P.
357 * cp-ubsan.c (cp_ubsan_check_member_access_r): Likewise.
358
f0889939
AM
3592015-06-25 Andrew MacLeod <amacleod@redhat.com>
360
361 * call.c: Remove ipa-ref.h and plugin-api.h from include list.
362 * class.c: Likewise.
363 * cp-ubsan.c: Likewise.
364 * decl.c: Likewise.
365 * decl2.c: Likewise.
366 * lambda.c: Likewise.
367 * mangle.c: Likewise.
368 * method.c: Likewise.
369 * optimize.c: Likewise.
370 * parser.c: Likewise.
371 * semantics.c: Likewise.
372 * tree.c: Likewise.
373 * vtable-class-hierarchy.c: Likewise.
374
ca752f39
RS
3752015-06-25 Richard Sandiford <richard.sandiford@arm.com>
376
377 * constexpr.c (constexpr_fundef_hasher): Inherit from ggc_ptr_hash
378 rather than ggc_hasher.
379 (constexpr_call_hasher): Likewise.
380 * cp-tree.h (cxx_int_tree_map_hasher, named_label_hasher): Likewise.
381 * decl.c (typename_hasher): Likewise.
382 * mangle.c (conv_type_hasher): Likewise.
383 * pt.c (spec_hasher): Likewise.
384 * tree.c (cplus_array_hasher, list_hasher): Likewise.
385 * typeck2.c (abstract_type_hasher): Likewise.
386
8d67ee55
RS
3872015-06-25 Richard Sandiford <richard.sandiford@arm.com>
388
389 * class.c (fixed_type_or_null_ref_ht): Inherit from nofree_ptr_hash
390 rather than pointer_hash.
391 (fixed_type_or_null): Use nofree_ptr_hash instead of pointer_hash.
392 * semantics.c (nrv_data): Likewise.
393 * tree.c (verify_stmt_tree_r, verify_stmt_tree): Likewise.
394
024f2d89
JM
3952015-06-24 Jason Merrill <jason@redhat.com>
396
e6d61513
JM
397 PR c++/66647
398 * pt.c (dependent_type_p_r): Check for dependent alias template
399 specialization sooner.
400
024f2d89
JM
401 PR c++/66501
402 * class.c (type_has_nontrivial_assignment): Remove.
403 * cp-tree.h: Remove declaration.
404 * init.c (vec_copy_assign_is_trivial): New.
405 (build_vec_init): Use it.
406
e79fc3d4
ESR
4072015-06-24 Edward Smith-Rowland <3dw4rd@verizon.net>
408
409 Implement N3928 - Extending static_assert
410 * parser.c (cp_parser_static_assert): Support static_assert with
411 no message string. Supply an empty string in this case.
412 * semantics.c (finish_static_assert): Don't try to print a message if
413 the message strnig is empty.
414
aa97bb6f
AB
4152015-06-24 Adam Butcher <adam@jessamine.co.uk>
416
417 PR c++/65750
418 * parser.c (cp_parser_simple_type_specifier): Don't synthesize
419 implicit template parm if 'auto' is a placeholder for trailing
420 return type.
421
7af8ef58
PP
4222015-06-24 Patrick Palka <ppalka@gcc.gnu.org>
423
424 Revert:
425 2015-06-23 Patrick Palka <ppalka@gcc.gnu.org>
426
427 PR c++/30044
428 * parser.c (cp_parser_template_parameter_list): Update
429 current_template_parms right after processing a paramater.
430 * pt.c (template_parms_to_args): Remove obsolete hack for
431 giving template template arguments the proper level.
432 (check_default_tmpl_args): Account for tested template
433 parameter_lists.
434 (splite_late_return_type): Remove obsolete hack for giving
435 template template arguments the proper level.
436
72e839ca
PC
4372015-06-24 Paolo Carlini <paolo.carlini@oracle.com>
438
439 PR c++/65811
440 * decl.c (duplicate_decls): Adjust DECL_COMDAT of newdecl.
441
1a8f8908
PP
4422015-06-23 Patrick Palka <ppalka@gcc.gnu.org>
443
6c4ed521 444 PR c++/30044
1a8f8908
PP
445 * parser.c (cp_parser_template_parameter_list): Update
446 current_template_parms right after processing a paramater.
447 * pt.c (template_parms_to_args): Remove obsolete hack for
448 giving template template arguments the proper level.
449 (check_default_tmpl_args): Account for tested template
450 parameter_lists.
451 (splite_late_return_type): Remove obsolete hack for giving
452 template template arguments the proper level.
453
d4c9e7f9
JM
4542015-06-23 Jason Merrill <jason@redhat.com>
455
d88511ae
JM
456 PR c++/65879
457 * decl.c (grokfndecl): Check the linkage of ctype, not just
458 TYPE_ANONYMOUS_P.
459 * tree.c (no_linkage_check): Skip the 'this' pointer.
460
115ef7c5
JM
461 PR c++/66501
462 * class.c (type_has_nontrivial_assignment): New.
463 * init.c (build_vec_init): Use it.
464 * cp-tree.h: Declare it.
465 * method.c (trivial_fn_p): Templates aren't trivial.
466
d4c9e7f9
JM
467 PR c++/66542
468 * decl.c (expand_static_init): Make sure the destructor is callable
469 here even if we have an initializer.
470
6935a923
PMR
4712015-06-04 Pierre-Marie de Rodat <derodat@adacore.com>
472
473 * lang-specs.h: Pass "-o %g.s" to cc1plus for headers even if
474 -fdump-ada-spec is passed.
475
c6a2f2d9
PMR
4762015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
477
478 * decl2.c (cpp_check): Deal with HAS_DEPENDENT_TEMPLATE_ARGS.
479
ea663be9
PC
4802015-06-22 Paolo Carlini <paolo.carlini@oracle.com>
481
482 * decl.c (grokdeclarator): Use declspecs->locations[ds_virtual].
483
4842015-06-22 Paolo Carlini <paolo.carlini@oracle.com>
485
486 * decl.c (grokdeclarator): Remove pointless code.
487
e8a3c597
JM
4882015-06-22 Jason Merrill <jason@redhat.com>
489
490 PR c++/66515
491 * call.c (implicit_conversion): Only reshape for classes.
492
6b4db501
MM
4932015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
494
495 * pt.c (maybe_adjust_types_for_deduction): Use std::swap instead of
496 manually swapping.
497 * semantics.c (finish_omp_atomic): Likewise.
498 * typeck.c (cp_build_array_ref): Likewise.
499
cd95a0d5
MM
5002015-06-20 Mikhail Maltsev <maltsevm@gmail.com>
501
502 PR c++/65882
503 * call.c (build_new_op_1): Check tf_warning flag in all cases.
504
1539357d 5052015-06-19 Jason Merrill <jason@redhat.com>
2ddf4350
JM
506
507 PR c++/66585
508 * pt.c (instantiate_class_template_1): Clear
509 cp_unevaluated_operand and c_inhibit_evaluation_warnings.
510
62245e6f
JM
511 PR c++/65880
512 * decl.c (build_ptrmemfunc_type): Check TYPE_GET_PTRMEMFUNC_TYPE after
513 cv-qualifiers.
514 * typeck.c (merge_types): build_ptrmemfunc_type before applying
515 quals and attributes.
516
30ac6e80
JM
517 PR c++/65973
518 * constexpr.c (build_constexpr_constructor_member_initializers):
519 Handle an empty STATEMENT_LIST.
520
892562cf
JM
521 PR c++/65843
522 * pt.c (tsubst_copy_and_build): Register a capture proxy in
523 local_specializations.
524
769430b2
JM
5252015-06-17 Jason Merrill <jason@redhat.com>
526
527 PR c++/66001
528 * constexpr.c (cxx_eval_constant_expression): Handle TRY_BLOCK and
529 TRY_FINALLY_EXPR.
530 (potential_constant_expression_1): Likewise.
531
9fa6ffe1
JM
5322015-06-17 Jason Merrill <jason@redhat.com>
533
534 PR c++/66515
535 * call.c (implicit_conversion): Call reshape_init here, early.
536 (build_aggr_conv): Not here.
537
64b5fcfa
JJ
5382015-06-17 Jakub Jelinek <jakub@redhat.com>
539
540 PR c++/66571
cc63a7fa
JJ
541 * pt.c (tsubst_omp_clause_decl): New function.
542 (tsubst_omp_clauses): Use it or tsubst_copy instead of
543 tsubst_expr on OMP_CLAUSE_DECL.
64b5fcfa 544
ee47f74e
AM
5452015-06-17 Andrew MacLeod <amacleod@redhat.com>
546
547 * cp-lang.c (cxx_dwarf_name): Use anon_aggrname_p.
548 * cp-tree.h (TYPE_ANONYMOUS_P): Likewise.
549 * decl.c (grokdeclarator, xref_tag_1): Likewise.
550 * error.c (dump_aggr_type): likewise.
551 * pt.c (push_template_decl_real): Likewise.
552 * name-lookup.c (make_anon_name): Use anon_aggrname_format.
553
abb226c9
AM
5542015-06-17 Andrew MacLeod <amacleod@redhat.com>
555
556 * call.c: Do not include input.h, line-map.h or is-a.h.
557 * class.c: Likewise.
558 * constexpr.c: Likewise.
559 * cp-array-notation.c: Likewise.
560 * cp-gimplify.c: Likewise.
561 * cp-lang.c: Likewise.
562 * cp-objcp-common.c: Likewise.
563 * cp-tree.h: Likewise.
564 * cp-ubsan.c: Likewise.
565 * cvt.c: Likewise.
566 * decl.c: Likewise.
567 * decl2.c: Likewise.
568 * dump.c: Likewise.
569 * error.c: Likewise.
570 * except.c: Likewise.
571 * expr.c: Likewise.
572 * friend.c: Likewise.
573 * init.c: Likewise.
574 * lambda.c: Likewise.
575 * lex.c: Likewise.
576 * mangle.c: Likewise.
577 * method.c: Likewise.
578 * name-lookup.c: Likewise.
579 * optimize.c: Likewise.
580 * parser.c: Likewise.
581 * pt.c: Likewise.
582 * ptree.c: Likewise.
583 * repo.c: Likewise.
584 * rtti.c: Likewise.
585 * search.c: Likewise.
586 * semantics.c: Likewise.
587 * tree.c: Likewise.
588 * typeck.c: Likewise.
589 * typeck2.c: Likewise.
590 * vtable-class-hierarchy.c: Likewise.
591
ba394ca6
PC
5922015-06-16 Paolo Carlini <paolo.carlini@oracle.com>
593
594 PR c++/59682
595 * parser.c (cp_parser_new_placement): Reject an empty expression-list.
596
63d02f05
JM
5972015-06-16 Jason Merrill <jason@redhat.com>
598
7599760d
JM
599 PR c++/66536
600 * tree.c (replace_placeholders_r) [CONSTRUCTOR]: Handle type
601 mismatch.
602
2ed4c029
JM
603 PR c++/58063
604 * tree.c (bot_manip): Remap SAVE_EXPR.
605
63d02f05
JM
606 PR c++/66387
607 * pt.c (tsubst_copy) [VAR_DECL]: Use process_outer_var_ref.
608
04eca83e
NS
6092015-06-15 Nathan Sidwell <nathan@acm.org>
610
611 PR c++/58583
612 * cp-tree.h (DECL_INSTANTIATING_NSDMI_P): New.
613 * init.c (get_nsdmi): Check for DEFAULT_ARG in template case and
614 protect it from recursive instantiation.
615
f92c7426
PC
6162015-06-15 Paolo Carlini <paolo.carlini@oracle.com>
617
618 PR c++/51048
619 * decl2.c (no_linkage_error): Do not issue a permerror if the DECL
620 using a local type is pure virtual.
621
6feffb3a
PP
6222015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
623
624 * call.c: Remove comment documenting the long-deleted
625 function build_method_call.
626
076fecad
PP
6272015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
628
629 PR c++/65168
630 * typeck.c (cp_build_binary_op): Warn when comparing an address
631 of a reference against NULL.
632
350562a7
JM
6332015-06-12 Jason Merrill <jason@redhat.com>
634
635 PR c++/65719
636 * pt.c (tsubst_decl) [VAR_DECL]: Mark namespace-scope
637 variables as DECL_NOT_REALLY_EXTERN.
638
acb2970c
JM
6392015-06-11 Jason Merrill <jason@redhat.com>
640
133bc698
JM
641 PR c++/66445
642 * constexpr.c (potential_constant_expression_1): Handle a
643 DECL_EXPR of TYPE_DECL.
644
acb2970c
JM
645 PR c++/66450
646 * constexpr.c (cxx_eval_store_expression): Avoid messing up outer
647 ctx->ctor.
648
a0349665
PMR
6492015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
650
651 * decl.c (cxx_init_decl_processing): Register the main
652 translation unit through the new debug hook.
653
1a4cd2cd
JM
6542015-06-10 Jason Merrill <jason@redhat.com>
655
656 PR c++/66289
657 * cp-tree.h (TEMPLATE_DECL_COMPLEX_ALIAS_P): New.
658 * pt.c (push_template_decl_real): Set it.
659 (dependent_alias_template_spec_p): Use it.
660 (dependent_type_p_r): Use dependent_alias_template_spec_p.
661 (uses_all_template_parms_data, uses_all_template_parms_r)
662 (complex_alias_template_p): New.
663 (get_template_parm_index): Handle BOUND_TEMPLATE_TEMPLATE_PARM.
664
5af874fb
JM
6652015-06-09 Jason Merrill <jason@redhat.com>
666
34f42d7b
JM
667 DR 1467
668 PR c++/51747
669 * typeck2.c (digest_init_r): Replace previous change with
670 gcc_unreachable.
671
5af874fb
JM
672 PR c++/66387
673 * semantics.c (process_outer_var_ref): Make sure the value is
674 actually constant before returning it.
675 * typeck.c (cp_build_array_ref): Allow subscripting non-lvalue
676 array.
677
ebcf592c
PC
6782015-06-09 Paolo Carlini <paolo.carlini@oracle.com>
679
680 PR c++/65815
681 * typeck2.c (digest_nsdmi_init): On aggregates use reshape_init.
682 * init.c (expand_default_init): Likewise.
683
6a9263f7
JM
6842015-06-09 Jason Merrill <jason@redhat.com>
685
686 PR c++/66383
687 * tree.c (replace_placeholders_r): Handle placeholders for an
688 outer object.
689 * typeck2.c (store_init_value): Only replace_placeholders for
690 objects of class type.
691
13fdf2e2
AM
6922015-06-08 Andrew MacLeod <amacleod@redhat.com>
693
694 * call.c : Adjust include files.
695 * class.c : Likewise.
696 * constexpr.c : Likewise.
697 * cp-array-notation.c : Likewise.
698 * cp-cilkplus.c : Likewise.
699 * cp-gimplify.c : Likewise.
700 * cp-lang.c : Likewise.
701 * cp-objcp-common.c : Likewise.
702 * cp-tree.h : Likewise.
703 * cp-ubsan.c : Likewise.
704 * cvt.c : Likewise.
705 * decl.c : Likewise.
706 * decl2.c : Likewise.
707 * dump.c : Likewise.
708 * error.c : Likewise.
709 * except.c : Likewise.
710 * expr.c : Likewise.
711 * friend.c : Likewise.
712 * init.c : Likewise.
713 * lambda.c : Likewise.
714 * lex.c : Likewise.
715 * mangle.c : Likewise.
716 * method.c : Likewise.
717 * name-lookup.c : Likewise.
718 * optimize.c : Likewise.
719 * parser.c : Likewise.
720 * pt.c : Likewise.
721 * ptree.c : Likewise.
722 * repo.c : Likewise.
723 * rtti.c : Likewise.
724 * search.c : Likewise.
725 * semantics.c : Likewise.
726 * tree.c : Likewise.
727 * typeck.c : Likewise.
728 * typeck2.c : Likewise.
729 * vtable-class-hierarchy.c : Likewise.
730
85d9a299
JM
7312015-06-05 Jason Merrill <jason@redhat.com>
732
39f383b7
JM
733 PR c++/66405
734 * pt.c (argument_pack_element_is_expansion_p): Return 2 if
735 the expansion has extra args.
736 (use_pack_expansion_extra_args_p): Return true in that case.
737
85d9a299
JM
738 PR c++/66405
739 * pt.c (type_dependent_expression_p): EXPR_PACK_EXPANSION is
740 dependent even if it has a type.
741
d7438551
AH
7422015-06-05 Aldy Hernandez <aldyh@redhat.com>
743
744 * cp-objcp-common.c: Adjust comment for
745 cxx_warn_unused_global_decl.
746 * cp-objcp-common.h (LANG_HOOKS_WRITE_GLOBALS): Remove
747 (LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New.
748 * cp-tree.h (note_mangling_alias): Protoize.
749 (cp_write_global_declarations): Remove.
750 (cxx_post_compilation_parsing_cleanups): Protoize.
751 * decl.c (wrapup_globals_for_namespace): Remove use of DATA
752 argument.
753 * decl2.c (mangling_aliases): New global.
754 (build_java_method_aliases): New. Adapted from
755 collect_candidates_for_java_method_aliases.
756 (collect_candidates_for_java_method_aliases): Remove.
757 (build_java_method_aliases): Remove.
758 (generate_mangling_aliases): New.
759 (note_mangling_alias): New. Moved from mangle_decl.
760 (locus_at_end_of_parsing): New global.
761 (c_parse_final_cleanups): Rename from
762 cp_write_global_declarations.
763 Use locus_at_end_of_parsing.
764 Call generate_mangling_aliases.
765 Rename call to collect_candidates_for_java_method_aliases into
766 build_java_method_aliases.
767 Remove call to finalize_compilation_unit.
768 Move vtable handling into cxx_post_compilation_parsing_cleanups.
769 Do not call check_global_declarations or
770 emit_debug_global_declarations.
771 (cxx_post_compilation_parsing_cleanups): New.
772 * mangle.c (mangle_decl): Move code to note_mangling_alias.
773 * name-lookup.c (do_namespace_alias): Call early_global_decl.
774
ac59f9be
NS
7752015-06-05 Nathan Sidwell <nathan@acm.org>
776
777 PR c++/52595
778 * parser.c (cp_parser_cache_defarg): Continue looking for
779 declarators when scanning a potential template argument list of an
780 NSDMI.
781
ecb9f223
AM
7822015-06-04 Andrew MacLeod <amacleod@redhat.com>
783
784 * call.c: Adjust includes for restructured coretypes.h.
785 * class.c: Likewise.
786 * constexpr.c: Likewise.
787 * cp-array-notation.c: Likewise.
788 * cp-gimplify.c: Likewise.
789 * cp-lang.c: Likewise.
790 * cp-objcp-common.c: Likewise.
791 * cp-tree.h: Likewise.
792 * cp-ubsan.c: Likewise.
793 * cvt.c: Likewise.
794 * decl.c: Likewise.
795 * decl2.c: Likewise.
796 * dump.c: Likewise.
797 * error.c: Likewise.
798 * except.c: Likewise.
799 * expr.c: Likewise.
800 * friend.c: Likewise.
801 * init.c: Likewise.
802 * lambda.c: Likewise.
803 * lex.c: Likewise.
804 * mangle.c: Likewise.
805 * method.c: Likewise.
806 * name-lookup.c: Likewise.
807 * optimize.c: Likewise.
808 * parser.c: Likewise.
809 * pt.c: Likewise.
810 * ptree.c: Likewise.
811 * repo.c: Likewise.
812 * rtti.c: Likewise.
813 * search.c: Likewise.
814 * semantics.c: Likewise.
815 * tree.c: Likewise.
816 * typeck.c: Likewise.
817 * typeck2.c: Likewise.
818 * vtable-class-hierarchy.c: Likewise.
819
e93ca5ca
RR
8202015-06-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
821
822 PR c++/66192
823 PR target/66200
824 * cp-tree.h (get_guard_cond): Adjust declaration
825 * decl.c (expand_static_init): Use atomic load acquire
826 and adjust call to get_guard_cond.
827 * decl2.c (build_atomic_load_byte): New function.
828 (get_guard_cond): Handle thread_safety.
829 (one_static_initialization_or_destruction): Adjust call to
830 get_guard_cond.
831
1cc1ac7f
JM
8322015-06-03 Jason Merrill <jason@redhat.com>
833
834 PR c++/44282
835 * mangle.c (mangle_decl): Always SET_IDENTIFIER_GLOBAL_VALUE.
836 (write_CV_qualifiers_for_type): Set G.need_abi_warning.
837 (decl_implicit_alias_p): Split out from maybe_remove_implicit_alias.
838 * cp-tree.h (DECL_REALLY_EXTERN): Handle null DECL_LANG_SPECIFIC.
839
d3ea4c06
MLI
8402015-06-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
841 Paolo Carlini <paolo.carlini@oracle.com>
842
843 PR c++/66130
844 * typeck.c (invalid_nonstatic_memfn_p): Add location_t parameter and
845 use it in the diagnostic.
846 (decay_conversion): Adjust call.
847 * semantics.c (finish_decltype_type): Likewise.
848 * call.c (resolve_args, build_new_op_1,
849 perform_implicit_conversion_flags): Adjust calls.
850 * cvt.c (ocp_convert, convert_to_void): Likewise.
851 * cp-tree.h (invalid_nonstatic_memfn_p): Update declaration.
852
4753e009
PC
8532015-06-03 Paolo Carlini <paolo.carlini@oracle.com>
854
855 * decl.c (check_tag_decl): Use declspecs->locations as locations in
856 error_at and warning_at calls.
857
7b3a9795
MP
8582015-06-03 Marek Polacek <polacek@redhat.com>
859
860 PR sanitizer/66190
861 * cp-gimplify.c (struct cp_genericize_data): Add no_sanitize_p.
862 (cp_genericize_r): Don't instrument static initializers.
863 (cp_genericize_tree): Initialize wtd.no_sanitize_p.
864
ea5b45b6
AT
8652015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
866
867 * decl.c (start_function): Call plugin before parsing.
868 (finish_function): Call plugin after parsing.
869
5d58db82
PP
8702015-06-02 Patrick Palka <patrick@parcs.ath.cx>
871
872 * cp-tree.h (init_error): Remove declaration.
873 * error.c (scratch_pretty_printer): Rename to ...
874 (actual_pretty_printer): ... this.
875 (cxx_pp): Constify and update accordingly.
876 (init_error): Remove definition.
877 * lex.c (cxx_init): Do not call init_error.
878
a983abd2
PC
8792015-06-02 Paolo Carlini <paolo.carlini@oracle.com>
880
881 PR c++/61683
882 * parser.c (cp_parser_mem_initializer): Allow for decltype-specifier.
883
603eaec4
JM
8842015-06-01 Jason Merrill <jason@redhat.com>
885
81371eff
JM
886 PR c++/65942
887 * decl2.c (mark_used): Don't always instantiate constexpr fns.
888 * constexpr.c (cxx_eval_call_expression): Instantiate them here.
889
603eaec4
JM
890 PR c++/44282
891 * mangle.c (attr_strcmp): New.
892 (write_CV_qualifiers_for_type): Also write out attributes that
893 affect type identity.
894 (write_type): Strip all attributes after writing qualifiers.
895
6ad6af49
JM
8962015-05-31 Jason Merrill <jason@redhat.com>
897
255a48d6
JM
898 * constexpr.c (cxx_eval_indirect_ref): Try folding first.
899
6ad6af49
JM
900 PR c++/66320
901 * constexpr.c (cxx_eval_constant_expression): Treat a placeholder
902 with the wrong type as non-constant.
903
f4252989
JM
9042015-05-27 Jason Merrill <jason@redhat.com>
905
cba16cca
JM
906 * decl.c (check_redeclaration_exception_specification): Depend on
907 -Wsystem-headers rather than -pedantic.
908
f4252989
JM
909 * decl.c (warn_extern_redeclared_static): Use the location of
910 newdecl in diagnostics, not input_location.
911 (validate_constexpr_redeclaration): Likewise.
912 (check_redeclaration_no_default_args): Likewise.
913 (duplicate_decls): Likewise.
914 (check_redeclaration_exception_specification): Likewise.
915 Change second diagnostic to inform.
916
6f2d72e0
NS
9172015-05-24 Nathan Sidwell <nathan@acm.org>
918
919 PR c++/66243
920 * decl.c (build_enumerator): Don't silently convert scoped enums.
921
9222015-05-24 Jan Hubicka <hubicka@ucw.cz>
233ce289
JH
923
924 PR lto/66180
925 * mangle.c (mangle_decl): Mangle anonymous namespace types as
926 "<anon>".
927
84a3423b
NS
9282015-05-23 Nathan Sidwell <nathan@acm.org>
929
930 PR c++/65936
931 * pt.c (lookup_template_class_1): Copy may_alias attribute too.
932
a95492ab
JW
9332015-05-22 Jim Wilson <jim.wilson@linaro.org>
934
935 * Make-lang.in (check_g++_parallelize): Update comment.
936
320d13ec
PC
9372015-05-22 Paolo Carlini <paolo.carlini@oracle.com>
938
939 PR c++/65598
940 * decl.c (grokdeclarator): Use the correct location in error
941 messages about 'explicit'.
942
fd5c817a
MP
9432015-05-22 Marek Polacek <polacek@redhat.com>
944 Edward Smith-Rowland <3dw4rd@verizon.net>
945
946 PR c/47043
947 * cp-tree.h (build_enumerator): Update declaration.
948 * decl.c (build_enumerator): Add attributes parameter. Call
949 cplus_decl_attributes.
950 * init.c (constant_value_1): Pass tf_none to mark_used.
951 * parser.c (cp_parser_enumerator_definition): Parse attributes and
952 pass them down to build_enumerator.
953 * pt.c (tsubst_enum): Pass decl attributes to build_enumerator.
954 * semantics.c (finish_id_expression): Don't warn_deprecated_use here.
955
9ab2fcc1
NS
9562015-05-21 Nathan Sidwell <nathan@acm.org>
957
958 PR c++/60943
959 * decl2.c (change_return_type): Propagate FUNCTION_REF_QUALIFIED.
960
6b6dd1aa
MP
9612015-05-21 Marek Polacek <polacek@redhat.com>
962
963 * typeck.c (warn_args_num): Don't print "declare here" for builtins.
964
12101053
JM
9652015-05-20 Jason Merrill <jason@redhat.com>
966
226a93b7
JM
967 * pt.c (tsubst_decl) [VAR_DECL]: SET_DECL_IMPLICIT_INSTANTIATION
968 before register_specialization.
969
12101053
JM
970 * decl.c (grok_op_properties): Don't complain about size_t
971 placement delete here.
972 * call.c (second_parm_is_size_t): Split out from...
973 (non_placement_deallocation_fn_p): ...here.
974 (build_op_delete_call): Warn about size_t placement delete with
975 -Wc++14-compat.
976
9ab2fcc1 9772015-05-19 Nathan Sidwell <nathan@acm.org>
09b59d4d
NS
978
979 PR c++/65954
980 * typeck.c (finish_class_member_access_expr): Diagnose failed
981 lookup of enum class member.
982
41b37d5e
JJ
9832015-05-19 Jakub Jelinek <jakub@redhat.com>
984
985 PR middle-end/66199
986 * parser.c (cp_parser_omp_for_loop): Don't add
987 OMP_CLAUSE_SHARED to OMP_PARALLEL_CLAUSES when moving
988 OMP_CLAUSE_LASTPRIVATE clause to OMP_FOR_CLAUSES.
989 (cp_parser_omp_teams): Set OMP_TEAMS_COMBINED for combined
990 constructs.
991
fab27f52
MM
9922015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
993
994 * typeck.c (composite_pointer_type): Use std::swap instead of explicit
995 swaps.
996
80f1c14d
JM
9972015-05-18 Jason Merrill <jason@redhat.com>
998
f41aecf4
JM
999 * pt.c (retrieve_specialization): Make sure our arguments have
1000 gone through strip_typedefs.
1001
b237c4cb
JM
1002 * pt.c (tsubst_decl) [VAR_DECL]: Call coerce_innermost_template_parms.
1003 (determine_specialization): Call coerce_template_parms.
1004
c4d6d7bc
JM
1005 DR 1391
1006 * pt.c (type_unification_real): Check convertibility here.
1007 (unify_one_argument): Not here.
1008
8f56fadc
JM
1009 * tree.c (strip_typedefs_expr) [TRAIT_EXPR]: Fix typo.
1010 (strip_typedefs) [DECLTYPE_TYPE]: Fix typedef of decltype.
1011 [TREE_LIST]: Fix no-change case.
1012
80f1c14d
JM
1013 * ptree.c (cxx_print_xnode): Handle TRAIT_EXPR.
1014
40de31cf
MLI
10152015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
1016
1017 PR fortran/44054
1018 * error.c (cp_diagnostic_starter): Use diagnostic_location
1019 function.
1020 (cp_print_error_function): Likewise.
1021 (cp_printer): Replace locus pointer with accessor function.
1022
c3388e62
DM
10232015-05-12 David Malcolm <dmalcolm@redhat.com>
1024
1025 * parser.c (cp_parser_selection_statement): Add location and
1026 guard_kind arguments to calls to
1027 cp_parser_implicitly_scoped_statement.
1028 (cp_parser_iteration_statement): Likewise for calls to
1029 cp_parser_already_scoped_statement.
1030 (cp_parser_implicitly_scoped_statement): Add "guard_loc" and
1031 "guard_kind" params; use them to warn for misleading
1032 indentation.
1033 (cp_parser_already_scoped_statement): Likewise.
1034
5ce039df
JH
10352015-05-11 Jan Hubicka <hubicka@ucw.cz>
1036
1037 * class.c (fixup_type_variants): Do not copy TYPE_METHODS
1038 (one_inheriting_sig): Assert tat we always set TYPE_METHODS of main variant.
1039 * semantics.c (finish_member_declaration): Likewise.
1040 * method.c (lazily_declare_fn): Allways add method to main variant list.
1041
a31765ef
AH
10422015-05-09 Aldy Hernandez <aldyh@redhat.com>
1043
1044 PR bootstrap/66085
1045 * decl2.c (note_mangling_alias): Declare arguments as unused.
1046
765189ff
JM
10472015-05-08 Jason Merrill <jason@redhat.com>
1048
1049 * cp-gimplify.c, parser.c: Adjust to -Wc++11-compat replacing
1050 -Wc++0x-compat.
1051
613aba20
JM
10522015-05-08 Jason Merrill <jason@redhat.com>
1053
1054 * decl2.c (mangling_aliases): New variable.
1055 (note_mangling_alias, generate_mangling_aliases): New.
1056 (cp_write_global_declarations): Call generate_mangling_aliases.
1057 (generate_mangling_alias): Split out from...
1058 * mangle.c (mangle_decl): ...here.
1059 * cp-tree.h: Declare note_mangling_alias.
1060
09c5f835
AH
10612015-05-08 Aldy Hernandez <aldyh@redhat.com>
1062
1063 * decl2.c (collect_candidates_for_java_method_aliases): Remove.
1064 (build_java_method_aliases): Adapt to use create_same_body_alias
1065 instead of assemble_alias. Move variable declarations to
1066 definition and tidy up.
1067 (cp_write_global_declarations): Call build_java_method_aliases
1068 instead of collecting candidates first.
1069
90f11cf9
JM
10702015-05-07 Jason Merrill <jason@redhat.com>
1071
1072 PR c++/59012
1073 * parser.c (cp_parser_std_attribute_list): Handle attribute expansion.
1074 (cp_parser_std_attribute_spec): Handle alignas pack expansion.
1075 * decl2.c (is_late_template_attribute): An attribute exp is dependent.
1076 * pt.c (make_pack_expansion): Allow TREE_LIST for attribute expansion.
1077 (apply_late_template_attributes): Handle attribute pack expansion.
1078
0173bd2a
MP
10792015-05-07 Marek Polacek <polacek@redhat.com>
1080
1081 PR c/65179
1082 * typeck.c (cp_build_binary_op): Warn when left shifting a negative
1083 value.
1084
d5449acf
JM
10852015-05-07 Jason Merrill <jason@redhat.com>
1086
1087 DR 1467
1088 PR c++/51747
1089 * typeck2.c (digest_init_r): Fix single element list.
1090
b8dd6913
JM
10912015-05-05 Jason Merrill <jason@redhat.com>
1092
8243e2a9
JM
1093 * cp-gimplify.c (cp_genericize_r): Track TRY_BLOCK and
1094 MUST_NOT_THROW_EXPR, warn about a THROW_EXPR directly within a
1095 MUST_NOT_THROW_EXPR.
1096 (cp_genericize_data): Add try_block field.
1097 (cp_genericize_tree): Initialize it.
1098 * except.c (expand_end_catch_block): Set TREE_NO_WARNING on
1099 implicit rethrow.
1100
81b6a6c5
JM
1101 * constexpr.c (potential_constant_expression_1) [AT_ENCODE_EXPR]:
1102 Return false.
1103
32ad49af
JM
1104 * semantics.c (finish_call_expr): Check complain.
1105
15ed2619
JM
1106 * decl2.c (reset_type_linkage_2): Update the DECL_NAME of a
1107 maybe-in-charge constructor.
1108
f8aa3dd3
JM
1109 * decl.c (start_decl): Don't push the plain VAR_DECL for a
1110 variable template.
1111
b8dd6913
JM
1112 DR 1518
1113 DR 1630
1114 PR c++/54835
1115 PR c++/60417
1116 * call.c (convert_like_real): Check value-initialization before
1117 explicit.
1118 * typeck2.c (process_init_constructor_record): Don't set
1119 CONSTRUCTOR_IS_DIRECT_INIT.
1120 (process_init_constructor_array): Likewise.
1121 * init.c (build_vec_init): Likewise.
1122
21c0a521
DM
11232015-05-05 David Malcolm <dmalcolm@redhat.com>
1124
1125 * parser.c (cp_parser_asm_definition): Only test for
1126 error_mark_node if "outputs" was just set. Likewise for "inputs".
1127
f5322614
PC
11282015-05-04 Paolo Carlini <paolo.carlini@oracle.com>
1129 Jakub Jelinek <jakub@redhat.com>
1130
1131 PR c++/66007
1132 * typeck2.c (check_narrowing): Check by-hand that the pedwarn didn't
1133 result in an actual error.
1134
38920aec
PC
11352015-05-01 Paolo Carlini <paolo.carlini@oracle.com>
1136 Prathamesh Kulharni <prathamesh.kulkarni@linaro.org>
1137
1138 PR c++/65858
1139 * typeck2.c (check_narrowing): Set ok = true when pedwarn returns
1140 false.
1141
6f3d1a5e
DM
11422015-04-30 David Malcolm <dmalcolm@redhat.com>
1143
1144 * cp-tree.h (ARGUMENT_PACK_SELECT_ARG): Remove spurious
1145 trailing semicolon.
1146
9f7fb685
JM
11472015-04-29 Jason Merrill <jason@redhat.com>
1148
1149 PR c++/50800
1150 * tree.c (apply_identity_attributes): Fix handling of classes.
1151
b811915d
TS
11522015-04-29 Thomas Schwinge <thomas@codesourcery.com>
1153
1154 * parser.c (cp_parser_oacc_enter_exit_data): Use
1155 OMP_STANDALONE_CLAUSES.
1156
0aa359c1
PC
11572015-04-29 Paolo Carlini <paolo.carlini@oracle.com>
1158
1159 PR c++/64667
1160 * init.c (perform_member_init): Handle references for -Winit-self.
1161
2c8f0683
TS
11622015-04-29 Thomas Schwinge <thomas@codesourcery.com>
1163
1164 * pt.c (tsubst_expr) <OMP_TARGET_UPDATE>: Use
1165 OMP_TARGET_UPDATE_CLAUSES instead of OMP_CLAUSES.
1166
7bfc5ada
JM
11672015-04-28 Jason Merrill <jason@redhat.com>
1168
3f8e2835
JM
1169 PR c++/65896
1170 * constexpr.c (cxx_eval_store_expression): Don't try to actually
1171 store an empty class.
1172
5756d0f9
JM
1173 PR c++/65656
1174 * constexpr.c (cxx_eval_builtin_function_call): Fix
1175 __builtin_constant_p.
1176
b71983a5
JM
1177 PR c++/50800
1178 * tree.c (strip_typedefs): Add remove_attributes parm.
1179 (strip_typedefs_expr): Likewise.
1180 (apply_identity_attributes): New subroutine of strip_typedefs.
1181 * pt.c (canonicalize_type_argument): Let strip_typedefs handle attrs.
1182 (convert_nontype_argument, unify): Likewise.
1183 * cp-tree.h: Adjust.
1184
7bfc5ada
JM
1185 PR c++/65734
1186 * class.c (fixup_attribute_variants): Respect TYPE_USER_ALIGN.
1187
1d0275e2
TS
11882015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1189
1190 * class.c (layout_class_type): Remove check if
1191 PCC_BITFIELD_TYPE_MATTERS is defined.
1192
46bf0b0a
JW
11932015-04-27 Jim Wilson <jim.wilson@linaro.org>
1194
1195 * Make-lang.in (c++.mostlyclean): Remove xg++, g++-cross, and cc1plus.
1196
f8815f7a
JM
11972015-04-24 Jason Merrill <jason@redhat.com>
1198
c6f044f7
JM
1199 PR c++/50800
1200 * typeck.c (structural_comptypes): Don't check TYPE_REF_CAN_ALIAS_ALL.
1201
f8815f7a
JM
1202 * constexpr.c (potential_constant_expression_1) [MINUS_EXPR]:
1203 Remove obsolete code.
1204 [NE_EXPR]: Likewise.
1205
6c283621
JM
12062015-04-23 Jason Merrill <jason@redhat.com>
1207
1208 PR c++/65646
1209 * pt.c (check_explicit_specialization): Don't
1210 SET_DECL_TEMPLATE_SPECIALIZATION for a variable with no template
1211 headers.
1212 * decl.c (grokvardecl): Revert earlier fix.
1213
2821fc6b
PC
12142015-04-20 Paolo Carlini <paolo.carlini@oracle.com>
1215
1216 PR c++/65801
1217 * typeck2.c (check_narrowing): In C++11 mode too, -Wno-narrowing
1218 suppresses the diagnostic.
1219
0cfabb37
VV
12202015-04-20 Ville Voutilainen <ville.voutilainen@gmail.com>
1221
1222 Reject trailing return type for an operator auto().
1223 * decl.c (grokdeclarator): Reject trailing return types for
1224 all conversion operators, don't handle conversion operators
1225 in the previous checks that deal with auto.
1226
06aca1d5
IV
12272015-04-20 Ilya Verbin <ilya.verbin@intel.com>
1228
1229 * parser.c (cp_parser_omp_target_update): Add missed %> to error_at ().
1230
988db853
PC
12312015-04-16 Paolo Carlini <paolo.carlini@oracle.com>
1232
1233 * class.c (resolve_address_of_overloaded_function, instantiate_type):
1234 Rename tsubst_flags_t parameter flags -> complain.
1235
9f635aba
PC
12362015-04-16 Paolo Carlini <paolo.carlini@oracle.com>
1237
1238 * call.c (build_op_delete_call, build_over_call): Check mark_used
1239 return value.
1240 * class.c (resolve_address_of_overloaded_function): Likewise.
1241 * decl.c (cxx_maybe_build_cleanup): Likewise.
1242 * pt.c (gen_elem_of_pack_expansion_instantiation, tsubst_baselink,
1243 tsubst_qualified_id, tsubst_copy, tsubst_copy_and_build): Likewise.
1244 * rtti.c (build_dynamic_cast_1): Likewise.
1245 * semantics.c (process_outer_var_ref): Likewise.
1246 * typeck.c (build_class_member_access_expr,
1247 cp_build_function_call_vec, cp_build_addr_expr_1): Likewise.
1248
bf5730d7
JM
12492015-04-15 Jason Merrill <jason@redhat.com>
1250
58cc255c
JM
1251 * constexpr.c (cxx_eval_store_expression): Ignore clobbers.
1252 (build_constexpr_constructor_member_initializers): Loop to find
1253 the BIND_EXPR.
1254 * decl.c (start_preparsed_function): Clobber the object at the
1255 beginning of a constructor.
1256
efb5e817
JM
1257 * decl.c (grokmethod): Only set DECL_COMDAT if TREE_PUBLIC is set.
1258 * method.c (implicitly_declare_fn): Likewise.
1259 * decl2.c (vague_linkage_p): Check TREE_PUBLIC first.
1260
bf5730d7
JM
1261 * decl2.c (determine_visibility): Use get_template_info.
1262
5ce3039e
JM
12632015-04-15 Jason Merrill <jason@redhat.com>
1264 Marek Polacek <polacek@redhat.com>
1265
1266 PR c++/65727
1267 * lambda.c (lambda_expr_this_capture): In unevaluated context go
1268 through the normal loop, just don't capture.
1269 (maybe_resolve_dummy): Handle null return.
1270
3a1351b9
PC
12712015-04-15 Paolo Carlini <paolo.carlini@oracle.com>
1272
1273 * call.c (enforce_access): Emit error + inform.
1274
0567dcd2
MP
12752015-04-15 Marek Polacek <polacek@redhat.com>
1276
1277 * constexpr.c (use_new_call): Remove #define.
1278 (lookup_parameter_binding): Remove function.
1279 (cxx_bind_parameters_in_call): Remove unused code.
1280 (cxx_eval_call_expression): Likewise.
1281 (cxx_eval_constant_expression): Likewise.
1282
182d115c
MM
12832015-04-14 Mikhail Maltsev <maltsevm@gmail.com>
1284
1285 * tree.c (replace_placeholders_t): Remove unused type.
1286 (replace_placeholders): Remove unused pset.
1287
0f19e7ad
JM
12882015-04-14 Jason Merrill <jason@redhat.com>
1289
57c5e96e
JM
1290 * pt.c (lookup_template_class_1): Use coerce_innermost_template_parms.
1291
fb899e32
JM
1292 PR c++/65695
1293 * cvt.c (cp_fold_convert): Avoid wrapping PTRMEM_CST in NOP_EXPR.
1294
0f19e7ad
JM
1295 PR c++/65721
1296 * name-lookup.c (do_class_using_decl): Complain about specifying
1297 the current class even if there are dependent bases.
1298
688e531e
DK
12992015-04-14 David Krauss <david_work@me.com>
1300
1301 PR c++/59766
1302 * decl.c (grokdeclarator): Do not flag friends with deduced return.
1303
2fd16d0f
MV
13042015-04-14 Momchil Velikov <momchil.velikov@gmail.com>
1305 Jason Merrill <jason@redhat.com>
1306
1307 PR c++/60994
1308 * parser.c (cp_parser_class_name): Add enum_ok parameter.
1309 (cp_parser_qualifying_entity): Use it instead of cp_parser_type_name.
1310 (cp_parser_diagnose_invalid_type_name): Don't assume a template is
1311 a class template.
1312
6338536c
JJ
13132015-04-12 Jakub Jelinek <jakub@redhat.com>
1314
1315 PR c++/65736
1316 * constexpr.c (cxx_eval_pointer_plus_expression): Don't fold for VLAs,
1317 don't fold if op01 isn't divisible by TYPE_SIZE_UNIT. Convert
1318 the expression to the original type at the end.
1319
00da5e28
JJ
13202015-04-09 Jakub Jelinek <jakub@redhat.com>
1321
0212e31e
JJ
1322 PR c++/65690
1323 * tree.c (cp_build_qualified_type_real): Copy TYPE_ALIGN and
1324 TYPE_USER_ALIGN.
1325
00da5e28
JJ
1326 PR c++/65690
1327 * tree.c (build_cplus_array_type): Layout type before variants are
1328 set, but copy over TYPE_SIZE and TYPE_SIZE_UNIT from the main
1329 variant.
1330
a3d94329
PC
13312015-04-03 Paolo Carlini <paolo.carlini@oracle.com>
1332
1333 PR c++/64085
1334 * lambda.c (add_capture): Use dependent_type_p for capture by
1335 reference too.
1336
894bec68
MP
13372015-04-02 Marek Polacek <polacek@redhat.com>
1338
1339 PR c++/65642
1340 * constexpr.c (cxx_eval_pointer_plus_expression): Call
1341 cxx_eval_constant_expression on the first operand.
1342
37978db4
JM
13432015-04-01 Jason Merrill <jason@redhat.com>
1344
1345 PR c++/65625
1346 * decl.c (make_typename_type): Handle seeing a variable template.
1347
c23a9ec5
PC
13482015-04-01 Paolo Carlini <paolo.carlini@oracle.com>
1349
1350 PR c++/56100
1351 * pt.c (instantiating_current_function_p): New.
1352 * name-lookup.c (pushdecl_maybe_friend_1): Use it.
1353 * cp-tree.h (instantiating_current_function_p): Declare.
1354
f87cb0b7
JM
13552015-04-01 Jason Merrill <jason@redhat.com>
1356
1357 PR c++/65646
1358 * decl.c (grokvardecl): Don't call check_explicit_specialization
1359 for non-template members of a class template.
1360
14e51ef2
MP
13612015-04-01 Marek Polacek <polacek@redhat.com>
1362
1363 PR c++/65554
1364 * class.c (finish_struct): Require that the second field of a
1365 user-defined initializer_list be of size type.
1366
397ad54d
MP
13672015-03-31 Marek Polacek <polacek@redhat.com>
1368
1369 PR c++/65390
1370 * tree.c (build_cplus_array_type): Use dependent_type_p rather than
1371 checking for constness.
1372
ef4bac78
MP
13732015-03-30 Marek Polacek <polacek@redhat.com>
1374
1375 PR c++/65398
1376 * constexpr.c (cxx_fold_indirect_ref): Don't perform the
1377 *(&A[i] p+ j) => A[i + j] transformation here.
1378 (cxx_eval_pointer_plus_expression): New function.
1379 (cxx_eval_constant_expression): Use it here.
1380
62021f64
TB
13812015-03-27 Tobias Burnus <burnus@net-b.de>
1382
1383 PR c/65586
1384 * parser.c (cp_parser_omp_for, cp_parser_omp_parallel,
1385 cp_parser_omp_distribute, cp_parser_omp_teams, cp_parser_omp_target,
1386 cp_parser_omp_declare): Don't show error for skipped omp pragmas with
1387 -fopenmp-simd.
1388
5964a3a6
MP
13892015-03-27 Marek Polacek <polacek@redhat.com>
1390
1391 PR c++/65556
1392 * semantics.c (finish_switch_cond): If the unlowered type is not an
1393 enum, use the type of the condition.
1394
0b7dccc6
JM
13952015-03-27 Jason Merrill <jason@redhat.com>
1396
1397 PR c++/65509
1398 * decl.c (make_rtl_for_nonlocal_decl): Don't defer static
1399 constants.
1400
08227658
MM
14012015-03-26 Mikhail Maltsev <maltsevm@gmail.com>
1402
1403 PR c++/65154
1404 * init.c (build_vec_init): Fix initializing aggregates
1405 with empty init list.
1406
41b38772
JM
14072015-03-26 Jason Merrill <jason@redhat.com>
1408
1409 PR c++/65525
1410 * constexpr.c (potential_constant_expression_1): Handle MEM_REF.
1411
1cc57b59
MP
14122015-03-25 Marek Polacek <polacek@redhat.com>
1413
1414 PR c++/65558
1415 * name-lookup.c (handle_namespace_attrs): Ignore abi_tag attribute
1416 on an anonymous namespace.
1417
2a924bb4
MP
14182015-03-25 Marek Polacek <polacek@redhat.com>
1419
1420 PR c++/61670
1421 * class.c (remove_zero_width_bit_fields): Check for null DECL_SIZE.
1422
4b7c558d
JM
14232015-03-24 Jason Merrill <jason@redhat.com>
1424
a9f0423f
JM
1425 PR c++/65046
1426 * cp-tree.h (NAMESPACE_IS_INLINE): Remove.
1427 * parser.c (cp_parser_namespace_definition): Don't set it.
1428 * name-lookup.c (handle_namespace_attrs): Check
1429 DECL_NAMESPACE_ASSOCIATIONS instead.
1430
4b7c558d
JM
1431 PR c++/65498
1432 * pt.c (get_mostly_instantiated_function_type): Just return the
1433 type of the partially instantiated template in DECL_TI_TEMPLATE.
1434
f594abf4
MP
14352015-03-20 Marek Polacek <polacek@redhat.com>
1436
1437 PR c++/65398
1438 * constexpr.c (cxx_fold_indirect_ref): Transform *(&A[i] p+ j) into
1439 A[i + j].
1440
b75cebc4
MP
14412015-03-20 Marek Polacek <polacek@redhat.com>
1442
1443 PR c++/65072
1444 * typeck.c (lookup_anon_field): Make sure we're dealing with the main
1445 variant.
1446
7cb73573
JM
14472015-03-19 Jason Merrill <jason@redhat.com>
1448
1449 PR c++/65046
1450 Automatically propagate ABI tags to variables and functions
1451 from their (return) type.
1452 * class.c (check_tag): Handle variables and functions.
1453 (mark_or_check_attr_tags): Split out from find_abi_tags_r.
1454 (mark_or_check_tags): Likewise.
1455 (mark_abi_tags): Use it. Rename from mark_type_abi_tags.
1456 (check_abi_tags): Add single argument overload for decls.
1457 Handle inheriting tags for decls.
1458 * mangle.c (write_mangled_name): Call it.
1459 (mangle_return_type_p): Split out from write_encoding.
1460 (unmangled_name_p): Split out from write_mangled_name.
1461 (write_mangled_name): Ignore abi_tag on namespace.
1462 * cp-tree.h (NAMESPACE_IS_INLINE): Replace NAMESPACE_ABI_TAG.
1463 * parser.c (cp_parser_namespace_definition): Set it.
1464 * name-lookup.c (handle_namespace_attrs): Use arguments. Warn
1465 about abi_tag attribute on non-inline namespace.
1466 * tree.c (check_abi_tag_args): Split out from handle_abi_tag_attribute.
1467 (handle_abi_tag_attribute): Allow tags on variables.
1468
9b65e171
JJ
14692015-03-19 Jakub Jelinek <jakub@redhat.com>
1470
1471 * decl2.c (cplus_decl_attributes): Also add "omp declare target"
1472 attribute for DECL_EXTERNAL VAR_DECLs.
1473
41cee85a
PC
14742015-03-18 Paolo Carlini <paolo.carlini@oracle.com>
1475
1476 PR c++/65340
1477 * call.c (build_over_call): Pass the tsubst_flags_t argument to
1478 mark_used.
1479 * decl2.c (mark_used): Inline the require_deduced_type call and
1480 guard the error call.
1481
3d17be83
JM
14822015-03-16 Jason Merrill <jason@redhat.com>
1483
1484 PR c++/65061
1485 * parser.c (cp_parser_template_name): Call strip_using_decl.
1486
ec638c55
MP
14872015-03-16 Marek Polacek <polacek@redhat.com>
1488
1489 DR 1688
1490 PR c++/65327
1491 * decl.c (grokdeclarator): Allow volatile and constexpr together.
1492
b7e7f412
PC
14932015-03-12 Paolo Carlini <paolo.carlini@oracle.com>
1494
1495 PR c++/65323
1496 * decl.c (check_default_argument): Don't call
1497 maybe_warn_zero_as_null_pointer_constant.
1498
25de0a29
AH
14992015-03-11 Aldy Hernandez <aldyh@redhat.com>
1500
1501 * cp-gimplify.c (simple_empty_class_p): New.
1502 * cp-gimplify.c (cp_gimplify_expr): Handle RETURN_EXPR. Abstract
1503 the code for empty class copies into simple_empty_class_p, and
1504 adapt it to handle COMPOUND_EXPRs.
1505
58cbf8d4
PC
15062015-03-10 Paolo Carlini <paolo.carlini@oracle.com>
1507
1508 PR c++/65370
1509 * decl.c (duplicate_decls): Call check_redeclaration_no_default_args
1510 only if the location of newdecl doesn't match the location of olddecl.
1511
704c7904
JJ
15122015-03-10 Jakub Jelinek <jakub@redhat.com>
1513
1514 PR c++/65127
1515 * parser.c (parsing_nsdmi): Don't return true if current_class_ptr
1516 is not a PARM_DECL.
1517
a4d66d7d
JM
15182015-03-10 Jason Merrill <jason@redhat.com>
1519
1520 PR c++/65333
1521 DR 1558
1522 * pt.c (dependent_type_p_r): Check both class and alias template args.
1523
7ccb1a11
JJ
15242015-03-10 Jakub Jelinek <jakub@redhat.com>
1525
1526 PR c/65120
1527 * parser.c (cp_parser_binary_expression): Check for tcc_comparison
1528 before preparing arguments to warn_logical_not_parentheses.
1529 Use maybe_constant_value on rhs.
1530
a2f259ef
JM
15312015-03-09 Jason Merrill <jason@redhat.com>
1532
1533 PR c++/65339
1534 * call.c: Don't call maybe_resolve_dummy when calling a constructor.
1535
01177669
JJ
15362015-03-09 Jakub Jelinek <jakub@redhat.com>
1537
1538 PR c/65120
1539 * parser.c (cp_parser_binary_expression): Don't warn for
1540 !!x == y or !b == y where b is bool.
1541
a78cbe29
AH
15422015-03-06 Aldy Hernandez <aldyh@redhat.com>
1543
1544 * ptree.c (cxx_print_lambda_node): New.
1545 (cxx_print_xnode): Handle LAMBDA_EXPR.
1546
bf66b9b4
AH
15472015-03-03 Aldy Hernandez <aldyh@redhat.com>
1548
1549 PR c++/65295
1550 * constexpr.c (cxx_eval_constant_expression): Remove assert in
1551 RESULT_DECL handling.
1552
75e0295b
MP
15532015-02-26 Marek Polacek <polacek@redhat.com>
1554
1555 PR c++/65202
1556 * constexpr.c (cxx_eval_constant_expression): Don't evaluate
1557 a RETURN_EXPR if its operand is null.
1558
9b276dad
JM
15592015-02-25 Jason Merrill <jason@redhat.com>
1560
2b8f9c8f
JM
1561 PR c++/65209
1562 * decl2.c (constrain_visibility) [VISIBILITY_ANON]: Clear
1563 DECL_COMDAT.
1564 (constrain_visibility_for_template): Handle reference arguments.
1565
9b276dad
JM
1566 PR debug/58315
1567 * decl.c (start_preparsed_function): Use create_artificial_label
1568 for cdtor_label.
1569
4414e22e
PC
15702015-02-17 Paolo Carlini <paolo.carlini@oracle.com>
1571 Jakub Jelinek <jakub@redhat.com>
1572
1573 PR c++/65075
1574 * constexpr.c (check_constexpr_bind_expr_vars): Allow
1575 implicit typedefs for lambda types.
1576
6e4f01ff
PC
15772015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
1578
1579 PR c++/60894
1580 * decl.c (lookup_and_check_tag): Use strip_using_decl.
1581
ef796bef
JM
15822015-02-13 Jason Merrill <jason@redhat.com>
1583
1584 PR c++/65054
1585 * pt.c (template_args_equal): Look through conversions here.
1586 * tree.c (cp_tree_equal): Not here.
1587
e84abfa4
PC
15882015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
1589
1590 PR c++/60211
1591 * parser.c (cp_parser_pragma): Diagnose PRAGMA_IVDEP at
1592 pragma_external context.
1593
f9b600ba
JM
15942015-02-13 Jason Merrill <jason@redhat.com>
1595
1596 PR c++/65051
1597 * call.c (reference_binding): Don't look for bad conversion
1598 if TO is incomplete.
1599
81adbcea
PC
16002015-02-13 Paolo Carlini <paolo.carlini@oracle.com>
1601
1602 PR c++/64970
1603 * decl.c (make_typename_type): Pass tsubst_flags_t argument
1604 to lookup_template_class.
1605
730f474b
JJ
16062015-02-13 Jakub Jelinek <jakub@redhat.com>
1607
1608 PR ipa/65034
1609 * decl.c (start_preparsed_function): Use void_type_node instead
1610 of NULL_TREE as LABEL_DECL type.
1611
f522930c
JM
16122015-02-12 Jason Merrill <jason@redhat.com>
1613
3b95b65c
JM
1614 PR c++/64898
1615 * mangle.c (write_mangled_name): Fix test for variable template
1616 instantiation.
1617
f522930c
JM
1618 * decl.c (begin_destructor_body): Condition clobber on
1619 -flifetime-dse.
1620
bc81eb3f
AA
16212015-02-12 Andrea Azzarone <azzaronea@gmail.com>
1622
1623 PR c++/64959
1624 * parser.c (lookup_literal_operator): Return all candidates.
1625 (cp_parser_userdef_char_literal): Simplify error handling.
1626 (cp_parser_userdef_numeric_literal): Pass tf_warning_or_error.
1627 (cp_parser_userdef_string_literal): Pass tf_warning_or_error.
1628 Also give higher priority to standard string UDL operator.
1629
40595b8e
JJ
16302015-02-12 Jakub Jelinek <jakub@redhat.com>
1631
12d0d358
JJ
1632 PR debug/55541
1633 * cp-tree.h (BLOCK_OUTER_CURLY_BRACE_P): Define.
1634 * decl.c (poplevel): If functionbody, try not to create an extra
1635 BLOCK for function body and use subblocks as that, if it is non-NULL
1636 and doesn't have siblings. Set BLOCK_OUTER_CURLY_BRACE_P flag.
1637 (outer_curly_brace_block): Use BLOCK_OUTER_CURLY_BRACE_P flag.
1638
40595b8e
JJ
1639 PR sanitizer/64984
1640 * except.c (check_noexcept_r): Return NULL for internal
1641 calls.
1642
0ec052fe
JM
16432015-02-10 Jason Merrill <jason@redhat.com>
1644
1645 PR c++/64994
1646 * constexpr.c (cxx_eval_call_expression): Walk the clone list.
1647
d90cae08
JH
16482015-02-10 Jan Hubicka <hubicka@ucw.cz>
1649
1650 PR ipa/64982
1651 * method.c (use_thunk): Do not check for stdarg thunks.
1652
a02f26f6
JM
16532015-02-06 Jason Merrill <jason@redhat.com>
1654
1655 PR c++/64899
1656 * init.c (build_vec_init): Handle default-initialized array with
1657 constexpr default constructor.
1658
4886ec8e
JJ
16592015-02-04 Jakub Jelinek <jakub@redhat.com>
1660
1661 PR c/64824
1662 PR c/64868
1663 * parser.c (cp_parser_omp_atomic): Handle RDIV_EXPR.
1664
457d0ace
PC
16652015-02-03 Paolo Carlini <paolo.carlini@oracle.com>
1666
1667 PR c++/64877
1668 * typeck.c (cp_build_binary_op): Avoid spurious -Waddress warnings
1669 for generated expressions.
1670
879887f1
VV
16712015-02-02 Ville Voutilainen <ville.voutilainen@gmail.com>
1672
1673 PR c++/64901
1674 * decl.c (duplicate_decls): Also duplicate DECL_FINAL_P and
1675 DECL_OVERRIDE_P.
1676
4c5cf0b2
JM
16772015-02-02 Jason Merrill <jason@redhat.com>
1678
1679 * tree.c (handle_abi_tag_attribute): Diagnose invalid arguments.
1680
40fecdd6
JM
16812015-01-30 Joseph Myers <joseph@codesourcery.com>
1682
1683 * class.c, except.c, parser.c, pt.c: All callers of fatal_error
1684 changed to pass input_location as first argument.
1685
a7c3e87e
JJ
16862015-01-29 Jakub Jelinek <jakub@redhat.com>
1687
1688 PR c++/64717
1689 * cp-ubsan.c (cp_ubsan_instrument_vptr): Don't wrap vptr
1690 into SAVE_EXPR.
1691
e1ef8aa9
JM
16922015-01-29 Jason Merrill <jason@redhat.com>
1693
3dbb8427
JM
1694 PR c++/49508
1695 * semantics.c (finish_return_stmt): Suppress -Wreturn-type on
1696 erroneous return statement.
1697
e1ef8aa9
JM
1698 PR c++/64521
1699 * repo.c (repo_emit_p): It's OK for a clone to be extern at this
1700 point.
1701
f7f049fa
CT
17022015-01-27 Caroline Tice <cmtice@google.com>
1703
1704 Committing VTV Cywin/Ming patch for Patrick Wollgast
1705 * vtable-class-hierarchy.cc (vtv_generate_init_routine): Add
1706 check for not TARGET_PECOFF at the VTV_PREINIT_PRIORITY checks.
1707
94e54b8d
JM
17082015-01-27 Jason Merrill <jason@redhat.com>
1709
2cc7f90b
JM
1710 PR c++/58597
1711 * lambda.c (maybe_add_lambda_conv_op): Check cfun rather than
1712 current_function_decl.
1713
94e54b8d
JM
1714 PR c++/63889
1715 * pt.c (finish_template_variable): Move from semantics.c.
1716 Handle multiple template arg levels. Handle coercion here.
1717 (lookup_template_variable): Not here.
1718
7c83622c
JM
17192015-01-23 Jason Merrill <jason@redhat.com>
1720
fa4e8db2
JM
1721 PR c++/64314
1722 PR c++/57510
1723 * typeck2.c (split_nonconstant_init_1): Remove a sub-CONSTRUCTOR
1724 that has been completely split out.
1725
c6e7c499 1726 PR c++/64701
8a7261b2
JM
1727 * constexpr.c (cxx_eval_constant_expression): Don't crash on C++
1728 statement codes.
c6e7c499 1729
7c83622c
JM
1730 PR c++/64727
1731 * constexpr.c (cxx_eval_constant_expression): Allow for lvalue use
1732 of CONST_DECL.
1733
f1eac182
JM
17342015-01-21 Jason Merrill <jason@redhat.com>
1735
b85a3242
JM
1736 PR c++/64603
1737 * constexpr.c (cxx_eval_constant_expression): Only shortcut
1738 constant CONSTRUCTORs.
1739
f1eac182
JM
1740 PR c++/64647
1741 * constexpr.c (ensure_literal_type_for_constexpr_object): Don't
1742 give a hard error in a template instantiation.
1743
cbf5d0e7
RB
17442015-01-21 Richard Biener <rguenther@suse.de>
1745
1746 PR middle-end/64313
1747 * decl.c (duplicate_decls): Call set_builtin_decl_declared_p
1748 for builtins the user declared correctly.
1749
de37b21e
PC
17502015-01-16 Paolo Carlini <paolo.carlini@oracle.com>
1751
1752 PR c++/58614
1753 * pt.c (unify): When BRACE_ENCLOSED_INITIALIZER_P (arg), handle
1754 TREE_TYPE (elt) == error_mark_node.
1755
67933728
JH
17562015-01-15 Jan Hubicka <hubicka@ucw.cz>
1757
1758 PR tree-optimization/62053
1759 * tree.c (build_cplus_array_type): Layout type after variants are set.
1760
35228ac7
JJ
17612015-01-15 Jakub Jelinek <jakub@redhat.com>
1762
1763 * cp-gimplify.c (cp_genericize_r): Call
1764 cp_ubsan_maybe_instrument_member_call for member calls.
1765 (cp_ubsan_check_member_access_r): New function.
1766 (cp_genericize_tree): Call cp_ubsan_instrument_member_accesses.
1767 * cp-tree.h (cp_ubsan_maybe_instrument_member_call,
1768 cp_ubsan_instrument_member_accesses,
1769 cp_ubsan_maybe_instrument_downcast,
1770 cp_ubsan_maybe_instrument_cast_to_vbase): New prototypes.
1771 * cp-ubsan.c: New file.
1772 * Make-lang.in (CXX_AND_OBJCXX_OBJS): Add cp/cp-ubsan.o.
1773 * constexpr.c (cxx_eval_call_expression): Return void_node
1774 for IFN_UBSAN_VPTR.
1775 (potential_constant_expression_1): Return true for
1776 UBSAN_NULL, UBSAN_BOUNDS and UBSAN_VPTR internal calls.
1777 * typeck.c (build_class_member_access_expr): Provide locus
1778 for COMPONENT_REFs.
1779 (build_static_cast_1): Instrument downcasts.
1780 * class.c (build_base_path): For -fsanitize=vptr and !fixed_type_p
1781 add ubsan instrumentation for virtual_access.
1782 * call.c: Include internal-fn.h.
1783 (set_flags_from_callee): Handle internal calls.
1784
199b7a35
MV
17852015-01-15 Momchil Velikov <momchil.velikov@gmail.com>
1786
1787 PR c++/59366
1788 * name-lookup.c (pushdecl_maybe_friend_1): Hide friend functions
1789 and function templates, declared only in the class.
1790 * decl.c (duplicate_decls): Reveal hidden friend functions or
1791 function templates, if they are redeclared outside the class.
1792
c3c29ba5
JM
17932015-01-15 Jason Merrill <jason@redhat.com>
1794
134efa82
JM
1795 PR c++/64356
1796 * constexpr.c (cxx_eval_binary_expression): Fix pasto.
1797
c3c29ba5
JM
1798 PR c++/63283
1799 * constexpr.c (potential_constant_expression_1): Handle reference
1800 args in templates.
1801
41dbbb37
TS
18022015-01-15 Thomas Schwinge <thomas@codesourcery.com>
1803 James Norris <jnorris@codesourcery.com>
1804 Cesar Philippidis <cesar@codesourcery.com>
1805 Ilmir Usmanov <i.usmanov@samsung.com>
1806 Jakub Jelinek <jakub@redhat.com>
1807
1808 * parser.c: Include "gomp-constants.h".
1809 (cp_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
1810 omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
1811 Use OMP_CLAUSE_SET_MAP_KIND.
1812 (cp_parser_omp_construct, cp_parser_pragma): Handle
1813 PRAGMA_OACC_CACHE, PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA,
1814 PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_PARALLEL,
1815 PRAGMA_OACC_LOOP, PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
1816 (cp_parser_omp_clause_name): Handle "async", "copy", "copyout",
1817 "create", "delete", "deviceptr", "host", "num_gangs",
1818 "num_workers", "present", "present_or_copy", "pcopy",
1819 "present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
1820 "present_or_create", "pcreate", "vector_length", "wait".
1821 (OACC_DATA_CLAUSE_MASK, OACC_ENTER_DATA_CLAUSE_MASK)
1822 (OACC_EXIT_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
1823 (OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
1824 (OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
1825 (cp_parser_omp_var_list_no_open): Handle OMP_CLAUSE__CACHE_.
1826 (cp_parser_oacc_data_clause, cp_parser_oacc_data_clause_deviceptr)
1827 (cp_parser_oacc_clause_vector_length, cp_parser_oacc_wait_list)
1828 (cp_parser_oacc_clause_wait, cp_parser_omp_clause_num_gangs)
1829 (cp_parser_omp_clause_num_workers, cp_parser_oacc_clause_async)
1830 (cp_parser_oacc_all_clauses, cp_parser_oacc_cache)
1831 (cp_parser_oacc_data, cp_parser_oacc_enter_exit_data)
1832 (cp_parser_oacc_kernels, cp_parser_oacc_loop)
1833 (cp_parser_oacc_parallel, cp_parser_oacc_update)
1834 (cp_parser_oacc_wait): New functions.
1835 * cp-tree.h (finish_oacc_data, finish_oacc_kernels)
1836 (finish_oacc_parallel): New prototypes.
1837 * semantics.c: Include "gomp-constants.h".
1838 (handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use
1839 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
1840 OMP_CLAUSE_SET_MAP_KIND.
1841 (finish_omp_clauses): Handle OMP_CLAUSE_ASYNC,
1842 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_WAIT, OMP_CLAUSE__CACHE_.
1843 Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
1844 (finish_oacc_data, finish_oacc_kernels, finish_oacc_parallel): New
1845 functions.
1846
36b218ee
PC
18472015-01-14 Paolo Carlini <paolo.carlini@oracle.com>
1848
1849 PR c++/58671
1850 * decl2.c (var_defined_without_dynamic_init): Handle gracefully
1851 self-initialization.
1852
8f413ae2
JM
18532015-01-13 Jason Merrill <jason@redhat.com>
1854
caee690e
JM
1855 PR c++/64356
1856 PR libstdc++/58777
1857 * constexpr.c (cxx_eval_binary_expression): Don't VERIFY_CONSTANT
1858 pointer expressions.
1859 (cxx_eval_increment_expression): Likewise.
1860
7c368fb2
JM
1861 PR c++/64514
1862 * pt.c (coerce_template_parameter_pack): Return NULL for a
1863 zero-length fixed parameter pack with a pack expansion arg.
1864
8f413ae2
JM
1865 PR c++/64520
1866 * pt.c (unify): Don't try to deduce to std::initializer_list<T...>.
1867
49c8bc0c
JM
18682015-01-12 Jason Merrill <jason@redhat.com>
1869
1870 PR c++/64547
1871 * constexpr.c (cxx_eval_call_expression): A call to a void
1872 function doesn't need to return a value.
1873
adfac8df
JJ
18742015-01-09 Michael Collison <michael.collison@linaro.org>
1875
1876 * call.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1877 input.h, alias.h, symtab.h, options.h, fold-const.h,
1878 wide-int.h, and inchash.h due to flattening of tree.h.
1879 * class.c: Ditto.
1880 * constexpr.c: Ditto.
1881 * cp-array-notation.c: Ditto.
1882 * cp-gimplify.c: Ditto.
1883 * cp-lang.c: Ditto.
1884 * cp-objcp-common.c: Ditto.
1885 * cvt.c: Ditto.
1886 * decl2.c: Ditto.
1887 * decl.c: Ditto.
1888 * dump.c: Ditto.
1889 * error.c: Ditto.
1890 * except.c: Ditto.
1891 * expr.c: Ditto.
1892 * friend.c: Ditto.
1893 * init.c: Ditto.
1894 * lambda.c: Ditto.
1895 * lex.c: Ditto.
1896 * mangle.c: Ditto.
1897 * name-lookup.c: Ditto.
1898 * optimize.c: Ditto.
1899 * parser.c: Ditto.
1900 * pt.c: Ditto.
1901 * ptree.c: Ditto.
1902 * repo.c: Ditto.
1903 * rtti.c: Ditto.
1904 * search.c: Ditto.
1905 * semantics.c: Ditto.
1906 * tree.c: Ditto.
1907 * typeck2.c: Ditto.
1908 * typeck.c: Ditto.
1909
f5481fc4
JM
19102015-01-08 Jason Merrill <jason@redhat.com>
1911
1912 * cp-gimplify.c (cp_genericize): Use do_ubsan_in_current_function.
1913 * decl.c (compute_array_index_type): Likewise.
1914 * init.c (build_vec_init): Likewise.
1915 * typeck.c (cp_build_binary_op): Likewise.
1916
46621807
JM
19172015-01-08 Jason Merrill <jason@redhat.com>
1918
1919 * init.c (build_vec_init): Call ubsan_instrument_bounds to check
1920 whether an initializer-list is too big for a VLA.
1921 (throw_bad_array_length): Remove.
1922 * cp-tree.h: Remove prototype.
1923
247ecdf3
PC
19242015-01-08 Paolo Carlini <paolo.carlini@oracle.com>
1925
1926 PR c++/60753
1927 * decl.c (grokfndecl): Add bool parameter.
1928 (grokdeclarator): Adjust calls.
1929 (start_decl): Don't set DECL_DELETED_FN here.
1930
47867b4f
JM
19312015-01-06 Jason Merrill <jason@redhat.com>
1932
efcdb22f
JM
1933 * parser.c (cp_parser_nested_name_specifier_opt): Diagnose invalid
1934 template-ids.
1935
c6a38536
JM
1936 PR c++/64455
1937 * pt.c (type_dependent_expression_p): Handle variable templates.
1938 * constexpr.c (potential_constant_expression_1): Use it.
1939
b433d944
JM
1940 PR c++/64487
1941 * semantics.c (finish_offsetof): Handle templates here.
1942 * parser.c (cp_parser_builtin_offsetof): Not here.
1943
47867b4f
JM
1944 PR c++/64496
1945 * semantics.c (process_outer_var_ref): Diagnose lambda in local
1946 class NSDMI.
1947
864822bd
VV
19482015-01-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1949
1950 PR c++/64489
1951 * class.c (check_field_decls): Make copy assignment operators
1952 complex only in c++98 mode.
1953
2f42e5de
TS
19542015-01-05 Trevor Saunders <tsaunders@mozilla.com>
1955
1956 PR c++/31397
1957 * class.c (check_for_override): Warn when a virtual function is an
1958 override not marked override.
1959
86cfdb4e
TS
19602015-01-05 Trevor Saunders <tsaunders@mozilla.com>
1961
1962 * class.c (warn_hidden): Use auto_vec<tree> instead of tree_list to
1963 hold base_fndecls.
1964 (get_basefndecls): Adjust.
1965
5624e564
JJ
19662015-01-05 Jakub Jelinek <jakub@redhat.com>
1967
1968 Update copyright years.
1969
5bd012f8
MP
19702015-01-05 Marek Polacek <polacek@redhat.com>
1971
1972 PR c/64423
1973 * typeck.c (cp_build_array_ref): Pass loc down to
1974 warn_array_subscript_with_type_char.
1975
ad41bd84 1976\f
5624e564 1977Copyright (C) 2015 Free Software Foundation, Inc.
ad41bd84
JM
1978
1979Copying and distribution of this file, with or without modification,
1980are permitted in any medium without royalty provided the copyright
1981notice and this notice are preserved.
This page took 1.926015 seconds and 5 git commands to generate.