1 2012-06-06 Paolo Carlini <paolo.carlini@oracle.com>
4 * typeck.c (cp_perform_integral_promotions): New, like
5 perform_integral_promotions but also takes a tsubst_flags_t parameter.
6 (pointer_diff): Add tsubst_flags_t parameter.
7 (decay_conversion, cp_default_conversion, cp_build_array_ref,
8 cp_build_binary_op, cp_build_unary_op, build_static_cast_1,
9 build_reinterpret_cast_1, cp_build_modify_expr,
10 convert_for_assignment): Adjust.
11 * optimize.c (build_delete_destructor_body): Adjust.
12 * init.c (expand_virtual_init, expand_default_init, build_new_1,
13 build_new, build_vec_delete_1, build_vec_init, build_delete): Adjust.
14 (construct_virtual_base): Adjust LOOKUP_COMPLAIN -> 0.
15 * class.c (build_base_path): Adjust.
16 * decl.c (compute_array_index_type, finish_destructor_body): Likewise.
17 * method.c (synthesized_method_walk): Adjust flag and complain.
18 * rtti.c (ifnonnull): Add tsubst_flags_t parameter.
19 (build_typeid, build_dynamic_cast_1): Adjust.
20 * except.c (initialize_handler_parm): Likewise.
21 * typeck2.c (process_init_constructor_record): Likewise.
22 * pt.c (tsubst_friend_class): Don't change flags.
23 * semantics.c (finish_goto_stmt, handle_omp_for_class_iterator,
24 finish_static_assert): Likewise.
25 * parser.c (cp_parser_lookup_name): Just pass 0 as flags to
27 * call.c (build_op_delete_call): Add tsubst_flags_t parameter.
28 (convert_like_real, convert_arg_to_ellipsis, convert_for_arg_passing):
30 (standard_conversion): Adjust LOOKUP_COMPLAIN -> 0.
31 (implicit_conversion): Mask out tf_error with a FIXME.
32 (build_user_type_conversion_1, build_new_op_1, build_over_call): Use
33 complain & tf_error instead of flags & LOOKUP_COMPLAIN.
34 * cvt.c (cp_convert_to_pointer, convert_to_pointer_force,
35 build_up_reference, convert_to_reference, cp_convert,
36 cp_convert_and_check, ocp_convert, convert_force): Add tsubst_flags_t
38 (convert_to_reference, ocp_convert): Use complain & tf_error instead
39 of flags & LOOKUP_COMPLAIN.
40 (convert_force): Adjust LOOKUP_COMPLAIN -> 0.
41 * name-lookup.c (identifier_type_value_1, lookup_qualified_name,
42 lookup_name_real, lookup_function_nonclass, lookup_name,
43 lookup_name_prefer_type): Adjust LOOKUP_COMPLAIN -> 0.
44 * cp-tree.h: Adjust prototypes; remove LOOKUP_COMPLAIN.
46 2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
48 * decl.c: Do not include output.h.
49 (start_decl): Remove code for flag_conserve_space.
51 2012-06-06 Fabien ChĂȘne <fabien@gcc.gnu.org>
54 * parser.c (cp_parser_alias_declaration): Return earlier
57 2012-06-04 Paolo Carlini <paolo.carlini@oracle.com>
60 * call.c (build_conditional_expr_1): Use OPT_Wenum_compare
61 to control enumeral mismatch in conditional expression too.
63 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
65 * semantics.c: Do not include output.h.
69 * typeck2.c: Likewise.
70 * Make-lang.in: Fix dependencies.
72 2012-06-01 Jason Merrill <jason@redhat.com>
75 * parser.c (cp_parser_class_head): Apply attributes here.
76 * semantics.c (begin_class_definition): Not here.
80 * parser.c (cp_parser_binary_expression): Bail early if we're parsing
81 tentatively and the LHS has a parse error.
84 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
85 (instantiate_decl): Don't push_to_top_level for local class methods.
86 (instantiate_class_template_1): Or for local classes.
89 * pt.c (do_auto_deduction): Don't try to deduce from a
90 type-dependent initializer.
92 2012-06-01 Paolo Carlini <paolo.carlini@oracle.com>
95 * name-lookup.c (push_namespace): When error recovery is
96 impossible just error out in duplicate_decls.
98 2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
100 * call.c: Do not include output.h.
102 * except.c: Likewise.
103 * friend.c: Likewise.
106 * method.c: Likewise.
107 * parser.c: Likewise.
110 * search.c: Likewise.
112 2012-05-30 Jason Merrill <jason@redhat.com>
115 * tree.c (stabilize_init): Handle stabilizing a TARGET_EXPR
116 representing a bitwise copy of a glvalue.
118 * tree.c (stabilize_expr): Tweak logic.
121 * tree.c (stabilize_init): Side effects make the init unstable.
123 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
126 * semantics.c (potential_constant_expression_1): Handle LTGT_EXPR.
128 2012-05-26 Paolo Carlini <paolo.carlini@oracle.com>
131 * tree.c (stabilize_expr): Handle exp of void type.
133 2012-05-26 Jason Merrill <jason@redhat.com>
136 * call.c (convert_like_real) [ck_list]: Take array address directly.
137 * typeck.c (decay_conversion): Reject decay of an array compound
140 2012-05-25 Paolo Carlini <paolo.carlini@oracle.com>
143 * parser.c (cp_parser_member_declaration): A storage class is not
144 allowed in a declaration of an anonymous aggregate in a class scope.
146 2012-05-24 Uros Bizjak <ubizjak@gmail.com>
149 * decl.c (grokdeclarator): Check that current_class_type is non-NULL
150 before calling constructor_name_p.
152 2012-05-24 Paolo Carlini <paolo.carlini@oracle.com>
155 * parser.c (cp_parser_ctor_initializer_opt_and_function_body,
156 cp_parser_function_body): Add a bool parameter, true when parsing
157 a function-try-block.
158 (cp_parser_function_try_block): Pass true to the above.
159 (cp_parser_function_definition_after_declarator,
160 cp_parser_function_transaction): Adjust.
162 2012-05-23 Paolo Carlini <paolo.carlini@oracle.com>
165 * decl2.c (delete_sanity): Extend 'deleting array' warning to
168 2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
171 * decl.c (grokdeclarator): Diagnose functions returning abstract
172 class types as TYPENAME.
173 * cp-tree.h (ABSTRACT_CLASS_TYPE_P): Add.
174 * except.c (is_admissible_throw_operand_or_catch_parameter): Use it.
175 * pt.c (tsubst): Likewise.
176 * semantics.c (trait_expr_value): Likewise.
178 2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
181 * parser.c (cp_parser_attributes_opt): Enforce error checking of
182 unbalanced parentheses in the presence of tentative parsing.
184 2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
187 * parser.c (cp_parser_new_type_id): Early return error_mark_node
188 if the cp_parser_type_specifier_seq call has type_specifier_seq.type
189 error_mark_node; tidy.
190 (cp_parser_new_expression): Always initialize nelts to NULL_TREE to
191 avoid uninitialized warnings.
192 (cp_parser_init_declarator, cp_parser_late_parse_one_default_arg):
193 Call cp_parser_skip_to_end_of_statement if cp_parser_initializer
194 returns error_mark_node.
196 2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
199 * except.c (is_admissible_throw_operand): Rename to
200 is_admissible_throw_operand_or_catch_parameter and handle
202 (expand_start_catch_block): Use it.
203 (build_throw): Adjust.
205 2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
208 * typeck.c (build_x_array_ref, build_x_conditional_expr,
209 build_x_compound_expr, build_x_modify_expr): Add location_t parameter.
210 (finish_class_member_access_expr, build_x_indirect_ref,
211 build_x_binary_op, build_x_compound_expr_from_list,
212 build_x_compound_expr_from_vec): Adjust callers.
213 * tree.c (build_min_nt_loc): New.
214 (build_min_nt): Remove.
215 * typeck2.c (build_x_arrow): Adjust callers.
216 * pt.c (tsubst_qualified_id, tsubst_omp_for_iterator,
217 tsubst_copy_and_build): Likewise.
218 * semantics.c (finish_mem_initializers, handle_omp_for_class_iterator,
219 finish_omp_atomic): Likewise.
220 * decl2.c (grok_array_decl, build_anon_union_vars): Adjust.
221 * parser.c (cp_parser_question_colon_clause,
222 cp_parser_assignment_expression, cp_parser_expression,
223 cp_parser_template_id, cp_parser_omp_for_loop): Likewise.
226 2012-05-16 Dodji Seketeli <dodji@redhat.com>
229 * cp-tree.h (enum cp_decl_spec): Add new enumerators to cover all
230 the possible declarator specifiers so far.
231 (struct cp_decl_specifier_seq::locations): Declare new member.
232 (cp_decl_specifier_seq::{specs, type_location}): Remove.
233 (decl_spec_seq_has_spec_p): Declare new function.
234 * parser.c (cp_parser_check_decl_spec): Remove.
235 (set_and_check_decl_spec_loc): Define new static function.
236 (decl_spec_seq_has_spec_p): Define new public function.
237 (cp_parser_decl_specifier_seq, cp_parser_function_specifier_opt)
238 (cp_parser_type_specifier, cp_parser_simple_type_specifier)
239 (cp_parser_set_storage_class, cp_parser_set_decl_spec_type)
240 (cp_parser_alias_declaration): Set the locations for each
241 declspec, using set_and_check_decl_spec_loc.
242 (cp_parser_explicit_instantiation, cp_parser_init_declarator)
243 (cp_parser_member_declaration, cp_parser_init_declarator): Use the
244 new declspec location for specifiers. Use the new
245 decl_spec_seq_has_spec_p.
246 (cp_parser_type_specifier_seq): Use the new
247 set_and_check_decl_spec_loc. Stop using
248 cp_parser_check_decl_spec. Use the new decl_spec_seq_has_spec_p.
249 (, cp_parser_init_declarator): Use the new
250 set_and_check_decl_spec_loc.
251 (cp_parser_single_declaration, cp_parser_friend_p)
252 (cp_parser_objc_class_ivars, cp_parser_objc_struct_declaration):
253 Use the new decl_spec_seq_has_spec_p.
254 * decl.c (check_tag_decl): Use new decl_spec_seq_has_spec_p. Use
255 the more precise ds_redefined_builtin_type_spec location for
256 diagnostics about re-declaring C++ built-in types.
257 (start_decl, grokvardecl, grokdeclarator): Use the new
258 decl_spec_seq_has_spec_p.
260 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
263 * pt.c (tsubst_copy_and_build): Increase / decrease
264 c_inhibit_evaluation_warnings around build_x_binary_op call.
266 2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
268 * cp-tree.h (TYPE_PTRMEM_P): Rename to TYPE_PTRDATAMEM_P.
269 (TYPE_PTR_TO_MEMBER_P): Rename to TYPE_PTRMEM_P.
270 (TYPE_PTR_OR_PTRMEM_P): Add.
271 * typeck.c (composite_pointer_type_r, composite_pointer_type,
272 common_pointer_type, cp_build_indirect_ref, cp_build_binary_op,
273 cp_truthvalue_conversion, convert_ptrmem, build_static_cast_1,
274 build_reinterpret_cast_1, build_const_cast_1, comp_ptr_ttypes_real,
275 casts_away_constness_r, casts_away_constness): Adjust.
276 * init.c (build_zero_init_1): Adjust.
277 * class.c (check_field_decls): Likewise.
278 * decl.c (check_default_argument): Likewise.
279 * rtti.c (target_incomplete_p): Likewise.
280 * tree.c (zero_init_p): Likewise.
281 * cxx-pretty-print.c (pp_cxx_ptr_operator,
282 pp_cxx_abstract_declarator): Likewise.
283 * typeck2.c (build_m_component_ref): Likewise.
284 * pt.c (convert_nontype_argument, invalid_nontype_parm_type_p,
285 dependent_type_p_r): Likewise.
286 * call.c (null_member_pointer_value_p, standard_conversion,
287 add_builtin_candidate, build_conditional_expr_1, compare_ics):
289 * cp-objcp-common.c (cp_var_mod_type_p): Likewise.
290 * cvt.c (cp_convert_to_pointer, ocp_convert,
291 perform_qualification_conversions): Likewise.
292 * mangle.c (write_type): Likewise.
293 * name-lookup.c (arg_assoc_type): Likewise.
295 2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
297 * parser.c (struct cp_parser_expression_stack_entry): Add location_t
299 (cp_parser_binary_expression): Rework to always update at the same
300 time tree_type and loc.
301 * call.c (print_z_candidate): Add location_t parameter.
302 (print_z_candidates, convert_like_real, joust): Adjust.
304 2012-05-11 Alexandre Oliva <aoliva@redhat.com>
307 * pt.c (tsubst_decl): Bail out if argvec is error_mark_node.
309 2012-05-11 Paolo Carlini <paolo.carlini@oracle.com>
312 * pt.c (tsubst_copy: case PARM_DECL): Return error_mark_node if
313 tsubst_decl returns NULL_TREE.
314 * cxx-pretty-print.c (pp_cxx_simple_type_specifier): Handle
315 BOUND_TEMPLATE_TEMPLATE_PARM.
317 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
320 * cvt.c (ocp_convert): Error out early for void -> bool conversions.
321 * typeck.c (decay_conversion): Use error_at.
322 * call.c (build_integral_nontype_arg_conv, convert_like_real,
323 convert_arg_to_ellipsis, perform_implicit_conversion_flags,
324 initialize_reference): Likewise.
325 * cvt.c (warn_ref_binding): Add location_t parameter.
326 (cp_convert_to_pointer, convert_to_reference, ocp_convert,
327 convert_to_void, ): Use error_at and warning_at.
329 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
332 * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P
333 instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning.
335 2012-05-06 Paolo Carlini <paolo.carlini@oracle.com>
338 * call.c (op_error, build_new_op_1, build_new_op): Add location_t
340 (build_conditional_expr_1): Adjust.
341 * typeck.c (build_x_indirect_ref, build_x_binary_op,
342 build_x_unary_op): Add location_t parameter.
343 (rationalize_conditional_expr, build_x_array_ref,
344 build_x_compound_expr, cp_build_modify_expr, build_x_modify_expr):
346 * typeck2.c (build_x_arrow): Add location_t parameter.
347 * semantics.c (finish_unary_op_expr): Likewise.
348 (finish_increment_expr, handle_omp_for_class_iterator): Adjust.
349 * decl2.c (grok_array_decl): Add location_t parameter.
350 * parser.c (cp_parser_postfix_open_square_expression,
351 cp_parser_postfix_dot_deref_expression, cp_parser_unary_expression,
352 cp_parser_binary_expression, cp_parser_builtin_offsetof,
353 do_range_for_auto_deduction, cp_convert_range_for,
354 cp_parser_template_argument, cp_parser_omp_for_cond): Pass the
356 * pt.c (tsubst_copy_and_build): Adjust.
357 * tree.c (maybe_dummy_object): Likewise.
358 * cp-tree.h: Update declarations.
360 2012-05-04 Paolo Carlini <paolo.carlini@oracle.com>
362 * semantics.c (cxx_eval_constant_expression, case CONVERT_EXPR): Tidy.
364 2012-05-04 Paolo Carlini <paolo.carlini@oracle.com>
367 * pt.c (instantiate_class_template_1): Increase / decrease
368 c_inhibit_evaluation_warnings around the tsubst_expr call
369 for STATIC_ASSERT_CONDITION.
370 (tsubst_expr, case STATIC_ASSERT): Likewise.
371 * typeck.c (cp_build_binary_op, case EQ_EXPR/NE_EXPR): Check
372 c_inhibit_evaluation_warnings in the OPT_Waddress warnings.
374 2012-05-03 Paolo Carlini <paolo.carlini@oracle.com>
377 * call.c (build_over_call): Handle final member functions
379 (build_new_method_call_1): Do not handle here.
381 2012-05-02 Richard Guenther <rguenther@suse.de>
383 * decl.c (grokdeclarator): Properly check for sizes that
384 cover more than half of the address-space.
386 2012-04-30 Marc Glisse <marc.glisse@inria.fr>
389 * typeck.c (cp_build_array_ref): Handle VECTOR_TYPE.
390 * decl2.c (grok_array_decl): Likewise.
393 * parser.c (cp_parser_sizeof_operand): Require parentheses for
396 2012-04-30 Dodji Seketeli <dodji@redhat.com>
398 Fix location for static class members
399 * decl.c (grokdeclarator): Use the location carried by the
400 declarator for the DECL of the static class member.
402 Fix va_arg type location
403 * cp-tree.h (build_x_va_arg): Take an additional location
405 * call.c (build_x_va_arg): Take a loc parameter for the location
406 of the type of the va_arg expression.
407 * parser.c (cp_parser_primary_expression): Pass the type of the
408 type in the va_arg expression to build_x_va_arg.
409 * pt.c (tsubst_copy): Adjust calls to build_x_va_arg.
411 Make conversion warnings work on NULL with -ftrack-macro-expansion
412 * call.c (conversion_null_warnings): Use the new
413 expansion_point_location_if_in_system_header.
414 * cvt.c (build_expr_type_conversion): Likewise.
415 * typeck.c (cp_build_binary_op): Likewise.
417 2012-04-30 Manuel López-Ibåñez <manu@gcc.gnu.org>
419 * typeck.c (convert_for_assignment): Replace
420 Wmissing-format-attribute with Wsuggest-attribute=format.
421 * call.c (convert_for_arg_passing): Likewise.
423 2012-04-26 Paolo Carlini <paolo.carlini@oracle.com>
426 * class.c (check_bases_and_members): Implement core/1333, do not
427 disallow defaulted in the class body non-const ref special members.
429 2012-04-24 Paolo Carlini <paolo.carlini@oracle.com>
432 * call.c (tourney, perform_overload_resolution,
433 build_operator_new_call, build_user_type_conversion_1,
434 build_user_type_conversion, perform_overload_resolution,
435 add_template_candidate, add_template_candidate_real,
436 add_template_conv_candidate, add_builtin_candidates,
437 add_builtin_candidate, build_builtin_candidate,
438 add_conv_candidate, add_function_candidate, implicit_conversion,
439 reference_binding, build_list_conv, conditional_conversion,
440 add_candidates, can_convert_array, build_aggr_conv,
441 build_array_conv, build_complex_conv, conditional_conversion):
442 Add tsubst_flags_t parameter.
443 (joust): Likewise, use it to handle SFINAE as if pedantic.
444 (add_list_candidates, build_integral_nontype_arg_conv,
445 perform_overload_resolution, build_new_function_call,
446 build_operator_new_call, build_op_call_1,
447 build_conditional_expr_1, build_new_op_1, convert_like_real,
448 convert_arg_to_ellipsis, convert_default_arg,
449 convert_for_arg_passing, build_over_call,
450 build_new_method_call_1, can_convert_arg, can_convert_arg_bad,
451 perform_implicit_conversion_flags,
452 perform_direct_initialization_if_possible,
453 initialize_reference): Adjust.
454 * typeck.c (casts_away_constness, casts_away_constness_r):
455 Add tsubst_flags_t parameter.
456 (convert_arguments, check_for_casting_away_constness,
457 build_static_cast_1, build_ptrmemfunc, convert_for_assignment):
459 * decl.c (reshape_init_r, check_default_argument): Likewise.
460 * cp-gimplify.c (cxx_omp_clause_apply_fn): Likewise.
461 * pt.c (convert_nontype_argument, check_non_deducible_conversion):
463 * init.c (build_new_1): Likewise.
464 * cvt.c (convert_to_reference, ocp_convert, build_type_conversion,
465 build_expr_type_conversion, ): Likewise.
466 * search.c (check_final_overrider): Likewise.
467 * cp-tree.h (build_user_type_conversion,
468 build_operator_new_call, can_convert, can_convert_arg,
469 can_convert_arg_bad, convert_default_arg,
470 convert_arg_to_ellipsis, convert_for_arg_passing):
473 2012-04-22 Jan Hubicka <jh@suse.cz>
475 * decl2.c (maybe_make_one_only): Mark keyed COMDATs as USED so they
478 2012-04-22 Manuel López-Ibåñez <manu@gcc.gnu.org>
481 * typeck.c (composite_pointer_type): Likewise.
482 (cxx_sizeof_or_alignof_type): Likewise.
483 (cp_build_array_ref): Likewise.
484 (cp_build_function_call_vec): Likewise.
485 (cp_build_addr_expr_1): Likewise.
486 (convert_member_func_to_ptr): Likewise.
487 * decl.c (check_tag_decl): Likewise.
488 (check_static_variable_definition): Likewise.
489 (compute_array_index_type): Likewise.
490 (create_array_type_for_decl): Likewise.
491 (grokdeclarator): Likewise.
492 (grok_op_properties): Likewise.
493 * error.c (maybe_warn_cpp0x): Likewise.
494 * pt.c (maybe_process_partial_specialization): Likewise.
495 (convert_template_argument): Likewise.
496 (do_decl_instantiation): Likewise.
497 (do_type_instantiation): Likewise.
498 * parser.c (cp_parser_primary_expression): Likewise.
499 (cp_parser_postfix_expression): Likewise.
500 (cp_parser_unary_expression): Likewise.
501 (cp_parser_question_colon_clause): Likewise.
502 (cp_parser_lambda_introducer): Likewise.
503 (cp_parser_lambda_declarator_opt): Likewise.
504 (cp_parser_compound_statement): Likewise.
505 (cp_parser_jump_statement): Likewise.
506 (cp_parser_declaration_seq_opt): Likewise.
507 (cp_parser_enum_specifier): Likewise.
508 (cp_parser_enumerator_list): Likewise.
509 (cp_parser_initializer_list): Likewise.
510 (cp_parser_member_declaration): Likewise.
511 * call.c (build_conditional_expr_1): Likewise.
512 * friend.c (make_friend_class): Likewise.
513 * name-lookup.c (pushdecl_maybe_friend_1): Likewise.
515 2012-04-21 Jan Hubicka <jh@suse.cz>
517 * method.c (make_alias_for): Do not set TREE_SYMBOL_REFERENCED.
518 * decl2.c (mark_needed): Likewise.
519 (decl_needed_p): Do not test TREE_SYMBOL_REFERENCED.
521 * decl2.c (cxx_callgraph_analyze_expr): Remove.
522 * cp-objcp-common.h (LANG_HOOKS_CALLGRAPH_ANALYZE_EXPR): Remove.
523 * cp-tree.h (cxx_callgraph_analyze_expr): Remove.
525 2012-04-21 Manuel López-Ibåñez <manu@gcc.gnu.org>
528 * typeck.c (cp_build_function_call_vec): Do not pretty-print
529 expressions when caret is enabled.
531 2012-04-20 Jan Hubicka <jh@suse.cz>
534 * decl2.c (maybe_emit_vtables): Do not initialize same_comdat_group
535 list when target has no support for it.
537 2012-04-20 Michael Matz <matz@suse.de>
539 * error.c (pedwarn_cxx98): Move va_end call after user
542 2012-04-18 Paolo Carlini <paolo.carlini@oracle.com>
545 * cp-tree.h (build_addr_func, decay_conversion,
546 get_member_function_from_ptrfunc,
547 build_m_component_ref, convert_member_func_to_ptr):
548 Add tsubst_flags_t parameter.
549 * typeck.c (cp_default_conversion): Add.
550 (decay_conversion, default_conversion,
551 get_member_function_from_ptrfunc, convert_member_func_to_ptr):
552 Add tsubst_flags_t parameter and use it throughout.
553 (cp_build_indirect_ref, cp_build_array_ref,
554 cp_build_function_call_vec, convert_arguments, build_x_binary_op,
555 cp_build_binary_op, cp_build_unary_op, build_reinterpret_cast_1,
556 build_const_cast_1, expand_ptrmemfunc_cst,
557 convert_for_initialization): Adjust.
558 * init.c (build_vec_init): Adjust.
559 * decl.c (grok_reference_init, get_atexit_node): Likewise.
560 * rtti.c (build_dynamic_cast_1, tinfo_base_init): Likewise.
561 * except.c (build_throw): Likewise.
562 * typeck2.c (build_x_arrow): Likewise.
563 (build_m_component_ref): Add tsubst_flags_t parameter and
565 * pt.c (convert_nontype_argument): Adjust.
566 * semantics.c (finish_asm_stmt, maybe_add_lambda_conv_op): Likewise.
567 * decl2.c (build_offset_ref_call_from_tree): Likewise.
568 * call.c (build_addr_func): Add tsubst_flags_t parameter and
570 (build_call_a, build_conditional_expr_1, build_new_op_1,
571 convert_like_real, convert_arg_to_ellipsis, build_over_call,
572 build_special_member_call): Adjust.
573 * cvt.c (cp_convert_to_pointer, force_rvalue,
574 build_expr_type_conversion): Likewise.
576 2012-04-17 Tom de Vries <tom@codesourcery.com>
578 * cp-gimplify.c (begin_bc_block): Add location parameter and use as
579 location argument to create_artificial_label.
580 (finish_bc_block): Change return type to void. Remove body_seq
581 parameter, and add block parameter. Append label to STMT_LIST and
583 (gimplify_cp_loop, gimplify_for_stmt, gimplify_while_stmt)
584 (gimplify_do_stmt, gimplify_switch_stmt): Remove function.
585 (genericize_cp_loop, genericize_for_stmt, genericize_while_stmt)
586 (genericize_do_stmt, genericize_switch_stmt, genericize_continue_stmt)
587 (genericize_break_stmt, genericize_omp_for_stmt): New function.
588 (cp_gimplify_omp_for): Remove bc_continue processing.
589 (cp_gimplify_expr): Genericize VEC_INIT_EXPR.
590 (cp_gimplify_expr): Mark FOR_STMT, WHILE_STMT, DO_STMT, SWITCH_STMT,
591 CONTINUE_STMT, and BREAK_STMT as unreachable.
592 (cp_genericize_r): Genericize FOR_STMT, WHILE_STMT, DO_STMT,
593 SWITCH_STMT, CONTINUE_STMT, BREAK_STMT and OMP_FOR.
594 (cp_genericize_tree): New function, factored out of ...
595 (cp_genericize): ... this function.
597 2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
600 * semantics.c (build_constexpr_constructor_member_initializers):
601 Check for function-try-block as function-body.
603 2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
606 * parser.c (cp_parser_member_declaration): Check that
607 initializer_token_start is non null before dereferencing it.
609 2012-04-16 Jason Merrill <jason@redhat.com>
612 * pt.c (determine_specialization): Instead of comparing the number
613 of parms, check that tsubst gives the right answer.
616 * pt.c (process_partial_specialization): Complain about a partial
617 specialization with fewer args than primary template parms.
620 * pt.c (convert_template_argument): Handle template template
624 * pt.c (tsubst_pack_expansion): Use tsubst_expr for template
627 2012-04-16 Paolo Carlini <paolo.carlini@oracle.com>
630 * call.c (op_error): Print types; when flag_diagnostics_show_caret
631 is false print expressions too.
632 (op_error_string): Add.
634 2012-04-16 Jason Merrill <jason@redhat.com>
637 * friend.c (make_friend_class): Call check_for_bare_parameter_packs.
639 2012-04-16 Jan Hubicka <jh@suse.cz>
641 * decl2.c (collect_candidates_for_java_method_alias): Use FOR_EACH
642 walkers to walk cgraph and varpool.
644 2012-04-15 Jason Merrill <jason@redhat.com>
647 * pt.c (coerce_template_parameter_pack): Check for error_mark_node.
651 * pt.c (coerce_template_parms): Even if we aren't converting we
652 want to expand argument packs.
655 * mangle.c (write_type): nullptr_t is a builtin type.
657 2012-04-14 Jan Hubicka <jh@suse.cz>
659 * tree.c: Update field referenced for new cgraph/varpool layout.
662 2012-04-13 Jason Merrill <jason@redhat.com>
665 * pt.c (any_pack_expanson_args_p): New.
666 (coerce_template_parms): Use it.
669 * call.c (joust): Handle comparing list and non-list ctors.
672 * decl2.c (finish_anon_union): Use cp_finish_decl.
673 * error.c (dump_function_name): Avoid showing anonymous "name".
675 2012-04-11 Fabien ChĂȘne <fabien@gcc.gnu.org>
678 * parser.c (cp_parser_class_name): Call strip_using_decl and
679 return the target decl.
680 * name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
681 to be stripped is NULL_TREE.
682 (qualify_lookup): Call strip_using_decl and perform some checks on
685 2012-04-11 Jason Merrill <jason@redhat.com>
688 * decl.c (grokdeclarator): Strip the injected-class-name typedef
689 if we are building a declaration or compound type.
692 * decl.c (check_tag_decl): Don't complain about attributes if we
693 don't even have a type.
695 2012-04-10 Manuel López-Ibåñez <manu@gcc.gnu.org>
697 * cvt.c (convert_to_void): Update comment.
699 2012-04-05 Jason Merrill <jason@redhat.com>
702 * semantics.c (finish_non_static_data_member): In templates, pass
703 the decl to build_qualified_name.
704 * tree.c (lvalue_kind) [SCOPE_REF]: Handle FIELD_DECL.
706 2012-04-04 Jason Merrill <jason@redhat.com>
709 * decl.c (finish_function): Update fntype after deducing return type.
711 2012-04-03 Jason Merrill <jason@redhat.com>
714 * pt.c (tsubst_initializer_list): A pack expansion with no elements
715 means value-initialization.
717 2012-04-01 Paolo Carlini <paolo.carlini@oracle.com>
720 * class.c (deduce_noexcept_on_destructor,
721 deduce_noexcept_on_destructors): New.
722 (check_bases_and_members): Call the latter.
723 * decl.c (grokfndecl): Call the former.
724 * method.c (implicitly_declare_fn): Not static.
725 * cp-tree.h (deduce_noexcept_on_destructor, implicitly_declare_fn):
728 2012-03-29 Paolo Carlini <paolo.carlini@oracle.com>
731 * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant
732 warn for a zero as null pointer constant default argument.
734 2012-03-29 Jason Merrill <jason@redhat.com>
737 * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P.
739 2012-03-29 Jakub Jelinek <jakub@redhat.com>
742 * decl.c (start_decl): Don't call maybe_apply_pragma_weak
743 if processing_template_decl.
745 2012-03-29 Jason Merrill <jason@redhat.com>
748 * call.c (compare_ics): Handle ck_aggr like ck_list.
750 2012-03-28 Jason Merrill <jason@redhat.com>
753 * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
754 we didn't get an explicit scope.
755 * pt.c (tsubst_baselink): Likewise.
757 2012-03-28 Richard Guenther <rguenther@suse.de>
759 * typeck2.c (process_init_constructor_array): Use the proper
760 type for computing the array length.
762 2012-03-27 Meador Inge <meadori@codesourcery.com>
765 * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
766 stripped child trees that are not pointer types.
768 2012-03-21 Jason Merrill <jason@redhat.com>
770 Implement return type deduction for normal functions with -std=c++1y.
771 * cp-tree.h (FNDECL_USED_AUTO): New macro.
772 (LAMBDA_EXPR_DEDUCE_RETURN_TYPE_P): Remove.
773 (dependent_lambda_return_type_node): Remove.
774 (CPTI_DEPENDENT_LAMBDA_RETURN_TYPE): Remove.
775 (struct language_function): Add x_auto_return_pattern field.
776 (current_function_auto_return_pattern): New.
777 (enum tsubst_flags): Add tf_partial.
778 * decl.c (decls_match): Handle auto return comparison.
779 (duplicate_decls): Adjust error message for auto return.
780 (cxx_init_decl_processing): Remove dependent_lambda_return_type_node.
781 (cp_finish_decl): Don't do auto deduction for functions.
782 (grokdeclarator): Allow auto return without trailing return type in
784 (check_function_type): Defer checking of deduced return type.
785 (start_preparsed_function): Set current_function_auto_return_pattern.
786 (finish_function): Set deduced return type to void if not previously
788 * decl2.c (change_return_type): Handle error_mark_node.
789 (mark_used): Always instantiate functions with deduced return type.
790 Complain about use if deduction isn't done.
791 * parser.c (cp_parser_lambda_declarator_opt): Use 'auto' for
793 (cp_parser_lambda_body): Don't deduce return type in a template.
794 (cp_parser_conversion_type_id): Allow auto in C++1y.
795 * pt.c (instantiate_class_template_1): Don't mess with
796 LAMBDA_EXPR_DEDUCE_RETURN_TYPE_P.
797 (tsubst_copy_and_build): Likewise.
798 (fn_type_unification, tsubst): Don't reduce the template parm level
799 of 'auto' during deduction.
800 (unify): Compare 'auto' specially.
801 (get_bindings): Change test.
802 (always_instantiate_p): Always instantiate functions with deduced
804 (do_auto_deduction): Handle error_mark_node and lambda context.
805 Don't check for use in initializer.
806 (contains_auto_r): Remove.
807 * search.c (lookup_conversions_r): Handle auto conversion function.
808 * semantics.c (lambda_return_type): Handle null return. Don't mess
809 with dependent_lambda_return_type_node.
810 (apply_deduced_return_type): Rename from apply_lambda_return_type.
811 * typeck.c (merge_types): Handle auto.
812 (check_return_expr): Do auto deduction.
813 * typeck2.c (add_exception_specifier): Fix complain check.
815 2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
818 * class.c (check_field_decls): Call literal_type_p only
821 2012-03-22 Jakub Jelinek <jakub@redhat.com>
824 * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
825 on CLASS_TYPE_P types.
827 2012-03-20 Jason Merrill <jason@redhat.com>
829 * lex.c (init_reswords): Use >= for cxx_dialect test.
830 * parser.c (cp_parser_exception_specification_opt): Likewise.
832 * mangle.c (write_type): Handle 'auto'.
833 * init.c (build_new): Don't do auto deduction where it might
834 affect template mangling.
837 * decl.c (reshape_init_class): Handle repeated reshaping.
838 * search.c (lookup_field_1): Add sanity check.
840 2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
843 * cp-tree.h (xvalue_p, maybe_warn_about_useless_cast): Declare.
844 * tree.c (xvalue_p): Define.
845 * typeck.c (maybe_warn_about_useless_cast): Define.
846 (build_reinterpret_cast, build_const_cast,
847 build_static_cast, cp_build_c_cast): Use maybe_warn_about_useless_cast.
848 * rtti.c (build_dynamic_cast): Likewise.
849 * pt.c (tsubst_copy_and_build, case CAST_EXPR): Increment/decrement
850 c_inhibit_evaluation_warnings before/after the build_* calls.
852 2012-03-15 Jason Merrill <jason@redhat.com>
855 * method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
857 2012-03-15 Manuel López-Ibåñez <manu@gcc.gnu.org>
860 * error.c (print_instantiation_partial_context): Use
861 template_backtrace_limit.
863 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
865 * Make-lang.in (doc/g++.1): Remove IRIX 6.5 reference.
867 2012-03-14 Jakub Jelinek <jakub@redhat.com>
870 * parser.c (lookup_literal_operator): Return fn only if
871 processed all arguments from args vector and argtypes is
874 2012-01-30 Dodji Seketeli <dodji@redhat.com>
877 * cp-tree.h (template_type_parameter_p): Declare new function.
878 (parameter_of_template_p): Remove.
879 * pt.c (template_type_parameter_p): Define new function.
880 (parameter_of_template_p): Remove.
881 * name-lookup.c (binding_to_template_parms_of_scope_p): Don't rely
882 on parameter_of_template_p anymore. Compare the level of the
883 template parameter to the depth of the template.
885 2011-12-15 Dodji Seketeli <dodji@redhat.com>
887 * call.c (standard_conversion, build_integral_nontype_arg_conv)
888 (build_new_op_1, convert_like_real, is_subseq)
889 (maybe_handle_implicit_object, maybe_handle_ref_bind, compare_ics)
890 (joust): Use next_conversion instead of accessing fields of struct
893 2012-03-12 Paolo Carlini <paolo.carlini@oracle.com>
896 * pt.c (tsubst_copy_and_build, case COND_EXPR): Avoid bogus
897 division by zero warnings.
899 2012-03-08 Paolo Carlini <paolo.carlini@oracle.com>
901 * typeck.c (build_array_ref, cp_build_addr_expr_1, convert_ptrmem,
902 build_ptrmemfunc): Consistently forward the tsubst_flags_t
904 * call.c (resolve_args): Likewise.
906 2012-03-07 Jason Merrill <jason@redhat.com>
909 * mangle.c (write_literal_operator_name): The length comes after the
912 2012-03-05 Jakub Jelinek <jakub@redhat.com>
914 * pt.c (local_specializations): Change from htab_t into
915 struct pointer_map_t *.
916 (retrieve_local_specializations, register_local_specialization,
917 tsubst_pack_expansion, instantiate_decl): Adjust users.
918 (eq_local_specializations, hash_local_specialization): Remove.
920 2012-03-05 Jason Merrill <jason@redhat.com>
923 * decl2.c (determine_visibility): Correct calculation of class
925 * decl.c (check_tag_decl): Adjust warning.
927 * method.c (synthesized_method_walk): Cleanups don't affect the EH
930 2012-03-03 Jason Merrill <jason@redhat.com>
932 * init.c (perform_member_init): Cope with uninstantiated NSDMI.
935 * call.c (build_aggr_conv): Call reshape_init.
936 (convert_like_real): Likewise.
937 * typeck2.c (process_init_constructor): Clear TREE_CONSTANT if
940 * mangle.c (write_nested_name): Use decl_mangling_context.
941 (write_prefix, write_template_prefix): Likewise.
944 * mangle.c (write_expression): Improve diagnostic for TRAIT_EXPR.
946 * class.c (add_method): Always build an OVERLOAD for using-decls.
947 * search.c (lookup_member): Handle getting an OVERLOAD for a
950 2012-03-02 Paolo Carlini <paolo.carlini@oracle.com>
953 * typeck2.c (build_x_arrow): Take a tsubst_flags_t argument and
955 * cp-tree.h (build_x_arrow): Adjust prototype.
956 * pt.c (tsubst_copy_and_build): Adjust call.
957 * parser.c (cp_parser_postfix_dot_deref_expression): Likewise.
959 2012-03-02 Paolo Carlini <paolo.carlini@oracle.com>
961 * name-lookup.c (binding_to_template_parms_of_scope_p): Clean up.
963 2012-02-29 Jason Merrill <jason@redhat.com>
966 * decl.c (check_tag_decl): Move warning for misplaced attributes here.
967 (shadow_tag): From here.
968 * parser.c (cp_parser_explicit_instantiation): Don't warn here.
970 2012-02-21 Jakub Jelinek <jakub@redhat.com>
973 * typeck.c (check_literal_operator_args): Initialize *long_double_p
974 and *long_long_unsigned_p even if processing_template_decl.
976 2012-02-16 Jason Merrill <jason@redhat.com>
979 * decl.c (define_label): Use timevar_cond_start/stop.
981 2012-02-16 Fabien ChĂȘne <fabien@gcc.gnu.org>
984 * decl.c (xref_basetypes): call dependent_scope_p instead of
987 2012-02-16 Jason Merrill <jason@redhat.com>
990 * error.c (dump_expr): Handle lambda closures specifically.
992 2012-02-14 Jason Merrill <jason@redhat.com>
994 * parser.c (cp_parser_explicit_instantiation): Give a warning
995 for ignored attributes on explicit class instantiation.
997 2012-02-14 Jakub Jelinek <jakub@redhat.com>
1000 * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
1001 lookup_label on label's name and set TREE_USED.
1003 2012-02-14 Jason Merrill <jason@redhat.com>
1006 * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
1008 2012-02-14 Jakub Jelinek <jakub@redhat.com>
1011 * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
1012 newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
1014 2012-02-07 Jason Merrill <jason@redhat.com>
1017 * semantics.c (cx_check_missing_mem_inits): Handle unions.
1018 Fix constexpr default constructor logic.
1021 * pt.c (tsubst): Strip uninstantiated typedef.
1023 2012-02-06 Jason Merrill <jason@redhat.com>
1026 * cvt.c (build_expr_type_conversion): Check for template conversion.
1028 2012-01-31 Jason Merrill <jason@redhat.com>
1031 * cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
1032 * pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
1033 (tsubst_pack_expansion): Check it.
1035 2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
1038 * class.c (explain_non_literal_class): Correctly handle implicitly
1039 deleted constructors.
1041 2012-01-27 Jakub Jelinek <jakub@redhat.com>
1044 * pt.c (tsubst_pack_expansion): Delete and restore
1045 local_specialization whenever need_local_specialization, not just
1046 when saved_local_specializations is non-NULL.
1048 2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
1051 * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
1052 as TREE_OPERAND (t, 1).
1054 2012-01-24 Jason Merrill <jason@redhat.com>
1057 * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
1060 * tree.c (called_fns_equal): Check template args.
1061 (cp_tree_equal): Call it.
1063 2012-01-24 Aldy Hernandez <aldyh@redhat.com>
1064 Patrick Marlier <patrick.marlier@gmail.com>
1067 * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
1068 thunk for set_one_vmethod_tm_attributes.
1070 2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
1073 * call.c (build_over_call): Check for error_mark_node as
1074 TREE_VALUE when default arguments are processed.
1076 2012-01-23 Jason Merrill <jason@redhat.com>
1079 * decl2.c (determine_visibility): Check for visibility attribute
1080 on template specialization.
1082 2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
1085 * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
1087 2012-01-23 Jason Merrill <jason@redhat.com>
1090 * class.c (add_method): Set OVL_USED for using-decls.
1091 * tree.c (ovl_scope): New.
1092 * cp-tree.h: Declare it.
1093 * parser.c (cp_parser_template_name): Use it.
1094 * semantics.c (baselink_for_fns): Likewise.
1095 * name-lookup.c (set_inherited_value_binding_p): Likewise.
1097 2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
1100 * pt.c (lookup_template_class_1): Check context returned by
1101 tsubst for error_mark_node.
1103 2012-01-19 Kai Tietz <ktietz@redhat.com>
1106 * decl2.c (save_template_attributes): Use merge_attributes
1107 instead of chaining up via TREE_CHAIN.
1109 2012-01-19 Jason Merrill <jason@redhat.com>
1112 * class.c (finish_struct): Call add_method here for function usings.
1113 * semantics.c (finish_member_declaration): Not here.
1115 2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
1118 * typeck2.c (store_init_value): Within a template guard
1119 cxx_constant_value with require_potential_constant_expression.
1120 * pt.c (convert_nontype_argument): Likewise.
1122 2012-01-16 Jakub Jelinek <jakub@redhat.com>
1125 * mangle.c (write_template_arg_literal): Handle complex.
1127 2012-01-16 Jason Merrill <jason@redhat.com>
1130 * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
1133 * typeck.c (build_static_cast_1): Handle bit-fields properly.
1135 2012-01-13 Ian Lance Taylor <iant@google.com>
1138 * typeck.c (enum_cast_to_int): New static function.
1139 (cp_build_binary_op): When handling warn_sign_compare, don't test
1140 for TREE_NO_WARNING. Do call enum_cast_to_int.
1141 * call.c (avoid_sign_compare_warnings): Remove static function.
1142 (build_new_op_1): Don't call avoid_sign_compare_warnings.
1144 2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
1146 * decl2.c: Do not include tree-mudflap.h
1147 * semantics.c: Likewise.
1149 2012-01-13 Jason Merrill <jason@redhat.com>
1152 * semantics.c (finish_break_stmt): Avoid adding an unreachable
1156 * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
1157 when reducing the visibility.
1160 * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
1162 2012-01-12 Jason Merrill <jason@redhat.com>
1165 * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
1168 2012-01-13 Dodji Seketeli <dodji@redhat.com>
1171 * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
1172 Set the pointer to the last block of the constructor to the
1174 (build_constexpr_constructor_member_initializers): Get
1175 build_data_member_initialization a chance to deal with more
1176 statements before we choke.
1178 2012-01-12 Jason Merrill <jason@redhat.com>
1181 * mangle.c (write_expression): Mangle BASELINK scope if
1182 BASELINK_QUALIFIED_P.
1183 * search.c (adjust_result_of_qualified_name_lookup): Set
1184 BASELINK_QUALIFIED_P.
1185 * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
1186 * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
1187 adjust_result_of_qualified_name_lookup for non-qualified names.
1190 * pt.c (unify): Handle error_mark_node.
1192 2012-01-11 Jason Merrill <jason@redhat.com>
1195 * call.c (standard_conversion): For ptrmemfuncs, compare the
1199 * mangle.c (find_substitution): A type is only a substitution
1200 match if we're looking for a type.
1201 (write_nested_name): Use decl_mangling_context.
1203 * decl.c (decls_match): Assert that the arguments are decls.
1206 * pt.c (resolve_overloaded_unification): Compare types with
1207 same_type_p, not decls_match.
1209 2012-01-10 Jason Merrill <jason@redhat.com>
1212 * class.c (build_base_path): Diagnose ambiguous base.
1215 * semantics.c (cxx_eval_call_expression): Always retry previously
1216 non-constant expressions.
1218 2012-01-06 Jason Merrill <jason@redhat.com>
1222 * parser.c (cp_parser_new_expression): Set
1223 type_definition_forbidden_message.
1229 * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
1230 THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and
1232 (write_template_arg): Fix mangling of class-scope functions and
1234 (mangle_decl): Update suggested -fabi-version argument.
1235 * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
1236 DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
1237 * tree.c (dependent_name): No longer static.
1238 * cp-tree.h: Declare it.
1239 * pt.c (unify): Defer handling of unconverted functions.
1241 * mangle.c (mangle_decl): Don't generate mangling aliases
1242 for maybe-in-charge [cd]tors.
1244 * error.c (dump_expr): Print type of CONSTRUCTOR.
1246 2012-01-05 Dodji Seketeli <dodji@redhat.com>
1249 * parser.c (cp_parser_alias_declaration): Get out early upon
1250 errors in the identifier or the attributes.
1252 2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
1255 * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
1256 the tree returned by build_x_binary_op.
1258 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
1261 * parser.c (cp_parser_postfix_open_square_expression): Handle
1262 postfix-expression [ braced-init-list ].
1264 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
1267 * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
1268 call decay_conversion on v.
1270 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
1273 * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
1274 declaration followed by specialization.
1276 2012-01-03 Jakub Jelinek <jakub@redhat.com>
1279 * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
1280 on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
1282 2012-01-02 Jason Merrill <jason@redhat.com>
1286 * method.c (walk_field_subobs): Don't check for uninitialized
1288 (synthesized_method_walk): Check here.
1292 * parser.c (cp_parser_cache_defarg): Split out...
1293 (cp_parser_parameter_declaration): ...from here.
1294 (cp_parser_save_nsdmi): Use it.
1295 (cp_parser_cache_group): Remove CPP_COMMA support.
1297 2012-01-02 Dodji Seketeli <dodji@redhat.com>
1300 * semantics.c (cx_check_missing_mem_inits): Don't assert in case
1303 2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
1306 * typeck2.c (digest_init_r): Use copy_init when initializing
1309 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
1312 * decl.c (build_enumerator): Don't call perform_integral_promotions
1315 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
1318 * typeck.c (build_reinterpret_cast_1): Implement resolution of
1321 2012-01-01 Fabien ChĂȘne <fabien@gcc.gnu.org>
1323 * parser.c (cp_parser_using_declaration): Add a warning about
1324 deprecated access declarations when no errors were encountered
1325 while parsing the access declaration. Save the first token in
1326 order to emit the warning at the right place.
1328 Copyright (C) 2012 Free Software Foundation, Inc.
1330 Copying and distribution of this file, with or without modification,
1331 are permitted in any medium without royalty provided the copyright
1332 notice and this notice are preserved.