OSDN Git Service

cp:
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index 16c854c..a879f4e 100644 (file)
@@ -1,3 +1,169 @@
+2004-12-15  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/18981
+       * parser.c (cp_parser_lookup_name): Remove unneeded TYPENAME_TYPE
+       flag setting.
+
+2004-12-14  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/18738
+       * decl.c (make_typename_type): Do not handle namespace-scoped
+       names here.
+       (tag_name): Handle typename_type.
+       (check_elaborated_type_specifier): Handle typenames.
+       * parser.c (cp_parser_diagnose_invalid_type_name): Improve
+       comment.
+       (cp_parser_elaborated_type_specifier): Use
+       cp_parser_diagnose_invalid_type_name.
+
+2004-12-14  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR c++/18965
+       * init.c (build_zero_init): If the max_index is 0, there is no
+       need to create a RANGE_EXPR.
+
+2004-12-14  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/18793
+       * cp-objcp-common.c (cp_expr_size): Loosen assertion.
+
+2004-12-14  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/18949
+       * pt.c (tsubst_copy_and_build): <INDIRECT_REF case> Check that a
+       REFERENCE_REF_P is dereferencing a reference type.
+       * typeck.c (build_static_cast): Convert from reference even in a
+       template.
+       (build_reinterpret_cast, build_const_cast, build_c_cast): Likewise.
+
+2004-12-14  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * parser.c (cp_parser_uncommitted_to_tentative_parse_p): New function.
+       (cp_parser_name_lookup_error): Use it.
+       (cp_parser_check_for_invalid_template_id): Likewise.
+       (cp_parser_skip_to_closing_parenthesis): Likewise.
+       (cp_parser_nested_name_specifier_opt): Likewise.
+       (cp_parser_simple_declaration, cp_parser_template_id): Likewise.
+       (cp_parser_parameter_declaration_list): Likewise.
+       (cp_parser_parameter_declaration): Likewise.
+       (cp_parser_template_name): Let cp_parser_simulate_error perform
+       the checking.
+       (cp_parser_committed_to_tentative_parse): Remove.
+
+2004-12-13  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR c++/18968
+       * class.c (build_base_path): Convert the zero constant to the correct
+       type when comparing.
+
+2004-12-13  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/18925
+       * class.c (layout_class_type): Determine the visibility of static
+       data members.
+
+2004-12-12  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/12454
+       * cp-gimplify.c (gimplify_if_stmt): Optimize the case where the
+       condition is a constant and the unexecuted clause is empty.
+
+2004-12-10  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c++/18731
+       * parser.c (cp_parser_class_head): Reject typedef-name in class head.
+
+2004-12-09  Matt Austern  <austern@apple.com>
+
+       PR c++/18514
+       * name-lookup.c (do_nonmember_using_decl): A real function
+       declaration takes precedence over an anticipated declaration.
+       
+2004-12-09  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * parser.c (cp_parser_member_declaration): Fix comment typo.
+
+2004-12-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR c++/18757
+       * parser.c (cp_parser_template_id): Don't create a CPP_TEMPLATE_ID
+       if parsing failed.
+
+2004-12-09  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c++/18073
+       * typeck.c (build_reinterpret_cast_1): Allow cast from vector type.
+
+2004-12-09  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/16681
+       * init.c (build_zero_init): Build a RANGE_EXPR for an array
+       initializer.
+
+2004-12-08  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * typeck.c: Remove DOS line endings.
+
+2004-12-08  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/18100
+       * decl.c (lookup_and_check_tag): Diagnose nested class with 
+       the same name as enclosing class.
+
+2004-12-08  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/18803
+       * cp-tree.h (REFERENCE_REF_P): New.
+       (CPTI_TYPE_INFO_TYPE): Rename to ...
+       (CPTI_CONST_TYPE_INFO_TYPE): ... here.
+       (CPTI_TYPE_INFO_REF_TYPE): Remove.
+       (type_info_type_node): Rename to ...
+       (const_type_info_type_node): ... here.
+       (type_info_ref_type): Remove.
+       * call.c (build_user_type_conversion): Reformat.
+       (resolve_args): Do not convert_from_reference.
+       (build_object_call): Call convert_from_reference.
+       (prep_operand): Do not convert_from_reference.
+       (build_new_method_call): Likewise.
+       * class.c (build_vfield_ref): Likewise.
+       * cvt.c (convert_to_reference): Likewise.
+       (convert_from_reference): Build INDIRECT_REF here, not with
+       build_indirect_ref.
+       (convert_force): Do not convert_from_reference.
+       (build_expr_type_conversion): Likewise.
+       * decl.c (grok_reference_init): Likewise.
+       * decl2.c (delete_sanity): Likewise.
+       * except.c (initialize_handler_parm): Use POINTER_TYPE_P.
+       * init.c (build_dtor_call): Do not convert_from_reference.
+       * parser.c (cp_parser_template_argument): Unwrap indirected
+       reference. Allow TEMPLATE_PARM_INDEX as an object parm.
+       * pt.c (tsubst_copy_and_build) <case INDIRECT_REF>: Use
+       convert_from_reference, if indicated.
+       <case CALL_EXPR>: Do not convert_from_reference.
+       <case PARM_DECL, VAR_DECL>: Convert_from_reference if needed.
+       (tsubst_initializer_list): Do not convert_from_reference.
+       * rtti.c (init_rtti_processing): Adjust node creation.
+       (throw_bad_typeid): Use const_type_info_type_node.
+       Do not convert_from_reference.
+       (typeid_ok_p): Use const_type_info_type_node.
+       (build_typeid, get_typeid): Always return type_info typed node.
+       (build_dynamic_cast_1): Dont convert_from_reference. Refactor.
+       * semantics.c (finish_stmt_expr_expr): Do not
+       convert_from_reference.
+       (finish_id_expression): Convert_from_reference as appropriate.
+       * typeck.c (decay_conversion): Do not convert_from_reference.
+       (finish_class_member_access_expr): Likewise.
+       (build_indirect_ref): Use POINTER_TYPE_P.
+       (convert_arguments): Do not convert_from_reference.
+       (build_modify_expr): Likewise.
+       (convert_for_initialization): Likewise.
+       * typeck2.c (build_x_arrow): Likewise.
+
+2004-12-07  Ziemowit Laski  <zlaski@apple.com>
+
+       * cp-tree.h (struct lang_type_class): Rename 'objc_protocols'
+       field to 'objc_info'.
+
 2004-12-07  Kazu Hirata  <kazu@cs.umass.edu>
 
        * pt.c: Replace a use of first_rtl_op with TREE_CODE_LENGTH.