1 2012-07-17 Jason Merrill <jason@redhat.com>
4 * parser.c (cp_parser_class_head): Call xref_basetypes here.
5 (cp_parser_class_specifier_1): Not here.
6 * pt.c (tsubst_decl) [USING_DECL]: Check uses_template_parms
7 as well as DECL_DEPENDENT_P.
9 2012-07-13 Jason Merrill <jason@redhat.com>
12 * method.c (synthesized_method_walk): Initialize no_implicit_p sooner.
14 2012-07-10 Jason Merrill <jason@redhat.com>
18 * cp-tree.h (FNDECL_SUPPRESS_IMPLICIT_DECL): New.
19 (struct lang_decl_fn): Add suppress_implicit_decl field.
20 * method.c (implicitly_declare_fn): Check it.
21 (process_subob_fn): Add no_implicit_p parm.
22 (walk_field_subobs, synthesized_method_walk): Likewise.
23 (maybe_explain_implicit_delete): Adjust.
24 (explain_implicit_non_constexpr): Adjust.
26 * method.c (synthesized_method_walk): Cleanups don't affect the EH
29 2012-07-02 Jason Merrill <jason@redhat.com>
32 * class.c (resolves_to_fixed_type_p): Check uses_template_parms
33 (current_function_decl) instead of processing_template_decl.
36 * semantics.c (maybe_add_lambda_conv_op): Don't set
39 2012-06-27 Fabien Chêne <fabien@gcc.gnu.org>
42 * cp-tree.h (insert_late_enum_def_into_classtype_sorted_fields):
44 * class.c (insert_into_classtype_sorted_fields): New.
45 (add_enum_fields_to_record_type): New.
46 (count_fields): Adjust the comment.
47 (add_fields_to_record_type): Likewise.
48 (finish_struct_1): Move the code that inserts the fields for the
49 sorted case, into insert_into_classtype_sorted_fields, and call
51 (insert_late_enum_def_into_classtype_sorted_fields): Define.
52 * decl.c (finish_enum_value_list): Call
53 insert_late_enum_def_into_classtype_sorted_fields if a late enum
54 definition is encountered.
56 2012-06-25 Jason Merrill <jason@redhat.com>
60 * pt.c (tsubst_pack_expansion): Copy before dummy tsubst.
63 * typeck.c (decay_conversion): Don't discard side-effects from
64 expressions of nullptr_t.
67 * semantics.c (build_data_member_initialization): Always keep
68 initializer for empty base.
69 (cxx_eval_bare_aggregate): Discard it here.
71 2012-06-25 Jakub Jelinek <jakub@redhat.com>
74 * class.c (check_bases_and_members): Avoid -Wuninitialized
75 diagnostics for non-static const members or references if they
78 2012-06-19 Jason Merrill <jason@redhat.com>
81 * name-lookup.c (constructor_name_p): Don't try to look at the
82 name of a DECLTYPE_TYPE.
86 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
87 (instantiate_decl): Don't push_to_top_level for local class methods.
88 (instantiate_class_template_1): Or for local classes.
91 * pt.c (lookup_template_class_1): Use ts_global.
93 2012-06-14 Richard Guenther <rguenther@suse.de>
95 Backport from mainline
96 2012-06-11 Richard Guenther <rguenther@suse.de>
99 * mangle.c (write_array_type): Use double-ints for array domain
102 2012-06-14 Richard Guenther <rguenther@suse.de>
104 Backport from mainline
105 2012-06-06 Fabien Chêne <fabien@gcc.gnu.org>
108 * parser.c (cp_parser_alias_declaration): Return earlier
111 2012-06-14 Release Manager
113 * GCC 4.7.1 released.
115 2012-06-12 Jason Merrill <jason@redhat.com>
120 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
121 (instantiate_decl): Don't push_to_top_level for local class methods.
122 (instantiate_class_template_1): Or for local classes.
124 2012-06-04 Paolo Carlini <paolo.carlini@oracle.com>
127 * call.c (build_conditional_expr_1): Use OPT_Wenum_compare
128 to control enumeral mismatch in conditional expression too.
130 2012-06-01 Jason Merrill <jason@redhat.com>
133 * parser.c (cp_parser_class_head): Apply attributes here.
134 * semantics.c (begin_class_definition): Not here.
138 * parser.c (cp_parser_binary_expression): Bail early if we're parsing
139 tentatively and the LHS has a parse error.
141 2012-06-01 Jason Merrill <jason@redhat.com>
144 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
145 (instantiate_decl): Don't push_to_top_level for local class methods.
146 (instantiate_class_template_1): Or for local classes.
149 * pt.c (do_auto_deduction): Don't try to deduce from a
150 type-dependent initializer.
152 2012-05-31 Jason Merrill <jason@redhat.com>
156 * call.c (joust): Handle comparing list and non-list ctors.
158 2012-05-30 Jason Merrill <jason@redhat.com>
161 * tree.c (stabilize_init): Side effects make the init unstable.
163 2012-05-30 Jason Merrill <jason@redhat.com>
166 * call.c (convert_like_real) [ck_list]: Take array address directly.
167 * typeck.c (decay_conversion): Reject decay of an array compound
170 2012-05-29 Paolo Carlini <paolo.carlini@oracle.com>
173 * tree.c (stabilize_expr): Handle exp of void type.
175 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
178 * semantics.c (potential_constant_expression_1): Handle LTGT_EXPR.
180 2012-05-15 Alexandre Oliva <aoliva@redhat.com>
183 * pt.c (tsubst_decl): Bail out if argvec is error_mark_node.
185 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
188 * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P
189 instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning.
191 2012-05-03 Paolo Carlini <paolo.carlini@oracle.com>
194 * call.c (build_over_call): Handle final member functions
196 (build_new_method_call_1): Do not handle here.
198 2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
201 * parser.c (cp_parser_member_declaration): Check that
202 initializer_token_start is non null before dereferencing it.
204 2012-04-16 Jason Merrill <jason@redhat.com>
207 * pt.c (determine_specialization): Instead of comparing the number
208 of parms, check that tsubst gives the right answer.
211 * pt.c (convert_template_argument): Handle template template
215 * pt.c (tsubst_pack_expansion): Use tsubst_expr for template
218 2012-04-15 Jason Merrill <jason@redhat.com>
222 * pt.c (coerce_template_parms): Even if we aren't converting we
223 want to expand argument packs.
225 2012-04-15 Fabien Chêne <fabien@gcc.gnu.org>
228 * parser.c (cp_parser_class_name): Call strip_using_decl and
229 return the target decl.
230 * name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
231 to be stripped is NULL_TREE.
232 (qualify_lookup): Call strip_using_decl and perform some checks on
235 2012-04-13 Jason Merrill <jason@redhat.com>
238 * pt.c (any_pack_expanson_args_p): New.
239 (coerce_template_parms): Use it.
241 2012-04-11 Jason Merrill <jason@redhat.com>
244 * decl.c (check_tag_decl): Don't complain about attributes if we
245 don't even have a type.
247 2012-04-05 Jason Merrill <jason@redhat.com>
250 * tree.c (lvalue_kind): Treat a deferred access control SCOPE_REF
253 2012-04-03 Jason Merrill <jason@redhat.com>
256 * pt.c (tsubst_initializer_list): A pack expansion with no elements
257 means value-initialization.
259 2012-03-29 Meador Inge <meadori@codesourcery.com>
262 * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
263 stripped child trees that are not pointer types.
265 2012-03-29 Paolo Carlini <paolo.carlini@oracle.com>
268 * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant
269 warn for a zero as null pointer constant default argument.
271 2012-03-29 Jason Merrill <jason@redhat.com>
274 * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P.
276 2012-03-29 Jakub Jelinek <jakub@redhat.com>
279 * decl.c (start_decl): Don't call maybe_apply_pragma_weak
280 if processing_template_decl.
282 2012-03-29 Jason Merrill <jason@redhat.com>
285 * call.c (compare_ics): Handle ck_aggr like ck_list.
287 2012-03-28 Jason Merrill <jason@redhat.com>
290 * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
291 we didn't get an explicit scope.
292 * pt.c (tsubst_baselink): Likewise.
294 2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
297 * class.c (check_field_decls): Call literal_type_p only
300 2012-03-22 Jakub Jelinek <jakub@redhat.com>
303 * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
304 on CLASS_TYPE_P types.
306 2012-03-22 Jason Merrill <jason@redhat.com>
309 * method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
311 2012-03-22 Jakub Jelinek <jakub@redhat.com>
313 Backported from mainline
314 2012-03-14 Jakub Jelinek <jakub@redhat.com>
317 * parser.c (lookup_literal_operator): Return fn only if
318 processed all arguments from args vector and argtypes is
321 2012-03-22 Release Manager
323 * GCC 4.7.0 released.
325 2012-03-20 Jason Merrill <jason@redhat.com>
327 * mangle.c (write_type): Handle 'auto'.
328 * init.c (build_new): Don't do auto deduction where it might
329 affect template mangling.
331 2012-03-07 Jason Merrill <jason@redhat.com>
334 * mangle.c (write_literal_operator_name): The length comes after the
337 2012-02-29 Jason Merrill <jason@redhat.com>
340 * decl.c (check_tag_decl): Move warning for misplaced attributes here.
341 (shadow_tag): From here.
342 * parser.c (cp_parser_explicit_instantiation): Don't warn here.
344 2012-02-21 Jakub Jelinek <jakub@redhat.com>
347 * typeck.c (check_literal_operator_args): Initialize *long_double_p
348 and *long_long_unsigned_p even if processing_template_decl.
350 2012-02-16 Jason Merrill <jason@redhat.com>
353 * decl.c (define_label): Use timevar_cond_start/stop.
355 2012-02-16 Fabien Chêne <fabien@gcc.gnu.org>
358 * decl.c (xref_basetypes): call dependent_scope_p instead of
361 2012-02-16 Jason Merrill <jason@redhat.com>
364 * error.c (dump_expr): Handle lambda closures specifically.
366 2012-02-14 Jason Merrill <jason@redhat.com>
368 * parser.c (cp_parser_explicit_instantiation): Give a warning
369 for ignored attributes on explicit class instantiation.
371 2012-02-14 Jakub Jelinek <jakub@redhat.com>
374 * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
375 lookup_label on label's name and set TREE_USED.
377 2012-02-14 Jason Merrill <jason@redhat.com>
380 * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
382 2012-02-14 Jakub Jelinek <jakub@redhat.com>
385 * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
386 newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
388 2012-02-07 Jason Merrill <jason@redhat.com>
391 * semantics.c (cx_check_missing_mem_inits): Handle unions.
392 Fix constexpr default constructor logic.
395 * pt.c (tsubst): Strip uninstantiated typedef.
397 2012-02-06 Jason Merrill <jason@redhat.com>
400 * cvt.c (build_expr_type_conversion): Check for template conversion.
402 2012-01-31 Jason Merrill <jason@redhat.com>
405 * cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
406 * pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
407 (tsubst_pack_expansion): Check it.
409 2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
412 * class.c (explain_non_literal_class): Correctly handle implicitly
413 deleted constructors.
415 2012-01-27 Jakub Jelinek <jakub@redhat.com>
418 * pt.c (tsubst_pack_expansion): Delete and restore
419 local_specialization whenever need_local_specialization, not just
420 when saved_local_specializations is non-NULL.
422 2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
425 * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
426 as TREE_OPERAND (t, 1).
428 2012-01-24 Jason Merrill <jason@redhat.com>
431 * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
434 * tree.c (called_fns_equal): Check template args.
435 (cp_tree_equal): Call it.
437 2012-01-24 Aldy Hernandez <aldyh@redhat.com>
438 Patrick Marlier <patrick.marlier@gmail.com>
441 * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
442 thunk for set_one_vmethod_tm_attributes.
444 2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
447 * call.c (build_over_call): Check for error_mark_node as
448 TREE_VALUE when default arguments are processed.
450 2012-01-23 Jason Merrill <jason@redhat.com>
453 * decl2.c (determine_visibility): Check for visibility attribute
454 on template specialization.
456 2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
459 * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
461 2012-01-23 Jason Merrill <jason@redhat.com>
464 * class.c (add_method): Set OVL_USED for using-decls.
465 * tree.c (ovl_scope): New.
466 * cp-tree.h: Declare it.
467 * parser.c (cp_parser_template_name): Use it.
468 * semantics.c (baselink_for_fns): Likewise.
469 * name-lookup.c (set_inherited_value_binding_p): Likewise.
471 2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
474 * pt.c (lookup_template_class_1): Check context returned by
475 tsubst for error_mark_node.
477 2012-01-19 Kai Tietz <ktietz@redhat.com>
480 * decl2.c (save_template_attributes): Use merge_attributes
481 instead of chaining up via TREE_CHAIN.
483 2012-01-19 Jason Merrill <jason@redhat.com>
486 * class.c (finish_struct): Call add_method here for function usings.
487 * semantics.c (finish_member_declaration): Not here.
489 2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
492 * typeck2.c (store_init_value): Within a template guard
493 cxx_constant_value with require_potential_constant_expression.
494 * pt.c (convert_nontype_argument): Likewise.
496 2012-01-16 Jakub Jelinek <jakub@redhat.com>
499 * mangle.c (write_template_arg_literal): Handle complex.
501 2012-01-16 Jason Merrill <jason@redhat.com>
504 * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
507 * typeck.c (build_static_cast_1): Handle bit-fields properly.
509 2012-01-13 Ian Lance Taylor <iant@google.com>
512 * typeck.c (enum_cast_to_int): New static function.
513 (cp_build_binary_op): When handling warn_sign_compare, don't test
514 for TREE_NO_WARNING. Do call enum_cast_to_int.
515 * call.c (avoid_sign_compare_warnings): Remove static function.
516 (build_new_op_1): Don't call avoid_sign_compare_warnings.
518 2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
520 * decl2.c: Do not include tree-mudflap.h
521 * semantics.c: Likewise.
523 2012-01-13 Jason Merrill <jason@redhat.com>
526 * semantics.c (finish_break_stmt): Avoid adding an unreachable
530 * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
531 when reducing the visibility.
534 * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
536 2012-01-12 Jason Merrill <jason@redhat.com>
539 * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
542 2012-01-13 Dodji Seketeli <dodji@redhat.com>
545 * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
546 Set the pointer to the last block of the constructor to the
548 (build_constexpr_constructor_member_initializers): Get
549 build_data_member_initialization a chance to deal with more
550 statements before we choke.
552 2012-01-12 Jason Merrill <jason@redhat.com>
555 * mangle.c (write_expression): Mangle BASELINK scope if
556 BASELINK_QUALIFIED_P.
557 * search.c (adjust_result_of_qualified_name_lookup): Set
558 BASELINK_QUALIFIED_P.
559 * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
560 * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
561 adjust_result_of_qualified_name_lookup for non-qualified names.
564 * pt.c (unify): Handle error_mark_node.
566 2012-01-11 Jason Merrill <jason@redhat.com>
569 * call.c (standard_conversion): For ptrmemfuncs, compare the
573 * mangle.c (find_substitution): A type is only a substitution
574 match if we're looking for a type.
575 (write_nested_name): Use decl_mangling_context.
577 * decl.c (decls_match): Assert that the arguments are decls.
580 * pt.c (resolve_overloaded_unification): Compare types with
581 same_type_p, not decls_match.
583 2012-01-10 Jason Merrill <jason@redhat.com>
586 * class.c (build_base_path): Diagnose ambiguous base.
589 * semantics.c (cxx_eval_call_expression): Always retry previously
590 non-constant expressions.
592 2012-01-06 Jason Merrill <jason@redhat.com>
596 * parser.c (cp_parser_new_expression): Set
597 type_definition_forbidden_message.
603 * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
604 THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and
606 (write_template_arg): Fix mangling of class-scope functions and
608 (mangle_decl): Update suggested -fabi-version argument.
609 * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
610 DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
611 * tree.c (dependent_name): No longer static.
612 * cp-tree.h: Declare it.
613 * pt.c (unify): Defer handling of unconverted functions.
615 * mangle.c (mangle_decl): Don't generate mangling aliases
616 for maybe-in-charge [cd]tors.
618 * error.c (dump_expr): Print type of CONSTRUCTOR.
620 2012-01-05 Dodji Seketeli <dodji@redhat.com>
623 * parser.c (cp_parser_alias_declaration): Get out early upon
624 errors in the identifier or the attributes.
626 2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
629 * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
630 the tree returned by build_x_binary_op.
632 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
635 * parser.c (cp_parser_postfix_open_square_expression): Handle
636 postfix-expression [ braced-init-list ].
638 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
641 * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
642 call decay_conversion on v.
644 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
647 * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
648 declaration followed by specialization.
650 2012-01-03 Jakub Jelinek <jakub@redhat.com>
653 * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
654 on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
656 2012-01-02 Jason Merrill <jason@redhat.com>
660 * method.c (walk_field_subobs): Don't check for uninitialized
662 (synthesized_method_walk): Check here.
666 * parser.c (cp_parser_cache_defarg): Split out...
667 (cp_parser_parameter_declaration): ...from here.
668 (cp_parser_save_nsdmi): Use it.
669 (cp_parser_cache_group): Remove CPP_COMMA support.
671 2012-01-02 Dodji Seketeli <dodji@redhat.com>
674 * semantics.c (cx_check_missing_mem_inits): Don't assert in case
677 2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
680 * typeck2.c (digest_init_r): Use copy_init when initializing
683 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
686 * decl.c (build_enumerator): Don't call perform_integral_promotions
689 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
692 * typeck.c (build_reinterpret_cast_1): Implement resolution of
695 2012-01-01 Fabien Chêne <fabien@gcc.gnu.org>
697 * parser.c (cp_parser_using_declaration): Add a warning about
698 deprecated access declarations when no errors were encountered
699 while parsing the access declaration. Save the first token in
700 order to emit the warning at the right place.
702 Copyright (C) 2012 Free Software Foundation, Inc.
704 Copying and distribution of this file, with or without modification,
705 are permitted in any medium without royalty provided the copyright
706 notice and this notice are preserved.