1. 23 Dec, 2004 1 commit
  2. 22 Dec, 2004 5 commits
  3. 21 Dec, 2004 4 commits
    • re PR c++/18984 (ICE in check_pointer_types_r) · af76441f
      2004-12-21  Andrew Pinski  <pinskia@physics.uc.edu>
      
              PR c++/18984
              * pointer-set.c (pointer_set_contains): Add back.
              * pointer-set.h (pointer_set_contains): Add back.
      
      2004-12-21  Andrew Pinski  <pinskia@physics.uc.edu>
      
              PR c++/18984
              * cp-gimplify.c (cp_genericize_r): Don't insert first but instead
              check to see if contains the pointer.  Insert the statement before
              returning.
      
      2004-12-21  Andrew Pinski  <pinskia@physics.uc.edu>
      
              PR C++/18984
              * g++.dg/eh/ctor3.C: New test.
      
      From-SVN: r92470
      Andrew Pinski committed
    • re PR c++/14075 (("foo") accepted as char[] initializer) · 7a8380ae
      cp:
      	PR c++/14075
      	* decl.c (check_initializer): Check string initializer of array is
      	not parenthesized.
      	* cp-tree.h (PAREN_STRING_LITERAL_P): New.
      	* semantics.c (finish_parenthesized_expr): Mark a STRING_CST.
      	* error.c (dump_expr): <STRING_CST case> Add parens, if needed.
      testsuite:
      	PR c++/14075
      	* g++.dg/init/string1.C: New.
      
      From-SVN: r92464
      Nathan Sidwell committed
    • system.c (IN_RANGE): Use plain unsigned, not unsigned HOST_WIDE_INT. · 38b3627d
      	* system.c (IN_RANGE): Use plain unsigned, not unsigned
      	HOST_WIDE_INT.
      	* tree.def (VOID_TYPE, INTEGER_TYPE, REAL_TYPE, COMPLEX_TYPE,
      	VECTOR_TYPE, OFFSET_TYPE, ENUMERAL_TYPE, BOOLEAN_TYPE, CHAR_TYPE,
      	POINTER_TYPE, REFERENCE_TYPE, METHOD_TYPE, FUNCTION_TYPE,
      	FILE_TYPE, ARRAY_TYPE, RECORD_TYPE, UNION_TYPE,
      	QUAL_UNION_TYPE): Reorder for better code efficiency.
      	(CONST_DECL, TYPE_DECL, VAR_DECL, FIELD_DECL, PARM_DECL): Likewise.
      	(INDIRECT_REF, ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF): Likewise.
      	* tree.h (INDIRECT_REF_P): Reorder checks for better optimization.
      	(IS_EXPR_CODE_CLASS): Use IN_RANGE.
      	(INTEGRAL_TYPE_P, FLOAT_TYPE_P): Reorder checks for better
      	optimization.
      
      	* cp/cp-tree.def (TEMPLATE_TYPE_PARM,
      	BOUND_TEMPLATE_TEMPLATE_PARM, TYPE_OF_TYPE, TYPENAME_TYPE): Reorder
      	for better code efficiency.
      	* cp/cp-tree.h (CLASS_TYPE_P): Short circuit IS_AGGR_TYPE check.
      	(CAN_HAVE_FULL_LANG_DECL_P): Reorder for better optimization.
      	(INTEGRAL_CODE_P, CP_INTEGRAL_TYPE_P,
      	INTEGRAL_OR_ENUMERATION_TYPE_P, SCALAR_TYPE_P,
      	CP_AGGREGATE_TYPE_P, TYPE_PTROB_P, TYPE_REF_OBJ_P,
      	TYPE_PTROBV_P): Likewise.
      
      From-SVN: r92463
      Nathan Sidwell committed
    • re PR c++/18975 (Copying objects with mutable non-static data members) · fd749a60
      cp:
      	PR c++/18975
      	* method.c (do_build_copy_constructor): Refactor. Don't const
      	qualify a mutable field.
      	(do_build_assign_ref): Likewise.
      testsuite:
      	PR c++/18975
      	* g++.dg/other/synth1.C: New.
      
      From-SVN: r92461
      Nathan Sidwell committed
  4. 20 Dec, 2004 2 commits
  5. 17 Dec, 2004 3 commits
  6. 16 Dec, 2004 1 commit
    • re PR c++/18905 (Strange error: subscripted value is neither array nor pointer) · 8a784e4a
      cp:
      	PR c++/18905
      	* cp-tree.h (integral_constant_value): Declare.
      	* call.c (null_ptr_cst_p): Use integral_constant_value, not
      	decl_constant_value.
      	(convert_like_real): Likewise.
      	* class.c (check_bitfield_decl): Likewise.
      	* cvt.c (ocp_convert): Likewise.
      	(convert): Remove unnecessary decl_constant_value call.
      	* decl.c (compute_array_index_type): Use integral_constant_value,
      	not decl_constant_value.
      	(build_enumerator): Likewise.
      	* decl2.c (grokfield): Likewise.
      	* init.c (decl_constant_value): Simplify.
      	(integral_constant_value): New.
      	* pt.c (fold_decl_constant_value): Use integral_constant_value,
      	remove subsequent check.
      	(tsubst): Use integral_constant_value, not decl_constant_value.
      	(tsubst_copy, unify): Likewise.
      	* typeck.c (decay_conversion): Likewise.
      	(build_compound_expr): Remove unnecessary decl_constant_value
      	calls.
      	(build_static_cast_1, build_reinterpret_cast_1):
      	(convert_for_assignment): Remove comment about not calling
      	decl_constant_value.
      testsuite:
      	PR c++/18905
      	* g++.dg/template/init4.C: New.
      	* g++.dg/opt/static3.C: Enable optimizer.
      
      From-SVN: r92257
      Nathan Sidwell committed
  7. 15 Dec, 2004 3 commits
  8. 14 Dec, 2004 6 commits
  9. 12 Dec, 2004 1 commit
  10. 10 Dec, 2004 1 commit
  11. 09 Dec, 2004 5 commits
  12. 08 Dec, 2004 3 commits
    • typeck.c: Remove DOS line endings. · 8a21aa30
      2004-12-08  Kelley Cook  <kcook@gcc.gnu.org>
      
      	* typeck.c: Remove DOS line endings.
      
      From-SVN: r91919
      Kelley Cook committed
    • re PR c++/18100 (template member with same name as class not rejected) · 4104f0f4
      	PR c++/18100
      	* decl.c (lookup_and_check_tag): Diagnose nested class with
      	the same name as enclosing class.
      
      	* g++.dg/lookup/name-clash4.C: New test.
      
      From-SVN: r91866
      Kriang Lerdsuwanakij committed
    • re PR c++/18803 (rejects access to operator() in template) · db24eb1f
      cp:
      	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.
      testsuite:
      	PR c++/18803
      	* g++.dg/template/operator5.C: New.
      
      From-SVN: r91863
      Nathan Sidwell committed
  13. 07 Dec, 2004 4 commits
  14. 04 Dec, 2004 1 commit
    • PR c++/17011, c++/17971 · bad1f462
      	PR c++/17011, c++/17971
      	* pt.c (tsubst_copy) <FIELD_DECL case>: Check and diagnose
      	invalid field.
      	(tsubst_copy_and_build) <COMPONENT_REF case>: Check
      	error_mark_node after member substitution.
      	* semantics.c (finish_id_expression): Call
      	finish_non_static_data_member for non-dependent FIELD_DECL.
      
      	* g++.dg/template/error15.C: Adjust expected error.
      	* g++.dg/template/instantiate3.C: Likewise.
      
      From-SVN: r91720
      Kriang Lerdsuwanakij committed