1 2010-03-20 Simon Martin <simartin@users.sourceforge.net>
4 * decl2.c (grokfield): Handle invalid initializers for member
7 2010-03-20 Dodji Seketeli <dodji@redhat.com>
10 * method.c (make_alias_for): Avoid crashing when DECL_LANG_SPECIFIC
12 * decl2.c (vague_linkage_p): Likewise.
14 2010-03-18 Paolo Carlini <paolo.carlini@oracle.com>
17 * parser.c (cp_parser_for_init_statement): Use NULL_TREE, not
18 false, in the cp_parser_expression_statement call.
20 2010-03-05 Jason Merrill <jason@redhat.com>
22 * mangle.c (mangle_decl): Give name collision error even without
25 2010-03-04 Marco Poletti <poletti.marco@gmail.com>
27 * pt.c (process_partial_specialization): Use error_n instead of
30 2010-03-03 Jason Merrill <jason@redhat.com>
33 * mangle.c (mangle_decl): Handle VAR_DECL, too.
35 2010-03-03 Jason Merrill <jason@redhat.com>
38 * mangle.c: Include cgraph.h.
39 (mangle_decl): If the mangled name will change in a later
40 ABI version, make the later mangled name an alias.
41 * method.c (make_alias_for): Copy DECL_ARGUMENTS.
42 * Make-lang.in (mangle.o): Depend on cgraph.h.
43 * method.c (make_alias_for): Handle VAR_DECL, too.
44 * decl2.c (vague_linkage_p): Rename from vague_linkage_fn_p.
45 * tree.c (no_linkage_check): Adjust.
46 * decl.c (maybe_commonize_var): Adjust.
49 2010-03-01 Marco Poletti <poletti.marco@gmail.com>
51 * pt.c (redeclare_class_template): Use error_n and inform_n.
53 2010-02-27 Mark Mitchell <mark@codesourcery.com>
56 * cp-tree.h (push_tinst_level): Declare.
57 (pop_tinst_level): Likewise.
58 * pt.c (push_tinst_level): Give it external linkage.
59 (pop_tinst_level): Likewise.
60 * mangle.c (mangle_decl_string): Set the source location to that
61 of the decl while mangling.
63 2010-02-27 Simon Martin <simartin@users.sourceforge.net>
66 * pt.c (redeclare_class_template): Return false if there are erroneous
69 2010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
71 * pt.c (push_tinst_level): Replace -ftemplate-depth- with
74 2010-02-24 Jason Merrill <jason@redhat.com>
77 * mangle.c (write_type): Give -Wabi warning for old vector mangling.
79 * class.c (layout_class_type): Don't give -Wabi warning for a bug
80 in a previous ABI version.
82 2010-02-23 Jason Merrill <jason@redhat.com>
85 * typeck2.c (digest_init_r): Accept value init of array.
87 2010-02-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
90 * typeck.c (convert_arguments): Update error message.
92 2010-02-22 Mike Stump <mikestump@comcast.net>
95 * decl.c (duplicate_decls): Merge DECL_PRESERVE_P.
97 2010-02-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
100 * error.c (print_instantiation_partial_context_line): New.
101 (print_instantiation_partial_context): Print at most 12 contexts,
102 skip the rest with a message.
104 2010-02-21 Dodji Seketeli <dodji@redhat.com>
107 * pt.c (lookup_template_class): Better support of specialization
108 of member of class template implicit instantiation.
110 2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
113 * call.c (conversion_null_warnings): Replace -Wconversion with
115 * cvt.c (build_expr_type_conversion): Likewise.
117 2010-02-18 Jason Merrill <jason@redhat.com>
120 * class.c (create_vtable_ptr): Set DECL_PACKED if type is packed.
123 * typeck.c (cp_build_binary_op): Adapt mixed complex/non handling from
125 * cp-tree.h (WANT_VECTOR_OR_COMPLEX): Rename from WANT_VECTOR.
126 * cvt.c (build_expr_type_conversion): Allow COMPLEX_TYPE.
129 * semantics.c (finish_goto_stmt): Don't call decay_conversion.
133 * pt.c (tsubst_qualified_id): Do normal lookup in non-dependent scope.
134 (maybe_update_decl_type): New fn.
135 * parser.c (cp_parser_init_declarator): Use it.
138 * semantics.c (begin_class_definition): Don't crash on unnamed ns.
140 2010-02-17 Jason Merrill <jason@redhat.com>
143 * call.c (build_over_call): Don't create zero-sized assignments.
144 * cp-gimplify.c (cp_genericize_r): Don't remove them here.
145 * cp-objcp-common.c (cp_expr_size): Remove.
146 * cp-tree.h: Remove prototype.
149 * name-lookup.c (set_decl_namespace): Don't copy DECL_CONTEXT if the
150 decl we looked up doesn't match.
153 * cp-gimplify.c (cp_gimplify_expr) [INIT_EXPR]: Return if we don't
154 have an INIT_EXPR anymore.
157 * pt.c (convert_nontype_argument): Change assert to test.
159 2010-02-16 Jason Merrill <jason@redhat.com>
161 * cp-gimplify.c (cp_gimplify_expr): Fix error recovery.
164 * cp-gimplify.c (cp_gimplify_expr) [MODIFY_EXPR]: Use
165 VIEW_CONVERT_EXPR for conversions between structural equality types
166 that the back end can't tell are the same.
169 * tree.c (build_cplus_array_type): Set TYPE_MAIN_VARIANT to strip
170 cv-quals from element here.
171 (cp_build_qualified_type_real): Not here. Preserve typedef name.
173 2010-02-14 Jason Merrill <jason@redhat.com>
176 * semantics.c (finish_compound_literal): Use
177 cp_apply_type_quals_to_decl when creating a static variable.
179 2010-02-12 Jason Merrill <jason@redhat.com>
182 * name-lookup.h (current_binding_level): Check for null
185 2010-02-12 Jason Merrill <jason@redhat.com>
188 * tree.c (cp_tree_equal): Correct CALL_EXPR logic.
190 2010-02-12 Jakub Jelinek <jakub@redhat.com>
193 * name-lookup.c (pushdecl_maybe_friend): Check default args of t
196 2010-02-10 Jason Merrill <jason@redhat.com>
199 * semantics.c (outer_lambda_capture_p): Revert.
200 (add_capture): Only finish_member_declaration if
201 we're in the lambda class.
202 (register_capture_members): New.
203 * cp-tree.h: Declare it.
204 * parser.c (cp_parser_lambda_expression): Call it.
206 2010-02-10 Jason Merrill <jason@redhat.com>
209 * semantics.c (outer_lambda_capture_p): Use current_function_decl
210 instead of current_class_type.
212 2010-02-10 Jason Merrill <jason@redhat.com>
214 PR c++/42983, core issue 906
215 * method.c (defaultable_fn_check): Check virtualness.
217 2010-02-10 Jason Merrill <jason@redhat.com>
220 * semantics.c (maybe_add_lambda_conv_op): Set DECL_INTERFACE_KNOWN.
222 2010-02-10 Shujing Zhao <pearly.zhao@oracle.com>
224 * Make-lang.in (cp/cvt.o, cp/parser.o, cp/search.o): Depend on intl.h.
225 * cvt.c (warn_ref_binding): Wrap the messages into G_() for easy
227 * parser.c (cp_parser_postfix_expression, cp_parser_new_type_id)
228 (cp_parser_cast_expression, cp_parser_condition, cp_parser_decltype)
229 (cp_parser_parameter_declaration)
230 (cp_parser_exception_specification_opt)
231 (cp_parser_exception_declaration): Likewise.
232 * pt.c (check_default_tmpl_args): Likewise.
233 * search.c (lookup_field_r): Likewise.
235 2010-02-09 Jason Merrill <jason@redhat.com>
238 * pt.c (tsubst_copy_and_build): Propagate LAMBDA_EXPR_LOCATION.
240 2010-02-09 Jason Merrill <jason@redhat.com>
243 * decl2.c (change_return_type): New fn.
244 * semantics.c (apply_lambda_return_type): Use it.
245 * cp-tree.h: Declare it.
247 2010-02-05 Richard Guenther <rguenther@suse.de>
249 * Make-lang.in (cp/cp-lang.o): Depend on gt-cp-cp-lang.h.
250 * cp-lang.c: Include gt-cp-cp-lang.h.
251 * config-lang.in (gtfiles): Add cp/cp-lang.c.
253 2010-02-05 Dodji Seketeli <dodji@redhat.com>
256 * typeck.c (get_template_parms_of_dependent_type): Try getting
257 the template parameters fromt the type itself first.
259 2010-02-03 Jason Merrill <jason@redhat.com>
263 * mangle.c (write_unqualified_id): Split out from write_expression.
264 (write_unqualified_name): Call it.
265 (write_member_name): Likewise.
266 (write_expression): Support TEMPLATE_ID_EXPR.
267 Disambiguate operator names.
270 * mangle.c (write_type) [VECTOR_TYPE]: Change mangling with
273 2010-02-02 Jason Merrill <jason@redhat.com>
276 * decl.c (cp_finish_decl): Add local statics to cfun->local_decls.
277 * optimize.c (clone_body): Remap their initializers when making base
279 (maybe_clone_body): Complain if multiple clones aren't safe.
281 2010-01-29 Dodji Seketeli <dodji@redhat.com>
288 * cp-tree.h (NON_DEFAULT_TEMPLATE_ARGS_COUNT,
289 SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT,
290 GET_NON_DEFAULT_TEMPLATE_ARGS_COUNT): New accessor macros.
291 * pt.c (coerce_template_parms, type_unification_real,
292 expand_template_argument_pack, coerce_template_parameter_pack):
293 Set the non default template args count.
294 (current_template_args): Always set non defaulted
295 template args count when compiled with --enable-checking
296 (tsubst_template_args, type_unification_real): Propagate the non
297 defaulted template args count.
298 * error.c (get_non_default_template_args_count): Renamed
299 count_non_default_template_args into this. Don't calculate the
300 non default template argument count anymore. Use the new
301 accessor macros above to get it.
302 (dump_template_argument_list, dump_type, dump_decl,
303 dump_template_parms): Adjust.
304 * parser.c (cp_parser_template_argument_list): Always set defaulted
305 template args count when compiled with --enable-checking.
307 2010-01-29 Shujing Zhao <pearly.zhao@oracle.com>
309 * decl.c (redeclaration_error_message): Wrap the return messages into
310 G_() for easy translation.
312 2010-01-28 Jason Merrill <jason@redhat.com>
315 * semantics.c (begin_class_definition): Don't use type_as_string.
317 2010-01-28 Dodji Seketeli <dodji@redhat.com>
321 * typeck.c (get_template_parms_of_dependent_type): Factorized
322 this out of incompatible_template_type_parms_p
323 (incompatible_dependent_types_p): Renamed
324 incompatible_template_type_parms_p into this. Make it detect
325 two incompatible dependent typedefs too.
326 (structural_comptypes): Use incompatible_dependent_types_p.
327 * pt.c (get_template_info):
328 Handle BOUND_TEMPLATE_TEMPLATE_PARAM.
330 2010-01-20 Janis Johnson <janis187@us.ibm.com>
331 Jason Merrill <jason@redhat.com>
333 * mangle.c (write_type): Mangle transparent record as member type.
334 * semantics.c (begin_class_definition): Recognize decimal classes
335 and set TYPE_TRANSPARENT_AGGR.
337 2010-01-20 Jason Merrill <jason@redhat.com>
340 * mangle.c (write_expression): Handle tree codes that have extra
341 arguments in the middle-end.
343 2010-01-20 Paolo Carlini <paolo.carlini@oracle.com>
346 * except.c (expand_start_catch_block): Deal correctly with
347 do_begin_catch returning error_mark_node.
349 2010-01-20 Jason Merrill <jason@redhat.com>
352 * class.c (layout_class_type): Set packed_maybe_necessary for packed
356 * semantics.c (build_lambda_object): Call mark_used on captured
360 * decl.c (grokdeclarator): Clear type_quals for a member function
361 declared using a typedef. Don't complain about adding cv-quals
362 to a function typedef in C++0x mode.
364 2010-01-20 Jakub Jelinek <jakub@redhat.com>
366 * decl.c (create_array_type_for_decl): Remove set but not used
367 variable error_msg. Remove break stmts after return stmts.
369 2010-01-19 Dodji Seketeli <dodji@redhat.com>
371 * error.c (dump_template_parms, count_non_default_template_args):
372 Revert fix of PR c++/42634.
374 2010-01-18 Dodji Seketeli <dodji@redhat.com>
377 * error.c (dump_template_parms): Use innermost template
378 arguments before calling count_non_default_template_args.
379 (count_non_default_template_args): We are being called with
380 template innermost arguments now. There is no need to ensure
383 2010-01-18 Dodji Seketeli <dodji@redhat.com>
386 * cvt.c (build_expr_type_conversion): Look through OVERLOAD.
388 2010-01-17 Dodji Seketeli <dodji@redhat.com>
391 *pt.c (tsubst_decl): Revert commit for PR c++/42697.
393 2010-01-17 Dodji Seketeli <dodji@redhat.com>
396 *pt.c (tsubst_decl): Get the arguments of a specialization from
397 the specialization template, not from the most general template.
399 2010-01-16 Jason Merrill <jason@redhat.com>
402 * semantics.c (finish_decltype_type): Within a template, treat
403 unresolved CALL_EXPR as dependent.
405 2010-01-15 Dodji Seketeli <dodji@redhat.com>
407 * error.c (dump_template_parms,count_non_default_template_args):
408 Revert changes of PR c++/42634.
410 2010-01-14 Jakub Jelinek <jakub@redhat.com>
413 * decl.c (finish_function): Don't emit -Wreturn-type warnings in
414 functions with noreturn attribute.
416 2010-01-14 Jason Merrill <jason@redhat.com>
419 * call.c (build_new_method_call): Don't free the vec here.
422 * call.c (convert_like_real): Do full decay_conversion for ck_rvalue.
424 2010-01-13 Dodji Seketeli <dodji@redhat.com>
427 * error.c (dump_template_parms): Use innermost template
428 arguments before calling count_non_default_template_args.
429 (count_non_default_template_args): We are being called with
430 template innermost arguments now. There is no need to ensure
433 2010-01-07 Dodji Seketeli <dodji@redhat.com>
436 * pt.c (unify_pack_expansion): In non-deduced contexts, re-use template
437 arguments that were previously deduced.
439 2010-01-05 Jason Merrill <jason@redhat.com>
441 * pt.c (unify_pack_expansion): Handle deduction from init-list.
442 * call.c (build_over_call): Don't complain about it.
444 2010-01-04 Jason Merrill <jason@redhat.com>
447 * pt.c (tsubst_decl): Don't apply type attributes in place.
450 * semantics.c (describable_type): Remove decltype comment and
455 Copyright (C) 2010 Free Software Foundation, Inc.
457 Copying and distribution of this file, with or without modification,
458 are permitted in any medium without royalty provided the copyright
459 notice and this notice are preserved.