- 03 Jan, 2005 1 commit
-
-
PR c++/14136 * parser.c (cp_parser_unqualified_id): Do not issue error message for typedef-name as destructor declarator when performing an uncommitted tentative parse. From-SVN: r92859
Volker Reichelt committed
-
- 01 Jan, 2005 2 commits
-
-
* emit-rtl.c (add_insn_before): Fix comment typo. PR middle-end/17544 * c-decl.c (finish_function): If compiling C99, annotate the compiler generated return with the current file name and line 0. * tree-cfg.c (remove_useless_stmts_warn_notreached): Only warn if the source line is greater than 0. (remove_bb): Likewise. cp/ PR middle-end/17544 * decl.c (finish_function): Fix comment. Annotate the compiler generated return with the current file name and line 0. testsuite/ * gcc.dg/20041231-1.C: New test. * g++.dg/warn/Wunreachable-code-1.C: New test. From-SVN: r92784
Steven Bosscher committed -
PR middle-end/17799 * function.c (use_register_for_decl): Check DECL_IGNORED_P instead of DECL_ARTIFICIAL. (assign_parms_augmented_arg_list): Set DECL_IGNORED_P. * c-decl.c (build_compound_literal): Likewise. * dwarf2asm.c (dw2_force_const_mem): Likewise. * gimplify.c (create_artificial_label): Likewise. * tree-inline.c (expand_call_inline): Likewise. * var-tracking.c (vt_initialize): Likewise. * tree-outof-ssa.c (create_temp): Copy DECL_IGNORED_P. cp/ * call.c (make_temporary_var_for_ref_to_temp): Set DECL_IGNORED_P. * class.c (build_vtable): Don't conditionallize setting it based on DWARF2_DEBUG. (layout_class_type): Set DECL_IGNORED_P. * decl2.c (get_guard): Likewise. * rtti.c (get_tinfo_decl, build_lang_decl): Likewise. * tree.c (build_local_temp): Likewise. From-SVN: r92781
Richard Henderson committed
-
- 30 Dec, 2004 2 commits
-
-
* cp-tree.h (cp_declarator): Split "name" field into qualifying_scope and unqualified_name. * decl.c (get_scope_of_declarator): Adjust accordingly. (grokdeclarator): Likewise. * decl2.c (grokfield): Likewise, and adjust call to do_class_using_decl. * name-lookup.c (do_class_using_decl): Split "decl" into "scope" and "name". Remove unnecessary code. * name-lookup.h (do_class_using_decl): Adjust declaration. * parser.c (make_id_declarator): Split "id" into qualifying_scope and unqualified_name. (cp_parser_using_declaration): Adjust call to do_class_using_decl. (cp_parser_direct_declarator): Adjust to handle the fact that cp_parser_declarator_id no longer returns a SCOPE_REF. (cp_parser_direct_declarator): Likewise. (cp_parser_declarator_id): Do not create a SCOPE_REF for qualified names. (cp_parser_member_declaration): Adjust call to make_id_declarator. (cp_parser_check_declarator_template_parameters): Do not expect a SCOPE_REF. * decl.c (duplicate_decls): Call ggc_free on declarations we will not be needing any longer. From-SVN: r92746
Mark Mitchell committed -
PR c++/19190 * cvt.c (convert_to_void): Do not use STRIP_NOPs. PR c++/19190 * g++.dg/warn/Wunused-10.C: New test. From-SVN: r92721
Mark Mitchell committed
-
- 29 Dec, 2004 1 commit
-
-
PR inline-asm/15740 * gimplify.c (gimplify_asm_expr): Move resolve asm names ... * c-typeck.c (build_asm_expr): ... here. Validate input constraints. Mark memory inputs addressable. * semantics.c (finish_asm_stmt): Resolve asm names. Validate input constraints. Mark memory inputs addressable. From-SVN: r92693
Richard Henderson committed
-
- 28 Dec, 2004 1 commit
-
-
libstdc++: Add memory barriers to the double-checked locking used for static initialization. * libsupc++/guard.cc (__test_and_acquire): Define default. (_GLIBCXX_GUARD_TEST_AND_ACQUIRE, __set_and_release) (_GLIBCXX_GUARD_SET_AND_RELEASE): Likewise. (recursion_push, recursion_pop): New abstraction functions. (__cxa_guard_acquire): Use _GLIBCXX_GUARD_TEST_AND_ACQUIRE. (__cxa_guard_release): Use _GLIBCXX_GUARD_SET_AND_RELEASE. * config/cpu/generic/cxxabi_tweaks.h (_GLIBCXX_GUARD_TEST): Rename from _GLIBCXX_GUARD_ACQUIRE and reverse sense. (_GLIBCXX_GUARD_SET): Rename from _GLIBCXX_GUARD_RELEASE. * config/cpu/arm/cxxabi_tweaks.h: Likewise. * config/cpu/alpha/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER) (_GLIBCXX_WRITE_MEM_BARRIER): Define. * config/cpu/powerpc/atomic_word.h: Likewise. * config/cpu/sparc/atomic_word.h: Likewise. * config/cpu/generic/atomic_word.h: Define them, commented out. * include/bits/atomicity.h: Define defaults. * config/cpu/ia64/atomic_word.h (__test_and_acquire) (__set_and_release): New inlines. (_GLIBCXX_GUARD_TEST_AND_ACQUIRE): Define. (_GLIBCXX_GUARD_SET_AND_RELEASE): Define. * libsupc++/guard.cc (acquire_1): Use __builtin_trap instead of abort(); gcc: * doc/tm.texi (TARGET_RELAXED_ORDERING): Document. * target.h (struct gcc_target): Add relaxed_ordering field. * target-def.h (TARGET_RELAXED_ORDERING): Define default. (TARGET_INITIALIZER): Add it. * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Define. * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Define. * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Define. * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define. * cp/decl.c (expand_static_init): Don't use shortcut if targetm.relaxed_ordering. From-SVN: r92659
Jason Merrill committed
-
- 27 Dec, 2004 1 commit
-
-
PR c++/19149 * decl.c (check_tag_decl): Robustify. PR c++/19149 * g++.dg/parse/error23.C: New test. From-SVN: r92648
Mark Mitchell committed
-
- 23 Dec, 2004 6 commits
-
-
PR c++/17595 * parser.c (cp_parser_error): Issue better messages about #pragma in locations where it is not permitted. From-SVN: r92572
Mark Mitchell committed -
PR c++/17413 * pt.c (check_instantiated_args): Remove bogus SFINAE code. PR c++/17413 * g++.dg/template/local4.C: New test. * g++.dg/template/crash19.C: Add dg-error marker. From-SVN: r92562
Mark Mitchell committed -
From-SVN: r92557
Mark Mitchell committed -
From-SVN: r92556
Mark Mitchell committed -
gcc/cp/ChangeLog: PR c++/18962 * pt.c (check_explicit_specialization): Use the argument list from the definition in a template function specialization definition. gcc/testsuite/ChangeLog: * g++.dg/template/spec19.C: New. From-SVN: r92552
Alexandre Oliva committed -
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
-