1 2012-06-01 Jason Merrill <jason@redhat.com>
4 * pt.c (do_auto_deduction): Don't try to deduce from a
5 type-dependent initializer.
7 2012-05-31 Jason Merrill <jason@redhat.com>
11 * call.c (joust): Handle comparing list and non-list ctors.
13 2012-05-30 Jason Merrill <jason@redhat.com>
16 * tree.c (stabilize_init): Side effects make the init unstable.
18 2012-05-30 Jason Merrill <jason@redhat.com>
21 * call.c (convert_like_real) [ck_list]: Take array address directly.
22 * typeck.c (decay_conversion): Reject decay of an array compound
25 2012-05-29 Paolo Carlini <paolo.carlini@oracle.com>
28 * tree.c (stabilize_expr): Handle exp of void type.
30 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
33 * semantics.c (potential_constant_expression_1): Handle LTGT_EXPR.
35 2012-05-15 Alexandre Oliva <aoliva@redhat.com>
38 * pt.c (tsubst_decl): Bail out if argvec is error_mark_node.
40 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
43 * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P
44 instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning.
46 2012-05-03 Paolo Carlini <paolo.carlini@oracle.com>
49 * call.c (build_over_call): Handle final member functions
51 (build_new_method_call_1): Do not handle here.
53 2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
56 * parser.c (cp_parser_member_declaration): Check that
57 initializer_token_start is non null before dereferencing it.
59 2012-04-16 Jason Merrill <jason@redhat.com>
62 * pt.c (determine_specialization): Instead of comparing the number
63 of parms, check that tsubst gives the right answer.
66 * pt.c (convert_template_argument): Handle template template
70 * pt.c (tsubst_pack_expansion): Use tsubst_expr for template
73 2012-04-15 Jason Merrill <jason@redhat.com>
77 * pt.c (coerce_template_parms): Even if we aren't converting we
78 want to expand argument packs.
80 2012-04-15 Fabien Chêne <fabien@gcc.gnu.org>
83 * parser.c (cp_parser_class_name): Call strip_using_decl and
84 return the target decl.
85 * name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
86 to be stripped is NULL_TREE.
87 (qualify_lookup): Call strip_using_decl and perform some checks on
90 2012-04-13 Jason Merrill <jason@redhat.com>
93 * pt.c (any_pack_expanson_args_p): New.
94 (coerce_template_parms): Use it.
96 2012-04-11 Jason Merrill <jason@redhat.com>
99 * decl.c (check_tag_decl): Don't complain about attributes if we
100 don't even have a type.
102 2012-04-05 Jason Merrill <jason@redhat.com>
105 * tree.c (lvalue_kind): Treat a deferred access control SCOPE_REF
108 2012-04-03 Jason Merrill <jason@redhat.com>
111 * pt.c (tsubst_initializer_list): A pack expansion with no elements
112 means value-initialization.
114 2012-03-29 Meador Inge <meadori@codesourcery.com>
117 * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
118 stripped child trees that are not pointer types.
120 2012-03-29 Paolo Carlini <paolo.carlini@oracle.com>
123 * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant
124 warn for a zero as null pointer constant default argument.
126 2012-03-29 Jason Merrill <jason@redhat.com>
129 * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P.
131 2012-03-29 Jakub Jelinek <jakub@redhat.com>
134 * decl.c (start_decl): Don't call maybe_apply_pragma_weak
135 if processing_template_decl.
137 2012-03-29 Jason Merrill <jason@redhat.com>
140 * call.c (compare_ics): Handle ck_aggr like ck_list.
142 2012-03-28 Jason Merrill <jason@redhat.com>
145 * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
146 we didn't get an explicit scope.
147 * pt.c (tsubst_baselink): Likewise.
149 2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
152 * class.c (check_field_decls): Call literal_type_p only
155 2012-03-22 Jakub Jelinek <jakub@redhat.com>
158 * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
159 on CLASS_TYPE_P types.
161 2012-03-22 Jason Merrill <jason@redhat.com>
164 * method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
166 2012-03-22 Jakub Jelinek <jakub@redhat.com>
168 Backported from mainline
169 2012-03-14 Jakub Jelinek <jakub@redhat.com>
172 * parser.c (lookup_literal_operator): Return fn only if
173 processed all arguments from args vector and argtypes is
176 2012-03-22 Release Manager
178 * GCC 4.7.0 released.
180 2012-03-20 Jason Merrill <jason@redhat.com>
182 * mangle.c (write_type): Handle 'auto'.
183 * init.c (build_new): Don't do auto deduction where it might
184 affect template mangling.
186 2012-03-07 Jason Merrill <jason@redhat.com>
189 * mangle.c (write_literal_operator_name): The length comes after the
192 2012-02-29 Jason Merrill <jason@redhat.com>
195 * decl.c (check_tag_decl): Move warning for misplaced attributes here.
196 (shadow_tag): From here.
197 * parser.c (cp_parser_explicit_instantiation): Don't warn here.
199 2012-02-21 Jakub Jelinek <jakub@redhat.com>
202 * typeck.c (check_literal_operator_args): Initialize *long_double_p
203 and *long_long_unsigned_p even if processing_template_decl.
205 2012-02-16 Jason Merrill <jason@redhat.com>
208 * decl.c (define_label): Use timevar_cond_start/stop.
210 2012-02-16 Fabien Chêne <fabien@gcc.gnu.org>
213 * decl.c (xref_basetypes): call dependent_scope_p instead of
216 2012-02-16 Jason Merrill <jason@redhat.com>
219 * error.c (dump_expr): Handle lambda closures specifically.
221 2012-02-14 Jason Merrill <jason@redhat.com>
223 * parser.c (cp_parser_explicit_instantiation): Give a warning
224 for ignored attributes on explicit class instantiation.
226 2012-02-14 Jakub Jelinek <jakub@redhat.com>
229 * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
230 lookup_label on label's name and set TREE_USED.
232 2012-02-14 Jason Merrill <jason@redhat.com>
235 * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
237 2012-02-14 Jakub Jelinek <jakub@redhat.com>
240 * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
241 newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
243 2012-02-07 Jason Merrill <jason@redhat.com>
246 * semantics.c (cx_check_missing_mem_inits): Handle unions.
247 Fix constexpr default constructor logic.
250 * pt.c (tsubst): Strip uninstantiated typedef.
252 2012-02-06 Jason Merrill <jason@redhat.com>
255 * cvt.c (build_expr_type_conversion): Check for template conversion.
257 2012-01-31 Jason Merrill <jason@redhat.com>
260 * cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
261 * pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
262 (tsubst_pack_expansion): Check it.
264 2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
267 * class.c (explain_non_literal_class): Correctly handle implicitly
268 deleted constructors.
270 2012-01-27 Jakub Jelinek <jakub@redhat.com>
273 * pt.c (tsubst_pack_expansion): Delete and restore
274 local_specialization whenever need_local_specialization, not just
275 when saved_local_specializations is non-NULL.
277 2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
280 * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
281 as TREE_OPERAND (t, 1).
283 2012-01-24 Jason Merrill <jason@redhat.com>
286 * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
289 * tree.c (called_fns_equal): Check template args.
290 (cp_tree_equal): Call it.
292 2012-01-24 Aldy Hernandez <aldyh@redhat.com>
293 Patrick Marlier <patrick.marlier@gmail.com>
296 * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
297 thunk for set_one_vmethod_tm_attributes.
299 2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
302 * call.c (build_over_call): Check for error_mark_node as
303 TREE_VALUE when default arguments are processed.
305 2012-01-23 Jason Merrill <jason@redhat.com>
308 * decl2.c (determine_visibility): Check for visibility attribute
309 on template specialization.
311 2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
314 * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
316 2012-01-23 Jason Merrill <jason@redhat.com>
319 * class.c (add_method): Set OVL_USED for using-decls.
320 * tree.c (ovl_scope): New.
321 * cp-tree.h: Declare it.
322 * parser.c (cp_parser_template_name): Use it.
323 * semantics.c (baselink_for_fns): Likewise.
324 * name-lookup.c (set_inherited_value_binding_p): Likewise.
326 2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
329 * pt.c (lookup_template_class_1): Check context returned by
330 tsubst for error_mark_node.
332 2012-01-19 Kai Tietz <ktietz@redhat.com>
335 * decl2.c (save_template_attributes): Use merge_attributes
336 instead of chaining up via TREE_CHAIN.
338 2012-01-19 Jason Merrill <jason@redhat.com>
341 * class.c (finish_struct): Call add_method here for function usings.
342 * semantics.c (finish_member_declaration): Not here.
344 2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
347 * typeck2.c (store_init_value): Within a template guard
348 cxx_constant_value with require_potential_constant_expression.
349 * pt.c (convert_nontype_argument): Likewise.
351 2012-01-16 Jakub Jelinek <jakub@redhat.com>
354 * mangle.c (write_template_arg_literal): Handle complex.
356 2012-01-16 Jason Merrill <jason@redhat.com>
359 * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
362 * typeck.c (build_static_cast_1): Handle bit-fields properly.
364 2012-01-13 Ian Lance Taylor <iant@google.com>
367 * typeck.c (enum_cast_to_int): New static function.
368 (cp_build_binary_op): When handling warn_sign_compare, don't test
369 for TREE_NO_WARNING. Do call enum_cast_to_int.
370 * call.c (avoid_sign_compare_warnings): Remove static function.
371 (build_new_op_1): Don't call avoid_sign_compare_warnings.
373 2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
375 * decl2.c: Do not include tree-mudflap.h
376 * semantics.c: Likewise.
378 2012-01-13 Jason Merrill <jason@redhat.com>
381 * semantics.c (finish_break_stmt): Avoid adding an unreachable
385 * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
386 when reducing the visibility.
389 * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
391 2012-01-12 Jason Merrill <jason@redhat.com>
394 * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
397 2012-01-13 Dodji Seketeli <dodji@redhat.com>
400 * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
401 Set the pointer to the last block of the constructor to the
403 (build_constexpr_constructor_member_initializers): Get
404 build_data_member_initialization a chance to deal with more
405 statements before we choke.
407 2012-01-12 Jason Merrill <jason@redhat.com>
410 * mangle.c (write_expression): Mangle BASELINK scope if
411 BASELINK_QUALIFIED_P.
412 * search.c (adjust_result_of_qualified_name_lookup): Set
413 BASELINK_QUALIFIED_P.
414 * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
415 * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
416 adjust_result_of_qualified_name_lookup for non-qualified names.
419 * pt.c (unify): Handle error_mark_node.
421 2012-01-11 Jason Merrill <jason@redhat.com>
424 * call.c (standard_conversion): For ptrmemfuncs, compare the
428 * mangle.c (find_substitution): A type is only a substitution
429 match if we're looking for a type.
430 (write_nested_name): Use decl_mangling_context.
432 * decl.c (decls_match): Assert that the arguments are decls.
435 * pt.c (resolve_overloaded_unification): Compare types with
436 same_type_p, not decls_match.
438 2012-01-10 Jason Merrill <jason@redhat.com>
441 * class.c (build_base_path): Diagnose ambiguous base.
444 * semantics.c (cxx_eval_call_expression): Always retry previously
445 non-constant expressions.
447 2012-01-06 Jason Merrill <jason@redhat.com>
451 * parser.c (cp_parser_new_expression): Set
452 type_definition_forbidden_message.
458 * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
459 THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and
461 (write_template_arg): Fix mangling of class-scope functions and
463 (mangle_decl): Update suggested -fabi-version argument.
464 * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
465 DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
466 * tree.c (dependent_name): No longer static.
467 * cp-tree.h: Declare it.
468 * pt.c (unify): Defer handling of unconverted functions.
470 * mangle.c (mangle_decl): Don't generate mangling aliases
471 for maybe-in-charge [cd]tors.
473 * error.c (dump_expr): Print type of CONSTRUCTOR.
475 2012-01-05 Dodji Seketeli <dodji@redhat.com>
478 * parser.c (cp_parser_alias_declaration): Get out early upon
479 errors in the identifier or the attributes.
481 2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
484 * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
485 the tree returned by build_x_binary_op.
487 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
490 * parser.c (cp_parser_postfix_open_square_expression): Handle
491 postfix-expression [ braced-init-list ].
493 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
496 * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
497 call decay_conversion on v.
499 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
502 * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
503 declaration followed by specialization.
505 2012-01-03 Jakub Jelinek <jakub@redhat.com>
508 * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
509 on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
511 2012-01-02 Jason Merrill <jason@redhat.com>
515 * method.c (walk_field_subobs): Don't check for uninitialized
517 (synthesized_method_walk): Check here.
521 * parser.c (cp_parser_cache_defarg): Split out...
522 (cp_parser_parameter_declaration): ...from here.
523 (cp_parser_save_nsdmi): Use it.
524 (cp_parser_cache_group): Remove CPP_COMMA support.
526 2012-01-02 Dodji Seketeli <dodji@redhat.com>
529 * semantics.c (cx_check_missing_mem_inits): Don't assert in case
532 2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
535 * typeck2.c (digest_init_r): Use copy_init when initializing
538 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
541 * decl.c (build_enumerator): Don't call perform_integral_promotions
544 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
547 * typeck.c (build_reinterpret_cast_1): Implement resolution of
550 2012-01-01 Fabien Chêne <fabien@gcc.gnu.org>
552 * parser.c (cp_parser_using_declaration): Add a warning about
553 deprecated access declarations when no errors were encountered
554 while parsing the access declaration. Save the first token in
555 order to emit the warning at the right place.
557 Copyright (C) 2012 Free Software Foundation, Inc.
559 Copying and distribution of this file, with or without modification,
560 are permitted in any medium without royalty provided the copyright
561 notice and this notice are preserved.