1 2012-06-19 Jason Merrill <jason@redhat.com>
4 * pt.c (lookup_template_class_1): Use ts_global.
6 2012-06-14 Richard Guenther <rguenther@suse.de>
9 2012-06-11 Richard Guenther <rguenther@suse.de>
12 * mangle.c (write_array_type): Use double-ints for array domain
15 2012-06-14 Richard Guenther <rguenther@suse.de>
17 Backport from mainline
18 2012-06-06 Fabien Chêne <fabien@gcc.gnu.org>
21 * parser.c (cp_parser_alias_declaration): Return earlier
24 2012-06-14 Release Manager
28 2012-06-12 Jason Merrill <jason@redhat.com>
33 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
34 (instantiate_decl): Don't push_to_top_level for local class methods.
35 (instantiate_class_template_1): Or for local classes.
37 2012-06-04 Paolo Carlini <paolo.carlini@oracle.com>
40 * call.c (build_conditional_expr_1): Use OPT_Wenum_compare
41 to control enumeral mismatch in conditional expression too.
43 2012-06-01 Jason Merrill <jason@redhat.com>
46 * parser.c (cp_parser_class_head): Apply attributes here.
47 * semantics.c (begin_class_definition): Not here.
51 * parser.c (cp_parser_binary_expression): Bail early if we're parsing
52 tentatively and the LHS has a parse error.
54 2012-06-01 Jason Merrill <jason@redhat.com>
57 * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
58 (instantiate_decl): Don't push_to_top_level for local class methods.
59 (instantiate_class_template_1): Or for local classes.
62 * pt.c (do_auto_deduction): Don't try to deduce from a
63 type-dependent initializer.
65 2012-05-31 Jason Merrill <jason@redhat.com>
69 * call.c (joust): Handle comparing list and non-list ctors.
71 2012-05-30 Jason Merrill <jason@redhat.com>
74 * tree.c (stabilize_init): Side effects make the init unstable.
76 2012-05-30 Jason Merrill <jason@redhat.com>
79 * call.c (convert_like_real) [ck_list]: Take array address directly.
80 * typeck.c (decay_conversion): Reject decay of an array compound
83 2012-05-29 Paolo Carlini <paolo.carlini@oracle.com>
86 * tree.c (stabilize_expr): Handle exp of void type.
88 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
91 * semantics.c (potential_constant_expression_1): Handle LTGT_EXPR.
93 2012-05-15 Alexandre Oliva <aoliva@redhat.com>
96 * pt.c (tsubst_decl): Bail out if argvec is error_mark_node.
98 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
101 * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P
102 instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning.
104 2012-05-03 Paolo Carlini <paolo.carlini@oracle.com>
107 * call.c (build_over_call): Handle final member functions
109 (build_new_method_call_1): Do not handle here.
111 2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
114 * parser.c (cp_parser_member_declaration): Check that
115 initializer_token_start is non null before dereferencing it.
117 2012-04-16 Jason Merrill <jason@redhat.com>
120 * pt.c (determine_specialization): Instead of comparing the number
121 of parms, check that tsubst gives the right answer.
124 * pt.c (convert_template_argument): Handle template template
128 * pt.c (tsubst_pack_expansion): Use tsubst_expr for template
131 2012-04-15 Jason Merrill <jason@redhat.com>
135 * pt.c (coerce_template_parms): Even if we aren't converting we
136 want to expand argument packs.
138 2012-04-15 Fabien Chêne <fabien@gcc.gnu.org>
141 * parser.c (cp_parser_class_name): Call strip_using_decl and
142 return the target decl.
143 * name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
144 to be stripped is NULL_TREE.
145 (qualify_lookup): Call strip_using_decl and perform some checks on
148 2012-04-13 Jason Merrill <jason@redhat.com>
151 * pt.c (any_pack_expanson_args_p): New.
152 (coerce_template_parms): Use it.
154 2012-04-11 Jason Merrill <jason@redhat.com>
157 * decl.c (check_tag_decl): Don't complain about attributes if we
158 don't even have a type.
160 2012-04-05 Jason Merrill <jason@redhat.com>
163 * tree.c (lvalue_kind): Treat a deferred access control SCOPE_REF
166 2012-04-03 Jason Merrill <jason@redhat.com>
169 * pt.c (tsubst_initializer_list): A pack expansion with no elements
170 means value-initialization.
172 2012-03-29 Meador Inge <meadori@codesourcery.com>
175 * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
176 stripped child trees that are not pointer types.
178 2012-03-29 Paolo Carlini <paolo.carlini@oracle.com>
181 * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant
182 warn for a zero as null pointer constant default argument.
184 2012-03-29 Jason Merrill <jason@redhat.com>
187 * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P.
189 2012-03-29 Jakub Jelinek <jakub@redhat.com>
192 * decl.c (start_decl): Don't call maybe_apply_pragma_weak
193 if processing_template_decl.
195 2012-03-29 Jason Merrill <jason@redhat.com>
198 * call.c (compare_ics): Handle ck_aggr like ck_list.
200 2012-03-28 Jason Merrill <jason@redhat.com>
203 * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
204 we didn't get an explicit scope.
205 * pt.c (tsubst_baselink): Likewise.
207 2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
210 * class.c (check_field_decls): Call literal_type_p only
213 2012-03-22 Jakub Jelinek <jakub@redhat.com>
216 * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
217 on CLASS_TYPE_P types.
219 2012-03-22 Jason Merrill <jason@redhat.com>
222 * method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
224 2012-03-22 Jakub Jelinek <jakub@redhat.com>
226 Backported from mainline
227 2012-03-14 Jakub Jelinek <jakub@redhat.com>
230 * parser.c (lookup_literal_operator): Return fn only if
231 processed all arguments from args vector and argtypes is
234 2012-03-22 Release Manager
236 * GCC 4.7.0 released.
238 2012-03-20 Jason Merrill <jason@redhat.com>
240 * mangle.c (write_type): Handle 'auto'.
241 * init.c (build_new): Don't do auto deduction where it might
242 affect template mangling.
244 2012-03-07 Jason Merrill <jason@redhat.com>
247 * mangle.c (write_literal_operator_name): The length comes after the
250 2012-02-29 Jason Merrill <jason@redhat.com>
253 * decl.c (check_tag_decl): Move warning for misplaced attributes here.
254 (shadow_tag): From here.
255 * parser.c (cp_parser_explicit_instantiation): Don't warn here.
257 2012-02-21 Jakub Jelinek <jakub@redhat.com>
260 * typeck.c (check_literal_operator_args): Initialize *long_double_p
261 and *long_long_unsigned_p even if processing_template_decl.
263 2012-02-16 Jason Merrill <jason@redhat.com>
266 * decl.c (define_label): Use timevar_cond_start/stop.
268 2012-02-16 Fabien Chêne <fabien@gcc.gnu.org>
271 * decl.c (xref_basetypes): call dependent_scope_p instead of
274 2012-02-16 Jason Merrill <jason@redhat.com>
277 * error.c (dump_expr): Handle lambda closures specifically.
279 2012-02-14 Jason Merrill <jason@redhat.com>
281 * parser.c (cp_parser_explicit_instantiation): Give a warning
282 for ignored attributes on explicit class instantiation.
284 2012-02-14 Jakub Jelinek <jakub@redhat.com>
287 * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
288 lookup_label on label's name and set TREE_USED.
290 2012-02-14 Jason Merrill <jason@redhat.com>
293 * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
295 2012-02-14 Jakub Jelinek <jakub@redhat.com>
298 * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
299 newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
301 2012-02-07 Jason Merrill <jason@redhat.com>
304 * semantics.c (cx_check_missing_mem_inits): Handle unions.
305 Fix constexpr default constructor logic.
308 * pt.c (tsubst): Strip uninstantiated typedef.
310 2012-02-06 Jason Merrill <jason@redhat.com>
313 * cvt.c (build_expr_type_conversion): Check for template conversion.
315 2012-01-31 Jason Merrill <jason@redhat.com>
318 * cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
319 * pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
320 (tsubst_pack_expansion): Check it.
322 2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
325 * class.c (explain_non_literal_class): Correctly handle implicitly
326 deleted constructors.
328 2012-01-27 Jakub Jelinek <jakub@redhat.com>
331 * pt.c (tsubst_pack_expansion): Delete and restore
332 local_specialization whenever need_local_specialization, not just
333 when saved_local_specializations is non-NULL.
335 2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
338 * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
339 as TREE_OPERAND (t, 1).
341 2012-01-24 Jason Merrill <jason@redhat.com>
344 * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
347 * tree.c (called_fns_equal): Check template args.
348 (cp_tree_equal): Call it.
350 2012-01-24 Aldy Hernandez <aldyh@redhat.com>
351 Patrick Marlier <patrick.marlier@gmail.com>
354 * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
355 thunk for set_one_vmethod_tm_attributes.
357 2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
360 * call.c (build_over_call): Check for error_mark_node as
361 TREE_VALUE when default arguments are processed.
363 2012-01-23 Jason Merrill <jason@redhat.com>
366 * decl2.c (determine_visibility): Check for visibility attribute
367 on template specialization.
369 2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
372 * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
374 2012-01-23 Jason Merrill <jason@redhat.com>
377 * class.c (add_method): Set OVL_USED for using-decls.
378 * tree.c (ovl_scope): New.
379 * cp-tree.h: Declare it.
380 * parser.c (cp_parser_template_name): Use it.
381 * semantics.c (baselink_for_fns): Likewise.
382 * name-lookup.c (set_inherited_value_binding_p): Likewise.
384 2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
387 * pt.c (lookup_template_class_1): Check context returned by
388 tsubst for error_mark_node.
390 2012-01-19 Kai Tietz <ktietz@redhat.com>
393 * decl2.c (save_template_attributes): Use merge_attributes
394 instead of chaining up via TREE_CHAIN.
396 2012-01-19 Jason Merrill <jason@redhat.com>
399 * class.c (finish_struct): Call add_method here for function usings.
400 * semantics.c (finish_member_declaration): Not here.
402 2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
405 * typeck2.c (store_init_value): Within a template guard
406 cxx_constant_value with require_potential_constant_expression.
407 * pt.c (convert_nontype_argument): Likewise.
409 2012-01-16 Jakub Jelinek <jakub@redhat.com>
412 * mangle.c (write_template_arg_literal): Handle complex.
414 2012-01-16 Jason Merrill <jason@redhat.com>
417 * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
420 * typeck.c (build_static_cast_1): Handle bit-fields properly.
422 2012-01-13 Ian Lance Taylor <iant@google.com>
425 * typeck.c (enum_cast_to_int): New static function.
426 (cp_build_binary_op): When handling warn_sign_compare, don't test
427 for TREE_NO_WARNING. Do call enum_cast_to_int.
428 * call.c (avoid_sign_compare_warnings): Remove static function.
429 (build_new_op_1): Don't call avoid_sign_compare_warnings.
431 2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
433 * decl2.c: Do not include tree-mudflap.h
434 * semantics.c: Likewise.
436 2012-01-13 Jason Merrill <jason@redhat.com>
439 * semantics.c (finish_break_stmt): Avoid adding an unreachable
443 * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
444 when reducing the visibility.
447 * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
449 2012-01-12 Jason Merrill <jason@redhat.com>
452 * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
455 2012-01-13 Dodji Seketeli <dodji@redhat.com>
458 * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
459 Set the pointer to the last block of the constructor to the
461 (build_constexpr_constructor_member_initializers): Get
462 build_data_member_initialization a chance to deal with more
463 statements before we choke.
465 2012-01-12 Jason Merrill <jason@redhat.com>
468 * mangle.c (write_expression): Mangle BASELINK scope if
469 BASELINK_QUALIFIED_P.
470 * search.c (adjust_result_of_qualified_name_lookup): Set
471 BASELINK_QUALIFIED_P.
472 * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
473 * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
474 adjust_result_of_qualified_name_lookup for non-qualified names.
477 * pt.c (unify): Handle error_mark_node.
479 2012-01-11 Jason Merrill <jason@redhat.com>
482 * call.c (standard_conversion): For ptrmemfuncs, compare the
486 * mangle.c (find_substitution): A type is only a substitution
487 match if we're looking for a type.
488 (write_nested_name): Use decl_mangling_context.
490 * decl.c (decls_match): Assert that the arguments are decls.
493 * pt.c (resolve_overloaded_unification): Compare types with
494 same_type_p, not decls_match.
496 2012-01-10 Jason Merrill <jason@redhat.com>
499 * class.c (build_base_path): Diagnose ambiguous base.
502 * semantics.c (cxx_eval_call_expression): Always retry previously
503 non-constant expressions.
505 2012-01-06 Jason Merrill <jason@redhat.com>
509 * parser.c (cp_parser_new_expression): Set
510 type_definition_forbidden_message.
516 * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
517 THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and
519 (write_template_arg): Fix mangling of class-scope functions and
521 (mangle_decl): Update suggested -fabi-version argument.
522 * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
523 DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
524 * tree.c (dependent_name): No longer static.
525 * cp-tree.h: Declare it.
526 * pt.c (unify): Defer handling of unconverted functions.
528 * mangle.c (mangle_decl): Don't generate mangling aliases
529 for maybe-in-charge [cd]tors.
531 * error.c (dump_expr): Print type of CONSTRUCTOR.
533 2012-01-05 Dodji Seketeli <dodji@redhat.com>
536 * parser.c (cp_parser_alias_declaration): Get out early upon
537 errors in the identifier or the attributes.
539 2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
542 * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
543 the tree returned by build_x_binary_op.
545 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
548 * parser.c (cp_parser_postfix_open_square_expression): Handle
549 postfix-expression [ braced-init-list ].
551 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
554 * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
555 call decay_conversion on v.
557 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
560 * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
561 declaration followed by specialization.
563 2012-01-03 Jakub Jelinek <jakub@redhat.com>
566 * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
567 on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
569 2012-01-02 Jason Merrill <jason@redhat.com>
573 * method.c (walk_field_subobs): Don't check for uninitialized
575 (synthesized_method_walk): Check here.
579 * parser.c (cp_parser_cache_defarg): Split out...
580 (cp_parser_parameter_declaration): ...from here.
581 (cp_parser_save_nsdmi): Use it.
582 (cp_parser_cache_group): Remove CPP_COMMA support.
584 2012-01-02 Dodji Seketeli <dodji@redhat.com>
587 * semantics.c (cx_check_missing_mem_inits): Don't assert in case
590 2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
593 * typeck2.c (digest_init_r): Use copy_init when initializing
596 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
599 * decl.c (build_enumerator): Don't call perform_integral_promotions
602 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
605 * typeck.c (build_reinterpret_cast_1): Implement resolution of
608 2012-01-01 Fabien Chêne <fabien@gcc.gnu.org>
610 * parser.c (cp_parser_using_declaration): Add a warning about
611 deprecated access declarations when no errors were encountered
612 while parsing the access declaration. Save the first token in
613 order to emit the warning at the right place.
615 Copyright (C) 2012 Free Software Foundation, Inc.
617 Copying and distribution of this file, with or without modification,
618 are permitted in any medium without royalty provided the copyright
619 notice and this notice are preserved.