OSDN Git Service

2005-10-28 Andrew Pinski <pinskia@physics.uc.edu>
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index 51089eb..d2ec158 100644 (file)
@@ -1,3 +1,147 @@
+2005-10-28  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR C++/23426
+       * decl.c (start_decl): Check that the decl is an
+       error_mark_node before getting the type.
+       Remove the check for the decl's type being an
+       error_mark_node.  
+
+2005-10-21  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/24260
+       * parser.c (cp_parser_init_declarator): Pass attributes to
+       grokfield. 
+
+2005-10-20  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/22618
+       * search.c (accessible_p): Check access in the outermost set of
+       template parameters.
+
+2005-10-20  Richard Guenther  <rguenther@suse.de>
+
+       * decl.c (grokdeclarator): Fix ambiguous pedwarn message.
+
+2005-10-18  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c++/22293
+       * decl.c (grokdeclarator): Reject unqualified destructors in
+       friend declarations.
+
+2005-10-18  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/23293
+       * pt.c (convert_template_argument): Use canonical type variants in
+       template specializations.
+
+2005-10-18  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/21383
+       * name-lookup.c (arg_assoc): Template args can be null in a
+       template-id-expr.
+
+       PR c++/22604
+       * class.c (update_vtable_entry_for_fn): Don't process invalid
+       covariant overriders.
+
+       PR c++/23118
+       * cp-tree.h (add_method): Add return value.
+       * class.c (add_method): Return success indicator.
+       * semantics.c (finish_member_declaration): Don't add an invalid
+       method to the method list.
+
+2005-10-17  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/21908
+       * call.c (build_new_method_call): Do not show VTT parameters to
+       the user.
+
+2005-10-17  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c++/23440
+       * parser.c (cp_parser_statement): If the parser reached CPP_EOF,
+       only complain about missing statement.
+
+2005-10-17  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/24386
+       * cp-tree.h (BASELINK_QUALIFIED_P): New.
+       * pt.c (tsubst_copy_and_build): <CALL_EXPR case>: Use it.
+       * typeck.c (finish_class_member_access_expr): Set it.
+
+       PR c++/21353
+       * decl.c (check_default_argument): Don't check
+       processing_template_decl or uses_template_parms here.
+       (grokparms): Only call check_default_argument when not processing
+       a template decl.
+       * parser.c (cp_parser_late_parsing_default_arg): Call
+       check_default_argument when not processing a template decl.
+
+2005-10-16  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/24389
+       * decl2.c (mark_used): Use uses_template_parms instead of
+       dependent_type_p.
+       * init.c (constant_value_1): Handle uninstantiated templates
+       specially.
+       * pt.c (instantiate_decl): Add sanity check.
+
+2005-10-16  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/22173
+       * typeck.c (check_template_keyword): Fix thinko.
+               
+2005-10-16  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR c++/23959
+       * decl.c (pop_switch): Only call c_do_switch_warnings
+       when not processing templates.
+
+2005-10-16  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/22173
+       * cp-tree.h (QUALIFIED_NAME_IS_TEMPLATE): New macro.
+       (check_template_keyword): New function.
+       (finish_id_expression): Change prototoype.
+       (finish_qualified_id_expr): Change prototype.
+       (build_qualified_name): New function.
+       (finish_class_member_access_expr): Change prototype.
+       * init.c (build_offset_ref): Use build_qualified_name.
+       * mangle.c (write_expression): Likewise.
+       * parser.c (cp_parser_primary_expression): Remove qualifying_class
+       parameter.  Add address_p and template_arg_p.  Use
+       build_qualified_name.
+       (cp_parser_id_expression): Default *template_p to
+       template_keyword_p.  Check for invalid uses of the template
+       keyword.  
+       (cp_parser_postfix_expression): Eliminate special handling for
+       qualified names.  Adjust call to cp_parser_primary_expression.
+       (cp_parser_postfix_dot_deref_expression): Adjust call to
+       cp_parser_id_expression and finish_class_member_access_expr.
+       (cp_parser_template_argument_list): Add comment.
+       (cp_parser_template_argument): Adjust use of
+       cp_parser_primary_expression.  Remove call to
+       finish_qualified_id_expr.
+       (cp_parser_lookup_name): Use build_qualified_name. 
+       * pt.c (tsubst): Use build_qualified_name.
+       (tsubst_qualified_id): Likewise.  Adjust call to
+       finish_qualified_id_expr.
+       (tsubst_copy): Use build_qualified_name.
+       (tsubst_copy_and_build): Adjusts call to finish_id_expression and
+       finish_class_member_access_expr. 
+       * semantics.c (finish_non_static_data_member): Use
+       build_qualified_name.
+       (finish_qualified_id_expr): Add template_p and template_arg_p
+       parameters. 
+       (finish_id_expression): Remove qualifiying_class parameter.  Add
+       template_p, done, address_p, and template_arg_p.  Use
+       build_qualified_name.  Adjust calls to
+       finish_class_member_acess_expr.  
+       * tree.c (build_qualified_name): New function.
+       * typeck.c (check_template_keyword): New function.
+       (finish_class_member_access_expr): Add template_p argument.  Check
+       for invalid uses of the template keyword.
+
 2005-10-15  Mark Mitchell  <mark@codesourcery.com>
 
        PR c++/21347