OSDN Git Service

PR c++/10771
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index e773b79..de5c714 100644 (file)
@@ -1,3 +1,141 @@
+2003-12-03  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/10771
+       * parser.c (cp_parser_check_for_invalid_template_id): New
+       function.
+       (cp_parser_simple_type_specifier): Use it.
+       (cp_parser_elaborated_type_specifier): Likewise.
+       (cp_parser_class_head): Likewise.
+
+2003-12-02  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+
+       PR c++/10126\r
+       * pt.c (convert_nontype_argument): Handle default conversions\r
+       while converting a pointer to member function.\r
+
+2003-12-02  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+
+       PR c++/12573\r
+       * pt.c (value_dependent_expression_p): Handle COMPONENT_REFs by\r
+       looking into them recursively.\r
+
+2003-12-02  Richard Henderson  <rth@redhat.com>
+
+       * name-lookup.h (struct cp_binding_level): Use ENUM_BITFIELD.
+        * parser.c (struct cp_token): Likewise.   
+        (struct cp_parser_token_tree_map_node): Likewise.
+       * lex.c (struct resword): Move const after ENUM_BITFIELD.
+
+2003-11-30  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/9849
+       * parser.c (cp_lexer_prev_token): New function.
+       (cp_parser_skip_to_closing_parenthesis): Add consume_paren
+       parameter.
+       (cp_parser_nested_name_specifier_opt): Add is_declaration
+       parameter.
+       (cp_parser_nested_name_specifier): Likewise.
+       (cp_parser_class_or_namespace_name): Likewise.
+       (cp_parser_class_name): Likewise.
+       (cp_parser_template_id): Likewise.
+       (cp_parser_template_name): Likewise.
+       (cp_parser_id_expression): Adjust calls to
+       cp_parser_nested_name_specifier_op, cp_parser_template_id,
+       cp_parser_class_name.
+       (cp_parser_unqualified_id): Likewise.
+       (cp_parser_postfix_expression): Likewise.
+       (cp_parser_pseudo_destructor_name): Likewise.
+       (cp_parser_cast_expression): Likewise.
+       (cp_parser_mem_initializer_id): Likewise.
+       (cp_parser_simple_type_specifier): Likewise.
+       (cp_parser_type_name): Likewise.
+       (cp_parser_elaborated_type_specifier): Likewise.
+       (cp_parser_qualified_namespace_specifier): Likewise.
+       (cp_parser_using_declaration): Likewise.
+       (cp_parser_using_directive): Likewise.
+       (cp_parser_ptr_operator): Likewise.
+       (cp_parser_declarator_id): Likewise.
+       (cp_parser_class_head): Likewise.
+       (cp_parser_base_specifier): Likewise.
+       (cp_parser_constructor_declarator_p): Likewise.
+       (cp_parser_direct_declarator): Fix typo in comment.
+       (cp_parser_parenthesized_expression_list): Adjust call to
+       cp_parser_skip_to_closing_parenthesis.
+       (cp_parser_selection_statement): Likewise.
+
+2003-11-23  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/12924
+       * typeck.c (finish_class_member_access_expr): Handle TEMPLATE_ID_EXPR
+       with OVERLOAD and DECL nodes as the first operand.
+
+2003-11-22  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * pt.c (tsubst) <ARRAY_REF>: Remove erroneous argument to build_nt.
+
+2003-11-22  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/5369
+       * friend.c (is_friend): Handle member function of a class
+       template as template friend.
+       (do_friend): Likewise.
+       * decl2.c (check_classfn): Add template_header_p parameter.
+       * decl.c (start_decl): Adjust check_classfn call.
+       (grokfndecl): Likewise.
+       * pt.c (is_specialization_of_friend): New function.
+       (uses_template_parms_level): Likewise.
+       (push_template_decl_real): Use uses_template_parms_level.
+       (tsubst_friend_function): Adjust check_classfn call.
+       * cp-tree.h (check_classfn): Adjust declaration.
+       (uses_template_parms_level): Add declaration.
+       (is_specialization_of_friend): Likewise.
+
+2003-11-21  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/12515
+       * pt.c (build_non_dependent_expr): Handle GNU extension to ?:
+       operator.
+
+2003-11-21  Jan Hubicka  <jh@suse.cz>
+
+       * parser.c (cp_parser_postfix_expression): Initialize 's' to
+       NULL_TREE.
+
+2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * Make-lang.in (c++.extraclean): Delete.
+
+2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * Make-lang.in (check-g++, lang_checks): Add.
+
+2003-11-18  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/12932
+       * class.c (currently_open_derived_class): Check if
+       current_class_type is NULL_TREE.
+       * semantics.c (finish_call_expr): Check if
+       currently_open_derived_class returns NULL_TREE.
+       * cp-tree.h (DERIVED_FROM_P): Add parenthesis around PARENT
+       parameter.
+
+2003-11-17  Jason Merrill  <jason@redhat.com>
+
+       * init.c (build_new_1): Preevaluate placement args.
+       * call.c (build_op_delete_call): Don't expose placement args to
+       overload resolution.
+
+2003-11-16  Jason Merrill  <jason@redhat.com>
+
+       * Make-lang.in (c++.tags): Create TAGS.sub files in each directory
+       and TAGS files that include them for each front end.
+
+2003-11-15  Bernardo Innocenti  <bernie@develer.com>
+
+       PR c++/2294
+       * name-lookup.c: Revert previous patch for PR c++/2294 to prevent
+       build failure on libjava.
+
 2003-11-14  Giovanni Bajo  <giovannibajo@libero.it>
 
         PR c++/2294