1 2012-04-13 Jason Merrill <jason@redhat.com>
4 * pt.c (any_pack_expanson_args_p): New.
5 (coerce_template_parms): Use it.
7 2012-04-11 Jason Merrill <jason@redhat.com>
10 * decl.c (check_tag_decl): Don't complain about attributes if we
11 don't even have a type.
13 2012-04-05 Jason Merrill <jason@redhat.com>
16 * tree.c (lvalue_kind): Treat a deferred access control SCOPE_REF
19 2012-04-03 Jason Merrill <jason@redhat.com>
22 * pt.c (tsubst_initializer_list): A pack expansion with no elements
23 means value-initialization.
25 2012-03-29 Meador Inge <meadori@codesourcery.com>
28 * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
29 stripped child trees that are not pointer types.
31 2012-03-29 Paolo Carlini <paolo.carlini@oracle.com>
34 * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant
35 warn for a zero as null pointer constant default argument.
37 2012-03-29 Jason Merrill <jason@redhat.com>
40 * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P.
42 2012-03-29 Jakub Jelinek <jakub@redhat.com>
45 * decl.c (start_decl): Don't call maybe_apply_pragma_weak
46 if processing_template_decl.
48 2012-03-29 Jason Merrill <jason@redhat.com>
51 * call.c (compare_ics): Handle ck_aggr like ck_list.
53 2012-03-28 Jason Merrill <jason@redhat.com>
56 * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
57 we didn't get an explicit scope.
58 * pt.c (tsubst_baselink): Likewise.
60 2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
63 * class.c (check_field_decls): Call literal_type_p only
66 2012-03-22 Jakub Jelinek <jakub@redhat.com>
69 * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
70 on CLASS_TYPE_P types.
72 2012-03-22 Jason Merrill <jason@redhat.com>
75 * method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
77 2012-03-22 Jakub Jelinek <jakub@redhat.com>
79 Backported from mainline
80 2012-03-14 Jakub Jelinek <jakub@redhat.com>
83 * parser.c (lookup_literal_operator): Return fn only if
84 processed all arguments from args vector and argtypes is
87 2012-03-22 Release Manager
91 2012-03-20 Jason Merrill <jason@redhat.com>
93 * mangle.c (write_type): Handle 'auto'.
94 * init.c (build_new): Don't do auto deduction where it might
95 affect template mangling.
97 2012-03-07 Jason Merrill <jason@redhat.com>
100 * mangle.c (write_literal_operator_name): The length comes after the
103 2012-02-29 Jason Merrill <jason@redhat.com>
106 * decl.c (check_tag_decl): Move warning for misplaced attributes here.
107 (shadow_tag): From here.
108 * parser.c (cp_parser_explicit_instantiation): Don't warn here.
110 2012-02-21 Jakub Jelinek <jakub@redhat.com>
113 * typeck.c (check_literal_operator_args): Initialize *long_double_p
114 and *long_long_unsigned_p even if processing_template_decl.
116 2012-02-16 Jason Merrill <jason@redhat.com>
119 * decl.c (define_label): Use timevar_cond_start/stop.
121 2012-02-16 Fabien ChĂȘne <fabien@gcc.gnu.org>
124 * decl.c (xref_basetypes): call dependent_scope_p instead of
127 2012-02-16 Jason Merrill <jason@redhat.com>
130 * error.c (dump_expr): Handle lambda closures specifically.
132 2012-02-14 Jason Merrill <jason@redhat.com>
134 * parser.c (cp_parser_explicit_instantiation): Give a warning
135 for ignored attributes on explicit class instantiation.
137 2012-02-14 Jakub Jelinek <jakub@redhat.com>
140 * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
141 lookup_label on label's name and set TREE_USED.
143 2012-02-14 Jason Merrill <jason@redhat.com>
146 * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
148 2012-02-14 Jakub Jelinek <jakub@redhat.com>
151 * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
152 newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
154 2012-02-07 Jason Merrill <jason@redhat.com>
157 * semantics.c (cx_check_missing_mem_inits): Handle unions.
158 Fix constexpr default constructor logic.
161 * pt.c (tsubst): Strip uninstantiated typedef.
163 2012-02-06 Jason Merrill <jason@redhat.com>
166 * cvt.c (build_expr_type_conversion): Check for template conversion.
168 2012-01-31 Jason Merrill <jason@redhat.com>
171 * cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
172 * pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
173 (tsubst_pack_expansion): Check it.
175 2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
178 * class.c (explain_non_literal_class): Correctly handle implicitly
179 deleted constructors.
181 2012-01-27 Jakub Jelinek <jakub@redhat.com>
184 * pt.c (tsubst_pack_expansion): Delete and restore
185 local_specialization whenever need_local_specialization, not just
186 when saved_local_specializations is non-NULL.
188 2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
191 * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
192 as TREE_OPERAND (t, 1).
194 2012-01-24 Jason Merrill <jason@redhat.com>
197 * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
200 * tree.c (called_fns_equal): Check template args.
201 (cp_tree_equal): Call it.
203 2012-01-24 Aldy Hernandez <aldyh@redhat.com>
204 Patrick Marlier <patrick.marlier@gmail.com>
207 * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
208 thunk for set_one_vmethod_tm_attributes.
210 2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
213 * call.c (build_over_call): Check for error_mark_node as
214 TREE_VALUE when default arguments are processed.
216 2012-01-23 Jason Merrill <jason@redhat.com>
219 * decl2.c (determine_visibility): Check for visibility attribute
220 on template specialization.
222 2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
225 * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
227 2012-01-23 Jason Merrill <jason@redhat.com>
230 * class.c (add_method): Set OVL_USED for using-decls.
231 * tree.c (ovl_scope): New.
232 * cp-tree.h: Declare it.
233 * parser.c (cp_parser_template_name): Use it.
234 * semantics.c (baselink_for_fns): Likewise.
235 * name-lookup.c (set_inherited_value_binding_p): Likewise.
237 2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
240 * pt.c (lookup_template_class_1): Check context returned by
241 tsubst for error_mark_node.
243 2012-01-19 Kai Tietz <ktietz@redhat.com>
246 * decl2.c (save_template_attributes): Use merge_attributes
247 instead of chaining up via TREE_CHAIN.
249 2012-01-19 Jason Merrill <jason@redhat.com>
252 * class.c (finish_struct): Call add_method here for function usings.
253 * semantics.c (finish_member_declaration): Not here.
255 2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
258 * typeck2.c (store_init_value): Within a template guard
259 cxx_constant_value with require_potential_constant_expression.
260 * pt.c (convert_nontype_argument): Likewise.
262 2012-01-16 Jakub Jelinek <jakub@redhat.com>
265 * mangle.c (write_template_arg_literal): Handle complex.
267 2012-01-16 Jason Merrill <jason@redhat.com>
270 * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
273 * typeck.c (build_static_cast_1): Handle bit-fields properly.
275 2012-01-13 Ian Lance Taylor <iant@google.com>
278 * typeck.c (enum_cast_to_int): New static function.
279 (cp_build_binary_op): When handling warn_sign_compare, don't test
280 for TREE_NO_WARNING. Do call enum_cast_to_int.
281 * call.c (avoid_sign_compare_warnings): Remove static function.
282 (build_new_op_1): Don't call avoid_sign_compare_warnings.
284 2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
286 * decl2.c: Do not include tree-mudflap.h
287 * semantics.c: Likewise.
289 2012-01-13 Jason Merrill <jason@redhat.com>
292 * semantics.c (finish_break_stmt): Avoid adding an unreachable
296 * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
297 when reducing the visibility.
300 * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
302 2012-01-12 Jason Merrill <jason@redhat.com>
305 * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
308 2012-01-13 Dodji Seketeli <dodji@redhat.com>
311 * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
312 Set the pointer to the last block of the constructor to the
314 (build_constexpr_constructor_member_initializers): Get
315 build_data_member_initialization a chance to deal with more
316 statements before we choke.
318 2012-01-12 Jason Merrill <jason@redhat.com>
321 * mangle.c (write_expression): Mangle BASELINK scope if
322 BASELINK_QUALIFIED_P.
323 * search.c (adjust_result_of_qualified_name_lookup): Set
324 BASELINK_QUALIFIED_P.
325 * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
326 * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
327 adjust_result_of_qualified_name_lookup for non-qualified names.
330 * pt.c (unify): Handle error_mark_node.
332 2012-01-11 Jason Merrill <jason@redhat.com>
335 * call.c (standard_conversion): For ptrmemfuncs, compare the
339 * mangle.c (find_substitution): A type is only a substitution
340 match if we're looking for a type.
341 (write_nested_name): Use decl_mangling_context.
343 * decl.c (decls_match): Assert that the arguments are decls.
346 * pt.c (resolve_overloaded_unification): Compare types with
347 same_type_p, not decls_match.
349 2012-01-10 Jason Merrill <jason@redhat.com>
352 * class.c (build_base_path): Diagnose ambiguous base.
355 * semantics.c (cxx_eval_call_expression): Always retry previously
356 non-constant expressions.
358 2012-01-06 Jason Merrill <jason@redhat.com>
362 * parser.c (cp_parser_new_expression): Set
363 type_definition_forbidden_message.
369 * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
370 THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and
372 (write_template_arg): Fix mangling of class-scope functions and
374 (mangle_decl): Update suggested -fabi-version argument.
375 * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
376 DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
377 * tree.c (dependent_name): No longer static.
378 * cp-tree.h: Declare it.
379 * pt.c (unify): Defer handling of unconverted functions.
381 * mangle.c (mangle_decl): Don't generate mangling aliases
382 for maybe-in-charge [cd]tors.
384 * error.c (dump_expr): Print type of CONSTRUCTOR.
386 2012-01-05 Dodji Seketeli <dodji@redhat.com>
389 * parser.c (cp_parser_alias_declaration): Get out early upon
390 errors in the identifier or the attributes.
392 2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
395 * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
396 the tree returned by build_x_binary_op.
398 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
401 * parser.c (cp_parser_postfix_open_square_expression): Handle
402 postfix-expression [ braced-init-list ].
404 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
407 * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
408 call decay_conversion on v.
410 2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
413 * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
414 declaration followed by specialization.
416 2012-01-03 Jakub Jelinek <jakub@redhat.com>
419 * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
420 on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
422 2012-01-02 Jason Merrill <jason@redhat.com>
426 * method.c (walk_field_subobs): Don't check for uninitialized
428 (synthesized_method_walk): Check here.
432 * parser.c (cp_parser_cache_defarg): Split out...
433 (cp_parser_parameter_declaration): ...from here.
434 (cp_parser_save_nsdmi): Use it.
435 (cp_parser_cache_group): Remove CPP_COMMA support.
437 2012-01-02 Dodji Seketeli <dodji@redhat.com>
440 * semantics.c (cx_check_missing_mem_inits): Don't assert in case
443 2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
446 * typeck2.c (digest_init_r): Use copy_init when initializing
449 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
452 * decl.c (build_enumerator): Don't call perform_integral_promotions
455 2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
458 * typeck.c (build_reinterpret_cast_1): Implement resolution of
461 2012-01-01 Fabien ChĂȘne <fabien@gcc.gnu.org>
463 * parser.c (cp_parser_using_declaration): Add a warning about
464 deprecated access declarations when no errors were encountered
465 while parsing the access declaration. Save the first token in
466 order to emit the warning at the right place.
468 Copyright (C) 2012 Free Software Foundation, Inc.
470 Copying and distribution of this file, with or without modification,
471 are permitted in any medium without royalty provided the copyright
472 notice and this notice are preserved.