- 23 Dec, 2004 1 commit
-
-
PR c++/18733 * pt.c (check_explicit_specialization): Use special logic to validate befriended specializations. PR c++/18733 * g++.dg/template/friend33.C: New testcase. From-SVN: r92527
Giovanni Bajo committed
-
- 22 Dec, 2004 5 commits
-
-
From-SVN: r92504
Mark Mitchell committed -
PR c++/18464 * call.c (build_this): In templates, do not bother with build_unary_op. * typeck.c (unary_complex_lvalue): In a template, always refuse simplifications. PR c++/18492 * cp-gimplify.c (cp_genericize): Relax assertion. PR c++/11224 * cvt.c (convert_to_void): Warn about unused values. PR c++/18257 * rtti.c (emit_support_tinfos): On systems without weak symbols, emit the runtime library type-info objects as non-COMDAT. PR c++/18464 * g++.dg/template/cond5.C: New test. PR c++/18492 * g++.dg/inherit/thunk3.C: New test. PR c++/11224 * g++.dg/warn/Wunused-9.C: New test. From-SVN: r92491
Mark Mitchell committed -
PR c++/18378 * call.c (convert_like_real): Do not permit the use of a copy constructor to copy a packed field. PR c++/17413 * decl.c (grokdeclarator): Return error_mark_node, not void_type_node, to indicate errors. * parser.c (cp_parser_template_parameter_list): Robustify. (cp_parser_template_parameter): Likewise. PR c++/19034 * tree.c (cp_tree_equal): Handle OVERLOAD. PR c++/18378 * g++.dg/ext/packed8.C: New test. PR c++/13268 * g++.dg/template/crash31.C: New test. PR c++/19034 * g++.dg/template/crash30.C: New test. From-SVN: r92486
Mark Mitchell committed -
* decl.c (define_label): Use POP_TIMEVAR_AND_RETURN. * name-lookup.c (pushdecl_class_level): Likewise. From-SVN: r92485
Volker Reichelt committed -
From-SVN: r92484
Volker Reichelt committed
-
- 21 Dec, 2004 4 commits
-
-
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 -
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. * 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 -
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
-
- 20 Dec, 2004 2 commits
-
-
PR c++/19044 * c-common.c (set_builtin_user_assembler_name): New. * c-common.h (set_builtin_user_assembler_name): Declare. * c-decl.c (finish_decl): Use set_builtin_user_assembler_name * decl.c (make_rtl_for_nonlocal_decl): Use set_builtin_user_assembler_name * g++.dg/ext/builtin6.C: New From-SVN: r92428
Matt Austern committed -
* cp-tree.h (note_decl_for_pch): New function. * class.c (build_clone): Call note_decl_for_pch. * semantics.c (finish_member_declaration): Likewise. (note_decl_for_pch): New function. From-SVN: r92402
Mark Mitchell committed
-
- 17 Dec, 2004 3 commits
-
-
* init.c (build_zero_init): max_index is the number of elements, minus 1. From-SVN: r92323
Steven Bosscher committed -
From-SVN: r92317
Nathan Sidwell committed -
cp: PR c++/17821 * class.c (add_method): Do not push conversion operators into a binding level. * cp-tree.h (CLASSTYPE_PRIMARY_TEMPLATE_TYPE): Reformat. * error.c (dump_decl): <TYPE_DECL case> Remove extraneous braces. testsuite: PR c++/17821 * g++.dg/lookup/conv-5.C: New. From-SVN: r92316
Nathan Sidwell committed
-
- 16 Dec, 2004 1 commit
-
-
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
-
- 15 Dec, 2004 3 commits
-
-
PR c++/18825 * pt.c (instantiate_class_template): Set input_location for friend function. (tsubst_friend_function): Don't set input_location here. Make sure the context is complete if necessary. * g++.dg/template/friend32.C: New test. From-SVN: r92200
Kriang Lerdsuwanakij committed -
cp: PR c++/18981 * parser.c (cp_parser_lookup_name): Remove unneeded TYPENAME_TYPE flag setting. testsuite: PR 18981 * g++.dg/template/typename9.C: New test. From-SVN: r92184
Nathan Sidwell committed -
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. PR c++/18738 * g++.dg/template/typename8.C: New test. * g++.dg/parse/friend2.C: Tweak error message. From-SVN: r92172
Mark Mitchell committed
-
- 14 Dec, 2004 6 commits
-
-
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 Andrew Pinski <pinskia@physics.uc.edu> PR c++/18965 * g++.dg/init/array17.C: New test. From-SVN: r92158
Andrew Pinski committed -
PR c++/18793 * cp-objcp-common.c (cp_expr_size): Loosen assertion. PR c++/18793 * g++.dg/init/aggr3.C: New test. From-SVN: r92156
Mark Mitchell committed -
cp: 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. testsuite: PR c++/18949 * g++.dg/template/cast1.C: New. From-SVN: r92136
Nathan Sidwell committed -
* 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. From-SVN: r92133
Volker Reichelt committed -
2004-12-13 Andrew Pinski <pinskia@physics.uc.edu> PR c++/18968 * g++.dg/opt/pr18968.C: New test. 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. From-SVN: r92121
Andrew Pinski committed -
PR c++/18925 * class.c (layout_class_type): Determine the visibility of static data members. PR c++/18925 * g++.dg/ext/visibility/staticdatamem.C: New test. From-SVN: r92120
Mark Mitchell committed
-
- 12 Dec, 2004 1 commit
-
-
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. From-SVN: r92067
Roger Sayle committed
-
- 10 Dec, 2004 1 commit
-
-
PR c++/18731 * parser.c (cp_parser_class_head): Reject typedef-name in class head. * g++.dg/parser/struct-1.C: New test. * g++.dg/parser/struct-2.C: New test. * g++.dg/parser/struct-3.C: New test. From-SVN: r91993
Volker Reichelt committed
-
- 09 Dec, 2004 5 commits
-
-
re PR c++/18514 (Alternate "asm" name ignored for redeclared builtin function imported into namespace std) PR c++/18514 * name-lookup.c (do_nonmember_using_decl): A real function declaration takes precedence over an anticipated declaration. * g++.dg/ext/builtin1.C: New * g++.dg/ext/builtin2.C: New * g++.dg/ext/builtin3.C: New * g++.dg/ext/builtin4.C: New * g++.dg/ext/builtin5.C: New From-SVN: r91972
Matt Austern committed -
From-SVN: r91970
Volker Reichelt committed -
gcc/cp/ChangeLog: PR c++/18757 * parser.c (cp_parser_template_id): Don't create a CPP_TEMPLATE_ID if parsing failed. gcc/testsuite/ChangeLog: * g++.dg/parse/typename5.C: Adjust for new error. * g++.dg/parse/typename7.C: New. From-SVN: r91935
Alexandre Oliva committed -
PR c++/18073 * typeck.c (build_reinterpret_cast_1): Allow cast from vector type. * g++.dg/other/mmintrin.C: New test. From-SVN: r91929
Volker Reichelt committed -
cp: PR c++/16681 * init.c (build_zero_init): Build a RANGE_EXPR for an array initializer. testsuite: PR c++/16681 * g++.dg/init/array15.C: New. * g++.dg/init/array16.C: New. From-SVN: r91928
Nathan Sidwell committed
-
- 08 Dec, 2004 3 commits
-
-
2004-12-08 Kelley Cook <kcook@gcc.gnu.org> * typeck.c: Remove DOS line endings. From-SVN: r91919
Kelley Cook committed -
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 -
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
-
- 07 Dec, 2004 4 commits
-
-
[gcc/ChangeLog] 2004-12-07 Ziemowit Laski <zlaski@apple.com> * c-tree.h (struct lang_type): Rename 'objc_protocols' field to 'objc_info'. [gcc/cp/ChangeLog] 2004-12-07 Ziemowit Laski <zlaski@apple.com> * cp-tree.h (struct lang_type_class): Rename 'objc_protocols' field to 'objc_info'. From-SVN: r91833
Ziemowit Laski committed -
gcc/ * c-common.c, expr.c, fold-const.c, print-tree.c, tree-gimple.c, tree-inline.c, tree-pretty-print.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c: Replace uses of first_rtl_op with TREE_CODE_LENGTH. * tree.c (first_rtl_op): Remove. Replace uses of first_rtl_op with TREE_CODE_LENGTH. * tree.h: Remove the prototype for first_rtl_op. gcc/cp/ * pt.c: Replace a use of first_rtl_op with TREE_CODE_LENGTH. From-SVN: r91818
Kazu Hirata committed -
* name-lookup.c (leave_scope): We only need to update class_binding_level when leaving a class scope. From-SVN: r91807
Roger Sayle committed -
[gcc/ChangeLog] 2004-12-06 Ziemowit Laski <zlaski@apple.com> * c-tree.h (struct lang_type): Add 'objc_protocols' field. [gcc/cp/ChangeLog] 2004-12-06 Ziemowit Laski <zlaski@apple.com> * cp-tree.h (struct lang_type_class): Add 'objc_protocols' field. From-SVN: r91803
Ziemowit Laski committed
-
- 04 Dec, 2004 1 commit
-
-
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
-