1 2012-06-25 Jason Merrill <jason@redhat.com>
4 * typeck.c (decay_conversion): Don't discard side-effects from
5 expressions of nullptr_t.
8 * semantics.c (build_data_member_initialization): Always keep
9 initializer for empty base.
10 (cxx_eval_bare_aggregate): Discard it here.
12 2012-06-25 Jakub Jelinek <jakub@redhat.com>
15 * class.c (check_bases_and_members): Avoid -Wuninitialized
16 diagnostics for non-static const members or references if they
19 2012-06-19 Jason Merrill <jason@redhat.com>
22 * name-lookup.c (constructor_name_p): Don't try to look at the
23 name of a DECLTYPE_TYPE.
27 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
28 (instantiate_decl): Don't push_to_top_level for local class methods.
29 (instantiate_class_template_1): Or for local classes.
32 * pt.c (lookup_template_class_1): Use ts_global.
34 2012-06-14 Richard Guenther <rguenther@suse.de>
36 Backport from mainline
37 2012-06-11 Richard Guenther <rguenther@suse.de>
40 * mangle.c (write_array_type): Use double-ints for array domain
43 2012-06-14 Richard Guenther <rguenther@suse.de>
45 Backport from mainline
46 2012-06-06 Fabien Chêne <fabien@gcc.gnu.org>
49 * parser.c (cp_parser_alias_declaration): Return earlier
52 2012-06-14 Release Manager
56 2012-06-12 Jason Merrill <jason@redhat.com>
61 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
62 (instantiate_decl): Don't push_to_top_level for local class methods.
63 (instantiate_class_template_1): Or for local classes.
65 2012-06-04 Paolo Carlini <paolo.carlini@oracle.com>
68 * call.c (build_conditional_expr_1): Use OPT_Wenum_compare
69 to control enumeral mismatch in conditional expression too.
71 2012-06-01 Jason Merrill <jason@redhat.com>
74 * parser.c (cp_parser_class_head): Apply attributes here.
75 * semantics.c (begin_class_definition): Not here.
79 * parser.c (cp_parser_binary_expression): Bail early if we're parsing
80 tentatively and the LHS has a parse error.
82 2012-06-01 Jason Merrill <jason@redhat.com>
85 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
86 (instantiate_decl): Don't push_to_top_level for local class methods.
87 (instantiate_class_template_1): Or for local classes.
90 * pt.c (do_auto_deduction): Don't try to deduce from a
91 type-dependent initializer.
93 2012-05-31 Jason Merrill <jason@redhat.com>
97 * call.c (joust): Handle comparing list and non-list ctors.
99 2012-05-30 Jason Merrill <jason@redhat.com>
102 * tree.c (stabilize_init): Side effects make the init unstable.
104 2012-05-30 Jason Merrill <jason@redhat.com>
107 * call.c (convert_like_real) [ck_list]: Take array address directly.
108 * typeck.c (decay_conversion): Reject decay of an array compound
111 2012-05-29 Paolo Carlini <paolo.carlini@oracle.com>
114 * tree.c (stabilize_expr): Handle exp of void type.
116 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
119 * semantics.c (potential_constant_expression_1): Handle LTGT_EXPR.
121 2012-05-15 Alexandre Oliva <aoliva@redhat.com>
124 * pt.c (tsubst_decl): Bail out if argvec is error_mark_node.
126 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
129 * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P
130 instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning.
132 2012-05-03 Paolo Carlini <paolo.carlini@oracle.com>
135 * call.c (build_over_call): Handle final member functions
137 (build_new_method_call_1): Do not handle here.
139 2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
142 * parser.c (cp_parser_member_declaration): Check that
143 initializer_token_start is non null before dereferencing it.
145 2012-04-16 Jason Merrill <jason@redhat.com>
148 * pt.c (determine_specialization): Instead of comparing the number
149 of parms, check that tsubst gives the right answer.
152 * pt.c (convert_template_argument): Handle template template
156 * pt.c (tsubst_pack_expansion): Use tsubst_expr for template
159 2012-04-15 Jason Merrill <jason@redhat.com>
163 * pt.c (coerce_template_parms): Even if we aren't converting we
164 want to expand argument packs.
166 2012-04-15 Fabien Chêne <fabien@gcc.gnu.org>
169 * parser.c (cp_parser_class_name): Call strip_using_decl and
170 return the target decl.
171 * name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
172 to be stripped is NULL_TREE.
173 (qualify_lookup): Call strip_using_decl and perform some checks on
176 2012-04-13 Jason Merrill <jason@redhat.com>
179 * pt.c (any_pack_expanson_args_p): New.
180 (coerce_template_parms): Use it.
182 2012-04-11 Jason Merrill <jason@redhat.com>
185 * decl.c (check_tag_decl): Don't complain about attributes if we
186 don't even have a type.
188 2012-04-05 Jason Merrill <jason@redhat.com>
191 * tree.c (lvalue_kind): Treat a deferred access control SCOPE_REF
194 2012-04-03 Jason Merrill <jason@redhat.com>
197 * pt.c (tsubst_initializer_list): A pack expansion with no elements
198 means value-initialization.
200 2012-03-29 Meador Inge <meadori@codesourcery.com>
203 * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
204 stripped child trees that are not pointer types.
206 2012-03-29 Paolo Carlini <paolo.carlini@oracle.com>
209 * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant
210 warn for a zero as null pointer constant default argument.
212 2012-03-29 Jason Merrill <jason@redhat.com>
215 * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P.
217 2012-03-29 Jakub Jelinek <jakub@redhat.com>
220 * decl.c (start_decl): Don't call maybe_apply_pragma_weak
221 if processing_template_decl.
223 2012-03-29 Jason Merrill <jason@redhat.com>
226 * call.c (compare_ics): Handle ck_aggr like ck_list.
228 2012-03-28 Jason Merrill <jason@redhat.com>
231 * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
232 we didn't get an explicit scope.
233 * pt.c (tsubst_baselink): Likewise.
235 2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
238 * class.c (check_field_decls): Call literal_type_p only
241 2012-03-22 Jakub Jelinek <jakub@redhat.com>
244 * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
245 on CLASS_TYPE_P types.
247 2012-03-22 Jason Merrill <jason@redhat.com>
250 * method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
252 2012-03-22 Jakub Jelinek <jakub@redhat.com>
254 Backported from mainline
255 2012-03-14 Jakub Jelinek <jakub@redhat.com>
258 * parser.c (lookup_literal_operator): Return fn only if
259 processed all arguments from args vector and argtypes is
262 2012-03-22 Release Manager
264 * GCC 4.7.0 released.
266 2012-03-20 Jason Merrill <jason@redhat.com>
268 * mangle.c (write_type): Handle 'auto'.
269 * init.c (build_new): Don't do auto deduction where it might
270 affect template mangling.
272 2012-03-07 Jason Merrill <jason@redhat.com>
275 * mangle.c (write_literal_operator_name): The length comes after the
278 2012-02-29 Jason Merrill <jason@redhat.com>
281 * decl.c (check_tag_decl): Move warning for misplaced attributes here.
282 (shadow_tag): From here.
283 * parser.c (cp_parser_explicit_instantiation): Don't warn here.
285 2012-02-21 Jakub Jelinek <jakub@redhat.com>
288 * typeck.c (check_literal_operator_args): Initialize *long_double_p
289 and *long_long_unsigned_p even if processing_template_decl.
291 2012-02-16 Jason Merrill <jason@redhat.com>
294 * decl.c (define_label): Use timevar_cond_start/stop.
296 2012-02-16 Fabien Chêne <fabien@gcc.gnu.org>
299 * decl.c (xref_basetypes): call dependent_scope_p instead of
302 2012-02-16 Jason Merrill <jason@redhat.com>
305 * error.c (dump_expr): Handle lambda closures specifically.
307 2012-02-14 Jason Merrill <jason@redhat.com>
309 * parser.c (cp_parser_explicit_instantiation): Give a warning
310 for ignored attributes on explicit class instantiation.
312 2012-02-14 Jakub Jelinek <jakub@redhat.com>
315 * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
316 lookup_label on label's name and set TREE_USED.
318 2012-02-14 Jason Merrill <jason@redhat.com>
321 * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
323 2012-02-14 Jakub Jelinek <jakub@redhat.com>
326 * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
327 newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
329 2012-02-07 Jason Merrill <jason@redhat.com>
332 * semantics.c (cx_check_missing_mem_inits): Handle unions.
333 Fix constexpr default constructor logic.
336 * pt.c (tsubst): Strip uninstantiated typedef.
338 2012-02-06 Jason Merrill <jason@redhat.com>
341 * cvt.c (build_expr_type_conversion): Check for template conversion.
343 2012-01-31 Jason Merrill <jason@redhat.com>
346 * cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
347 * pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
348 (tsubst_pack_expansion): Check it.
350 2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
353 * class.c (explain_non_literal_class): Correctly handle implicitly
354 deleted constructors.
356 2012-01-27 Jakub Jelinek <jakub@redhat.com>
359 * pt.c (tsubst_pack_expansion): Delete and restore
360 local_specialization whenever need_local_specialization, not just
361 when saved_local_specializations is non-NULL.
363 2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
366 * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
367 as TREE_OPERAND (t, 1).
369 2012-01-24 Jason Merrill <jason@redhat.com>
372 * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
375 * tree.c (called_fns_equal): Check template args.
376 (cp_tree_equal): Call it.
378 2012-01-24 Aldy Hernandez <aldyh@redhat.com>
379 Patrick Marlier <patrick.marlier@gmail.com>
382 * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
383 thunk for set_one_vmethod_tm_attributes.
385 2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
388 * call.c (build_over_call): Check for error_mark_node as
389 TREE_VALUE when default arguments are processed.
391 2012-01-23 Jason Merrill <jason@redhat.com>
394 * decl2.c (determine_visibility): Check for visibility attribute
395 on template specialization.
397 2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
400 * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
402 2012-01-23 Jason Merrill <jason@redhat.com>
405 * class.c (add_method): Set OVL_USED for using-decls.
406 * tree.c (ovl_scope): New.
407 * cp-tree.h: Declare it.
408 * parser.c (cp_parser_template_name): Use it.
409 * semantics.c (baselink_for_fns): Likewise.
410 * name-lookup.c (set_inherited_value_binding_p): Likewise.
412 2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
415 * pt.c (lookup_template_class_1): Check context returned by
416 tsubst for error_mark_node.
418 2012-01-19 Kai Tietz <ktietz@redhat.com>
421 * decl2.c (save_template_attributes): Use merge_attributes
422 instead of chaining up via TREE_CHAIN.
424 2012-01-19 Jason Merrill <jason@redhat.com>
427 * class.c (finish_struct): Call add_method here for function usings.
428 * semantics.c (finish_member_declaration): Not here.
430 2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
433 * typeck2.c (store_init_value): Within a template guard
434 cxx_constant_value with require_potential_constant_expression.
435 * pt.c (convert_nontype_argument): Likewise.
437 2012-01-16 Jakub Jelinek <jakub@redhat.com>
440 * mangle.c (write_template_arg_literal): Handle complex.
442 2012-01-16 Jason Merrill <jason@redhat.com>
445 * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
448 * typeck.c (build_static_cast_1): Handle bit-fields properly.
450 2012-01-13 Ian Lance Taylor <iant@google.com>
453 * typeck.c (enum_cast_to_int): New static function.
454 (cp_build_binary_op): When handling warn_sign_compare, don't test
455 for TREE_NO_WARNING. Do call enum_cast_to_int.
456 * call.c (avoid_sign_compare_warnings): Remove static function.
457 (build_new_op_1): Don't call avoid_sign_compare_warnings.
459 2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
461 * decl2.c: Do not include tree-mudflap.h
462 * semantics.c: Likewise.
464 2012-01-13 Jason Merrill <jason@redhat.com>
467 * semantics.c (finish_break_stmt): Avoid adding an unreachable
471 * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
472 when reducing the visibility.
475 * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
477 2012-01-12 Jason Merrill <jason@redhat.com>
480 * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
483 2012-01-13 Dodji Seketeli <dodji@redhat.com>
486 * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
487 Set the pointer to the last block of the constructor to the
489 (build_constexpr_constructor_member_initializers): Get
490 build_data_member_initialization a chance to deal with more
491 statements before we choke.
493 2012-01-12 Jason Merrill <jason@redhat.com>
496 * mangle.c (write_expression): Mangle BASELINK scope if
497 BASELINK_QUALIFIED_P.
498 * search.c (adjust_result_of_qualified_name_lookup): Set
499 BASELINK_QUALIFIED_P.
500 * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
501 * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
502 adjust_result_of_qualified_name_lookup for non-qualified names.
505 * pt.c (unify): Handle error_mark_node.
507 2012-01-11 Jason Merrill <jason@redhat.com>
510 * call.c (standard_conversion): For ptrmemfuncs, compare the
514 * mangle.c (find_substitution): A type is only a substitution
515 match if we're looking for a type.
516 (write_nested_name): Use decl_mangling_context.
518 * decl.c (decls_match): Assert that the arguments are decls.
521 * pt.c (resolve_overloaded_unification): Compare types with
522 same_type_p, not decls_match.
524 2012-01-10 Jason Merrill <jason@redhat.com>
527 * class.c (build_base_path): Diagnose ambiguous base.
530 * semantics.c (cxx_eval_call_expression): Always retry previously
531 non-constant expressions.
533 2012-01-06 Jason Merrill <jason@redhat.com>
537 * parser.c (cp_parser_new_expression): Set
538 type_definition_forbidden_message.
544 * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
545 THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and
547 (write_template_arg): Fix mangling of class-scope functions and
549 (mangle_decl): Update suggested -fabi-version argument.
550 * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
551 DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
552 * tree.c (dependent_name): No longer static.
553 * cp-tree.h: Declare it.
554 * pt.c (unify): Defer handling of unconverted functions.
556 * mangle.c (mangle_decl): Don't generate mangling aliases
557 for maybe-in-charge [cd]tors.
559 * error.c (dump_expr): Print type of CONSTRUCTOR.
561 2012-01-05 Dodji Seketeli <dodji@redhat.com>
564 * parser.c (cp_parser_alias_declaration): Get out early upon
565 errors in the identifier or the attributes.
567 2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
570 * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
571 the tree returned by build_x_binary_op.
573 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
576 * parser.c (cp_parser_postfix_open_square_expression): Handle
577 postfix-expression [ braced-init-list ].
579 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
582 * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
583 call decay_conversion on v.
585 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
588 * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
589 declaration followed by specialization.
591 2012-01-03 Jakub Jelinek <jakub@redhat.com>
594 * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
595 on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
597 2012-01-02 Jason Merrill <jason@redhat.com>
601 * method.c (walk_field_subobs): Don't check for uninitialized
603 (synthesized_method_walk): Check here.
607 * parser.c (cp_parser_cache_defarg): Split out...
608 (cp_parser_parameter_declaration): ...from here.
609 (cp_parser_save_nsdmi): Use it.
610 (cp_parser_cache_group): Remove CPP_COMMA support.
612 2012-01-02 Dodji Seketeli <dodji@redhat.com>
615 * semantics.c (cx_check_missing_mem_inits): Don't assert in case
618 2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
621 * typeck2.c (digest_init_r): Use copy_init when initializing
624 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
627 * decl.c (build_enumerator): Don't call perform_integral_promotions
630 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
633 * typeck.c (build_reinterpret_cast_1): Implement resolution of
636 2012-01-01 Fabien Chêne <fabien@gcc.gnu.org>
638 * parser.c (cp_parser_using_declaration): Add a warning about
639 deprecated access declarations when no errors were encountered
640 while parsing the access declaration. Save the first token in
641 order to emit the warning at the right place.
643 Copyright (C) 2012 Free Software Foundation, Inc.
645 Copying and distribution of this file, with or without modification,
646 are permitted in any medium without royalty provided the copyright
647 notice and this notice are preserved.