1 2013-05-09 Jason Merrill <jason@redhat.com>
4 * semantics.c (cxx_fold_indirect_ref): Fix thinko.
6 2013-04-21 Eric Botcazou <ebotcazou@adacore.com>
8 * parser.c (cp_parser_late_return_type_opt): Fix C++ism.
10 2013-04-15 Jason Merrill <jason@redhat.com>
13 * semantics.c (insert_capture_proxy): Just use index 1 in the
16 2013-04-11 Release Manager
20 2013-04-03 Jakub Jelinek <jakub@redhat.com>
23 * tree.c (strip_typedefs): Copy NON_DEFAULT_TEMPLATE_ARGS_COUNT
24 from args to new_args.
25 (strip_typedefs_expr): Copy NON_DEFAULT_TEMPLATE_ARGS_COUNT from t to
26 r instead of doing {S,G}ET_NON_DEFAULT_TEMPLATE_ARGS_COUNT.
28 2013-04-01 Jason Merrill <jason@redhat.com>
31 * parser.c (cp_parser_range_for): Don't try to do auto deduction
32 in a template if the type of the range is incomplete.
34 2013-03-29 Jason Merrill <jason@redhat.com>
38 * pt.c (unify_pack_expansion): Fix indexing.
40 2013-03-23 Jason Merrill <jason@redhat.com>
43 * semantics.c (lambda_capture_field_type): Don't build a
44 magic decltype for pointer types.
45 (lambda_proxy_type): Likewise.
46 (finish_non_static_data_member): Get the quals from
49 2013-03-20 Jason Merrill <jason@redhat.com>
52 * parser.c (cp_parser_late_return_type_opt): Save and restore
53 current_class_ptr/ref.
55 2013-03-14 Jason Merrill <jason@redhat.com>
58 * decl.c (local_variable_p_walkfn): Check DECL_ARTIFICIAL again.
60 2013-03-14 Jakub Jelinek <jakub@redhat.com>
63 * init.c (build_zero_init_1): Use RECORD_OR_UNION_CODE_P instead
66 2013-03-09 Paolo Carlini <paolo.carlini@oracle.com>
69 * parser.c (cp_parser_elaborated_type_specifier): Don't call
70 check_elaborated_type_specifier when TREE_CODE (decl) != TYPE_DECL.
71 * decl.c (check_elaborated_type_specifier): Tidy.
73 2013-03-06 Jakub Jelinek <jakub@redhat.com>
76 * tree.c (strip_typedefs): Don't copy args if they are NULL.
78 2013-02-22 Jason Merrill <jason@redhat.com>
81 * pt.c (push_template_decl_real): Set DECL_INTERFACE_KNOWN
82 if we got the wrong number of template parms.
85 * tree.c (strip_typedefs): Strip typedefs from TYPENAME_TYPE template
88 2013-02-19 Jakub Jelinek <jakub@redhat.com>
90 Backported from mainline
91 2013-02-07 Jakub Jelinek <jakub@redhat.com>
94 * init.c (build_vec_init): Don't append NULL values into new_vec.
95 (build_zero_init_1): Don't push anything into v if recursive call
97 (build_value_init_noctor): Don't push anything into v if
98 build_value_init call returned NULL_TREE.
101 * parser.c (cp_parser_token_starts_cast_expression): Renamed to...
102 (cp_parser_tokens_start_cast_expression): ... this. Change parameter
103 to cp_parser *, call cp_lexer_peek_token first. For CPP_OPEN_PAREN,
104 return true only if 2nd token isn't CPP_CLOSE_PAREN.
105 (cp_parser_cast_expression): Adjust caller.
108 * decl.c (push_local_name): Look at DECL_DISCRIMINATOR (t)
109 only if DECL_DISCRIMINATOR_SET_P (t) rather than just
110 DECL_LANG_SPECIFIC (t).
112 2013-02-15 Jason Merrill <jason@redhat.com>
115 * semantics.c (finish_id_expression): Also return the identifier
116 for an outer local static.
119 * semantics.c (finish_id_expression): In a template, return
120 the identifier for a constant variable.
123 * semantics.c (maybe_add_lambda_conv_op): Mark static thunk
127 * pt.c (tsubst_copy_and_build): Don't forget any new
128 captures that arose from use of dependent names.
130 2013-02-12 Jason Merrill <jason@redhat.com>
133 * semantics.c (sort_constexpr_mem_initializers): Handle
136 2013-02-11 Jason Merrill <jason@redhat.com>
139 * semantics.c (classtype_has_nothrow_assign_or_copy_p): Call
140 maybe_instantiate_noexcept.
142 2013-02-09 Jason Merrill <jason@redhat.com>
145 * pt.c (eq_specializations): Set comparing_specializations.
146 * tree.c (cp_tree_equal): Check it.
147 * cp-tree.h: Declare it.
149 2013-02-05 Jason Merrill <jason@redhat.com>
152 * tree.c (lvalue_kind) [INDIRECT_REF]: Don't check for
155 2013-02-01 Jakub Jelinek <jakub@redhat.com>
157 Backported from mainline
158 2012-12-13 Jakub Jelinek <jakub@redhat.com>
161 * typeck2.c (merge_exception_specifiers): Don't call operand_equal_p
164 2012-12-06 Jakub Jelinek <jakub@redhat.com>
167 * except.c (build_noexcept_spec): Avoid direct comparison
168 with boolean_true_node or boolean_false_node, instead use
169 operand_equal_p and/or INTEGER_CST check.
170 * pt.c (tsubst_exception_specification): Likewise.
171 * typeck2.c (merge_exception_specifiers): Likewise.
173 2012-12-01 Jakub Jelinek <jakub@redhat.com>
176 * pt.c (make_ith_pack_parameter_name): Return NULL if
178 (tsubst_decl): Call make_ith_pack_parameter_name even if
181 2012-11-23 Jakub Jelinek <jakub@redhat.com>
184 * cp-objcp-common.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Redefine.
185 * cp-objcp-common.c (cxx_block_may_fallthru): New function.
186 * cp-tree.h (cxx_block_may_fallthru): New prototype.
188 2013-01-25 Jason Merrill <jason@redhat.com>
191 * typeck.c (get_member_function_from_ptrfunc): Don't fold
194 2013-01-22 Jason Merrill <jason@redhat.com>
196 * call.c (type_has_extended_temps): Fix C++ism.
199 * call.c (type_has_extended_temps): New.
200 * cp-tree.h: Declare it.
201 * decl.c (check_initializer): Use build_aggr_init for arrays
203 * init.c (build_vec_init): Avoid mixed signed/unsigned arithmetic.
206 * pt.c (maybe_instantiate_noexcept): Don't defer access checks.
208 2013-01-21 Jason Merrill <jason@redhat.com>
211 * tree.c (strip_typedefs_expr) [TREE_VEC]: Preserve non-default
214 2013-01-09 Jason Merrill <jason@redhat.com>
217 * decl.c (cp_finish_decl): Clear TREE_READONLY if the variable
220 2013-01-08 Joel Brobecker <brobecker@adacore.com>
222 * parser.c (cp_parser_initializer_list): Move declaration
223 of variable non_const to start of lexical block.
225 2013-01-04 Jason Merrill <jason@redhat.com>
228 * decl.c (reset_type_linkage, bt_reset_linkage): New.
229 (grokdeclarator): Use reset_type_linkage.
230 * name-lookup.c (binding_table_foreach): Handle null table.
231 * tree.c (decl_anon_ns_mem_p): Check TYPE_MAIN_DECL, not TYPE_NAME.
233 2013-01-03 Jason Merrill <jason@redhat.com>
237 * pt.c (tsubst_copy_and_build) [TARGET_EXPR]: Don't touch
241 * semantics.c (trait_expr_value): Call maybe_instantiate_noexcept.
244 * semantics.c (build_data_member_initialization): Handle DECL_EXPR.
246 2013-01-02 Jason Merrill <jason@redhat.com>
249 * call.c (build_new_method_call_1): Don't use build_value_init for
250 user-provided default constructors.
254 * tree.c (build_cplus_array_type): Copy layout information
255 to main variant if necessary.
257 2012-12-19 Jason Merrill <jason@redhat.com>
260 * pt.c (type_unification_real): Re-combine post-deduction loops.
262 2012-12-11 Jason Merrill <jason@redhat.com>
265 * decl2.c (min_vis_r): Handle anon visibility for enums.
267 2012-12-11 Jakub Jelinek <jakub@redhat.com>
270 * expr.c (mark_exp_read): Handle FLOAT_EXPR similarly to NOP_EXPR.
272 2012-12-07 Jason Merrill <jason@redhat.com>
275 * tree.c (build_target_expr): Don't set TREE_CONSTANT.
277 2012-12-07 Matthias Klose <doko@ubuntu.com>
279 * tree.c (build_aggr_init_expr): Add parameter name, mark as unused.
281 2012-12-06 Jason Merrill <jason@redhat.com>
284 * tree.c (build_aggr_init_expr): Don't check for abstract class.
285 (build_cplus_new): Check here instead.
288 * pt.c (tsubst): Keep the quals when looking through a typedef.
291 * tree.c (build_vec_init_elt): Use the type of the initializer.
294 * pt.c (resolve_typename_type): Check TYPENAME_IS_RESOLVING_P on scope.
297 * parser.c (cp_parser_initializer_list): Don't require an
298 expression in [] to be constant until we know it's a C99
303 * semantics.c (maybe_add_lambda_conv_op): Revert earlier change.
304 * decl.c (start_preparsed_function): Make local class methods comdat
307 2012-11-29 Jason Merrill <jason@redhat.com>
310 * pt.c (tsubst_expr) [DECL_EXPR]: Set LAMBDA_EXPR_THIS_CAPTURE here.
311 (tsubst_copy_and_build) [LAMBDA_EXPR]: And clear it here.
312 (instantiate_class_template_1): Not here.
315 * pt.c (tsubst_arg_types): Add "end" parameter.
316 (check_undeduced_parms): Use it.
319 * pt.c (arg_from_parm_pack_p): Go back to using same_type_p or
322 * cp-tree.h (TEMPLATE_PARM_NUM_SIBLINGS): Remove.
323 (struct template_parm_index_s): Remove num_siblings.
324 * pt.c (fixup_template_parms, fixup_template_parm_index): Remove.
325 (fixup_template_type_parm_type): Remove.
326 (build_template_parm_index): Remove num_siblings parm.
327 (process_template_parm): Likewise.
328 * parser.c (cp_parser_template_parameter_list): Adjust.
329 * tree.c (cp_tree_equal): Don't compare num_siblings.
330 * typeck.c (comp_template_parms_position): Likewise.
334 * tree.c (strip_typedefs_expr): New.
335 * cp-tree.h: Declare it.
336 * pt.c (convert_template_argument, unify): Use it.
337 * parser.c (cp_parser_template_declaration_after_export): Don't call
338 fixup_template_parms.
340 2012-11-29 Kai Tietz <ktietz@redhat.com>
343 * class.c (dump_class_hierarchy_r): Cast from pointer via uintptr_t.
344 (dump_vtable): Likewise.
346 2012-11-24 Paolo Carlini <paolo.carlini@oracle.com>
349 * init.c (build_vec_init): Do not early return error_mark_mode
350 when integer_all_onesp (maxindex).
352 2012-11-05 Jakub Jelinek <jakub@redhat.com>
354 Backported from mainline
355 2012-10-23 Jakub Jelinek <jakub@redhat.com>
358 * decl2.c (cplus_decl_attributes): Don't return early
359 if attributes is NULL.
361 2012-10-26 Paolo Carlini <paolo.carlini@oracle.com>
364 * init.c (build_new): Don't turn a null *init into a pointer to
365 empty vector orig_init.
367 2012-10-08 Jakub Jelinek <jakub@redhat.com>
370 * tree.c (cp_tree_equal): Handle FIELD_DECL.
372 2012-10-03 Jakub Jelinek <jakub@redhat.com>
375 * semantics.c (cxx_eval_constant_expression) <case COMPOUND_EXPR>: If
376 not ignoring the second operand, pass the original second operand
377 and not one with stripped nops to cxx_eval_constant_expression.
379 2012-09-20 Release Manager
381 * GCC 4.7.2 released.
383 2012-09-14 Jason Merrill <jason@redhat.com>
386 * typeck2.c (check_narrowing): Avoid false positives on conversion
389 2012-09-13 Jason Merrill <jason@redhat.com>
392 * semantics.c (cxx_eval_indirect_ref): If we aren't looking for an
393 address, make sure the value is constant.
395 2012-09-13 Jason Merrill <jason@redhat.com>
398 * pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.
400 2012-09-13 Jason Merrill <jason@redhat.com>
403 * pt.c (value_dependent_expression_p): A TREE_LIST initializer must
406 2012-09-10 Jason Merrill <jason@redhat.com>
409 * decl.c (move_signature_fn_p): Split out from move_fn_p.
410 * method.c (process_subob_fn): Use it.
411 * cp-tree.h: Declare it.
415 * semantics.c (sort_constexpr_mem_initializers): New.
416 (build_constexpr_constructor_member_initializers): Use it.
417 (cx_check_missing_mem_inits): Skip artificial fields.
418 * init.c (expand_aggr_init_1): Don't zero out a class
422 * decl.c (grokdeclarator): Allow const and constexpr together.
424 2012-08-31 Ollie Wild <aaw@google.com>
427 * call.c (extend_ref_init_temps_1): Handle COMPOUND_EXPR trees.
429 2012-07-20 Jason Merrill <jason@redhat.com>
432 * tree.c (build_cplus_array_type): Use build_cplus_array_type to build
433 canonical array type rather than mess with its TYPE_*_VARIANT.
435 2012-07-19 Jason Merrill <jason@redhat.com>
438 * typeck.c (cp_apply_type_quals_to_decl): Check COMPLETE_TYPE_P.
440 2012-07-18 Jason Merrill <jason@redhat.com>
442 * method.c (process_subob_fn): Make sure no_implicit_p is non-null
443 before trying to store through it.
445 2012-07-17 Jason Merrill <jason@redhat.com>
448 * decl.c (finish_enum_value_list): Only call
449 insert_late_enum_def_into_classtype_sorted_fields in class scope.
451 2012-07-17 Jason Merrill <jason@redhat.com>
454 * tree.c (build_cplus_array_type): Also add TYPE_CANONICAL
455 to the list of variants.
457 2012-07-17 Jason Merrill <jason@redhat.com>
460 * parser.c (cp_parser_class_head): Call xref_basetypes here.
461 (cp_parser_class_specifier_1): Not here.
462 * pt.c (tsubst_decl) [USING_DECL]: Check uses_template_parms
463 as well as DECL_DEPENDENT_P.
465 2012-07-13 Jason Merrill <jason@redhat.com>
468 * method.c (synthesized_method_walk): Initialize no_implicit_p sooner.
470 2012-07-10 Jason Merrill <jason@redhat.com>
474 * cp-tree.h (FNDECL_SUPPRESS_IMPLICIT_DECL): New.
475 (struct lang_decl_fn): Add suppress_implicit_decl field.
476 * method.c (implicitly_declare_fn): Check it.
477 (process_subob_fn): Add no_implicit_p parm.
478 (walk_field_subobs, synthesized_method_walk): Likewise.
479 (maybe_explain_implicit_delete): Adjust.
480 (explain_implicit_non_constexpr): Adjust.
482 * method.c (synthesized_method_walk): Cleanups don't affect the EH
485 2012-07-02 Jason Merrill <jason@redhat.com>
488 * class.c (resolves_to_fixed_type_p): Check uses_template_parms
489 (current_function_decl) instead of processing_template_decl.
492 * semantics.c (maybe_add_lambda_conv_op): Don't set
493 DECL_INTERFACE_KNOWN.
495 2012-06-27 Fabien ChĂȘne <fabien@gcc.gnu.org>
498 * cp-tree.h (insert_late_enum_def_into_classtype_sorted_fields):
500 * class.c (insert_into_classtype_sorted_fields): New.
501 (add_enum_fields_to_record_type): New.
502 (count_fields): Adjust the comment.
503 (add_fields_to_record_type): Likewise.
504 (finish_struct_1): Move the code that inserts the fields for the
505 sorted case, into insert_into_classtype_sorted_fields, and call
507 (insert_late_enum_def_into_classtype_sorted_fields): Define.
508 * decl.c (finish_enum_value_list): Call
509 insert_late_enum_def_into_classtype_sorted_fields if a late enum
510 definition is encountered.
512 2012-06-25 Jason Merrill <jason@redhat.com>
516 * pt.c (tsubst_pack_expansion): Copy before dummy tsubst.
519 * typeck.c (decay_conversion): Don't discard side-effects from
520 expressions of nullptr_t.
523 * semantics.c (build_data_member_initialization): Always keep
524 initializer for empty base.
525 (cxx_eval_bare_aggregate): Discard it here.
527 2012-06-25 Jakub Jelinek <jakub@redhat.com>
530 * class.c (check_bases_and_members): Avoid -Wuninitialized
531 diagnostics for non-static const members or references if they
534 2012-06-19 Jason Merrill <jason@redhat.com>
537 * name-lookup.c (constructor_name_p): Don't try to look at the
538 name of a DECLTYPE_TYPE.
542 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
543 (instantiate_decl): Don't push_to_top_level for local class methods.
544 (instantiate_class_template_1): Or for local classes.
547 * pt.c (lookup_template_class_1): Use ts_global.
549 2012-06-14 Richard Guenther <rguenther@suse.de>
551 Backport from mainline
552 2012-06-11 Richard Guenther <rguenther@suse.de>
555 * mangle.c (write_array_type): Use double-ints for array domain
558 2012-06-14 Richard Guenther <rguenther@suse.de>
560 Backport from mainline
561 2012-06-06 Fabien ChĂȘne <fabien@gcc.gnu.org>
564 * parser.c (cp_parser_alias_declaration): Return earlier
567 2012-06-14 Release Manager
569 * GCC 4.7.1 released.
571 2012-06-12 Jason Merrill <jason@redhat.com>
576 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
577 (instantiate_decl): Don't push_to_top_level for local class methods.
578 (instantiate_class_template_1): Or for local classes.
580 2012-06-04 Paolo Carlini <paolo.carlini@oracle.com>
583 * call.c (build_conditional_expr_1): Use OPT_Wenum_compare
584 to control enumeral mismatch in conditional expression too.
586 2012-06-01 Jason Merrill <jason@redhat.com>
589 * parser.c (cp_parser_class_head): Apply attributes here.
590 * semantics.c (begin_class_definition): Not here.
594 * parser.c (cp_parser_binary_expression): Bail early if we're parsing
595 tentatively and the LHS has a parse error.
597 2012-06-01 Jason Merrill <jason@redhat.com>
600 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
601 (instantiate_decl): Don't push_to_top_level for local class methods.
602 (instantiate_class_template_1): Or for local classes.
605 * pt.c (do_auto_deduction): Don't try to deduce from a
606 type-dependent initializer.
608 2012-05-31 Jason Merrill <jason@redhat.com>
612 * call.c (joust): Handle comparing list and non-list ctors.
614 2012-05-30 Jason Merrill <jason@redhat.com>
617 * tree.c (stabilize_init): Side effects make the init unstable.
619 2012-05-30 Jason Merrill <jason@redhat.com>
622 * call.c (convert_like_real) [ck_list]: Take array address directly.
623 * typeck.c (decay_conversion): Reject decay of an array compound
626 2012-05-29 Paolo Carlini <paolo.carlini@oracle.com>
629 * tree.c (stabilize_expr): Handle exp of void type.
631 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
634 * semantics.c (potential_constant_expression_1): Handle LTGT_EXPR.
636 2012-05-15 Alexandre Oliva <aoliva@redhat.com>
639 * pt.c (tsubst_decl): Bail out if argvec is error_mark_node.
641 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
644 * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P
645 instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning.
647 2012-05-03 Paolo Carlini <paolo.carlini@oracle.com>
650 * call.c (build_over_call): Handle final member functions
652 (build_new_method_call_1): Do not handle here.
654 2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
657 * parser.c (cp_parser_member_declaration): Check that
658 initializer_token_start is non null before dereferencing it.
660 2012-04-16 Jason Merrill <jason@redhat.com>
663 * pt.c (determine_specialization): Instead of comparing the number
664 of parms, check that tsubst gives the right answer.
667 * pt.c (convert_template_argument): Handle template template
671 * pt.c (tsubst_pack_expansion): Use tsubst_expr for template
674 2012-04-15 Jason Merrill <jason@redhat.com>
678 * pt.c (coerce_template_parms): Even if we aren't converting we
679 want to expand argument packs.
681 2012-04-15 Fabien ChĂȘne <fabien@gcc.gnu.org>
684 * parser.c (cp_parser_class_name): Call strip_using_decl and
685 return the target decl.
686 * name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
687 to be stripped is NULL_TREE.
688 (qualify_lookup): Call strip_using_decl and perform some checks on
691 2012-04-13 Jason Merrill <jason@redhat.com>
694 * pt.c (any_pack_expanson_args_p): New.
695 (coerce_template_parms): Use it.
697 2012-04-11 Jason Merrill <jason@redhat.com>
700 * decl.c (check_tag_decl): Don't complain about attributes if we
701 don't even have a type.
703 2012-04-05 Jason Merrill <jason@redhat.com>
706 * tree.c (lvalue_kind): Treat a deferred access control SCOPE_REF
709 2012-04-03 Jason Merrill <jason@redhat.com>
712 * pt.c (tsubst_initializer_list): A pack expansion with no elements
713 means value-initialization.
715 2012-03-29 Meador Inge <meadori@codesourcery.com>
718 * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
719 stripped child trees that are not pointer types.
721 2012-03-29 Paolo Carlini <paolo.carlini@oracle.com>
724 * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant
725 warn for a zero as null pointer constant default argument.
727 2012-03-29 Jason Merrill <jason@redhat.com>
730 * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P.
732 2012-03-29 Jakub Jelinek <jakub@redhat.com>
735 * decl.c (start_decl): Don't call maybe_apply_pragma_weak
736 if processing_template_decl.
738 2012-03-29 Jason Merrill <jason@redhat.com>
741 * call.c (compare_ics): Handle ck_aggr like ck_list.
743 2012-03-28 Jason Merrill <jason@redhat.com>
746 * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
747 we didn't get an explicit scope.
748 * pt.c (tsubst_baselink): Likewise.
750 2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
753 * class.c (check_field_decls): Call literal_type_p only
756 2012-03-22 Jakub Jelinek <jakub@redhat.com>
759 * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
760 on CLASS_TYPE_P types.
762 2012-03-22 Jason Merrill <jason@redhat.com>
765 * method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
767 2012-03-22 Jakub Jelinek <jakub@redhat.com>
769 Backported from mainline
770 2012-03-14 Jakub Jelinek <jakub@redhat.com>
773 * parser.c (lookup_literal_operator): Return fn only if
774 processed all arguments from args vector and argtypes is
777 2012-03-22 Release Manager
779 * GCC 4.7.0 released.
781 2012-03-20 Jason Merrill <jason@redhat.com>
783 * mangle.c (write_type): Handle 'auto'.
784 * init.c (build_new): Don't do auto deduction where it might
785 affect template mangling.
787 2012-03-07 Jason Merrill <jason@redhat.com>
790 * mangle.c (write_literal_operator_name): The length comes after the
793 2012-02-29 Jason Merrill <jason@redhat.com>
796 * decl.c (check_tag_decl): Move warning for misplaced attributes here.
797 (shadow_tag): From here.
798 * parser.c (cp_parser_explicit_instantiation): Don't warn here.
800 2012-02-21 Jakub Jelinek <jakub@redhat.com>
803 * typeck.c (check_literal_operator_args): Initialize *long_double_p
804 and *long_long_unsigned_p even if processing_template_decl.
806 2012-02-16 Jason Merrill <jason@redhat.com>
809 * decl.c (define_label): Use timevar_cond_start/stop.
811 2012-02-16 Fabien ChĂȘne <fabien@gcc.gnu.org>
814 * decl.c (xref_basetypes): call dependent_scope_p instead of
817 2012-02-16 Jason Merrill <jason@redhat.com>
820 * error.c (dump_expr): Handle lambda closures specifically.
822 2012-02-14 Jason Merrill <jason@redhat.com>
824 * parser.c (cp_parser_explicit_instantiation): Give a warning
825 for ignored attributes on explicit class instantiation.
827 2012-02-14 Jakub Jelinek <jakub@redhat.com>
830 * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
831 lookup_label on label's name and set TREE_USED.
833 2012-02-14 Jason Merrill <jason@redhat.com>
836 * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
838 2012-02-14 Jakub Jelinek <jakub@redhat.com>
841 * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
842 newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
844 2012-02-07 Jason Merrill <jason@redhat.com>
847 * semantics.c (cx_check_missing_mem_inits): Handle unions.
848 Fix constexpr default constructor logic.
851 * pt.c (tsubst): Strip uninstantiated typedef.
853 2012-02-06 Jason Merrill <jason@redhat.com>
856 * cvt.c (build_expr_type_conversion): Check for template conversion.
858 2012-01-31 Jason Merrill <jason@redhat.com>
861 * cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
862 * pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
863 (tsubst_pack_expansion): Check it.
865 2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
868 * class.c (explain_non_literal_class): Correctly handle implicitly
869 deleted constructors.
871 2012-01-27 Jakub Jelinek <jakub@redhat.com>
874 * pt.c (tsubst_pack_expansion): Delete and restore
875 local_specialization whenever need_local_specialization, not just
876 when saved_local_specializations is non-NULL.
878 2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
881 * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
882 as TREE_OPERAND (t, 1).
884 2012-01-24 Jason Merrill <jason@redhat.com>
887 * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
890 * tree.c (called_fns_equal): Check template args.
891 (cp_tree_equal): Call it.
893 2012-01-24 Aldy Hernandez <aldyh@redhat.com>
894 Patrick Marlier <patrick.marlier@gmail.com>
897 * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
898 thunk for set_one_vmethod_tm_attributes.
900 2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
903 * call.c (build_over_call): Check for error_mark_node as
904 TREE_VALUE when default arguments are processed.
906 2012-01-23 Jason Merrill <jason@redhat.com>
909 * decl2.c (determine_visibility): Check for visibility attribute
910 on template specialization.
912 2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
915 * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
917 2012-01-23 Jason Merrill <jason@redhat.com>
920 * class.c (add_method): Set OVL_USED for using-decls.
921 * tree.c (ovl_scope): New.
922 * cp-tree.h: Declare it.
923 * parser.c (cp_parser_template_name): Use it.
924 * semantics.c (baselink_for_fns): Likewise.
925 * name-lookup.c (set_inherited_value_binding_p): Likewise.
927 2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
930 * pt.c (lookup_template_class_1): Check context returned by
931 tsubst for error_mark_node.
933 2012-01-19 Kai Tietz <ktietz@redhat.com>
936 * decl2.c (save_template_attributes): Use merge_attributes
937 instead of chaining up via TREE_CHAIN.
939 2012-01-19 Jason Merrill <jason@redhat.com>
942 * class.c (finish_struct): Call add_method here for function usings.
943 * semantics.c (finish_member_declaration): Not here.
945 2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
948 * typeck2.c (store_init_value): Within a template guard
949 cxx_constant_value with require_potential_constant_expression.
950 * pt.c (convert_nontype_argument): Likewise.
952 2012-01-16 Jakub Jelinek <jakub@redhat.com>
955 * mangle.c (write_template_arg_literal): Handle complex.
957 2012-01-16 Jason Merrill <jason@redhat.com>
960 * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
963 * typeck.c (build_static_cast_1): Handle bit-fields properly.
965 2012-01-13 Ian Lance Taylor <iant@google.com>
968 * typeck.c (enum_cast_to_int): New static function.
969 (cp_build_binary_op): When handling warn_sign_compare, don't test
970 for TREE_NO_WARNING. Do call enum_cast_to_int.
971 * call.c (avoid_sign_compare_warnings): Remove static function.
972 (build_new_op_1): Don't call avoid_sign_compare_warnings.
974 2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
976 * decl2.c: Do not include tree-mudflap.h
977 * semantics.c: Likewise.
979 2012-01-13 Jason Merrill <jason@redhat.com>
982 * semantics.c (finish_break_stmt): Avoid adding an unreachable
986 * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
987 when reducing the visibility.
990 * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
992 2012-01-12 Jason Merrill <jason@redhat.com>
995 * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
998 2012-01-13 Dodji Seketeli <dodji@redhat.com>
1001 * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
1002 Set the pointer to the last block of the constructor to the
1004 (build_constexpr_constructor_member_initializers): Get
1005 build_data_member_initialization a chance to deal with more
1006 statements before we choke.
1008 2012-01-12 Jason Merrill <jason@redhat.com>
1011 * mangle.c (write_expression): Mangle BASELINK scope if
1012 BASELINK_QUALIFIED_P.
1013 * search.c (adjust_result_of_qualified_name_lookup): Set
1014 BASELINK_QUALIFIED_P.
1015 * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
1016 * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
1017 adjust_result_of_qualified_name_lookup for non-qualified names.
1020 * pt.c (unify): Handle error_mark_node.
1022 2012-01-11 Jason Merrill <jason@redhat.com>
1025 * call.c (standard_conversion): For ptrmemfuncs, compare the
1029 * mangle.c (find_substitution): A type is only a substitution
1030 match if we're looking for a type.
1031 (write_nested_name): Use decl_mangling_context.
1033 * decl.c (decls_match): Assert that the arguments are decls.
1036 * pt.c (resolve_overloaded_unification): Compare types with
1037 same_type_p, not decls_match.
1039 2012-01-10 Jason Merrill <jason@redhat.com>
1042 * class.c (build_base_path): Diagnose ambiguous base.
1045 * semantics.c (cxx_eval_call_expression): Always retry previously
1046 non-constant expressions.
1048 2012-01-06 Jason Merrill <jason@redhat.com>
1052 * parser.c (cp_parser_new_expression): Set
1053 type_definition_forbidden_message.
1059 * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
1060 THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and
1062 (write_template_arg): Fix mangling of class-scope functions and
1064 (mangle_decl): Update suggested -fabi-version argument.
1065 * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
1066 DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
1067 * tree.c (dependent_name): No longer static.
1068 * cp-tree.h: Declare it.
1069 * pt.c (unify): Defer handling of unconverted functions.
1071 * mangle.c (mangle_decl): Don't generate mangling aliases
1072 for maybe-in-charge [cd]tors.
1074 * error.c (dump_expr): Print type of CONSTRUCTOR.
1076 2012-01-05 Dodji Seketeli <dodji@redhat.com>
1079 * parser.c (cp_parser_alias_declaration): Get out early upon
1080 errors in the identifier or the attributes.
1082 2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
1085 * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
1086 the tree returned by build_x_binary_op.
1088 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
1091 * parser.c (cp_parser_postfix_open_square_expression): Handle
1092 postfix-expression [ braced-init-list ].
1094 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
1097 * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
1098 call decay_conversion on v.
1100 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
1103 * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
1104 declaration followed by specialization.
1106 2012-01-03 Jakub Jelinek <jakub@redhat.com>
1109 * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
1110 on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
1112 2012-01-02 Jason Merrill <jason@redhat.com>
1116 * method.c (walk_field_subobs): Don't check for uninitialized
1118 (synthesized_method_walk): Check here.
1122 * parser.c (cp_parser_cache_defarg): Split out...
1123 (cp_parser_parameter_declaration): ...from here.
1124 (cp_parser_save_nsdmi): Use it.
1125 (cp_parser_cache_group): Remove CPP_COMMA support.
1127 2012-01-02 Dodji Seketeli <dodji@redhat.com>
1130 * semantics.c (cx_check_missing_mem_inits): Don't assert in case
1133 2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
1136 * typeck2.c (digest_init_r): Use copy_init when initializing
1139 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
1142 * decl.c (build_enumerator): Don't call perform_integral_promotions
1145 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
1148 * typeck.c (build_reinterpret_cast_1): Implement resolution of
1151 2012-01-01 Fabien ChĂȘne <fabien@gcc.gnu.org>
1153 * parser.c (cp_parser_using_declaration): Add a warning about
1154 deprecated access declarations when no errors were encountered
1155 while parsing the access declaration. Save the first token in
1156 order to emit the warning at the right place.
1158 Copyright (C) 2012 Free Software Foundation, Inc.
1160 Copying and distribution of this file, with or without modification,
1161 are permitted in any medium without royalty provided the copyright
1162 notice and this notice are preserved.