]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/cp/ChangeLog
convert many uses of pointer_map to hash_map
[thirdparty/gcc.git] / gcc / cp / ChangeLog
1 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
2
3 * optimize.c, semantics.c: Use hash_map instead of pointer_map.
4
5 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
6
7 * class.c, cp-gimplify.c, cp-tree.h, decl.c, decl2.c, error.c,
8 method.c, name-lookup.c, pt.c, semantics.c, tree.c: Use hash_set
9 instead of pointer_set.
10
11 2014-08-01 Jason Merrill <jason@redhat.com>
12
13 PR c++/60417
14 * init.c (build_vec_init): Set CONSTRUCTOR_IS_DIRECT_INIT on
15 init-list for trailing elements.
16 * typeck2.c (process_init_constructor_array): Likewise.
17
18 2014-08-01 Paolo Carlini <paolo.carlini@oracle.com>
19
20 DR 217 again
21 * decl.c (duplicate_decls): Handle static member functions too.
22
23 2014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
24
25 * cp-array-notation.c (expand_an_in_modify_expr): Fix the misprint
26 in error output.
27
28 2014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
29
30 PR other/61963
31 * parser.c (cp_parser_array_notation): Added check for array_type.
32
33 2014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
34
35 PR middle-end/61455
36 * cp-array-notation.c (expand_array_notation_exprs): Handling of
37 DECL_EXPR improved. Changed handling for INIT_EXPR.
38
39 2014-08-01 Paolo Carlini <paolo.carlini@oracle.com>
40
41 * pt.c (lookup_template_class_1): Use DECL_TYPE_TEMPLATE_P.
42
43 2014-08-01 Jakub Jelinek <jakub@redhat.com>
44
45 * cp-gimplify.c (cp_genericize_r): For -fsanitize=null and/or
46 -fsanitize=alignment call ubsan_maybe_instrument_reference
47 for casts to REFERENCE_TYPE and ubsan_maybe_instrument_member_call
48 for calls to member functions.
49
50 2014-07-31 Marc Glisse <marc.glisse@inria.fr>
51
52 PR c++/60517
53 * typeck.c (maybe_warn_about_returning_address_of_local): Return
54 whether it is returning the address of a local variable.
55 (check_return_expr): Return 0 instead of the address of a local
56 variable.
57
58 2014-07-30 Jason Merrill <jason@redhat.com>
59
60 PR lto/53808
61 PR c++/61659
62 * pt.c (push_template_decl_real): Don't set DECL_COMDAT on friends.
63
64 2014-07-30 Paolo Carlini <paolo.carlini@oracle.com>
65
66 PR c++/57397
67 * pt.c (unify_arity): Add boolean parameter.
68 (unify_too_few_arguments): Likewise.
69 (type_unification_real): Diagnose correctly insufficient
70 arguments in the presence of trailing variadic parameters;
71 deducing multiple trailing packs as empty is fine.
72
73 2014-07-30 Jason Merrill <jason@redhat.com>
74
75 PR c++/61659
76 PR c++/61687
77 Revert:
78 * decl2.c (mark_all_virtuals): New variable.
79 (maybe_emit_vtables): Check it instead of flag_devirtualize.
80 (cp_write_global_declarations): Set it and give helpful diagnostic
81 if it introduces errors.
82 * class.c (finish_struct_1): Check it.
83
84 PR lto/53808
85 PR c++/61659
86 * pt.c (push_template_decl_real): Set DECL_COMDAT on templates.
87 (check_explicit_specialization): Clear it on specializations.
88 * decl.c (duplicate_decls, start_decl): Likewise.
89 (grokmethod, grokfndecl): Set DECL_COMDAT on inlines.
90 * method.c (implicitly_declare_fn): Set DECL_COMDAT. Determine
91 linkage after setting the appropriate flags.
92 * tree.c (decl_linkage): Don't check DECL_COMDAT.
93 * decl2.c (mark_needed): Mark clones.
94 (import_export_decl): Not here.
95
96 2014-07-25 Edward Smith-Rowland <3dw4rd@verizon.net>
97
98 Implement N4051 - Allow typename in a template template parameter
99 * parser.c (cp_parser_type_parameter_key): New funtion;
100 (cp_parser_token_is_type_parameter_key): Ditto;
101 (cp_parser_type_parameter): Look for type-parameter-key for all versions
102 but pedwarn for less than cxx1z.
103
104 2014-07-17 Paolo Carlini <paolo.carlini@oracle.com>
105
106 PR c++/50961
107 * call.c (standard_conversion): Use resolve_nondeduced_context
108 for type_unknown_p (EXPR) && TREE_CODE (TO) == BOOLEAN_TYPE.
109
110 2014-07-17 Paolo Carlini <paolo.carlini@oracle.com>
111
112 PR c++/61804
113 * parser.c (cp_parser_tokens_start_cast_expression): Return -1
114 for '++' and '--'.
115
116 2014-07-15 Jason Merrill <jason@redhat.com>
117
118 PR c++/61811
119 * decl2.c (maybe_emit_vtables): Return true for -fuse-all-virtuals.
120
121 PR c++/60848
122 PR c++/61723
123 * call.c (is_std_init_list): Don't check CLASSTYPE_TEMPLATE_INFO.
124 * class.c (finish_struct): Reject invalid definition of
125 std::initializer_list.
126
127 2014-07-15 Paolo Carlini <paolo.carlini@oracle.com>
128
129 * call.c (convert_like_real): Call print_z_candidate and inform only
130 if permerror returns true.
131
132 2014-07-14 Jan Hubicka <hubicka@ucw.cz>
133
134 * class.c (build_clone): Do not clear assembler names of
135 templates.
136 * decl.c (cp_tree_node_structure): Add TEMPLATE_DECL.
137 * cp-objcp-common.c (cp_tree_size): Add TEMPLATE_DECL
138 as a special case return sizeof (struct tree_decl_non_common)
139 for other decls.
140 (cp_common_init_ts): Do not initialize NAMESPACE_DECL;
141 initialize TEMPLATE_DECL as MARK_TS_DECL_COMMON.
142 * cp/cp-tree.h (tree_template_decl): New structure.
143 (cp_tree_node_structure_enum): Add TS_CP_TEMPLATE_DECL.
144 (union cp_lang_tree_node): Add template_decl.
145 (DECL_TEMPLATE_PARMS, DECL_TEMPLATE_RESULT): Update.
146
147 2014-07-14 Jason Merrill <jason@redhat.com>
148
149 PR c++/61445
150 PR c++/56947
151 * pt.c (instantiate_decl): Don't check defer_ok for local class
152 members.
153
154 2014-07-14 Jakub Jelinek <jakub@redhat.com>
155
156 PR middle-end/61294
157 * cp-tree.h (LITERAL_ZERO_P): Define.
158 * parser.c (cp_parser_parenthesized_expression_list): Add
159 want_literal_zero_p argument, if true, for literal zeros
160 insert INTEGER_CSTs with LITERAL_ZERO_P flag set.
161 (cp_parser_postfix_expression): Adjust
162 cp_parser_parenthesized_expression_list caller, handle
163 -Wmemset-transposed-args.
164 (literal_zeros): New variable.
165
166 2014-07-13 Jason Merrill <jason@redhat.com>
167
168 PR c++/58511
169 * semantics.c (is_instantiation_of_constexpr): Return true for
170 defaulted functions, too.
171 (explain_invalid_constexpr_fn): Only use
172 explain_implicit_non_constexpr if !DECL_DECLARED_CONSTEXPR_P.
173 * method.c (explain_implicit_non_constexpr): Pass
174 DECL_INHERITED_CTOR_BASE to explain_implicit_non_constexpr.
175
176 PR c++/58611
177 * decl.c (check_initializer): Don't finish_compound_literal
178 on erroneous constexpr init.
179
180 PR c++/58612
181 * tree.c (bot_replace): Only replace a dummy 'this' parm.
182
183 PR c++/60628
184 * decl.c (create_array_type_for_decl): Only check for auto once.
185
186 PR c++/58636
187 * call.c (build_list_conv): Don't try to build a list of references.
188
189 2014-07-13 Edward Smith-Rowland <3dw4rd@verizon.net>
190
191 PR C++/60209 - Declaration of user-defined literal operator cause error
192 * parser.c (cp_parser_operator): Fold treatment of strings
193 and user-defined string literals. Use the full string parser.
194 (cp_parser_string_literal): Add flag to not look for literal operator.
195
196 2014-07-11 Jason Merrill <jason@redhat.com>
197
198 PR c++/22434
199 PR c++/61288
200 * call.c (build_conditional_expr_1): Avoid reading freed memory.
201
202 2014-07-11 Paolo Carlini <paolo.carlini@oracle.com>
203
204 PR c++/53159
205 * call.c (build_user_type_conversion_1): Copy LOOKUP_NO_NARROWING
206 into convflags.
207 * decl.c (check_initializer): Don't call check_narrowing here,
208 set LOOKUP_NO_NARROWING.
209 * typeck2.c (digest_init_r): Likewise.
210
211 2014-07-10 Jason Merrill <jason@redhat.com>
212
213 PR c++/61661
214 * semantics.c (reduced_constant_expression_p): Handle CONSTRUCTOR.
215
216 PR c++/61659
217 PR c++/61687
218 * decl2.c (mark_all_virtuals): New variable.
219 (maybe_emit_vtables): Check it instead of flag_devirtualize.
220 (cp_write_global_declarations): Set it and give helpful diagnostic
221 if it introduces errors.
222 * class.c (finish_struct_1): Check it.
223 * decl.c (grokdeclarator): Clear virtualp after 'virtual auto' error.
224
225 2014-07-09 Paolo Carlini <paolo.carlini@oracle.com>
226
227 PR c++/60686
228 * decl.c (grokdeclarator): Adjust error messages about 'explicit'
229 outside class declaration, in friend declaration, and neither on
230 constructor nor conversion operator.
231
232 2014-07-09 Paolo Carlini <paolo.carlini@oracle.com>
233
234 DR 1584
235 PR c++/57466
236 * pt.c (check_cv_quals_for_unify): Implement resolution, disregard
237 cv-qualifiers of function types.
238
239 2014-07-09 Andrew Sutton <andrew.n.sutton@gmail.com>
240 Paolo Carlini <paolo.carlini@oracle.com>
241
242 PR c++/59361
243 * parser.c (cp_parser_tokens_start_cast_expression): Return 0 for
244 CPP_ELLIPSIS too.
245
246 2014-07-07 Paolo Carlini <paolo.carlini@oracle.com>
247
248 * class.c (check_for_override): Wrap the 'final' and 'override'
249 keywords in %< and %>.
250
251 2014-07-06 Marek Polacek <polacek@redhat.com>
252
253 PR c/6940
254 * cp-tree.h (DECL_ARRAY_PARAMETER_P): Define.
255 * decl.c (grokdeclarator): Set DECL_ARRAY_PARAMETER_P.
256 * typeck.c (cxx_sizeof_expr): Warn when using sizeof on an array
257 function parameter.
258
259 2014-07-02 Paolo Carlini <paolo.carlini@oracle.com>
260
261 * pt.c (convert_template_argument): Use inform instead of error in
262 three places.
263
264 2014-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
265
266 PR c++/58781
267 PR c++/60249
268 PR c++/59867
269 * parser.c (cp_parser_userdef_string_literal): Take a tree
270 not a cp_token*.
271 (cp_parser_string_literal): Don't hack the token stream.
272
273 2014-06-30 Jason Merrill <jason@redhat.com>
274
275 PR c++/61659
276 PR lto/53808
277 * decl2.c (maybe_emit_vtables): Mark all vtable entries if
278 devirtualizing.
279 * init.c (build_vtbl_address): Don't mark destructor.
280 * class.c (finish_struct_1): Add all classes to keyed_classes
281 if devirtualizing.
282
283 PR c++/61647
284 * pt.c (type_dependent_expression_p): Check BASELINK_OPTYPE.
285
286 PR c++/61566
287 * mangle.c (decl_mangling_context): Look through a TEMPLATE_DECL.
288
289 * decl.c (build_ptrmemfunc_type): Don't give a PMF RECORD_TYPE
290 TYPE_BINFO or TYPE_LANG_SPECIFIC.
291 * cp-tree.h (TYPE_PTRMEMFUNC_FLAG): Use TYPE_LANG_FLAG_2.
292 (TYPE_PTRMEMFUNC_P): Don't expect TYPE_LANG_SPECIFIC.
293 * typeck.c (build_ptrmemfunc_access_expr): Don't use lookup_member.
294 * pt.c (unify): Also check whether the argument is a PMF.
295
296 2014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
297
298 PR c++/54891
299 * parser.c (cp_parser_tokens_start_cast_expression): In C++11
300 a '[' can also start a primary-expression.
301 (cp_parser_cast_expression): Parse a cast-expression only tentatively
302 when cp_parser_tokens_start_cast_expression returns -1.
303
304 2014-06-30 Jason Merrill <jason@redhat.com>
305
306 PR c++/61539
307 * pt.c (unify_one_argument): Type/expression mismatch just causes
308 deduction failure.
309
310 * semantics.c (simplify_aggr_init_expr): Remove remnants of
311 2014-04-11 change.
312
313 2014-06-30 Marek Polacek <polacek@redhat.com>
314
315 * cp-gimplify.c (cp_genericize): Don't instrument returns if the
316 function has no_sanitize_undefined attribute.
317 * decl.c (compute_array_index_type): Don't instrument VLAs if the
318 function has no_sanitize_undefined attribute.
319
320 2014-06-30 Igor Zamyatin <igor.zamyatin@intel.com>
321
322 PR middle-end/57541
323 * cp-array-notation.c (expand_sec_reduce_builtin):
324 Check that bultin argument is correct.
325 * call.c (build_cxx_call): Check for 0 arguments in builtin call.
326
327 2014-06-28 Jonathan Wakely <jwakely@redhat.com>
328
329 DR 1579
330 PR c++/58051
331 * typeck.c (check_return_expr): Lookup as an rvalue even when the
332 types aren't the same.
333
334 2014-06-27 Jason Merrill <jason@redhat.com>
335
336 PR c++/61433
337 * error.c (dump_template_bindings): Don't tsubst in a clone.
338
339 2014-06-27 Paolo Carlini <paolo.carlini@oracle.com>
340
341 PR c++/61614
342 * semantics.c (finish_compound_literal): Revert r204228.
343
344 2014-06-27 Paolo Carlini <paolo.carlini@oracle.com>
345
346 * parser.c (cp_parser_compound_literal_p): New.
347 (cp_parser_postfix_expression, cp_parser_sizeof_operand): Use it.
348
349 2014-06-26 Jason Merrill <jason@redhat.com>
350
351 * parser.c (cp_parser_for_init_statement): Change range-for error
352 to pedwarn.
353
354 N3994 Ranged-based for-loops: The Next Generation
355 * parser.c (cp_lexer_nth_token_is): New.
356 (cp_parser_for_init_statement): Allow "for (id : init)".
357
358 2014-06-26 Teresa Johnson <tejohnson@google.com>
359
360 * class.c (dump_class_hierarchy): Use saved dump files.
361 (dump_vtable): Ditto.
362 (dump_vtt): Ditto.
363
364 2014-06-26 Adam Butcher <adam@jessamine.co.uk>
365
366 PR c++/61537
367 * parser.c (cp_parser_elaborated_type_specifier): Only consider template
368 parameter lists outside of function parameter scope.
369
370 2014-06-25 Paolo Carlini <paolo.carlini@oracle.com>
371
372 DR 178
373 PR c++/49132
374 * typeck2.c (process_init_constructor_record): Do not complain about
375 uninitialized const members, because within aggregate-initialization,
376 members without explicit initializers are value-initialized.
377
378 2014-06-25 Jakub Jelinek <jakub@redhat.com>
379
380 * semantics.c (finish_omp_clauses): Make sure
381 OMP_CLAUSE_LINEAR_STEP has correct type.
382
383 2014-06-24 Jan Hubicka <hubicka@ucw.cz>
384
385 * class.c (check_methods, create_vtable_ptr, determine_key_method,
386 add_vcall_offset_vtbl_entries_1): Guard VINDEX checks by
387 FUNCTION_DECL check.
388 * cp-tree.h (lang_decl_ns): Add ns_using and ns_users.
389 (DECL_NAMESPACE_USING, DECL_NAMESPACE_USERS): Use lang_decl_ns.
390 (DECL_NAMESPACE_ASSOCIATIONS): Use DECL_INITIAL.
391 (DECL_TEMPLATE_INSTANTIATIONS): Use DECL_SIZE_UNIT.
392
393 2014-06-24 Paolo Carlini <paolo.carlini@oracle.com>
394
395 PR c++/33972
396 * decl.c (grokdeclarator): Do not early check for operator-function-id
397 as non-function.
398
399 2014-06-24 Trevor Saunders <tsaunders@mozilla.com>
400
401 * class.c, semantics.c, tree.c, vtable-class-hierarchy.c:
402 Adjust.
403
404 2014-06-24 Jakub Jelinek <jakub@redhat.com>
405
406 * parser.c (cp_parser_omp_for_loop): For
407 #pragma omp parallel for simd move lastprivate clause from parallel
408 to for rather than simd.
409
410 2014-06-23 Paolo Carlini <paolo.carlini@oracle.com>
411
412 DR 577
413 PR c++/33101
414 * decl.c (grokparms): Accept a single parameter of type 'void'.
415
416 2014-06-20 Jason Merrill <jason@redhat.com>
417
418 PR c++/59296
419 * call.c (add_function_candidate): Avoid special 'this' handling
420 if we have a ref-qualifier.
421
422 PR c++/61556
423 * call.c (build_over_call): Call build_this in template path.
424
425 2014-06-19 Jason Merrill <jason@redhat.com>
426
427 PR c++/59296
428 * call.c (add_function_candidate): Also set LOOKUP_NO_TEMP_BIND.
429
430 2014-06-18 Jason Merrill <jason@redhat.com>
431
432 PR c++/59296
433 * call.c (add_function_candidate): Set LOOKUP_NO_RVAL_BIND for
434 ref-qualifier handling.
435
436 PR c++/61507
437 * pt.c (resolve_overloaded_unification): Preserve
438 ARGUMENT_PACK_EXPLICIT_ARGS.
439
440 2014-06-18 Jakub Jelinek <jakub@redhat.com>
441
442 * cp-gimplify.c (cxx_omp_finish_clause): Add a gimple_seq *
443 argument.
444 * cp-tree.h (cxx_omp_finish_clause): Adjust prototype.
445
446 2014-06-17 Jason Merrill <jason@redhat.com>
447
448 PR c++/60605
449 * pt.c (check_default_tmpl_args): Check DECL_LOCAL_FUNCTION_P.
450
451 2014-06-15 Jason Merrill <jason@redhat.com>
452
453 PR c++/61488
454 * pt.c (check_valid_ptrmem_cst_expr): Fix for template context.
455
456 PR c++/61500
457 * tree.c (lvalue_kind): Handle MEMBER_REF and DOTSTAR_EXPR.
458
459 2014-06-15 Jan Hubicka <hubicka@ucw.cz>
460
461 * decl.c (grokvardecl): Fix pasto in previous patch.
462
463 2014-06-15 Jan Hubicka <hubicka@ucw.cz>
464
465 * decl.c (duplicate_decls): Use set_decl_tls_model.
466 (grokdeclarator): Likewise.
467 * semantics.c (finish_id_expression): Check TLS only for
468 static variables.
469 (finish_omp_threadprivate): Use decl_default_tls_model.
470 * decl2.c (get_guard): Likewise.
471 * call.c (make_temporary_var_for_ref_to_temp): Likewise.
472
473 2014-06-14 Paolo Carlini <paolo.carlini@oracle.com>
474
475 PR c++/33101
476 * decl.c (grokparms): Improve error message about void parameters.
477 * error.c (type_to_string): Fix aka cut off code.
478
479 2014-06-12 Jason Merrill <jason@redhat.com>
480
481 * call.c (convert_arg_to_ellipsis): Use abi_version_crosses.
482 * cvt.c (type_promotes_to): Likewise.
483 * mangle.c (write_type, write_expression): Likewise.
484 (write_name, write_template_arg): Likewise.
485 (mangle_decl): Make alias based on flag_abi_compat_version.
486 Emit -Wabi warning here.
487 (finish_mangling_internal): Not here. Drop warn parm.
488 (finish_mangling_get_identifier, finish_mangling): Adjust.
489 (mangle_type_string, mangle_special_for_type): Adjust.
490 (mangle_ctor_vtbl_for_type, mangle_thunk): Adjust.
491 (mangle_guard_variable, mangle_tls_init_fn): Adjust.
492 (mangle_tls_wrapper_fn, mangle_ref_init_variable): Adjust.
493
494 * call.c (build_operator_new_call): Remove -fabi-version=1 support.
495 * class.c (walk_subobject_offsets, include_empty_classes): Likewise.
496 (layout_nonempty_base_or_field, end_of_class): Likewise.
497 (layout_empty_base, build_base_field, layout_class_type): Likewise.
498 (is_empty_class, add_vcall_offset_vtbl_entries_1): Likewise.
499 (layout_virtual_bases): Likewise.
500 * decl.c (compute_array_index_type): Likewise.
501 * mangle.c (write_mangled_name, write_prefix): Likewise.
502 (write_template_prefix, write_integer_cst, write_expression): Likewise.
503 (write_template_arg, write_array_type): Likewise.
504 * method.c (lazily_declare_fn): Likewise.
505 * rtti.c (get_pseudo_ti_index): Likewise.
506 * typeck.c (comp_array_types): Likewise.
507
508 2014-06-11 Jan Hubicka <hubicka@ucw.cz>
509
510 * vtable-class-hierarchy.c: Update handling for section names
511 that are no longer trees.
512 * decl.c (duplicate_decls): Likewise.
513
514 2014-06-11 Paolo Carlini <paolo.carlini@oracle.com>
515
516 PR c++/19200
517 * parser.c (cp_parser_init_declarator): Actually pass friend_p
518 to cp_parser_declarator.
519
520 2014-06-11 Paolo Carlini <paolo.carlini@oracle.com>
521
522 PR c++/60265
523 * parser.c (cp_parser_using_declaration): Handle unscoped enums.
524 * name-lookup.c (validate_nonmember_using_decl): Adjust error
525 message.
526
527 2014-06-11 Paolo Carlini <paolo.carlini@oracle.com>
528
529 PR c++/19200
530 * parser.c (cp_parser_declarator): Add bool parameter.
531 (cp_parser_direct_declarator): Likewise, use it.
532 (cp_parser_member_declaration): Pass friend_p to cp_parser_declarator.
533 (cp_parser_condition, cp_parser_explicit_instantiation,
534 cp_parser_init_declarator, cp_parser_type_id_1,
535 cp_parser_parameter_declaration, cp_parser_exception_declaration,
536 cp_parser_cache_defarg, cp_parser_objc_class_ivars,
537 cp_parser_objc_struct_declaration, cp_parser_omp_for_loop_init):
538 Adjust.
539 * decl.c (grokdeclarator): Fix handling of friend declared in
540 namespace scope (g++.dg/parse/friend10.C).
541
542 2014-06-10 Jan Hubicka <hubicka@ucw.cz>
543
544 * vtable-class-hierarchy.c: Use symtab_get_node (var_decl)
545 ->implicit_section.
546 * optimize.c (cdtor_comdat_group): Fix handling of aliases.
547 (maybe_clone_body): Move symbol across comdat groups.
548 * method.c (use_thunk): Copy implicit section flag.
549
550 2014-06-09 Paolo Carlini <paolo.carlini@oracle.com>
551
552 PR c++/22556
553 * name-lookup.c (pushdecl_maybe_friend_1): Use comptypes.
554
555 2014-06-07 Jan Hubicka <hubicka@ucw.cz>
556
557 * method.c (use_thunk): Use set_decl_section_name.
558 * optimize.c (maybe_clone_body): Use set_decl_section_name.
559 * decl.c (duplicate_decls): Likewise.
560 * vtable-class-hierarchy.c: Likewise.
561
562 2014-06-06 Paolo Carlini <paolo.carlini@oracle.com>
563
564 PR c++/60184
565 * class.c (check_field_decls): In C++11 mode do not reject
566 static data members and reference-type members in unions.
567
568 2014-06-05 Jason Merrill <jason@redhat.com>
569
570 PR c++/43453
571 * decl.c (check_initializer): Collapse a TREE_LIST here.
572 * typeck2.c (store_init_value): Not here.
573
574 2014-06-05 Richard Biener <rguenther@suse.de>
575 Paolo Carlini <paolo.carlini@oracle.com>
576
577 PR c++/56961
578 * cp-gimplify.c (cp_gimplify_expr, [MODIFY_EXPR]): Rework
579 handling of empty classes.
580
581 2014-06-04 Jason Merrill <jason@redhat.com>
582
583 * parser.c (cp_parser_diagnose_invalid_type_name): Give helpful note
584 for noexcept and thread_local, too.
585
586 PR c++/61343
587 * decl.c (check_initializer): Maybe clear
588 DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P.
589
590 2014-06-05 Richard Biener <rguenther@suse.de>
591
592 PR c++/61004
593 * typeck.c (cp_build_indirect_ref): Do not emit strict-aliasing
594 warnings for accessing empty classes.
595
596 2014-06-05 Marek Polacek <polacek@redhat.com>
597
598 PR c/49706
599 * parser.c (cp_parser_binary_expression): Warn when logical not is
600 used on the left hand side operand of a comparison.
601
602 2014-06-04 Paolo Carlini <paolo.carlini@oracle.com>
603
604 PR c++/43453
605 * typeck.c (cp_build_modify_expr): Handle array of characters
606 initialized by a string literal.
607 * decl.c (check_initializer): Handle parenthesized string literal
608 as initializer.
609 * typeck2.c (store_init_value): Remove redundant check.
610
611 2014-06-04 Jason Merrill <jason@redhat.com>
612
613 PR c++/51253
614 PR c++/61382
615 * cp-gimplify.c (cp_gimplify_expr): Handle CALL_EXPR_LIST_INIT_P here.
616 * semantics.c (simplify_aggr_init_expr): Not here, just copy it.
617
618 2014-06-04 Igor Zamyatin <igor.zamyatin@intel.com>
619
620 PR c/58942
621 * cp-array-notation.c (expand_sec_reduce_builtin): Handle the case
622 with a pointer.
623
624 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
625
626 DR 1423
627 PR c++/52174
628 * call.c (standard_conversion): Convert nullptr to bool only
629 in case of direct-initialization.
630 (convert_like_real): Provide informative error message.
631
632 2014-06-03 Marek Polacek <polacek@redhat.com>
633
634 PR c/60439
635 * semantics.c (finish_switch_cond): Warn if switch condition has
636 boolean value.
637
638 2014-06-03 Jason Merrill <jason@redhat.com>
639
640 PR c++/60992
641 * pt.c (tsubst_copy) [VAR_DECL]: Try lookup first. Add a new
642 variable to local_specializations.
643
644 PR c++/60848
645 * call.c (is_std_init_list): Check CLASSTYPE_TEMPLATE_INFO.
646
647 2014-06-02 Jason Merrill <jason@redhat.com>
648
649 PR c++/61046
650 * decl.c (reshape_init_class): Handle un-folded
651 constant-expressions.
652
653 PR c++/61134
654 * pt.c (pack_deducible_p): Handle canonicalization.
655
656 2014-06-02 Paolo Carlini <paolo.carlini@oracle.com>
657
658 * pt.c (tsubst_function_type): Initialize arg_types.
659
660 2014-06-02 Siva Chandra Reddy <sivachandra@google.com>
661
662 PR debug/57519
663 * class.c (handle_using_decl): Pass the correct scope to
664 cp_emit_debug_info_for_using.
665
666 2014-06-02 Ville Voutilainen <ville.voutilainen@gmail.com>
667
668 PR c++/59483
669 PR c++/61148
670 * search.c (accessible_p): Use current_nonlambda_class_type.
671 * semantics.c (check_accessibility_of_qualified_id): Likewise.
672
673 2014-06-02 Andrew MacLeod <amacleod@redhat.com>
674
675 * decl.c: Include builtins.h.
676 * semantics.c: Likewise.
677
678 2014-05-31 Paolo Carlini <paolo.carlini@oracle.com>
679
680 DR 1227
681 PR c++/57543
682 * cp-tree.h (TYPE_HAS_LATE_RETURN_TYPE): Add.
683 * pt.c (tsubst_function_type): Inject the this parameter; do the
684 substitutions in the order mandated by the DR.
685 (copy_default_args_to_explicit_spec): Copy TYPE_HAS_LATE_RETURN_TYPE.
686 * decl.c (grokdeclarator): Maybe set TYPE_HAS_LATE_RETURN_TYPE.
687 (static_fn_type): Copy it.
688 * decl2.c (build_memfn_type, change_return_type,
689 cp_reconstruct_complex_type): Likewise.
690 * parser.c (cp_parser_lambda_declarator_opt): Likewise.
691 * tree.c (strip_typedefs): Likewise.
692 * typeck.c (merge_types): Likewise.
693
694 2014-05-30 Jason Merrill <jason@redhat.com>
695
696 PR c++/56947
697 * pt.c (instantiate_decl): Check that defer_ok is not set for
698 local class members.
699
700 PR c++/60992
701 * pt.c (tsubst_init): Split out from...
702 (tsubst_expr) [DECL_EXPR]: Here.
703 (tsubst_copy) [VAR_DECL]: Use it.
704 * semantics.c (finish_id_expression): Return the decl for static/const.
705
706 2014-05-28 Jason Merrill <jason@redhat.com>
707
708 PR c++/47202
709 * decl.c (cxx_comdat_group): Return a decl.
710 * optimize.c (cdtor_comdat_group): Get its DECL_ASSEMBLER_NAME.
711
712 * pt.c (tsubst) [ARRAY_TYPE]: Check for array of array of unknown
713 bound.
714
715 PR c++/61242
716 * call.c (build_aggr_conv): Ignore passed in flags.
717 (build_array_conv, build_complex_conv): Likewise.
718
719 2014-05-23 Jan Hubicka <hubicka@ucw.cz>
720
721 * optimize.c (maybe_thunk_body): Use set_comdat_group.
722 (maybe_clone_body): Likewise.
723 * decl.c (duplicate_decls): Update code duplicating comdat group;
724 do not copy symtab pointer; before freeing newdecl remove it
725 from symtab.
726 * decl2.c (constrain_visibility): Use set_comdat_group.
727
728 2014-05-23 Jan Hubicka <hubicka@ucw.cz>
729
730 * rtti.c: Include tm_p.h
731 (emit_tinfo_decl): Force RTTI data to be aligned to required
732 ABI alignment only.
733
734 2014-05-23 Jan Hubicka <hubicka@ucw.cz>
735
736 * class.c (build_vtable): Align vtables to TARGET_VTABLE_ENTRY_ALIGN
737 ignoring other target adjustments.
738
739 2014-05-23 Thomas Schwinge <thomas@codesourcery.com>
740
741 * semantics.c (finish_omp_clauses): Remove duplicated variable
742 initialization.
743
744 * parser.c (cp_parser_omp_target): Return bool values.
745
746 2014-05-22 Paolo Carlini <paolo.carlini@oracle.com>
747
748 PR c++/61088
749 * lambda.c (add_capture): Enforce that capture by value requires
750 complete type.
751 * typeck2.c (cxx_incomplete_type_inform): Early return if
752 TYPE_MAIN_DECL is null.
753
754 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
755
756 PR c/61271
757 * cp-array-notation.c (cilkplus_an_triplet_types_ok_p): Fix condition.
758
759 2014-05-21 Ville Voutilainen <ville.voutilainen@gmail.com>
760
761 PR c++/61133
762 * lambda.c (build_capture_proxy, add_capture): Treat normal
763 captures and init-captures identically.
764
765 2014-05-21 Mark Wielaard <mjw@redhat.com>
766
767 PR debug/16063
768 * cp-lang.c (cxx_enum_underlying_base_type): New function.
769 (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Define.
770
771 2014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
772
773 * cvt.c (convert_to_void): Use void_node instead of void_zero_node.
774 * cp-array-notation.c (replace_invariant_exprs): Likewise.
775 (expand_array_notation): Handle VOID_CST.
776 * error.c (dump_expr): Likewise.
777 * cxx-pretty-print.c (cxx_pretty_printer::primary_expression)
778 (cxx_pretty_printer::expression): Likewise.
779 (pp_cxx_new_expression): Use void_node instead of void_zero_node.
780 * decl.c (register_dtor_fn): Likewise.
781 * init.c (build_raw_new_expr, build_new_1, build_vec_init)
782 (build_delete, push_base_cleanups): Likewise.
783 * mangle.c (write_expression): Likewise.
784 * semantics.c (finish_break_stmt, empty_expr_stmt_p): Likewise.
785 * pt.c (tsubst_decl, tsubst_copy_and_build): Likewise.
786 (tsubst, tsubst_copy, build_non_dependent_expr): Handle VOID_CST.
787 * tree.c (cp_tree_equal): Likewise.
788 (build_dummy_object, is_dummy_object, stabilize_expr): Use void_node
789 instead of void_zero_node.
790 * typeck.c (check_return_expr): Likewise.
791 * typeck2.c (build_functional_cast): Likewise.
792
793 2014-05-21 Igor Zamyatin <igor.zamyatin@intel.com>
794
795 PR c/60189
796 * parser.c (cp_parser_postfix_expression): Move handling of cilk_sync
797 from here to...
798 (cp_parser_statement): ...here. Make sure only semicolon can go after
799 Cilk_sync.
800
801 2014-05-20 Paolo Carlini <paolo.carlini@oracle.com>
802
803 PR c++/58753
804 PR c++/58930
805 PR c++/58704
806 * typeck2.c (digest_nsdmi_init): New.
807 * parser.c (cp_parser_late_parse_one_default_arg): Use it.
808 * init.c (get_nsdmi): Likewise.
809 * cp-tree.h (digest_nsdmi_init): Declare.
810
811 2014-05-20 Jason Merrill <jason@redhat.com>
812
813 * typeck.c (get_member_function_from_ptrfunc): Don't try to look
814 up a virtual function in a dummy object.
815
816 2014-05-20 Paolo Carlini <paolo.carlini@oracle.com>
817
818 PR c++/60373
819 * decl.c (duplicate_decls): Replace pair of warning_at with
820 warning_at + inform.
821 (maybe_commonize_var): Likewise.
822
823 2014-05-20 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
824
825 PR bootstrap/61210
826 * pt.c (tsubst_copy, tsubst_omp_for_iterator, tsubst_expr)
827 (tsubst_copy_and_build): Perform recursive substitutions in a
828 deterministic order.
829
830 2014-05-20 Paolo Carlini <paolo.carlini@oracle.com>
831
832 PR c++/58664
833 * typeck2.c (cxx_incomplete_type_inform): New.
834 (cxx_incomplete_type_diagnostic): Use it.
835 * decl.c (grokdeclarator): Check the element type of an
836 incomplete array type; call the above.
837 * cp-tree.h (cxx_incomplete_type_inform): Declare.
838
839 2014-05-19 Jason Merrill <jason@redhat.com>
840
841 PR c++/58761
842 * pt.c (tsubst_copy): Don't check at_function_scope_p.
843 (instantiate_class_template_1): Don't push_to_top_level in an nsdmi.
844
845 2014-05-19 Paolo Carlini <paolo.carlini@oracle.com>
846
847 * typeck2.c (cxx_incomplete_type_diagnostic): Use inform.
848 * parser.c (cp_parser_enum_specifier): Likewise.
849
850 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
851
852 * class.c (sorted_fields_type_new): Adjust.
853 * cp-cilkplus.c (cilk_install_body_with_frame_cleanup): Likewise.
854 * cp-objcp-common.c (decl_shadowed_for_var_insert): Likewise.
855 * cp-tree.h: Remove usage of variable_size gty attribute.
856 * decl.c (make_label_decl): Adjust.
857 (check_goto): Likewise.
858 (start_preparsed_function): Likewise.
859 (save_function_data): Likewise.
860 * lex.c (init_reswords): Likewise.
861 (retrofit_lang_decl): Likewise.
862 (cxx_dup_lang_specific_decl): Likewise.
863 (copy_lang_type): Likewise.
864 (cxx_make_type): Likewise.
865 * name-lookup.c (binding_entry_make): Likewise.
866 (binding_table_construct): Likewise.
867 (binding_table_new): Likewise.
868 (cxx_binding_make): Likewise.
869 (pushdecl_maybe_friend_1): Likewise.
870 (begin_scope): Likewise.
871 (push_to_top_level): Likewise.
872 * parser.c (cp_lexer_alloc): Likewise.
873 (cp_lexer_new_from_tokens): Likewise.
874 (cp_token_cache_new): Likewise.
875 (cp_parser_context_new): Likewise.
876 (cp_parser_new): Likewise.
877 (cp_parser_nested_name_specifier_opt): Likewise.
878 (cp_parser_template_id): Likewise.
879 * pt.c (maybe_process_partial_specialization): Likewise.
880 (register_specialization): Likewise.
881 (add_pending_template): Likewise.
882 (lookup_template_class_1): Likewise.
883 (push_tinst_level): Likewise.
884 * semantics.c (register_constexpr_fundef): Likewise.
885 (cxx_eval_call_expression): Likewise.
886 * typeck2.c (abstract_virtuals_error_sfinae): Likewise.
887
888 2014-05-16 Paolo Carlini <paolo.carlini@oracle.com>
889
890 PR c++/51640
891 * parser.c (cp_parser_diagnose_invalid_type_name): Early return
892 when cp_parser_lookup_name sets ambiguous_decls.
893
894 2014-05-15 Jason Merrill <jason@redhat.com>
895
896 * call.c (print_conversion_rejection): Use loc consistently.
897
898 2014-05-14 Paolo Carlini <paolo.carlini@oracle.com>
899
900 * cp-tree.h (DIRECT_LIST_INIT_P): Add.
901 * call.c (convert_like_real, build_new_method_call_1): Use it.
902 * decl2.c (grokfield): Likewise.
903 * init.c (perform_member_init, build_aggr_init, expand_default_init,
904 build_new_1): Likewise.
905 * mangle.c (write_expression): Likewise.
906 * parser.c (cp_parser_late_parse_one_default_arg): Likewise.
907
908 2014-05-14 Jason Merrill <jason@redhat.com>
909
910 PR c++/20332
911 PR c++/21631
912 * call.c (reference_binding): Treat lvalue/rvalue mismatch and
913 dropped cv-quals as a bad conversion.
914 (convert_like_real) [ck_ref_bind]: Explain them.
915 (compare_ics): Check badness before stripping reference
916 bindings. Handle comparing bad reference bindings.
917 * typeck.c (comp_cv_qualification): Add overload that just takes
918 integers.
919 * cp-tree.h: Declare it.
920
921 * call.c (struct conversion_info): Rename 'from_type' to 'from'.
922 (arg_conversion_rejection, bad_arg_conversion_rejection)
923 (explicit_conversion_rejection, template_conversion_rejection): Adjust.
924 (add_function_candidate): Pass actual argument, rather than type, to
925 bad_arg_conversion_rejection.
926 (print_conversion_rejection): Explain what's wrong with the conversion.
927 (print_z_candidates): Say "candidate:" before each candidate.
928 (splice_viable): Be strict if we see a viable or template candidate.
929 (build_user_type_conversion_1): Pass false to strict parameter.
930 (perform_overload_resolution, build_conditional_expr_1): Likewise.
931 (build_new_op_1, build_new_method_call_1): Likewise.
932 (build_op_call_1): Pass true to strict parameter.
933
934 2014-05-13 Jason Merrill <jason@redhat.com>
935
936 * call.c (print_error_for_call_failure): Say "no match" rather
937 than "ambiguous" if there were no strict matches.
938 (build_new_method_call_1): Likewise.
939
940 PR c++/61151
941 * semantics.c (is_this_parameter): Allow capture proxies too.
942
943 2014-05-12 Jason Merrill <jason@redhat.com>
944
945 * call.c (maybe_print_user_conv_context): New.
946 (convert_like_real): Use it. Print call context for bad
947 user-defined conversion.
948 (build_over_call): Print call context for bad 'this' conversion.
949
950 * call.c (convert_like_real): Use inform for identifying the
951 declaration point.
952
953 2014-05-12 Paolo Carlini <paolo.carlini@oracle.com>
954
955 * cvt.c (cp_convert_to_pointer): Don't call error_at if
956 complain & tf_error is false.
957
958 * decl.c (make_unbound_class_template): Prefer inform for
959 "declared here"-type message.
960
961 2014-05-09 Momchil Velikov <momchil.velikov@gmail.com>
962
963 PR c++/60463
964 PR c++/60755
965 * lambda.c (lambda_expr_this_capture): Add new parameter
966 add_capture_p controlling whether the functions will try to
967 capture 'this' via the default capture.
968 (maybe_resolve_dummy): Likewise.
969 * cp-tree.h: Adjust prototypes.
970 * call.c, semantics.c: Change callers of these functions.
971 * call.c (build_new_method_call_1): Use the actual 'this' that
972 would be potentially captured for the overload resolution, instead
973 of the dummy object.
974
975 2014-05-09 Paolo Carlini <paolo.carlini@oracle.com>
976
977 * pt.c (convert_nontype_argument_function): Add tsubst_flags_t
978 parameter.
979 (convert_nontype_argument): Adjust calls.
980 (coerce_template_parameter_pack): Add missing complain & tf_error
981 check.
982
983 2014-05-09 Jason Merrill <jason@redhat.com>
984
985 DR 587
986 PR c++/51317
987 * call.c (build_conditional_expr_1, conditional_conversion): Handle
988 non-class lvalues and xvalues that differ only in cv-qualifiers.
989
990 DR 5
991 PR c++/60019
992 * call.c (build_user_type_conversion_1): The copy-init temporary
993 is cv-unqualified.
994
995 PR c++/58714
996 * tree.c (stabilize_expr): A stabilized prvalue is an xvalue.
997
998 PR c++/54348
999 * call.c (build_conditional_expr_1): If overload resolution finds
1000 no match, just say "different types".
1001
1002 PR c++/32019
1003 * call.c (build_conditional_expr_1): Improve ambiguity diagnostic.
1004
1005 PR c++/22434
1006 * call.c (build_conditional_expr_1): Don't try to pool cv-quals
1007 if we didn't find a conversion.
1008 Don't accept a bad conversion too early.
1009
1010 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
1011
1012 PR c++/13981
1013 * typeck.c (convert_for_assignment): Provide an inform for pointers
1014 to incomplete class types.
1015
1016 2014-05-07 Paolo Carlini <paolo.carlini@oracle.com>
1017
1018 PR c++/61083
1019 * pt.c (convert_nontype_argument): Protect all the error calls
1020 with complain & tf_error.
1021
1022 2014-05-07 Paolo Carlini <paolo.carlini@oracle.com>
1023
1024 PR c++/61080
1025 * pt.c (instantiate_decl): Avoid generating the body of a
1026 deleted function.
1027
1028 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
1029
1030 PR c++/60999
1031 * pt.c (maybe_begin_member_template_processing): Use
1032 uses_template_parms.
1033
1034 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1035 Mike Stump <mikestump@comcast.net>
1036 Richard Sandiford <rdsandiford@googlemail.com>
1037
1038 * call.c: Include wide-int.h.
1039 (type_passed_as): Use tree_int_cst_lt instead of INT_CST_LT_UNSIGNED.
1040 (convert_for_arg_passing): Likewise.
1041 * class.c: Include wide-int.h.
1042 (walk_subobject_offsets): Use tree_int_cst_lt instead of INT_CST_LT.
1043 (end_of_class): Use tree_int_cst_lt instead of INT_CST_LT_UNSIGNED.
1044 (include_empty_classes): Likewise
1045 (layout_class_type): Use tree_int_cst_lt instead of INT_CST_LT.
1046 * cvt.c: Include wide-int.h.
1047 (ignore_overflows): Use wide_int_to_tree.
1048 * decl.c: Include wide-int.h.
1049 (check_array_designated_initializer): Use wide-int interfaces.
1050 (compute_array_index_type): Use tree_int_cst_lt instead of INT_CST_LT.
1051 (finish_enum_value_list): Use signop.
1052 (build_enumerator): Use wide-int interfaces.
1053 * init.c: Include wide-int.h.
1054 (build_new_1): Use wide-int interfaces.
1055 * mangle.c: Include wide-int.h.
1056 (write_integer_cst): Use wide-int interfaces.
1057 (write_array_type): Likewise.
1058 * tree.c: Include wide-int.h.
1059 (cp_tree_equal): Use tree_int_cst_equal.
1060 * typeck2.c: Include wide-int.h.
1061 (process_init_constructor_array): Use wide-int interfaces.
1062
1063 2014-05-03 Paolo Carlini <paolo.carlini@oracle.com>
1064
1065 PR c++/58582
1066 * decl.c (grokfndecl): Check duplicate_decls return value for
1067 error_mark_node.
1068 * pt.c (instantiate_decl): A deleted function is defined.
1069
1070 2014-05-02 Jason Merrill <jason@redhat.com>
1071
1072 * decl2.c (vague_linkage_p): Local statics have vague linkage.
1073
1074 PR c++/60992
1075 * lambda.c (lambda_capture_field_type): Wrap anything dependent
1076 other than 'this'.
1077 (add_capture): Check for VLA before calling it.
1078 * semantics.c (is_this_parameter): Accept any 'this' parameter, not
1079 just the current one. Make non-static.
1080 * cp-tree.h: Declare it.
1081 * pt.c (tsubst_copy) [VAR_DECL]: Also build a new VAR_DECL if
1082 the operand was static or constant.
1083
1084 2014-05-02 Marek Polacek <polacek@redhat.com>
1085
1086 * typeck.c (maybe_warn_about_returning_address_of_local): Separate
1087 warning_at calls.
1088
1089 2014-05-01 Marek Polacek <polacek@redhat.com>
1090
1091 PR c/43395
1092 * typeck.c (maybe_warn_about_returning_address_of_local): Distinguish
1093 between label and variable when warning about returning local address.
1094
1095 2014-04-30 Jason Merrill <jason@redhat.com>
1096
1097 PR c++/60980
1098 * init.c (build_value_init): Don't try to call an array constructor.
1099
1100 PR c++/60951
1101 * typeck2.c (massage_init_elt): Use maybe_constant_init.
1102
1103 2014-04-30 Marek Polacek <polacek@redhat.com>
1104
1105 * typeck.c (cp_build_binary_op): Call ubsan_instrument_division
1106 even when SANITIZE_FLOAT_DIVIDE is on. Set doing_div_or_mod even
1107 for non-integer types.
1108
1109 2014-04-29 Jason Merrill <jason@redhat.com>
1110
1111 DR 1351
1112 Represent the unevaluated exception specification of an implicitly
1113 declared or deleted function with a simple placeholder, not a list
1114 of functions.
1115 * cp-tree.h (UNEVALUATED_NOEXCEPT_SPEC_P): New.
1116 * except.c (unevaluated_noexcept_spec): New.
1117 * class.c (deduce_noexcept_on_destructor): Use it.
1118 * decl.c (check_redeclaration_exception_specification): Call
1119 maybe_instantiate_noexcept.
1120 (duplicate_decls): Call it before merge_types.
1121 (start_preparsed_function): Call maybe_instantiate_noexcept.
1122 * decl2.c (mark_used): Call maybe_instantiate_noexcept earlier.
1123 * init.c (get_nsdmi): Factor out of perform_member_init.
1124 * method.c (process_subob_fn): Call maybe_instantiate_noexcept.
1125 (walk_field_subobs): Consider NSDMI for EH spec.
1126 (get_defaulted_eh_spec): New.
1127 (implicitly_declare_fn): Use unevaluated_noexcept_spec.
1128 (defaulted_late_check): Defer EH checking in non-template classes.
1129 (after_nsdmi_defaulted_late_checks): New.
1130 * parser.c (cp_parser_class_specifier_1): Use it.
1131 (unparsed_classes): New macro.
1132 * parser.h (cp_unparsed_functions_entry_d): Add classes field.
1133 * pt.c (maybe_instantiate_noexcept): Use get_defaulted_eh_spec.
1134 Remove list-of-functions handling.
1135 * typeck2.c (merge_exception_specifiers): Remove list-of-functions
1136 handling and FN parameter.
1137 * typeck.c (merge_types): Adjust.
1138
1139 2014-04-28 Paolo Carlini <paolo.carlini@oracle.com>
1140
1141 PR c++/59120
1142 * parser.c (cp_parser_alias_declaration): Check return value of
1143 cp_parser_require.
1144
1145 2014-04-24 Jakub Jelinek <jakub@redhat.com>
1146
1147 * parser.c (cp_parser_omp_atomic): Allow seq_cst before
1148 atomic-clause, allow comma in between atomic-clause and
1149 seq_cst.
1150
1151 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
1152
1153 PR libstdc++/43622
1154 * rtti.c (emit_support_tinfos): Do not iterate on
1155 registered_builtin_types (partial revert).
1156
1157 2014-04-23 Dinar Temirbulatov <dtemirbulatov@gmail.com>
1158
1159 PR c++/57958
1160 * semantics.c (apply_deduced_return_type): Complete non-void type
1161 before estimating whether the type is aggregate.
1162
1163 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
1164
1165 PR libstdc++/43622
1166 * rtti.c (emit_support_tinfo_1): New function, extracted from
1167 emit_support_tinfos.
1168 (emit_support_tinfos): Call it and iterate on registered_builtin_types.
1169
1170 2014-04-22 Jakub Jelinek <jakub@redhat.com>
1171
1172 PR c/59073
1173 * parser.c (cp_parser_omp_parallel): If cp_parser_omp_for
1174 fails, don't set OM_PARALLEL_COMBINED and return NULL.
1175
1176 2014-04-18 Jason Merrill <jason@redhat.com>
1177
1178 DR 1571
1179 * call.c (reference_binding): Recurse on user-defined conversion.
1180
1181 PR c++/60872
1182 * call.c (standard_conversion): Don't try to apply restrict to void.
1183
1184 2014-04-16 Marc Glisse <marc.glisse@inria.fr>
1185
1186 * decl.c (reshape_init_r): Handle a single element of vector type.
1187
1188 2014-04-16 Patrick Palka <patrick@parcs.ath.cx>
1189
1190 PR c++/60765
1191 * decl2.c (cplus_decl_attributes): Handle
1192 pointer-to-member-function declarations.
1193
1194 2014-04-16 Patrick Palka <patrick@parcs.ath.cx>
1195
1196 PR c++/60764
1197 * call.c (build_user_type_coversion): Use build_dummy_object
1198 to create the placeholder object for a constructor method call.
1199 (build_special_member_call): Likewise.
1200 (build_over_call): Check for the placeholder object with
1201 is_dummy_object.
1202 (build_new_method_call_1): Likewise. Don't attempt to resolve
1203 a dummy object for a constructor method call.
1204
1205 2014-04-16 Paul Pluzhnikov <ppluzhnikov@google.com>
1206
1207 PR c++/59295
1208 * friend.c (add_friend, make_friend_class): Move repeated friend
1209 warning under Wredundant_decls.
1210
1211 2014-04-15 Paolo Carlini <paolo.carlini@oracle.com>
1212
1213 * decl.c (duplicate_decls): Remove redundant TYPE_NAME use.
1214 * name-lookup.c (pushdecl_maybe_friend_1): Likewise.
1215 (do_class_using_decl): Likewise.
1216 * mangle.c (dump_substitution_candidates): Use TYPE_NAME_STRING.
1217
1218 2014-04-15 Jakub Jelinek <jakub@redhat.com>
1219
1220 PR plugins/59335
1221 * Make-lang.h (CP_PLUGIN_HEADERS): Add type-utils.h.
1222
1223 2014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
1224
1225 * cp-tree.h (TYPE_IDENTIFIER): Remove declaration.
1226
1227 2014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
1228
1229 * pt.c (mark_template_parm): Use template_parm_level_and_index.
1230
1231 2014-04-11 Jason Merrill <jason@redhat.com>
1232
1233 * parser.h (struct cp_token): Rename ambiguous_p to error_reported.
1234 * parser.c: Adjust.
1235 (cp_lexer_get_preprocessor_token): Always clear it.
1236 (cp_parser_lambda_expression): Use it to avoid duplicate diagnostics.
1237
1238 DR 1467
1239 PR c++/51747
1240 * decl.c (reshape_init_r): Handle a single element of class type.
1241
1242 DR 1338
1243 * decl.c (cxx_init_decl_processing): Set DECL_IS_MALLOC on
1244 built-in operator new.
1245
1246 2014-04-11 Paolo Carlini <paolo.carlini@oracle.com>
1247
1248 PR c++/58600
1249 * name-lookup.c (parse_using_directive): Return early if the
1250 attribs argument is error_mark_node; use get_attribute_name.
1251
1252 2014-04-11 Jason Merrill <jason@redhat.com>
1253
1254 DR 1030
1255 PR c++/51253
1256 * cp-tree.h (CALL_EXPR_LIST_INIT_P): New.
1257 * call.c (struct z_candidate): Add flags field.
1258 (add_candidate): Add flags parm.
1259 (add_function_candidate, add_conv_candidate, build_builtin_candidate)
1260 (add_template_candidate_real): Pass it.
1261 (build_over_call): Set CALL_EXPR_LIST_INIT_P.
1262 * tree.c (build_aggr_init_expr): Copy it.
1263 * semantics.c (simplify_aggr_init_expr): Preevaluate args if it's set.
1264
1265 2014-04-10 Richard Biener <rguenther@suse.de>
1266 Jakub Jelinek <jakub@redhat.com>
1267
1268 PR ipa/60761
1269 * error.c (dump_decl) <case FUNCTION_DECL>: If
1270 DECL_LANG_SPECIFIC is NULL, but DECL_ABSTRACT_ORIGIN is not,
1271 recurse on DECL_ABSTRACT_ORIGIN instead of printing
1272 <built-in>.
1273
1274 2014-04-09 Fabien Chêne <fabien@gcc.gnu.org>
1275
1276 * pt.c (check_template_variable): Check for the return of pedwarn
1277 before emitting a note.
1278 * parser.c (cp_parser_lambda_introducer): Likewise.
1279
1280 2014-04-08 Paolo Carlini <paolo.carlini@oracle.com>
1281
1282 PR c++/59115
1283 * pt.c (process_template_parm): For an invalid non-type parameter
1284 only set TREE_TYPE to error_mark_node.
1285 (push_inline_template_parms_recursive, comp_template_parms,
1286 redeclare_class_template, coerce_template_template_parm,
1287 coerce_template_template_parms, unify): Use error_operand_p.
1288
1289 2014-04-08 Nathan Sidwell <nathan@codesourcery.com>
1290
1291 * class.c (check_bases_and_members): Warn about non-virtual dtors
1292 in public bases only. Check warn_ecpp before complaining about
1293 non-polymorphic bases.
1294
1295 2014-04-04 Fabien Chêne <fabien@gcc.gnu.org>
1296
1297 * decl.c (duplicate_decls): Check for the return of warning_at
1298 before emitting a note.
1299 (warn_misplaced_attr_for_class_type): Likewise.
1300 (check_tag_decl): Likewise.
1301
1302 2014-04-04 Paolo Carlini <paolo.carlini@oracle.com>
1303
1304 PR c++/58207
1305 * semantics.c (sort_constexpr_mem_initializers): Robustify loop.
1306
1307 2014-04-04 Patrick Palka <patrick@parcs.ath.cx>
1308
1309 PR c++/44613
1310 * semantics.c (add_stmt): Set STATEMENT_LIST_HAS_LABEL.
1311 * decl.c (cp_finish_decl): Create a new BIND_EXPR before
1312 instantiating a variable-sized type.
1313
1314 PR c++/21113
1315 * decl.c (decl_jump_unsafe): Consider variably-modified decls.
1316
1317 2014-04-04 Fabien Chêne <fabien@gcc.gnu.org>
1318
1319 * class.c (find_abi_tags_r): Check for the return of warning
1320 before emitting a note.
1321 (one_inherited_ctor): Likewise.
1322
1323 2014-04-04 Fabien Chêne <fabien@gcc.gnu.org>
1324
1325 * decl.c (duplicate_decls): Check for the return of permerror
1326 before emitting a note.
1327
1328 2014-04-03 Nathan Sidwell <nathan@codesourcery.com>
1329
1330 * class.c (accessible_nvdtor_p): New.
1331 (check_bases): Don't check base destructor here ...
1332 (check_bases_and_members): ... check them here. Trigger on
1333 Wnon-virtual-dtor flag.
1334 (finish_struct_1): Use accessible_nvdtor_p.
1335
1336 2014-04-01 Jason Merrill <jason@redhat.com>
1337
1338 * pt.c (process_partial_specialization): Say "not deducible"
1339 rather than "not used". Use inform.
1340
1341 PR c++/60374
1342 * pt.c (coerce_template_parms): Check that the pack expansion
1343 pattern works with the first matching parameter.
1344
1345 2014-04-01 Fabien Chêne <fabien@gcc.gnu.org>
1346
1347 * init.c (perform_member_init): Homogenize uninitialized
1348 diagnostics.
1349
1350 2014-04-01 Jason Merrill <jason@redhat.com>
1351
1352 PR c++/60708
1353 * call.c (build_array_conv): Call complete_type.
1354
1355 PR c++/60713
1356 * typeck2.c (PICFLAG_SIDE_EFFECTS): New.
1357 (picflag_from_initializer): Return it.
1358 (process_init_constructor): Handle it.
1359
1360 PR c++/60642
1361 * decl2.c (is_late_template_attribute): Don't defer abi_tag.
1362 * mangle.c (write_unqualified_name): Fix abi_tag on templates.
1363 * pt.c (get_template_info): Handle NAMESPACE_DECL.
1364 (most_general_template): Handle more kinds of template.
1365 * tree.c (handle_abi_tag_attribute): Ignore abi_tag on template
1366 instantiations and specializations.
1367
1368 2014-03-31 Patrick Palka <patrick@parcs.ath.cx>
1369
1370 PR c++/44859
1371 * typeck.c (maybe_warn_about_returning_address_of_local): Unwrap
1372 COMPONENT_REFs and ARRAY_REFs sooner.
1373
1374 2014-03-29 Adam Butcher <adam@jessamine.co.uk>
1375
1376 PR c++/60626
1377 * parser.c (cp_parser_init_declarator): Handle erroneous generic type
1378 usage in non-functions with pushed scope.
1379
1380 2014-03-28 Adam Butcher <adam@jessamine.co.uk>
1381
1382 PR c++/60573
1383 * name-lookup.h (cp_binding_level): New transient field defining_class_p
1384 to indicate whether a scope is in the process of defining a class.
1385 * semantics.c (begin_class_definition): Set defining_class_p.
1386 * name-lookup.c (leave_scope): Reset defining_class_p.
1387 * parser.c (synthesize_implicit_template_parm): Use cp_binding_level::
1388 defining_class_p rather than TYPE_BEING_DEFINED as the predicate for
1389 unwinding to class-defining scope to handle the erroneous definition of
1390 a generic function of an arbitrarily nested class within an enclosing
1391 class.
1392
1393 2014-03-26 Fabien Chêne <fabien@gcc.gnu.org>
1394
1395 PR c++/52369
1396 * method.c (walk_field_subobs): Improve the diagnostic
1397 locations for both REFERENCE_TYPEs and non-static const members.
1398 * init.c (diagnose_uninitialized_cst_or_ref_member): Use %q#D
1399 instead of %qD to be consistent with the c++11 diagnostic.
1400
1401 2014-03-25 Jason Merrill <jason@redhat.com>
1402
1403 PR c++/60566
1404 PR c++/58678
1405 * class.c (build_vtbl_initializer): Handle abstract dtors here.
1406 * search.c (get_pure_virtuals): Not here.
1407
1408 PR c++/60375
1409 * parser.c (cp_parser_lambda_expression): Don't parse the body of
1410 a lambda in unevaluated context.
1411
1412 PR c++/60628
1413 * decl.c (create_array_type_for_decl): Complain about array of auto.
1414
1415 2014-03-25 Jakub Jelinek <jakub@redhat.com>
1416
1417 PR c++/60331
1418 * semantics.c (potential_constant_expression_1): Handle
1419 DECL_EXPR.
1420
1421 2014-03-24 Adam Butcher <adam@jessamine.co.uk>
1422
1423 PR c++/60627
1424 * parser.c (cp_parser_parameter_declaration_clause): Prevent 'auto' from
1425 introducing an implicit function template parameter within an explicit
1426 instantiation.
1427
1428 2014-03-22 Jason Merrill <jason@redhat.com>
1429
1430 PR c++/60574
1431 * decl.c (grokdeclarator): Change permerror about 'virtual auto'
1432 to error.
1433
1434 2014-03-21 Paolo Carlini <paolo.carlini@oracle.com>
1435
1436 PR c++/60384
1437 * name-lookup.c (push_class_level_binding_1): Check identifier_p
1438 on the name argument.
1439
1440 2014-03-20 Jakub Jelinek <jakub@redhat.com>
1441
1442 PR c++/60572
1443 * init.c (build_zero_init_1): Ignore fields with error_mark_node
1444 type.
1445
1446 2014-03-19 Paolo Carlini <paolo.carlini@oracle.com>
1447
1448 PR c++/51474
1449 * call.c (build_new_method_call_1): Handle pure virtuals called by
1450 NSDMIs too.
1451
1452 2014-03-17 Adam Butcher <adam@jessamine.co.uk>
1453
1454 PR c++/60390
1455 * parser.c (cp_parser_member_declaration): Don't allow
1456 finish_fully_implicit_template to consider friend declarations to be
1457 class member templates.
1458 (synthesize_implicit_template_parm): Handling winding back through class
1459 scope to the class being defined in order to inject a template argument
1460 list.
1461
1462 PR c++/60391
1463 * parser.c (cp_parser_skip_to_end_of_block_or_statement): Unwind generic
1464 function scope as per cp_parser_skip_to_end_of_statement.
1465
1466 2014-03-17 Paolo Carlini <paolo.carlini@oracle.com>
1467
1468 PR c++/59571
1469 * typeck2.c (check_narrowing): Use fold_non_dependent_expr_sfinae.
1470
1471 2014-03-14 Jason Merrill <jason@redhat.com>
1472
1473 PR c++/60532
1474 PR c++/58678
1475 * search.c (get_pure_virtuals): Handle abstract dtor here.
1476 (dfs_get_pure_virtuals): Not here.
1477
1478 PR c++/58678
1479 * search.c (dfs_get_pure_virtuals): Treat the destructor of an
1480 abstract class as pure.
1481
1482 2014-03-13 Paolo Carlini <paolo.carlini@oracle.com>
1483
1484 PR c++/60383
1485 * pt.c (maybe_process_partial_specialization): Check return value
1486 of check_specialization_namespace.
1487
1488 2014-03-13 Paolo Carlini <paolo.carlini@oracle.com>
1489
1490 PR c++/60254
1491 * semantics.c (finish_static_assert): Call cxx_constant_value only
1492 if require_potential_rvalue_constant_expression returns true.
1493
1494 2014-03-11 Paolo Carlini <paolo.carlini@oracle.com>
1495
1496 PR c++/60389
1497 * method.c (get_inherited_ctor): New.
1498 * cp-tree.h (get_inherited_ctor): Declare it.
1499 * semantics.c (is_valid_constexpr_fn): Use it.
1500
1501 2014-03-10 Jason Merrill <jason@redhat.com>
1502
1503 PR c++/60367
1504 * call.c (convert_default_arg): Remove special handling for
1505 CONSTRUCTOR.
1506
1507 PR c++/53492
1508 * parser.c (cp_parser_class_head): Also check PRIMARY_TEMPLATE_P
1509 when deciding whether to call push_template_decl for a member class.
1510 * pt.c (push_template_decl_real): Return after wrong levels error.
1511
1512 2014-03-08 Adam Butcher <adam@jessamine.co.uk>
1513
1514 PR c++/60033
1515 * pt.c (tsubst_copy): When retrieving a capture pack from a generic
1516 lambda, remove the lambda's own template argument list prior to fetching
1517 the specialization.
1518
1519 PR c++/60393
1520 * parser.c (cp_parser_parameter_declaration_clause): Move generic
1521 function template unwinding on error into a more general location, ...
1522 (cp_parser_skip_to_end_of_statement): ... here.
1523
1524 2014-03-07 Jason Merrill <jason@redhat.com>
1525
1526 * Make-lang.in (check_g++_parallelize): Split dg.exp.
1527
1528 * parser.c (cp_parser_type_id_1): Only allow 'auto' in C++1y if
1529 we're in a trailing return type.
1530
1531 * typeck.c (comp_template_parms_position): 'auto' and
1532 'decltype(auto)' are different from real template parms.
1533
1534 * parser.c (cp_parser_using_declaration): Consume the semicolon
1535 after bare parameter pack error.
1536
1537 * cp-tree.h (REF_PARENTHESIZED_P): New.
1538 * semantics.c (force_paren_expr): Set it.
1539 * pt.c (do_auto_deduction): Check it.
1540 (tsubst) [COMPONENT_REF]: Copy it.
1541 * typeck.c (maybe_warn_about_useless_cast): Don't strip dereference.
1542
1543 * decl.c (create_array_type_for_decl): Only warn about invalid
1544 C++1y VLA if flag_iso or warn_vla>0.
1545 (grokdeclarator): Likewise.
1546 * pt.c (tsubst): Likewise.
1547 * semantics.c (finish_decltype_type): Likewise.
1548 * typeck.c (cxx_sizeof_or_alignof_type): Likewise.
1549 (cp_build_addr_expr_1): Likewise.
1550 * init.c (build_new_1): Improve diagnostics.
1551
1552 2014-03-07 Paolo Carlini <paolo.carlini@oracle.com>
1553
1554 PR c++/58609
1555 * decl.c (check_initializer): Return NULL_TREE after error;
1556 consistently use inform.
1557
1558 2014-03-07 Paolo Carlini <paolo.carlini@oracle.com>
1559
1560 * decl.c (check_initializer): Remove dead code.
1561
1562 2014-03-06 Marek Polacek <polacek@redhat.com>
1563
1564 PR c/60197
1565 * typeck.c (check_return_expr): Call contains_cilk_spawn_stmt instead
1566 of checking tree code.
1567
1568 2014-03-06 Paolo Carlini <paolo.carlini@oracle.com>
1569
1570 * parser.c (cp_lexer_set_source_position): New.
1571 (cp_parser_mem_initializer): Use it.
1572 (cp_parser_postfix_open_square_expression): Likewise.
1573 (cp_parser_parenthesized_expression_list): Likewise.
1574 (cp_parser_new_initializer): Likewise.
1575 (cp_parser_jump_statement): Likewise.
1576 (cp_parser_initializer): Likewise.
1577 (cp_parser_functional_cast): Likewise.
1578
1579 2014-03-05 Jason Merrill <jason@redhat.com>
1580
1581 PR c++/60409
1582 * semantics.c (force_paren_expr): Only add a PAREN_EXPR to a
1583 dependent expression.
1584
1585 PR c++/60361
1586 * parser.c (cp_parser_template_id): Don't set up a CPP_TEMPLATE_ID
1587 if re-parsing might succeed.
1588 * semantics.c (finish_id_expression): Use of a parameter outside
1589 the function body is a parse error.
1590
1591 * parser.c (cp_parser_mem_initializer): Set input_location
1592 properly for init-list warning.
1593 (cp_parser_postfix_open_square_expression): Likewise.
1594 (cp_parser_parenthesized_expression_list): Likewise.
1595 (cp_parser_new_initializer): Likewise.
1596 (cp_parser_jump_statement): Likewise.
1597 (cp_parser_initializer): Likewise.
1598 (cp_parser_functional_cast): Likewise.
1599
1600 2014-03-04 Jason Merrill <jason@redhat.com>
1601
1602 PR c++/60417
1603 * typeck2.c (process_init_constructor_record): Set
1604 CONSTRUCTOR_IS_DIRECT_INIT on {} for omitted initializers.
1605
1606 PR c++/60415
1607 PR c++/54359
1608 * parser.c (cp_parser_direct_declarator): Set declarator to
1609 cp_error_declarator on invalid qualified-id.
1610
1611 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
1612
1613 PR c++/60376
1614 * parser.c (cp_parser_using_declaration): Early return when
1615 cp_parser_nested_name_specifier errors out.
1616
1617 2014-03-01 Adam Butcher <adam@jessamine.co.uk>
1618
1619 PR c++/60377
1620 * parser.c (cp_parser_parameter_declaration_clause): Unwind generic
1621 function scope on parse error in function parameter list.
1622
1623 2014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
1624
1625 * method.c (implicitly_declare_fn): Remove redundant
1626 DECL_TEMPLATE_RESULT and STRIP_TEMPLATE uses.
1627 * semantics.c (is_instantiation_of_constexpr): Likewise.
1628 * error.c (dump_function_decl): Likewise.
1629
1630 2014-03-01 Jason Merrill <jason@redhat.com>
1631
1632 PR c++/60379
1633 * semantics.c (begin_maybe_infinite_loop): Use
1634 fold_non_dependent_expr_sfinae.
1635
1636 2014-02-28 Jason Merrill <jason@redhat.com>
1637
1638 PR c++/58845
1639 * typeck.c (cp_build_binary_op): Sorry on vector&&vector.
1640
1641 2014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
1642
1643 PR c++/58610
1644 * cp-tree.h (DECL_DELETED_FN): Use LANG_DECL_FN_CHECK.
1645 * call.c (print_z_candidate): Remove STRIP_TEMPLATE use.
1646 * lambda.c (maybe_add_lambda_conv_op): Likewise.
1647
1648 2014-02-27 Paolo Carlini <paolo.carlini@oracle.com>
1649
1650 PR c++/60253
1651 * call.c (convert_arg_to_ellipsis): Return error_mark_node after
1652 error_at.
1653
1654 2014-02-27 Jason Merrill <jason@redhat.com>
1655
1656 PR c++/60353
1657 PR c++/55877
1658 * decl2.c (tentative_decl_linkage): Don't mess with functions that
1659 are not yet defined.
1660
1661 2014-02-26 Jason Merrill <jason@redhat.com>
1662
1663 PR c++/60347
1664 PR lto/53808
1665 * class.c (clone_function_decl): Don't note_vague_linkage_fn.
1666 * init.c (build_vtbl_address): Do it here.
1667
1668 PR c++/59231
1669 PR c++/11586
1670 PR c++/14710
1671 PR c++/57132
1672 * pt.c (struct warning_sentinel): New.
1673 (tsubst_copy_and_build): Use it instead of
1674 c_inhibit_evaluation_warnings.
1675 * typeck.c (maybe_warn_about_useless_cast): Remove
1676 c_inhibit_evaluation_warnings check.
1677
1678 PR c++/54440
1679 * pt.c (get_template_parm_index): New.
1680 (fixed_parameter_pack_p_1, fixed_parameter_pack_p): New.
1681 (process_template_parm): Allow bare packs in template template
1682 parm template parms.
1683 (coerce_template_parameter_pack): Handle fixed template template
1684 parm packs and fixed packs not at the end of the parm list.
1685 (coerce_template_parms): Handle template parm packs not at the end
1686 of the parm list.
1687 (gen_elem_of_pack_expansion_instantiation): Handle a decl expansion.
1688
1689 PR c++/60182
1690 * pt.c (unify): Ignore alias templates when deducing a template
1691 template parameter.
1692
1693 PR c++/60345
1694 Revert:
1695 DR 1571
1696 * call.c (reference_binding): Recurse on user-defined conversion.
1697 (convert_like_real) [ck_ref_bind]: Explain cv-qual mismatch.
1698
1699 2014-02-25 Jason Merrill <jason@redhat.com>
1700
1701 DR 1571
1702 * call.c (reference_binding): Recurse on user-defined conversion.
1703 (convert_like_real) [ck_ref_bind]: Explain cv-qual mismatch.
1704
1705 * call.c (print_conversion_rejection): Handle n_arg of -2.
1706 (build_user_type_conversion_1): Pass it.
1707
1708 PR c++/55877
1709 * decl2.c (no_linkage_error): Handle C++98 semantics.
1710 (reset_type_linkage): Move from decl.c.
1711 (reset_type_linkage_1, reset_type_linkage_2, bt_reset_linkage_1)
1712 (bt_reset_linkage_2, reset_decl_linkage): New.
1713 (tentative_decl_linkage): Factor out of expand_or_defer_fn_1.
1714 (cp_write_global_declarations): Move condition into no_linkage_error.
1715 * decl.c (grokfndecl, grokvardecl): Use no_linkage_error.
1716 * semantics.c (expand_or_defer_fn_1): Factor out
1717 tentative_decl_linkage.
1718 * cp-tree.h: Adjust.
1719
1720 * decl2.c (finish_static_data_member_decl): Diagnose static data
1721 member in unnamed class.
1722 * class.c (finish_struct_anon_r): Avoid redundant diagnostic.
1723
1724 PR lto/53808
1725 * class.c (clone_function_decl): Call note_vague_linkage_fn for
1726 defaulted virtual dtor.
1727
1728 DR 1286
1729 PR c++/60328
1730 * pt.c (get_underlying_template): Fix equivalence calculation.
1731
1732 2014-02-25 Adam Butcher <adam@jessamine.co.uk>
1733
1734 PR c++/60311
1735 * parser.c (function_being_declared_is_template_p): Return false when
1736 processing a template parameter list.
1737 (cp_parser_parameter_declaration_clause): Don't set
1738 auto_is_implicit_function_template_parm_p when processing a
1739 template parameter list.
1740
1741 * parser.c (synthesize_implicit_template_parm): Inject new template
1742 argument list appropriately when a generic member function
1743 of a class template is declared out-of-line.
1744
1745 PR c++/60065
1746 * parser.c (cp_parser_direct_declarator): Don't save and
1747 restore num_template_parameter_lists around call to
1748 cp_parser_parameter_declaration_list.
1749 (function_being_declared_is_template_p): New predicate.
1750 (cp_parser_parameter_declaration_list): Use
1751 function_being_declared_is_template_p as predicate for
1752 inspecting current function template parameter list length
1753 rather than num_template_parameter_lists.
1754
1755 2014-02-24 Jason Merrill <jason@redhat.com>
1756
1757 PR c++/60146
1758 * pt.c (tsubst_omp_for_iterator): Don't let substitution of the
1759 DECL_EXPR initialize a non-class iterator.
1760
1761 PR c++/60312
1762 * parser.c (cp_parser_template_type_arg): Check for invalid 'auto'.
1763
1764 2014-02-21 Jason Merrill <jason@redhat.com>
1765
1766 PR c++/58170
1767 * parser.c (cp_parser_type_name): Always check dependency.
1768 (cp_parser_type_specifier_seq): Call
1769 cp_parser_parse_and_diagnose_invalid_type_name.
1770
1771 PR c++/60108
1772 * semantics.c (expand_or_defer_fn_1): Check DECL_DEFAULTED_FN.
1773
1774 PR c++/60185
1775 * parser.c (cp_parser_default_argument): Clear
1776 current_class_ptr/current_class_ref like tsubst_default_argument.
1777
1778 PR c++/60252
1779 * lambda.c (maybe_resolve_dummy): Check lambda_function rather
1780 than current_binding_level.
1781
1782 PR c++/60186
1783 * typeck2.c (massage_init_elt): Call fold_non_dependent_expr_sfinae.
1784
1785 PR c++/60187
1786 * parser.c (cp_parser_enum_specifier): Call
1787 check_for_bare_parameter_packs.
1788
1789 PR c++/59347
1790 * pt.c (tsubst_decl) [TYPE_DECL]: Don't try to instantiate an
1791 erroneous typedef.
1792
1793 PR c++/60241
1794 * pt.c (lookup_template_class_1): Update DECL_TEMPLATE_INSTANTIATIONS
1795 of the partial instantiation, not the most general template.
1796 (maybe_process_partial_specialization): Reassign everything on
1797 that list.
1798
1799 PR c++/60216
1800 * pt.c (register_specialization): Copy DECL_DELETED_FN to clones.
1801 (check_explicit_specialization): Don't clone.
1802
1803 PR c++/60219
1804 * pt.c (coerce_template_parms): Bail if argument packing fails.
1805
1806 PR c++/60224
1807 * decl.c (cp_complete_array_type, maybe_deduce_size_from_array_init):
1808 Don't get confused by a CONSTRUCTOR that already has a type.
1809
1810 PR c++/60227
1811 * call.c (build_array_conv): Don't crash on VLA.
1812
1813 PR c++/60248
1814 * mangle.c (mangle_decl): Don't make an alias for a TYPE_DECL.
1815
1816 PR c++/60252
1817 * lambda.c (maybe_resolve_dummy): Don't try to capture this
1818 in declaration context.
1819
1820 DR 1591
1821 PR c++/60051
1822 * pt.c (unify): Only unify if deducible. Handle 0-length list.
1823
1824 PR c++/60250
1825 * parser.c (cp_parser_direct_declarator): Don't wrap a
1826 type-dependent expression in a NOP_EXPR.
1827
1828 PR c++/60251
1829 * lambda.c (is_normal_capture_proxy): Handle VLA capture.
1830
1831 PR c++/60167
1832 PR c++/60222
1833 PR c++/58606
1834 * parser.c (cp_parser_template_argument): Restore dereference.
1835 * pt.c (template_parm_to_arg): Dereference non-pack expansions too.
1836 (process_partial_specialization): Handle deref.
1837 (unify): Likewise.
1838
1839 2014-02-21 Adam Butcher <adam@jessamine.co.uk>
1840
1841 PR c++/60052
1842 PR c++/60053
1843 * parser.c (cp_parser_parameter_declaration_list): Correctly reset
1844 implicit_template_scope upon leaving an out-of-line generic member
1845 function definition.
1846
1847 2014-02-20 Kai Tietz <ktietz@redhat.com>
1848
1849 PR c++/58873
1850 * parser.c (cp_parser_functional_cast): Treat NULL_TREE
1851 valued type argument as error_mark_node.
1852
1853 PR c++/58835
1854 * semantics.c (finish_fname): Handle error_mark_node.
1855
1856 2014-02-19 Jason Merrill <jason@redhat.com>
1857
1858 PR c++/60046
1859 * pt.c (maybe_instantiate_noexcept): Don't instantiate exception
1860 spec from template context.
1861
1862 2014-02-19 Jakub Jelinek <jakub@redhat.com>
1863
1864 PR debug/56563
1865 * cp-objcp-common.c (cp_function_decl_explicit_p): Remove
1866 FUNCTION_FIRST_USER_PARMTYPE (decl) != void_list_node check.
1867
1868 PR c++/60267
1869 * pt.c (tsubst_expr): Handle ANNOTATE_EXPR.
1870
1871 2014-02-18 Paolo Carlini <paolo.carlini@oracle.com>
1872
1873 PR c++/60225
1874 * semantics.c (ensure_literal_type_for_constexpr_object): Use
1875 strip_array_types.
1876
1877 2014-02-18 Paolo Carlini <paolo.carlini@oracle.com>
1878
1879 PR c++/60215
1880 * semantics.c (cxx_eval_constant_expression, [COMPONENT_REF]):
1881 During error recovery allow_non_constant may be false.
1882
1883 2014-02-18 Adam Butcher <adam@jessamine.co.uk>
1884
1885 PR c++/60190
1886 * parser.c (cp_parser_lambda_declarator_opt): Pop template parameter
1887 scope whenever a template parameter list has been started, independent
1888 of whether the function call operator was well-formed or not.
1889
1890 PR c++/60064
1891 * parser.c (cp_parser_member_declaration): Pop fully implicit template
1892 scope for generic friend declarations as well as for non-friends.
1893
1894 2014-02-12 Paolo Carlini <paolo.carlini@oracle.com>
1895
1896 PR c++/60047
1897 * method.c (implicitly_declare_fn): A constructor of a class with
1898 virtual base classes isn't constexpr (7.1.5p4).
1899
1900 2014-02-05 Jan Hubicka <hubicka@ucw.cz
1901
1902 * parser.c (synthesize_implicit_template_parm): Use grow_tree_vec.
1903
1904 2014-02-05 Jakub Jelinek <jakub@redhat.com>
1905
1906 PR c++/58703
1907 * parser.c (cp_parser_omp_declare_reduction): Save and free
1908 declarator_obstack.
1909
1910 2014-02-03 Marc Glisse <marc.glisse@inria.fr>
1911
1912 PR c++/53017
1913 PR c++/59211
1914 * tree.c (handle_init_priority_attribute): Call default_conversion on
1915 the attribute argument.
1916
1917 2014-02-03 Paolo Carlini <paolo.carlini@oracle.com>
1918
1919 PR c++/58871
1920 * method.c (synthesized_method_walk): If vbases is non-null but
1921 is_empty is true, likewise don't worry about the virtual bases.
1922
1923 2014-02-01 Paolo Carlini <paolo.carlini@oracle.com>
1924
1925 PR c++/51219
1926 * typeck2.c (process_init_constructor_record): Just skip unnamed
1927 bit-fields.
1928
1929 2014-01-31 Jason Merrill <jason@redhat.com>
1930
1931 PR c++/59469
1932 * pt.c (mark_decl_instantiated): Call mark_needed.
1933
1934 PR c++/58672
1935 * decl2.c (handle_tls_init): Handle null init fn.
1936
1937 PR c++/55800
1938 * decl2.c (get_tls_init_fn): Copy DECL_EXTERNAL from the variable.
1939
1940 2014-01-31 Paolo Carlini <paolo.carlini@oracle.com>
1941
1942 PR c++/59082
1943 * class.c (build_vfield_ref): Early return error_mark_node if
1944 TYPE_VFIELD (type) is null.
1945 (build_base_path): Check return value of build_vfield_ref.
1946
1947 2014-01-31 Jason Merrill <jason@redhat.com>
1948
1949 PR c++/59646
1950 * call.c (convert_like_real) [ck_aggr]: Set TARGET_EXPR_LIST_INIT_P.
1951 [ck_list]: Check for error_mark_node.
1952 (build_aggr_conv): Set LOOKUP_NO_NARROWING and check_narrowing.
1953
1954 PR c++/57043
1955 * pt.c (fn_type_unification): Don't do DEDUCE_EXACT check
1956 during partial ordering.
1957
1958 2014-01-31 Marek Polacek <polacek@redhat.com>
1959
1960 PR c/59963
1961 * typeck.c (build_function_call_vec): Add dummy arg_loc parameter.
1962
1963 2014-01-30 Jason Merrill <jason@redhat.com>
1964
1965 PR c++/57899
1966 * cp-tree.h (struct saved_scope): Add x_local_specializations.
1967 (local_specializations): New macro.
1968 * pt.c (local_specializations): Remove variable.
1969
1970 2014-01-30 Richard Sandiford <rdsandiford@googlemail.com>
1971
1972 PR c++/58708
1973 * parser.c (make_string_pack): Use double_int::from_buffer.
1974
1975 2014-01-30 Marek Polacek <polacek@redhat.com>
1976
1977 PR c/59940
1978 * typeck.c (build_ptrmemfunc1): Call convert_and_check with
1979 input_location.
1980 * cvt.c (cp_convert_and_check): Call warnings_for_convert_and_check
1981 with input_location.
1982 * call.c (build_conditional_expr_1): Call unsafe_conversion_p with
1983 loc parameter.
1984
1985 2014-01-30 Paolo Carlini <paolo.carlini@oracle.com>
1986
1987 PR c++/58843
1988 * typeck.c (lookup_destructor): Check dtor_type for error_mark_node.
1989
1990 2014-01-30 Paolo Carlini <paolo.carlini@oracle.com>
1991
1992 PR c++/58649
1993 * pt.c (lookup_template_class_1): Check start_enum return value
1994 for error_mark_node.
1995
1996 2014-01-30 Paolo Carlini <paolo.carlini@oracle.com>
1997
1998 * decl.c (duplicate_decls, typename_hash, typename_compare):
1999 Use TYPE_IDENTIFIER.
2000 * error.c (dump_type): Likewise.
2001 * mangle.c (dump_substitution_candidates): Likewise.
2002
2003 2014-01-30 Jason Merrill <jason@redhat.com>
2004
2005 PR c++/59633
2006 * decl2.c (attributes_naming_typedef_ok): New.
2007 * cp-tree.h: Declare it.
2008 * decl.c (grokdeclarator): Check it.
2009 * tree.c (no_linkage_check): Handle VECTOR_TYPE.
2010
2011 2014-01-29 Jason Merrill <jason@redhat.com>
2012
2013 PR c++/59707
2014 * call.c (add_builtin_candidate): Catch dependent types.
2015
2016 PR c++/59989
2017 * pt.c (expand_template_argument_pack): Correct
2018 non_default_args_count calculation.
2019
2020 PR c++/58466
2021 * pt.c (unify_pack_expansion): Call expand_template_argument_pack.
2022
2023 PR c++/59956
2024 * friend.c (do_friend): Pass the TEMPLATE_DECL to add_friend if we
2025 have a friend template in a class template.
2026 * pt.c (tsubst_friend_function): Look through it.
2027 (push_template_decl_real): A friend member template is
2028 primary.
2029
2030 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
2031
2032 PR c++/58846
2033 * decl.c (get_dso_handle_node): Don't crash if dso_handle_node
2034 == error_mark_node.
2035
2036 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
2037
2038 PR c++/58674
2039 * pt.c (instantiate_template_1): Check for error_mark_node the second
2040 argument too.
2041
2042 2014-01-29 Jason Merrill <jason@redhat.com>
2043
2044 PR c++/59916
2045 * optimize.c (maybe_thunk_body): Build a RETURN_EXPR for
2046 cdtor_returns_this case.
2047
2048 PR c++/59315
2049 * decl.c (cxx_maybe_build_cleanup): Call mark_used.
2050
2051 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
2052
2053 PR c++/58702
2054 * semantics.c (finish_omp_reduction_clause): Check type for
2055 error_mark_node.
2056
2057 2014-01-28 Jason Merrill <jason@redhat.com>
2058
2059 PR c++/59791
2060 * pt.c (tsubst_decl) [VAR_DECL]: Allow in unevaluated context.
2061 (tsubst_copy): Use it if lookup fails.
2062
2063 PR c++/59818
2064 * pt.c (tsubst_function_type): Make sure we keep the same function
2065 quals.
2066
2067 PR c++/58701
2068 * semantics.c (build_anon_member_initialization): Stop walking
2069 when we run out of COMPONENT_REFs.
2070
2071 PR c++/58632
2072 * decl.c (lookup_and_check_tag): Ignore template parameters if
2073 scope == ts_current.
2074 * pt.c (check_template_shadow): Don't complain about the injected
2075 class name.
2076
2077 * decl.c (duplicate_decls): Tweak.
2078
2079 PR c++/53756
2080 * mangle.c (write_unqualified_name): Handle operator auto.
2081
2082 2014-01-27 Jason Merrill <jason@redhat.com>
2083
2084 PR c++/59823
2085 Core DR 1138
2086 * call.c (reference_binding): Pass LOOKUP_NO_TEMP_BIND for
2087 list-initialization. A conversion to rvalue ref that involves
2088 an lvalue-rvalue conversion is bad.
2089 (convert_like_real): Give helpful error message.
2090
2091 PR c++/54652
2092 * decl.c (duplicate_decls): Always use oldtype for TYPE_DECL.
2093
2094 PR c++/58504
2095 * pt.c (tsubst_copy_and_build) [TRAIT_EXPR]: Use tsubst for
2096 types.
2097
2098 PR c++/58606
2099 * pt.c (template_parm_to_arg): Call convert_from_reference.
2100 (tsubst_template_arg): Don't strip reference refs.
2101
2102 PR c++/58639
2103 * call.c (build_aggr_conv): Reject value-initialization of reference.
2104
2105 PR c++/58812
2106 PR c++/58651
2107 * call.c (convert_like_real): Give helpful error about excess braces
2108 for ck_rvalue of scalar type.
2109
2110 Core DR 1288
2111 * call.c (reference_binding): Only elide braces if the single
2112 element is reference-related.
2113
2114 PR c++/58814
2115 * typeck.c (cp_build_modify_expr): Make the RHS an rvalue before
2116 stabilizing.
2117
2118 PR c++/58837
2119 * typeck.c (cp_truthvalue_conversion): Use explicit comparison for
2120 FUNCTION_DECL.
2121
2122 PR c++/59097
2123 * decl.c (compute_array_index_type): Don't call
2124 maybe_constant_value for a non-integral expression.
2125
2126 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
2127
2128 * call.c (magic_varargs_p): Replaced flag_enable_cilkplus with
2129 flag_cilkplus.
2130 * cp-gimplify.c (cp_genericize): Likewise.
2131 * decl.c (grokfndecl): Likewise.
2132 * parser.c (cp_parser_postfix_expression): Likewise.
2133 (cp_parser_postfix_open_square_expression): Likewise.
2134 (cp_parser_direct_declarator): Likewise.
2135 (is_cilkplus_vector_p): Likewise.
2136 (cp_parser_omp_clause_name): Likewise.
2137 (cp_parser_omp_all_clauses): Likewise.
2138 * pt.c (apply_late_template_attributes): Likewise.
2139 * typeck.c (cp_build_array_ref): Likewise.
2140 (cp_build_compound_expr): Likewise.
2141 (check_return_expr): Likewise.
2142
2143 2014-01-24 Jason Merrill <jason@redhat.com>
2144
2145 PR c++/58550
2146 * decl.c (grokdeclarator): Turn pedwarn about auto return type in
2147 c++11 into error.
2148
2149 PR c++/59886
2150 PR c++/59659
2151 * typeck2.c (process_init_constructor_array): Don't create
2152 RANGE_EXPR yet.
2153
2154 2014-01-24 Jakub Jelinek <jakub@redhat.com>
2155
2156 * typeck2.c (split_nonconstant_init_1): Fix num_split_elts
2157 handling for RANGE_ARRAY case.
2158
2159 2014-01-24 Paolo Carlini <paolo.carlini@oracle.com>
2160
2161 PR c++/57524
2162 * name-lookup.c (push_using_directive): Use timevar_cond_start.
2163
2164 2014-01-23 Marek Polacek <polacek@redhat.com>
2165
2166 PR c/59846
2167 * typeck.c (cp_build_binary_op): Pass location to shorten_compare.
2168
2169 2014-01-23 Marek Polacek <polacek@redhat.com>
2170
2171 PR c/58346
2172 * typeck.c (pointer_diff): Give an error on arithmetic on pointer to
2173 an empty aggregate.
2174
2175 2014-01-23 Jason Merrill <jason@redhat.com>
2176
2177 PR c++/55189
2178 * cp-tree.h (struct language_function): Add infinite_loop and
2179 infinite_loops.
2180 (current_function_infinite_loop): New.
2181 * semantics.c (begin_maybe_infinite_loop, end_maybe_infinite_loop)
2182 (break_maybe_infinite_loop): New.
2183 (finish_while_stmt_cond, finish_while_stmt, begin_do_stmt)
2184 (finish_do_stmt, finish_for_cond, finish_for_stmt)
2185 (begin_range_for_stmt): Use them.
2186 * decl.c (finish_function): Don't warn about missing return
2187 if current_function_infinite_loop.
2188 * pt.c (instantiate_decl): Copy current_function_infinite_loop.
2189 * parser.c (cp_parser_jump_statement): Call break_maybe_infinite_loop.
2190
2191 * call.c (build_op_delete_call): Use make_tree_vector and
2192 release_tree_vector.
2193
2194 2014-01-23 Paolo Carlini <paolo.carlini@oracle.com>
2195
2196 PR c++/58980
2197 * parser.c (cp_parser_enum_specifier): Handle TYPENAME_TYPE as
2198 nested_name_specifier.
2199
2200 2014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
2201
2202 * parser.c (cp_parser_direct_declarator): When Cilk Plus is enabled
2203 see if there is an attribute after function decl. If so, then
2204 parse them now.
2205 (cp_parser_late_return_type_opt): Handle parsing of Cilk Plus SIMD
2206 enabled function late parsing.
2207 (cp_parser_gnu_attribute_list): Parse all the tokens for the vector
2208 attribute for a SIMD-enabled function.
2209 (cp_parser_omp_all_clauses): Skip parsing to the end of pragma when
2210 the function is used by SIMD-enabled function (indicated by NULL
2211 pragma token). Added 3 new clauses: PRAGMA_CILK_CLAUSE_MASK,
2212 PRAGMA_CILK_CLAUSE_NOMASK and PRAGMA_CILK_CLAUSE_VECTORLENGTH
2213 (cp_parser_cilk_simd_vectorlength): Modified this function to handle
2214 vectorlength clause in SIMD-enabled function and #pragma SIMD's
2215 vectorlength clause. Added a new bool parameter to differentiate
2216 between the two.
2217 (cp_parser_cilk_simd_fn_vector_attrs): New function.
2218 (is_cilkplus_vector_p): Likewise.
2219 (cp_parser_late_parsing_elem_fn_info): Likewise.
2220 (cp_parser_omp_clause_name): Added a check for "mask", "nomask"
2221 and "vectorlength" clauses when Cilk Plus is enabled.
2222 (cp_parser_omp_clause_linear): Added a new parameter of type bool
2223 and emit a sorry message when step size is a parameter.
2224 * parser.h (cp_parser::cilk_simd_fn_info): New field.
2225 * decl.c (grokfndecl): Added flag_enable_cilkplus along with
2226 flag_openmp.
2227 * pt.c (apply_late_template_attributes): Likewise.
2228
2229 2014-01-23 Jakub Jelinek <jakub@redhat.com>
2230
2231 PR middle-end/58809
2232 * semantics.c (finish_omp_reduction_clause): Reject
2233 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
2234
2235 2014-01-22 Ville Voutilainen <ville.voutilainen@gmail.com>
2236
2237 PR c++/59482
2238 * parser.c (cp_parser_class_head): Push the class before parsing
2239 the base-clause, pop after it.
2240
2241 2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
2242
2243 * decl2.c (cpp_check): Revert prototype change.
2244
2245 2014-01-17 Paolo Carlini <paolo.carlini@oracle.com>
2246
2247 PR c++/59270
2248 PR c++/58811
2249 * init.c (build_value_init_noctor): Don't pass error_mark_node to
2250 build_value_init.
2251
2252 2014-01-17 Paolo Carlini <paolo.carlini@oracle.com>
2253
2254 PR c++/59269
2255 * init.c (build_value_init_noctor): Assert !TYPE_HAS_COMPLEX_DFLT
2256 only when errorcount == 0.
2257
2258 2014-01-17 Marek Polacek <polacek@redhat.com>
2259
2260 PR c++/59838
2261 * cvt.c (ocp_convert): Don't segfault on non-existing
2262 ENUM_UNDERLYING_TYPE.
2263
2264 2014-01-16 Jason Merrill <jason@redhat.com>
2265
2266 PR c++/59821
2267 * tree.c (bot_manip): Update the location of builtin_LINE and
2268 builtin_FILE calls.
2269
2270 2014-01-14 Jason Merrill <jason@redhat.com>
2271
2272 PR c++/59659
2273 * typeck2.c (massage_init_elt): New.
2274 (process_init_constructor_record)
2275 (process_init_constructor_union): Use it.
2276 (process_init_constructor_array): Use it. Use RANGE_EXPR.
2277 (split_nonconstant_init_1): Handle it.
2278 * semantics.c (cxx_eval_vec_init_1): Use force_rvalue.
2279
2280 2014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
2281
2282 PR c++/59631
2283 * parser.c (cp_parser_postfix_expression): Added a new if-statement
2284 and replaced an existing if-statement with else-if statement.
2285 Changed an existing error message wording to match the one from the C
2286 parser.
2287
2288 2014-01-08 Jason Merrill <jason@redhat.com>
2289
2290 PR c++/59614
2291 * class.c (abi_tag_data): Add tags field.
2292 (check_abi_tags): Initialize it.
2293 (find_abi_tags_r): Support collecting missing tags.
2294 (mark_type_abi_tags): Don't look at template args.
2295 (inherit_targ_abi_tags): New.
2296 (check_bases_and_members): Use it.
2297 * cp-tree.h (ABI_TAG_IMPLICIT): New.
2298 * mangle.c (write_abi_tags): Check it.
2299
2300 2014-01-07 Jason Merrill <jason@redhat.com>
2301
2302 PR c++/58856
2303 * pt.c (num_innermost_template_parms): New.
2304 (get_underlying_template): Use it.
2305
2306 PR c++/58965
2307 * mangle.c (write_guarded_var_name): Handle null DECL_NAME.
2308
2309 2014-01-07 Paolo Carlini <paolo.carlini@oracle.com>
2310
2311 * semantics.c (trait_expr_value, [CPTK_IS_BASE_OF]): Implement
2312 the letter of 20.11.6 about Base and Derived naming the same
2313 class type modulo cv-qualifiers.
2314
2315 2014-01-06 Adam Butcher <adam@jessamine.co.uk>
2316
2317 PR c++/59635
2318 * lambda.c (maybe_add_lambda_conv_op): Handle marking conversion
2319 function as unimplemented for generic lambdas with varargs.
2320
2321 PR c++/59636
2322 * parser.c (cp_parser_template_parameter): Early out with
2323 error_mark_node if parameter declaration was not parsed.
2324
2325 PR c++/59629
2326 * parser.c (cp_parser_lambda_expression): Save/reset/restore
2327 auto_is_implicit_function_template_parm_p around lambda body.
2328
2329 PR c++/59638
2330 * parser.c (cp_parser_init_declarator): Undo fully implicit
2331 template parameter list when declarator is not a function.
2332
2333 2014-01-03 Marc Glisse <marc.glisse@inria.fr>
2334
2335 PR c++/58950
2336 * cvt.c (convert_to_void): Handle VEC_PERM_EXPR and VEC_COND_EXPR.
2337
2338 2014-01-03 Tobias Burnus <burnus@net-b.de>
2339
2340 PR c++/58567
2341 * pt.c (tsubst_omp_for_iterator): Early return for error_mark_node.
2342
2343 2014-01-03 Paolo Carlini <paolo.carlini@oracle.com>
2344
2345 Core DR 1442
2346 PR c++/59165
2347 * parser.c (cp_parser_perform_range_for_lookup): Don't pass true
2348 as include_std to perform_koenig_lookup.
2349 (cp_parser_postfix_expression): Adjust.
2350 * pt.c (tsubst_copy_and_build): Likewise.
2351 * semantics.c (perform_koenig_lookup): Remove bool parameter.
2352 (omp_reduction_lookup): Adjust.
2353 * name-lookup.c (lookup_arg_dependent_1): Remove bool parameter.
2354 (lookup_arg_dependent): Likewise.
2355 (lookup_function_nonclass): Adjust.
2356 * name-lookup.h: Adjust declaration.
2357 * cp-tree.h: Likewise.
2358
2359 2014-01-02 Marc Glisse <marc.glisse@inria.fr>
2360
2361 PR c++/59087
2362 * parser.c (cp_parser_userdef_numeric_literal): Mention
2363 -fext-numeric-literals in the message.
2364
2365 2014-01-02 Marc Glisse <marc.glisse@inria.fr>
2366
2367 PR c++/59641
2368 * call.c (build_conditional_expr_1): Check the return value of
2369 force_rvalue.
2370
2371 2014-01-02 Marc Glisse <marc.glisse@inria.fr>
2372
2373 * call.c (convert_like_real): Check complain.
2374
2375 2014-01-02 Marc Glisse <marc.glisse@inria.fr>
2376
2377 PR c++/59378
2378 * typeck.c (build_x_vec_perm_expr): Handle non-dependent arguments
2379 in templates.
2380
2381 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2382
2383 Update copyright years
2384
2385 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2386
2387 * cp-array-notation.c, cp-cilkplus.c, vtable-class-hierarchy.c: Use
2388 the standard form for the copyright notice.
2389 \f
2390 Copyright (C) 2014 Free Software Foundation, Inc.
2391
2392 Copying and distribution of this file, with or without modification,
2393 are permitted in any medium without royalty provided the copyright
2394 notice and this notice are preserved.