1 2012-07-13 Jason Merrill <jason@redhat.com>
4 * method.c (synthesized_method_walk): Initialize no_implicit_p sooner.
6 2012-07-10 Jason Merrill <jason@redhat.com>
10 * cp-tree.h (FNDECL_SUPPRESS_IMPLICIT_DECL): New.
11 (struct lang_decl_fn): Add suppress_implicit_decl field.
12 * method.c (implicitly_declare_fn): Check it.
13 (process_subob_fn): Add no_implicit_p parm.
14 (walk_field_subobs, synthesized_method_walk): Likewise.
15 (maybe_explain_implicit_delete): Adjust.
16 (explain_implicit_non_constexpr): Adjust.
18 * method.c (synthesized_method_walk): Cleanups don't affect the EH
21 2012-07-02 Jason Merrill <jason@redhat.com>
24 * class.c (resolves_to_fixed_type_p): Check uses_template_parms
25 (current_function_decl) instead of processing_template_decl.
28 * semantics.c (maybe_add_lambda_conv_op): Don't set
31 2012-06-27 Fabien Chêne <fabien@gcc.gnu.org>
34 * cp-tree.h (insert_late_enum_def_into_classtype_sorted_fields):
36 * class.c (insert_into_classtype_sorted_fields): New.
37 (add_enum_fields_to_record_type): New.
38 (count_fields): Adjust the comment.
39 (add_fields_to_record_type): Likewise.
40 (finish_struct_1): Move the code that inserts the fields for the
41 sorted case, into insert_into_classtype_sorted_fields, and call
43 (insert_late_enum_def_into_classtype_sorted_fields): Define.
44 * decl.c (finish_enum_value_list): Call
45 insert_late_enum_def_into_classtype_sorted_fields if a late enum
46 definition is encountered.
48 2012-06-25 Jason Merrill <jason@redhat.com>
52 * pt.c (tsubst_pack_expansion): Copy before dummy tsubst.
55 * typeck.c (decay_conversion): Don't discard side-effects from
56 expressions of nullptr_t.
59 * semantics.c (build_data_member_initialization): Always keep
60 initializer for empty base.
61 (cxx_eval_bare_aggregate): Discard it here.
63 2012-06-25 Jakub Jelinek <jakub@redhat.com>
66 * class.c (check_bases_and_members): Avoid -Wuninitialized
67 diagnostics for non-static const members or references if they
70 2012-06-19 Jason Merrill <jason@redhat.com>
73 * name-lookup.c (constructor_name_p): Don't try to look at the
74 name of a DECLTYPE_TYPE.
78 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
79 (instantiate_decl): Don't push_to_top_level for local class methods.
80 (instantiate_class_template_1): Or for local classes.
83 * pt.c (lookup_template_class_1): Use ts_global.
85 2012-06-14 Richard Guenther <rguenther@suse.de>
87 Backport from mainline
88 2012-06-11 Richard Guenther <rguenther@suse.de>
91 * mangle.c (write_array_type): Use double-ints for array domain
94 2012-06-14 Richard Guenther <rguenther@suse.de>
96 Backport from mainline
97 2012-06-06 Fabien Chêne <fabien@gcc.gnu.org>
100 * parser.c (cp_parser_alias_declaration): Return earlier
103 2012-06-14 Release Manager
105 * GCC 4.7.1 released.
107 2012-06-12 Jason Merrill <jason@redhat.com>
112 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
113 (instantiate_decl): Don't push_to_top_level for local class methods.
114 (instantiate_class_template_1): Or for local classes.
116 2012-06-04 Paolo Carlini <paolo.carlini@oracle.com>
119 * call.c (build_conditional_expr_1): Use OPT_Wenum_compare
120 to control enumeral mismatch in conditional expression too.
122 2012-06-01 Jason Merrill <jason@redhat.com>
125 * parser.c (cp_parser_class_head): Apply attributes here.
126 * semantics.c (begin_class_definition): Not here.
130 * parser.c (cp_parser_binary_expression): Bail early if we're parsing
131 tentatively and the LHS has a parse error.
133 2012-06-01 Jason Merrill <jason@redhat.com>
136 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
137 (instantiate_decl): Don't push_to_top_level for local class methods.
138 (instantiate_class_template_1): Or for local classes.
141 * pt.c (do_auto_deduction): Don't try to deduce from a
142 type-dependent initializer.
144 2012-05-31 Jason Merrill <jason@redhat.com>
148 * call.c (joust): Handle comparing list and non-list ctors.
150 2012-05-30 Jason Merrill <jason@redhat.com>
153 * tree.c (stabilize_init): Side effects make the init unstable.
155 2012-05-30 Jason Merrill <jason@redhat.com>
158 * call.c (convert_like_real) [ck_list]: Take array address directly.
159 * typeck.c (decay_conversion): Reject decay of an array compound
162 2012-05-29 Paolo Carlini <paolo.carlini@oracle.com>
165 * tree.c (stabilize_expr): Handle exp of void type.
167 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
170 * semantics.c (potential_constant_expression_1): Handle LTGT_EXPR.
172 2012-05-15 Alexandre Oliva <aoliva@redhat.com>
175 * pt.c (tsubst_decl): Bail out if argvec is error_mark_node.
177 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
180 * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P
181 instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning.
183 2012-05-03 Paolo Carlini <paolo.carlini@oracle.com>
186 * call.c (build_over_call): Handle final member functions
188 (build_new_method_call_1): Do not handle here.
190 2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
193 * parser.c (cp_parser_member_declaration): Check that
194 initializer_token_start is non null before dereferencing it.
196 2012-04-16 Jason Merrill <jason@redhat.com>
199 * pt.c (determine_specialization): Instead of comparing the number
200 of parms, check that tsubst gives the right answer.
203 * pt.c (convert_template_argument): Handle template template
207 * pt.c (tsubst_pack_expansion): Use tsubst_expr for template
210 2012-04-15 Jason Merrill <jason@redhat.com>
214 * pt.c (coerce_template_parms): Even if we aren't converting we
215 want to expand argument packs.
217 2012-04-15 Fabien Chêne <fabien@gcc.gnu.org>
220 * parser.c (cp_parser_class_name): Call strip_using_decl and
221 return the target decl.
222 * name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
223 to be stripped is NULL_TREE.
224 (qualify_lookup): Call strip_using_decl and perform some checks on
227 2012-04-13 Jason Merrill <jason@redhat.com>
230 * pt.c (any_pack_expanson_args_p): New.
231 (coerce_template_parms): Use it.
233 2012-04-11 Jason Merrill <jason@redhat.com>
236 * decl.c (check_tag_decl): Don't complain about attributes if we
237 don't even have a type.
239 2012-04-05 Jason Merrill <jason@redhat.com>
242 * tree.c (lvalue_kind): Treat a deferred access control SCOPE_REF
245 2012-04-03 Jason Merrill <jason@redhat.com>
248 * pt.c (tsubst_initializer_list): A pack expansion with no elements
249 means value-initialization.
251 2012-03-29 Meador Inge <meadori@codesourcery.com>
254 * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
255 stripped child trees that are not pointer types.
257 2012-03-29 Paolo Carlini <paolo.carlini@oracle.com>
260 * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant
261 warn for a zero as null pointer constant default argument.
263 2012-03-29 Jason Merrill <jason@redhat.com>
266 * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P.
268 2012-03-29 Jakub Jelinek <jakub@redhat.com>
271 * decl.c (start_decl): Don't call maybe_apply_pragma_weak
272 if processing_template_decl.
274 2012-03-29 Jason Merrill <jason@redhat.com>
277 * call.c (compare_ics): Handle ck_aggr like ck_list.
279 2012-03-28 Jason Merrill <jason@redhat.com>
282 * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
283 we didn't get an explicit scope.
284 * pt.c (tsubst_baselink): Likewise.
286 2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
289 * class.c (check_field_decls): Call literal_type_p only
292 2012-03-22 Jakub Jelinek <jakub@redhat.com>
295 * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
296 on CLASS_TYPE_P types.
298 2012-03-22 Jason Merrill <jason@redhat.com>
301 * method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
303 2012-03-22 Jakub Jelinek <jakub@redhat.com>
305 Backported from mainline
306 2012-03-14 Jakub Jelinek <jakub@redhat.com>
309 * parser.c (lookup_literal_operator): Return fn only if
310 processed all arguments from args vector and argtypes is
313 2012-03-22 Release Manager
315 * GCC 4.7.0 released.
317 2012-03-20 Jason Merrill <jason@redhat.com>
319 * mangle.c (write_type): Handle 'auto'.
320 * init.c (build_new): Don't do auto deduction where it might
321 affect template mangling.
323 2012-03-07 Jason Merrill <jason@redhat.com>
326 * mangle.c (write_literal_operator_name): The length comes after the
329 2012-02-29 Jason Merrill <jason@redhat.com>
332 * decl.c (check_tag_decl): Move warning for misplaced attributes here.
333 (shadow_tag): From here.
334 * parser.c (cp_parser_explicit_instantiation): Don't warn here.
336 2012-02-21 Jakub Jelinek <jakub@redhat.com>
339 * typeck.c (check_literal_operator_args): Initialize *long_double_p
340 and *long_long_unsigned_p even if processing_template_decl.
342 2012-02-16 Jason Merrill <jason@redhat.com>
345 * decl.c (define_label): Use timevar_cond_start/stop.
347 2012-02-16 Fabien Chêne <fabien@gcc.gnu.org>
350 * decl.c (xref_basetypes): call dependent_scope_p instead of
353 2012-02-16 Jason Merrill <jason@redhat.com>
356 * error.c (dump_expr): Handle lambda closures specifically.
358 2012-02-14 Jason Merrill <jason@redhat.com>
360 * parser.c (cp_parser_explicit_instantiation): Give a warning
361 for ignored attributes on explicit class instantiation.
363 2012-02-14 Jakub Jelinek <jakub@redhat.com>
366 * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
367 lookup_label on label's name and set TREE_USED.
369 2012-02-14 Jason Merrill <jason@redhat.com>
372 * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
374 2012-02-14 Jakub Jelinek <jakub@redhat.com>
377 * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
378 newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
380 2012-02-07 Jason Merrill <jason@redhat.com>
383 * semantics.c (cx_check_missing_mem_inits): Handle unions.
384 Fix constexpr default constructor logic.
387 * pt.c (tsubst): Strip uninstantiated typedef.
389 2012-02-06 Jason Merrill <jason@redhat.com>
392 * cvt.c (build_expr_type_conversion): Check for template conversion.
394 2012-01-31 Jason Merrill <jason@redhat.com>
397 * cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
398 * pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
399 (tsubst_pack_expansion): Check it.
401 2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
404 * class.c (explain_non_literal_class): Correctly handle implicitly
405 deleted constructors.
407 2012-01-27 Jakub Jelinek <jakub@redhat.com>
410 * pt.c (tsubst_pack_expansion): Delete and restore
411 local_specialization whenever need_local_specialization, not just
412 when saved_local_specializations is non-NULL.
414 2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
417 * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
418 as TREE_OPERAND (t, 1).
420 2012-01-24 Jason Merrill <jason@redhat.com>
423 * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
426 * tree.c (called_fns_equal): Check template args.
427 (cp_tree_equal): Call it.
429 2012-01-24 Aldy Hernandez <aldyh@redhat.com>
430 Patrick Marlier <patrick.marlier@gmail.com>
433 * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
434 thunk for set_one_vmethod_tm_attributes.
436 2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
439 * call.c (build_over_call): Check for error_mark_node as
440 TREE_VALUE when default arguments are processed.
442 2012-01-23 Jason Merrill <jason@redhat.com>
445 * decl2.c (determine_visibility): Check for visibility attribute
446 on template specialization.
448 2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
451 * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
453 2012-01-23 Jason Merrill <jason@redhat.com>
456 * class.c (add_method): Set OVL_USED for using-decls.
457 * tree.c (ovl_scope): New.
458 * cp-tree.h: Declare it.
459 * parser.c (cp_parser_template_name): Use it.
460 * semantics.c (baselink_for_fns): Likewise.
461 * name-lookup.c (set_inherited_value_binding_p): Likewise.
463 2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
466 * pt.c (lookup_template_class_1): Check context returned by
467 tsubst for error_mark_node.
469 2012-01-19 Kai Tietz <ktietz@redhat.com>
472 * decl2.c (save_template_attributes): Use merge_attributes
473 instead of chaining up via TREE_CHAIN.
475 2012-01-19 Jason Merrill <jason@redhat.com>
478 * class.c (finish_struct): Call add_method here for function usings.
479 * semantics.c (finish_member_declaration): Not here.
481 2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
484 * typeck2.c (store_init_value): Within a template guard
485 cxx_constant_value with require_potential_constant_expression.
486 * pt.c (convert_nontype_argument): Likewise.
488 2012-01-16 Jakub Jelinek <jakub@redhat.com>
491 * mangle.c (write_template_arg_literal): Handle complex.
493 2012-01-16 Jason Merrill <jason@redhat.com>
496 * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
499 * typeck.c (build_static_cast_1): Handle bit-fields properly.
501 2012-01-13 Ian Lance Taylor <iant@google.com>
504 * typeck.c (enum_cast_to_int): New static function.
505 (cp_build_binary_op): When handling warn_sign_compare, don't test
506 for TREE_NO_WARNING. Do call enum_cast_to_int.
507 * call.c (avoid_sign_compare_warnings): Remove static function.
508 (build_new_op_1): Don't call avoid_sign_compare_warnings.
510 2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
512 * decl2.c: Do not include tree-mudflap.h
513 * semantics.c: Likewise.
515 2012-01-13 Jason Merrill <jason@redhat.com>
518 * semantics.c (finish_break_stmt): Avoid adding an unreachable
522 * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
523 when reducing the visibility.
526 * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
528 2012-01-12 Jason Merrill <jason@redhat.com>
531 * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
534 2012-01-13 Dodji Seketeli <dodji@redhat.com>
537 * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
538 Set the pointer to the last block of the constructor to the
540 (build_constexpr_constructor_member_initializers): Get
541 build_data_member_initialization a chance to deal with more
542 statements before we choke.
544 2012-01-12 Jason Merrill <jason@redhat.com>
547 * mangle.c (write_expression): Mangle BASELINK scope if
548 BASELINK_QUALIFIED_P.
549 * search.c (adjust_result_of_qualified_name_lookup): Set
550 BASELINK_QUALIFIED_P.
551 * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
552 * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
553 adjust_result_of_qualified_name_lookup for non-qualified names.
556 * pt.c (unify): Handle error_mark_node.
558 2012-01-11 Jason Merrill <jason@redhat.com>
561 * call.c (standard_conversion): For ptrmemfuncs, compare the
565 * mangle.c (find_substitution): A type is only a substitution
566 match if we're looking for a type.
567 (write_nested_name): Use decl_mangling_context.
569 * decl.c (decls_match): Assert that the arguments are decls.
572 * pt.c (resolve_overloaded_unification): Compare types with
573 same_type_p, not decls_match.
575 2012-01-10 Jason Merrill <jason@redhat.com>
578 * class.c (build_base_path): Diagnose ambiguous base.
581 * semantics.c (cxx_eval_call_expression): Always retry previously
582 non-constant expressions.
584 2012-01-06 Jason Merrill <jason@redhat.com>
588 * parser.c (cp_parser_new_expression): Set
589 type_definition_forbidden_message.
595 * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
596 THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and
598 (write_template_arg): Fix mangling of class-scope functions and
600 (mangle_decl): Update suggested -fabi-version argument.
601 * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
602 DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
603 * tree.c (dependent_name): No longer static.
604 * cp-tree.h: Declare it.
605 * pt.c (unify): Defer handling of unconverted functions.
607 * mangle.c (mangle_decl): Don't generate mangling aliases
608 for maybe-in-charge [cd]tors.
610 * error.c (dump_expr): Print type of CONSTRUCTOR.
612 2012-01-05 Dodji Seketeli <dodji@redhat.com>
615 * parser.c (cp_parser_alias_declaration): Get out early upon
616 errors in the identifier or the attributes.
618 2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
621 * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
622 the tree returned by build_x_binary_op.
624 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
627 * parser.c (cp_parser_postfix_open_square_expression): Handle
628 postfix-expression [ braced-init-list ].
630 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
633 * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
634 call decay_conversion on v.
636 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
639 * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
640 declaration followed by specialization.
642 2012-01-03 Jakub Jelinek <jakub@redhat.com>
645 * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
646 on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
648 2012-01-02 Jason Merrill <jason@redhat.com>
652 * method.c (walk_field_subobs): Don't check for uninitialized
654 (synthesized_method_walk): Check here.
658 * parser.c (cp_parser_cache_defarg): Split out...
659 (cp_parser_parameter_declaration): ...from here.
660 (cp_parser_save_nsdmi): Use it.
661 (cp_parser_cache_group): Remove CPP_COMMA support.
663 2012-01-02 Dodji Seketeli <dodji@redhat.com>
666 * semantics.c (cx_check_missing_mem_inits): Don't assert in case
669 2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
672 * typeck2.c (digest_init_r): Use copy_init when initializing
675 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
678 * decl.c (build_enumerator): Don't call perform_integral_promotions
681 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
684 * typeck.c (build_reinterpret_cast_1): Implement resolution of
687 2012-01-01 Fabien Chêne <fabien@gcc.gnu.org>
689 * parser.c (cp_parser_using_declaration): Add a warning about
690 deprecated access declarations when no errors were encountered
691 while parsing the access declaration. Save the first token in
692 order to emit the warning at the right place.
694 Copyright (C) 2012 Free Software Foundation, Inc.
696 Copying and distribution of this file, with or without modification,
697 are permitted in any medium without royalty provided the copyright
698 notice and this notice are preserved.