1 2012-07-10 Jason Merrill <jason@redhat.com>
3 * method.c (synthesized_method_walk): Cleanups don't affect the EH
6 2012-07-02 Jason Merrill <jason@redhat.com>
9 * class.c (resolves_to_fixed_type_p): Check uses_template_parms
10 (current_function_decl) instead of processing_template_decl.
13 * semantics.c (maybe_add_lambda_conv_op): Don't set
16 2012-06-27 Fabien Chêne <fabien@gcc.gnu.org>
19 * cp-tree.h (insert_late_enum_def_into_classtype_sorted_fields):
21 * class.c (insert_into_classtype_sorted_fields): New.
22 (add_enum_fields_to_record_type): New.
23 (count_fields): Adjust the comment.
24 (add_fields_to_record_type): Likewise.
25 (finish_struct_1): Move the code that inserts the fields for the
26 sorted case, into insert_into_classtype_sorted_fields, and call
28 (insert_late_enum_def_into_classtype_sorted_fields): Define.
29 * decl.c (finish_enum_value_list): Call
30 insert_late_enum_def_into_classtype_sorted_fields if a late enum
31 definition is encountered.
33 2012-06-25 Jason Merrill <jason@redhat.com>
37 * pt.c (tsubst_pack_expansion): Copy before dummy tsubst.
40 * typeck.c (decay_conversion): Don't discard side-effects from
41 expressions of nullptr_t.
44 * semantics.c (build_data_member_initialization): Always keep
45 initializer for empty base.
46 (cxx_eval_bare_aggregate): Discard it here.
48 2012-06-25 Jakub Jelinek <jakub@redhat.com>
51 * class.c (check_bases_and_members): Avoid -Wuninitialized
52 diagnostics for non-static const members or references if they
55 2012-06-19 Jason Merrill <jason@redhat.com>
58 * name-lookup.c (constructor_name_p): Don't try to look at the
59 name of a DECLTYPE_TYPE.
63 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
64 (instantiate_decl): Don't push_to_top_level for local class methods.
65 (instantiate_class_template_1): Or for local classes.
68 * pt.c (lookup_template_class_1): Use ts_global.
70 2012-06-14 Richard Guenther <rguenther@suse.de>
72 Backport from mainline
73 2012-06-11 Richard Guenther <rguenther@suse.de>
76 * mangle.c (write_array_type): Use double-ints for array domain
79 2012-06-14 Richard Guenther <rguenther@suse.de>
81 Backport from mainline
82 2012-06-06 Fabien Chêne <fabien@gcc.gnu.org>
85 * parser.c (cp_parser_alias_declaration): Return earlier
88 2012-06-14 Release Manager
92 2012-06-12 Jason Merrill <jason@redhat.com>
97 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
98 (instantiate_decl): Don't push_to_top_level for local class methods.
99 (instantiate_class_template_1): Or for local classes.
101 2012-06-04 Paolo Carlini <paolo.carlini@oracle.com>
104 * call.c (build_conditional_expr_1): Use OPT_Wenum_compare
105 to control enumeral mismatch in conditional expression too.
107 2012-06-01 Jason Merrill <jason@redhat.com>
110 * parser.c (cp_parser_class_head): Apply attributes here.
111 * semantics.c (begin_class_definition): Not here.
115 * parser.c (cp_parser_binary_expression): Bail early if we're parsing
116 tentatively and the LHS has a parse error.
118 2012-06-01 Jason Merrill <jason@redhat.com>
121 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
122 (instantiate_decl): Don't push_to_top_level for local class methods.
123 (instantiate_class_template_1): Or for local classes.
126 * pt.c (do_auto_deduction): Don't try to deduce from a
127 type-dependent initializer.
129 2012-05-31 Jason Merrill <jason@redhat.com>
133 * call.c (joust): Handle comparing list and non-list ctors.
135 2012-05-30 Jason Merrill <jason@redhat.com>
138 * tree.c (stabilize_init): Side effects make the init unstable.
140 2012-05-30 Jason Merrill <jason@redhat.com>
143 * call.c (convert_like_real) [ck_list]: Take array address directly.
144 * typeck.c (decay_conversion): Reject decay of an array compound
147 2012-05-29 Paolo Carlini <paolo.carlini@oracle.com>
150 * tree.c (stabilize_expr): Handle exp of void type.
152 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
155 * semantics.c (potential_constant_expression_1): Handle LTGT_EXPR.
157 2012-05-15 Alexandre Oliva <aoliva@redhat.com>
160 * pt.c (tsubst_decl): Bail out if argvec is error_mark_node.
162 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
165 * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P
166 instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning.
168 2012-05-03 Paolo Carlini <paolo.carlini@oracle.com>
171 * call.c (build_over_call): Handle final member functions
173 (build_new_method_call_1): Do not handle here.
175 2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
178 * parser.c (cp_parser_member_declaration): Check that
179 initializer_token_start is non null before dereferencing it.
181 2012-04-16 Jason Merrill <jason@redhat.com>
184 * pt.c (determine_specialization): Instead of comparing the number
185 of parms, check that tsubst gives the right answer.
188 * pt.c (convert_template_argument): Handle template template
192 * pt.c (tsubst_pack_expansion): Use tsubst_expr for template
195 2012-04-15 Jason Merrill <jason@redhat.com>
199 * pt.c (coerce_template_parms): Even if we aren't converting we
200 want to expand argument packs.
202 2012-04-15 Fabien Chêne <fabien@gcc.gnu.org>
205 * parser.c (cp_parser_class_name): Call strip_using_decl and
206 return the target decl.
207 * name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
208 to be stripped is NULL_TREE.
209 (qualify_lookup): Call strip_using_decl and perform some checks on
212 2012-04-13 Jason Merrill <jason@redhat.com>
215 * pt.c (any_pack_expanson_args_p): New.
216 (coerce_template_parms): Use it.
218 2012-04-11 Jason Merrill <jason@redhat.com>
221 * decl.c (check_tag_decl): Don't complain about attributes if we
222 don't even have a type.
224 2012-04-05 Jason Merrill <jason@redhat.com>
227 * tree.c (lvalue_kind): Treat a deferred access control SCOPE_REF
230 2012-04-03 Jason Merrill <jason@redhat.com>
233 * pt.c (tsubst_initializer_list): A pack expansion with no elements
234 means value-initialization.
236 2012-03-29 Meador Inge <meadori@codesourcery.com>
239 * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
240 stripped child trees that are not pointer types.
242 2012-03-29 Paolo Carlini <paolo.carlini@oracle.com>
245 * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant
246 warn for a zero as null pointer constant default argument.
248 2012-03-29 Jason Merrill <jason@redhat.com>
251 * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P.
253 2012-03-29 Jakub Jelinek <jakub@redhat.com>
256 * decl.c (start_decl): Don't call maybe_apply_pragma_weak
257 if processing_template_decl.
259 2012-03-29 Jason Merrill <jason@redhat.com>
262 * call.c (compare_ics): Handle ck_aggr like ck_list.
264 2012-03-28 Jason Merrill <jason@redhat.com>
267 * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
268 we didn't get an explicit scope.
269 * pt.c (tsubst_baselink): Likewise.
271 2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
274 * class.c (check_field_decls): Call literal_type_p only
277 2012-03-22 Jakub Jelinek <jakub@redhat.com>
280 * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
281 on CLASS_TYPE_P types.
283 2012-03-22 Jason Merrill <jason@redhat.com>
286 * method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
288 2012-03-22 Jakub Jelinek <jakub@redhat.com>
290 Backported from mainline
291 2012-03-14 Jakub Jelinek <jakub@redhat.com>
294 * parser.c (lookup_literal_operator): Return fn only if
295 processed all arguments from args vector and argtypes is
298 2012-03-22 Release Manager
300 * GCC 4.7.0 released.
302 2012-03-20 Jason Merrill <jason@redhat.com>
304 * mangle.c (write_type): Handle 'auto'.
305 * init.c (build_new): Don't do auto deduction where it might
306 affect template mangling.
308 2012-03-07 Jason Merrill <jason@redhat.com>
311 * mangle.c (write_literal_operator_name): The length comes after the
314 2012-02-29 Jason Merrill <jason@redhat.com>
317 * decl.c (check_tag_decl): Move warning for misplaced attributes here.
318 (shadow_tag): From here.
319 * parser.c (cp_parser_explicit_instantiation): Don't warn here.
321 2012-02-21 Jakub Jelinek <jakub@redhat.com>
324 * typeck.c (check_literal_operator_args): Initialize *long_double_p
325 and *long_long_unsigned_p even if processing_template_decl.
327 2012-02-16 Jason Merrill <jason@redhat.com>
330 * decl.c (define_label): Use timevar_cond_start/stop.
332 2012-02-16 Fabien Chêne <fabien@gcc.gnu.org>
335 * decl.c (xref_basetypes): call dependent_scope_p instead of
338 2012-02-16 Jason Merrill <jason@redhat.com>
341 * error.c (dump_expr): Handle lambda closures specifically.
343 2012-02-14 Jason Merrill <jason@redhat.com>
345 * parser.c (cp_parser_explicit_instantiation): Give a warning
346 for ignored attributes on explicit class instantiation.
348 2012-02-14 Jakub Jelinek <jakub@redhat.com>
351 * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
352 lookup_label on label's name and set TREE_USED.
354 2012-02-14 Jason Merrill <jason@redhat.com>
357 * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
359 2012-02-14 Jakub Jelinek <jakub@redhat.com>
362 * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
363 newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
365 2012-02-07 Jason Merrill <jason@redhat.com>
368 * semantics.c (cx_check_missing_mem_inits): Handle unions.
369 Fix constexpr default constructor logic.
372 * pt.c (tsubst): Strip uninstantiated typedef.
374 2012-02-06 Jason Merrill <jason@redhat.com>
377 * cvt.c (build_expr_type_conversion): Check for template conversion.
379 2012-01-31 Jason Merrill <jason@redhat.com>
382 * cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
383 * pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
384 (tsubst_pack_expansion): Check it.
386 2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
389 * class.c (explain_non_literal_class): Correctly handle implicitly
390 deleted constructors.
392 2012-01-27 Jakub Jelinek <jakub@redhat.com>
395 * pt.c (tsubst_pack_expansion): Delete and restore
396 local_specialization whenever need_local_specialization, not just
397 when saved_local_specializations is non-NULL.
399 2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
402 * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
403 as TREE_OPERAND (t, 1).
405 2012-01-24 Jason Merrill <jason@redhat.com>
408 * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
411 * tree.c (called_fns_equal): Check template args.
412 (cp_tree_equal): Call it.
414 2012-01-24 Aldy Hernandez <aldyh@redhat.com>
415 Patrick Marlier <patrick.marlier@gmail.com>
418 * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
419 thunk for set_one_vmethod_tm_attributes.
421 2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
424 * call.c (build_over_call): Check for error_mark_node as
425 TREE_VALUE when default arguments are processed.
427 2012-01-23 Jason Merrill <jason@redhat.com>
430 * decl2.c (determine_visibility): Check for visibility attribute
431 on template specialization.
433 2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
436 * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
438 2012-01-23 Jason Merrill <jason@redhat.com>
441 * class.c (add_method): Set OVL_USED for using-decls.
442 * tree.c (ovl_scope): New.
443 * cp-tree.h: Declare it.
444 * parser.c (cp_parser_template_name): Use it.
445 * semantics.c (baselink_for_fns): Likewise.
446 * name-lookup.c (set_inherited_value_binding_p): Likewise.
448 2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
451 * pt.c (lookup_template_class_1): Check context returned by
452 tsubst for error_mark_node.
454 2012-01-19 Kai Tietz <ktietz@redhat.com>
457 * decl2.c (save_template_attributes): Use merge_attributes
458 instead of chaining up via TREE_CHAIN.
460 2012-01-19 Jason Merrill <jason@redhat.com>
463 * class.c (finish_struct): Call add_method here for function usings.
464 * semantics.c (finish_member_declaration): Not here.
466 2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
469 * typeck2.c (store_init_value): Within a template guard
470 cxx_constant_value with require_potential_constant_expression.
471 * pt.c (convert_nontype_argument): Likewise.
473 2012-01-16 Jakub Jelinek <jakub@redhat.com>
476 * mangle.c (write_template_arg_literal): Handle complex.
478 2012-01-16 Jason Merrill <jason@redhat.com>
481 * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
484 * typeck.c (build_static_cast_1): Handle bit-fields properly.
486 2012-01-13 Ian Lance Taylor <iant@google.com>
489 * typeck.c (enum_cast_to_int): New static function.
490 (cp_build_binary_op): When handling warn_sign_compare, don't test
491 for TREE_NO_WARNING. Do call enum_cast_to_int.
492 * call.c (avoid_sign_compare_warnings): Remove static function.
493 (build_new_op_1): Don't call avoid_sign_compare_warnings.
495 2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
497 * decl2.c: Do not include tree-mudflap.h
498 * semantics.c: Likewise.
500 2012-01-13 Jason Merrill <jason@redhat.com>
503 * semantics.c (finish_break_stmt): Avoid adding an unreachable
507 * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
508 when reducing the visibility.
511 * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
513 2012-01-12 Jason Merrill <jason@redhat.com>
516 * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
519 2012-01-13 Dodji Seketeli <dodji@redhat.com>
522 * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
523 Set the pointer to the last block of the constructor to the
525 (build_constexpr_constructor_member_initializers): Get
526 build_data_member_initialization a chance to deal with more
527 statements before we choke.
529 2012-01-12 Jason Merrill <jason@redhat.com>
532 * mangle.c (write_expression): Mangle BASELINK scope if
533 BASELINK_QUALIFIED_P.
534 * search.c (adjust_result_of_qualified_name_lookup): Set
535 BASELINK_QUALIFIED_P.
536 * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
537 * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
538 adjust_result_of_qualified_name_lookup for non-qualified names.
541 * pt.c (unify): Handle error_mark_node.
543 2012-01-11 Jason Merrill <jason@redhat.com>
546 * call.c (standard_conversion): For ptrmemfuncs, compare the
550 * mangle.c (find_substitution): A type is only a substitution
551 match if we're looking for a type.
552 (write_nested_name): Use decl_mangling_context.
554 * decl.c (decls_match): Assert that the arguments are decls.
557 * pt.c (resolve_overloaded_unification): Compare types with
558 same_type_p, not decls_match.
560 2012-01-10 Jason Merrill <jason@redhat.com>
563 * class.c (build_base_path): Diagnose ambiguous base.
566 * semantics.c (cxx_eval_call_expression): Always retry previously
567 non-constant expressions.
569 2012-01-06 Jason Merrill <jason@redhat.com>
573 * parser.c (cp_parser_new_expression): Set
574 type_definition_forbidden_message.
580 * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
581 THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and
583 (write_template_arg): Fix mangling of class-scope functions and
585 (mangle_decl): Update suggested -fabi-version argument.
586 * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
587 DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
588 * tree.c (dependent_name): No longer static.
589 * cp-tree.h: Declare it.
590 * pt.c (unify): Defer handling of unconverted functions.
592 * mangle.c (mangle_decl): Don't generate mangling aliases
593 for maybe-in-charge [cd]tors.
595 * error.c (dump_expr): Print type of CONSTRUCTOR.
597 2012-01-05 Dodji Seketeli <dodji@redhat.com>
600 * parser.c (cp_parser_alias_declaration): Get out early upon
601 errors in the identifier or the attributes.
603 2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
606 * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
607 the tree returned by build_x_binary_op.
609 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
612 * parser.c (cp_parser_postfix_open_square_expression): Handle
613 postfix-expression [ braced-init-list ].
615 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
618 * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
619 call decay_conversion on v.
621 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
624 * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
625 declaration followed by specialization.
627 2012-01-03 Jakub Jelinek <jakub@redhat.com>
630 * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
631 on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
633 2012-01-02 Jason Merrill <jason@redhat.com>
637 * method.c (walk_field_subobs): Don't check for uninitialized
639 (synthesized_method_walk): Check here.
643 * parser.c (cp_parser_cache_defarg): Split out...
644 (cp_parser_parameter_declaration): ...from here.
645 (cp_parser_save_nsdmi): Use it.
646 (cp_parser_cache_group): Remove CPP_COMMA support.
648 2012-01-02 Dodji Seketeli <dodji@redhat.com>
651 * semantics.c (cx_check_missing_mem_inits): Don't assert in case
654 2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
657 * typeck2.c (digest_init_r): Use copy_init when initializing
660 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
663 * decl.c (build_enumerator): Don't call perform_integral_promotions
666 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
669 * typeck.c (build_reinterpret_cast_1): Implement resolution of
672 2012-01-01 Fabien Chêne <fabien@gcc.gnu.org>
674 * parser.c (cp_parser_using_declaration): Add a warning about
675 deprecated access declarations when no errors were encountered
676 while parsing the access declaration. Save the first token in
677 order to emit the warning at the right place.
679 Copyright (C) 2012 Free Software Foundation, Inc.
681 Copying and distribution of this file, with or without modification,
682 are permitted in any medium without royalty provided the copyright
683 notice and this notice are preserved.