1 2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
4 * parser.c (cp_parser_member_declaration): Check that
5 initializer_token_start is non null before dereferencing it.
7 2012-04-16 Jason Merrill <jason@redhat.com>
10 * pt.c (determine_specialization): Instead of comparing the number
11 of parms, check that tsubst gives the right answer.
14 * pt.c (convert_template_argument): Handle template template
18 * pt.c (tsubst_pack_expansion): Use tsubst_expr for template
21 2012-04-15 Jason Merrill <jason@redhat.com>
25 * pt.c (coerce_template_parms): Even if we aren't converting we
26 want to expand argument packs.
28 2012-04-15 Fabien Chêne <fabien@gcc.gnu.org>
31 * parser.c (cp_parser_class_name): Call strip_using_decl and
32 return the target decl.
33 * name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
34 to be stripped is NULL_TREE.
35 (qualify_lookup): Call strip_using_decl and perform some checks on
38 2012-04-13 Jason Merrill <jason@redhat.com>
41 * pt.c (any_pack_expanson_args_p): New.
42 (coerce_template_parms): Use it.
44 2012-04-11 Jason Merrill <jason@redhat.com>
47 * decl.c (check_tag_decl): Don't complain about attributes if we
48 don't even have a type.
50 2012-04-05 Jason Merrill <jason@redhat.com>
53 * tree.c (lvalue_kind): Treat a deferred access control SCOPE_REF
56 2012-04-03 Jason Merrill <jason@redhat.com>
59 * pt.c (tsubst_initializer_list): A pack expansion with no elements
60 means value-initialization.
62 2012-03-29 Meador Inge <meadori@codesourcery.com>
65 * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
66 stripped child trees that are not pointer types.
68 2012-03-29 Paolo Carlini <paolo.carlini@oracle.com>
71 * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant
72 warn for a zero as null pointer constant default argument.
74 2012-03-29 Jason Merrill <jason@redhat.com>
77 * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P.
79 2012-03-29 Jakub Jelinek <jakub@redhat.com>
82 * decl.c (start_decl): Don't call maybe_apply_pragma_weak
83 if processing_template_decl.
85 2012-03-29 Jason Merrill <jason@redhat.com>
88 * call.c (compare_ics): Handle ck_aggr like ck_list.
90 2012-03-28 Jason Merrill <jason@redhat.com>
93 * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
94 we didn't get an explicit scope.
95 * pt.c (tsubst_baselink): Likewise.
97 2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
100 * class.c (check_field_decls): Call literal_type_p only
103 2012-03-22 Jakub Jelinek <jakub@redhat.com>
106 * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
107 on CLASS_TYPE_P types.
109 2012-03-22 Jason Merrill <jason@redhat.com>
112 * method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
114 2012-03-22 Jakub Jelinek <jakub@redhat.com>
116 Backported from mainline
117 2012-03-14 Jakub Jelinek <jakub@redhat.com>
120 * parser.c (lookup_literal_operator): Return fn only if
121 processed all arguments from args vector and argtypes is
124 2012-03-22 Release Manager
126 * GCC 4.7.0 released.
128 2012-03-20 Jason Merrill <jason@redhat.com>
130 * mangle.c (write_type): Handle 'auto'.
131 * init.c (build_new): Don't do auto deduction where it might
132 affect template mangling.
134 2012-03-07 Jason Merrill <jason@redhat.com>
137 * mangle.c (write_literal_operator_name): The length comes after the
140 2012-02-29 Jason Merrill <jason@redhat.com>
143 * decl.c (check_tag_decl): Move warning for misplaced attributes here.
144 (shadow_tag): From here.
145 * parser.c (cp_parser_explicit_instantiation): Don't warn here.
147 2012-02-21 Jakub Jelinek <jakub@redhat.com>
150 * typeck.c (check_literal_operator_args): Initialize *long_double_p
151 and *long_long_unsigned_p even if processing_template_decl.
153 2012-02-16 Jason Merrill <jason@redhat.com>
156 * decl.c (define_label): Use timevar_cond_start/stop.
158 2012-02-16 Fabien Chêne <fabien@gcc.gnu.org>
161 * decl.c (xref_basetypes): call dependent_scope_p instead of
164 2012-02-16 Jason Merrill <jason@redhat.com>
167 * error.c (dump_expr): Handle lambda closures specifically.
169 2012-02-14 Jason Merrill <jason@redhat.com>
171 * parser.c (cp_parser_explicit_instantiation): Give a warning
172 for ignored attributes on explicit class instantiation.
174 2012-02-14 Jakub Jelinek <jakub@redhat.com>
177 * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
178 lookup_label on label's name and set TREE_USED.
180 2012-02-14 Jason Merrill <jason@redhat.com>
183 * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
185 2012-02-14 Jakub Jelinek <jakub@redhat.com>
188 * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
189 newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
191 2012-02-07 Jason Merrill <jason@redhat.com>
194 * semantics.c (cx_check_missing_mem_inits): Handle unions.
195 Fix constexpr default constructor logic.
198 * pt.c (tsubst): Strip uninstantiated typedef.
200 2012-02-06 Jason Merrill <jason@redhat.com>
203 * cvt.c (build_expr_type_conversion): Check for template conversion.
205 2012-01-31 Jason Merrill <jason@redhat.com>
208 * cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
209 * pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
210 (tsubst_pack_expansion): Check it.
212 2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
215 * class.c (explain_non_literal_class): Correctly handle implicitly
216 deleted constructors.
218 2012-01-27 Jakub Jelinek <jakub@redhat.com>
221 * pt.c (tsubst_pack_expansion): Delete and restore
222 local_specialization whenever need_local_specialization, not just
223 when saved_local_specializations is non-NULL.
225 2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
228 * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
229 as TREE_OPERAND (t, 1).
231 2012-01-24 Jason Merrill <jason@redhat.com>
234 * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
237 * tree.c (called_fns_equal): Check template args.
238 (cp_tree_equal): Call it.
240 2012-01-24 Aldy Hernandez <aldyh@redhat.com>
241 Patrick Marlier <patrick.marlier@gmail.com>
244 * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
245 thunk for set_one_vmethod_tm_attributes.
247 2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
250 * call.c (build_over_call): Check for error_mark_node as
251 TREE_VALUE when default arguments are processed.
253 2012-01-23 Jason Merrill <jason@redhat.com>
256 * decl2.c (determine_visibility): Check for visibility attribute
257 on template specialization.
259 2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
262 * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
264 2012-01-23 Jason Merrill <jason@redhat.com>
267 * class.c (add_method): Set OVL_USED for using-decls.
268 * tree.c (ovl_scope): New.
269 * cp-tree.h: Declare it.
270 * parser.c (cp_parser_template_name): Use it.
271 * semantics.c (baselink_for_fns): Likewise.
272 * name-lookup.c (set_inherited_value_binding_p): Likewise.
274 2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
277 * pt.c (lookup_template_class_1): Check context returned by
278 tsubst for error_mark_node.
280 2012-01-19 Kai Tietz <ktietz@redhat.com>
283 * decl2.c (save_template_attributes): Use merge_attributes
284 instead of chaining up via TREE_CHAIN.
286 2012-01-19 Jason Merrill <jason@redhat.com>
289 * class.c (finish_struct): Call add_method here for function usings.
290 * semantics.c (finish_member_declaration): Not here.
292 2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
295 * typeck2.c (store_init_value): Within a template guard
296 cxx_constant_value with require_potential_constant_expression.
297 * pt.c (convert_nontype_argument): Likewise.
299 2012-01-16 Jakub Jelinek <jakub@redhat.com>
302 * mangle.c (write_template_arg_literal): Handle complex.
304 2012-01-16 Jason Merrill <jason@redhat.com>
307 * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
310 * typeck.c (build_static_cast_1): Handle bit-fields properly.
312 2012-01-13 Ian Lance Taylor <iant@google.com>
315 * typeck.c (enum_cast_to_int): New static function.
316 (cp_build_binary_op): When handling warn_sign_compare, don't test
317 for TREE_NO_WARNING. Do call enum_cast_to_int.
318 * call.c (avoid_sign_compare_warnings): Remove static function.
319 (build_new_op_1): Don't call avoid_sign_compare_warnings.
321 2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
323 * decl2.c: Do not include tree-mudflap.h
324 * semantics.c: Likewise.
326 2012-01-13 Jason Merrill <jason@redhat.com>
329 * semantics.c (finish_break_stmt): Avoid adding an unreachable
333 * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
334 when reducing the visibility.
337 * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
339 2012-01-12 Jason Merrill <jason@redhat.com>
342 * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
345 2012-01-13 Dodji Seketeli <dodji@redhat.com>
348 * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
349 Set the pointer to the last block of the constructor to the
351 (build_constexpr_constructor_member_initializers): Get
352 build_data_member_initialization a chance to deal with more
353 statements before we choke.
355 2012-01-12 Jason Merrill <jason@redhat.com>
358 * mangle.c (write_expression): Mangle BASELINK scope if
359 BASELINK_QUALIFIED_P.
360 * search.c (adjust_result_of_qualified_name_lookup): Set
361 BASELINK_QUALIFIED_P.
362 * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
363 * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
364 adjust_result_of_qualified_name_lookup for non-qualified names.
367 * pt.c (unify): Handle error_mark_node.
369 2012-01-11 Jason Merrill <jason@redhat.com>
372 * call.c (standard_conversion): For ptrmemfuncs, compare the
376 * mangle.c (find_substitution): A type is only a substitution
377 match if we're looking for a type.
378 (write_nested_name): Use decl_mangling_context.
380 * decl.c (decls_match): Assert that the arguments are decls.
383 * pt.c (resolve_overloaded_unification): Compare types with
384 same_type_p, not decls_match.
386 2012-01-10 Jason Merrill <jason@redhat.com>
389 * class.c (build_base_path): Diagnose ambiguous base.
392 * semantics.c (cxx_eval_call_expression): Always retry previously
393 non-constant expressions.
395 2012-01-06 Jason Merrill <jason@redhat.com>
399 * parser.c (cp_parser_new_expression): Set
400 type_definition_forbidden_message.
406 * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
407 THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and
409 (write_template_arg): Fix mangling of class-scope functions and
411 (mangle_decl): Update suggested -fabi-version argument.
412 * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
413 DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
414 * tree.c (dependent_name): No longer static.
415 * cp-tree.h: Declare it.
416 * pt.c (unify): Defer handling of unconverted functions.
418 * mangle.c (mangle_decl): Don't generate mangling aliases
419 for maybe-in-charge [cd]tors.
421 * error.c (dump_expr): Print type of CONSTRUCTOR.
423 2012-01-05 Dodji Seketeli <dodji@redhat.com>
426 * parser.c (cp_parser_alias_declaration): Get out early upon
427 errors in the identifier or the attributes.
429 2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
432 * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
433 the tree returned by build_x_binary_op.
435 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
438 * parser.c (cp_parser_postfix_open_square_expression): Handle
439 postfix-expression [ braced-init-list ].
441 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
444 * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
445 call decay_conversion on v.
447 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
450 * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
451 declaration followed by specialization.
453 2012-01-03 Jakub Jelinek <jakub@redhat.com>
456 * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
457 on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
459 2012-01-02 Jason Merrill <jason@redhat.com>
463 * method.c (walk_field_subobs): Don't check for uninitialized
465 (synthesized_method_walk): Check here.
469 * parser.c (cp_parser_cache_defarg): Split out...
470 (cp_parser_parameter_declaration): ...from here.
471 (cp_parser_save_nsdmi): Use it.
472 (cp_parser_cache_group): Remove CPP_COMMA support.
474 2012-01-02 Dodji Seketeli <dodji@redhat.com>
477 * semantics.c (cx_check_missing_mem_inits): Don't assert in case
480 2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
483 * typeck2.c (digest_init_r): Use copy_init when initializing
486 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
489 * decl.c (build_enumerator): Don't call perform_integral_promotions
492 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
495 * typeck.c (build_reinterpret_cast_1): Implement resolution of
498 2012-01-01 Fabien Chêne <fabien@gcc.gnu.org>
500 * parser.c (cp_parser_using_declaration): Add a warning about
501 deprecated access declarations when no errors were encountered
502 while parsing the access declaration. Save the first token in
503 order to emit the warning at the right place.
505 Copyright (C) 2012 Free Software Foundation, Inc.
507 Copying and distribution of this file, with or without modification,
508 are permitted in any medium without royalty provided the copyright
509 notice and this notice are preserved.