Commit Graph

70858 Commits

Author SHA1 Message Date
Andrew Pinski
af8e89081e darwin.md (movdf_low_si): Mark the outgoing r constraint as early clobber.
2005-09-13  Andrew Pinski  <pinskia@physics.uc.edu>

        * config/rs6000/darwin.md (movdf_low_si): Mark the outgoing r constraint
        as early clobber.  Rewrite so the PIC register is not implicitly used.

From-SVN: r104241
2005-09-13 14:50:47 -07:00
Erik Edelmann
c4abe01049 re PR fortran/17740 (ICE in gfc_trans_arrayfunc_assign, at fortran/trans-expr.c:2011)
2005-09-13  Erik Edelmann  <erik.edelmann@iki.fi>
fortran/
	PR fortran/17740
	* trans-expr.c (gfc_trans_arrayfunc_assign): Check value
	of attr.elemental for specific function instead of generic name.
testsuite/
	PR fortran/17740
	* gfortran.dg/generic_4.f90: New test.

From-SVN: r104240
2005-09-13 23:46:04 +02:00
Volker Reichelt
282c3fdc47 tree.c (annotate_with_file_line): Compare line numbers before file names.
* tree.c (annotate_with_file_line): Compare line numbers before
	file names.

From-SVN: r104239
2005-09-13 21:12:57 +00:00
David Edelsohn
00ff8e1926 re PR libstdc++/22554 (pb_assoc header build and install overflows exec)
2005-09-12  David Edelsohn  <dje@gcc.gnu.org>

	PR libstdc++/22554
	PR libstdc++/23734
	* include/Makefile.am (stamp-assoc): Install each subgroup
	of headers separately.
	* include/Makefile.in: Regenerate.

From-SVN: r104238
2005-09-13 19:22:52 +00:00
Uros Bizjak
79e72538bf re PR target/23816 (ICE in extract_insn, at recog.c:2084)
PR target/23816
        * config/i386/sse.md (*ieee_sminv4sf3, *ieee_smaxv4sf3)
        (*ieee_sminv2df3, *ieee_smaxv2df3): New insn patterns.

From-SVN: r104236
2005-09-13 12:02:04 -07:00
Benjamin Kosnik
f81ab296b9 22309_thread.cc: Remove dg-do run.
2005-09-12  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/ext/mt_allocator/22309_thread.cc: Remove dg-do run.
	* testsuite/lib/libstdc++.exp ( proc libstdc++_init): Enable
	shared only for linux.

From-SVN: r104235
2005-09-13 18:36:39 +00:00
Ian Lance Taylor
1984d2e8cd loop-doloop.c (doloop_modify): Use GEN_INT to pass an rtx rather than a HOST_WIDEST_INT to gen_doloop_begin.
* loop-doloop.c (doloop_modify): Use GEN_INT to pass an rtx rather
	than a HOST_WIDEST_INT to gen_doloop_begin.

From-SVN: r104234
2005-09-13 17:28:02 +00:00
Diego Novillo
5681f1ab03 * tree-dfa.c (dump_variable): Guard against NULL annotations.
From-SVN: r104233
2005-09-13 12:05:37 -04:00
Joseph Myers
587817d094 * zh_CN.po: Update.
From-SVN: r104231
2005-09-13 16:48:36 +01:00
Bastian Blank
3beac9100a re PR c++/16171 ([ABI] Problems with standard names in different namespaces)
PR c++/16171
	* mangle.c (find_substitution): Do not use special substitutions
	for identifiers not in std::.

	PR c++/16171
	* g++.dg/abi/mangle26.C: New test.
	* g++.dg/abi/mangle27.C: New test.
	* g++.dg/abi/mangle28.C: New test.
	* g++.dg/abi/mangle29.C: New test.

From-SVN: r104228
2005-09-13 15:15:37 +00:00
Mark Mitchell
7b09c6a499 re PR c++/23839 (ICE: expected var_decl, have parm_decl in cxx_mark_addressable, at cp/typeck.c:4343)
PR c++/23839
	* typeck.c (cxx_mark_addressable): Only check DECL_HARD_REGISTER
	for VAR_DECLs.

	PR c++/23839
	* g++.dg/parse/register1.C: New test.

From-SVN: r104225
2005-09-13 14:45:13 +00:00
Mark Mitchell
6493555fd3 re PR c++/23842 (Incorrect access control context)
PR c++/23842
	* pt.c (tsubst_default_argument): Do treat default argument
	expressions as occurring in the context of the function called.

	PR c++/23842
	* g++.dg/template/access16.C: New test.

From-SVN: r104224
2005-09-13 14:44:08 +00:00
Richard Sandiford
8abbec4748 * gfortran.dg/char_pack_2.f90: Increase the vector size.
From-SVN: r104220
2005-09-13 11:01:23 +00:00
Richard Sandiford
4fd9a81345 re PR fortran/18899 ([gfortran] ubound wrongly calculated for passed array)
PR fortran/18899
	* trans-intrinsic.c (gfc_conv_intrinsic_bound): Move initialization
	of argse.  Remove now-redundant want_pointer assignment.
	* trans-array.c (gfc_conv_expr_descriptor): When not assigning to
	a pointer, keep the original bounds of a full array reference.

From-SVN: r104219
2005-09-13 08:07:15 +00:00
Zdenek Dvorak
d7f0e25cd0 re PR tree-optimization/23817 (ICE in check_loop_closed_ssa_use, at tree-ssa-loop-manip.c:398)
PR tree-optimize/23817
	* tree-cfg.c (tree_merge_blocks): Preserve loop closed ssa.

From-SVN: r104218
2005-09-13 07:33:49 +00:00
Richard Sandiford
7823229bc3 re PR fortran/19269 (transpose(reshape(...)) of character array segfaults.)
gcc/fortran/
	PR target/19269
	* iresolve.c (gfc_resolve_cshift, gfc_resolve_eoshift)
	(gfc_resolve_pack, gfc_resolve_reshape, gfc_resolve_spread)
	(gfc_resolve_transpose, gfc_resolve_unpack): Add "_char" to the name
	for character-based operations.
	(gfc_resolve_pack): Remove ATTRIBUTE_UNUSED from array argument.
	(gfc_resolve_unpack): Copy the whole typespec from the vector.
	* trans-array.c (gfc_conv_expr_descriptor): In the EXPR_FUNCTION
	case, get the string length from the scalarization state.

libgfortran/
	PR target/19269
	* intrinsics/cshift0.c (cshift0): Add an extra size argument.
	(cshift0_1, cshift0_2, cshift0_4, cshift0_8): Replace explicit
	implementations with...
	(DEFINE_CSHIFT): ...this new macro.  Define character versions too.
	* intrinsics/eoshift0.c (zeros): Delete.
	(eoshift0): Add extra size and filler arguments.  Use memset if no
	bound is provided.
	(eoshift0_1, eoshift0_2, eoshift0_4, eoshift0_8): Replace explicit
	implementations with...
	(DEFINE_EOSHIFT): ...this new macro.  Define character versions too.
	* intrinsics/eoshift2.c (zeros): Delete.
	(eoshift2): Add extra size and filler arguments.  Use memset if no
	bound is provided.
	(eoshift2_1, eoshift2_2, eoshift2_4, eoshift2_8): Replace explicit
	implementations with...
	(DEFINE_EOSHIFT): ...this new macro.  Define character versions too.
	* intrinsics/pack.c (pack_internal): New static function, reusing
	the contents of pack and adding an extra size argument.  Change
	"mptr" rather than "m" when calculating the array size.
	(pack): Redefine as a forwarder to pack_internal.
	(pack_s_internal): New static function, reusing the contents of
	pack_s and adding an extra size argument.
	(pack_s): Redefine as a forwarder to pack_s_internal.
	(pack_char, pack_s_char): New functions.
	* intrinsics/reshape.c (reshape_internal): New static function,
	reusing the contents of reshape and adding an extra size argument.
	(reshape): Redefine as a forwarder to reshape_internal.
	(reshape_char): New function.
	* intrinsics/spread.c (spread_internal): New static function,
	reusing the contents of spread and adding an extra size argument.
	(spread): Redefine as a forwarder to spread_internal.
	(spread_char): New function.
	* intrinsics/transpose.c (transpose_internal): New static function,
	reusing the contents of transpose and adding an extra size argument.
	(transpose): Redefine as a forwarder to transpose_internal.
	(transpose_char): New function.
	* intrinsics/unpack.c (unpack_internal): New static function, reusing
	the contents of unpack1 and adding extra size and fsize arguments.
	(unpack1): Redefine as a forwarder to unpack_internal.
	(unpack0): Call unpack_internal instead of unpack1.
	(unpack1_char, unpack0_char): New functions.
	* m4/cshift1.m4 (cshift1): New static function, reusing the contents
	of cshift1_<kind> and adding an extra size argument.
	(cshift1_<kind>): Redefine as a forwarder to cshift1.
	(cshift1_<kind>_char): New function.
	* m4/eoshift1.m4 (zeros): Delete.
	(eoshift1): New static function, reusing the contents of
	eoshift1_<kind> and adding extra size and filler arguments.
	Fix calculation of hstride.  Use memset if no bound is provided.
	(eoshift1_<kind>): Redefine as a forwarder to eoshift1.
	(eoshift1_<kind>_char): New function.
	* m4/eoshift3.m4 (zeros): Delete.
	(eoshift3): New static function, reusing the contents of
	eoshift3_<kind> and adding extra size and filler arguments.
	Use memset if no bound is provided.
	(eoshift3_<kind>): Redefine as a forwarder to eoshift3.
	(eoshift3_<kind>_char): New function.
	* generated/cshift1_4.c, generated/cshift1_8.c,
	* generated/eoshift1_4.c, generated/eoshift1_8.c,
	* generated/eoshift3_4.c, generated/eoshift3_8.c: Regenerate.

From-SVN: r104217
2005-09-13 07:15:01 +00:00
Francois-Xavier Coudert
7f26dfa379 configure.in: Recognize f95 in the --enable-languages option...
* configure.in: Recognize f95 in the --enable-languages option,
	and substitute it for fortran, issuing a warning.
	* configure: Regenerate.
	* Make-lang.in: Change targets prefixes from f95 to fortran.
	* config-lang.in: Change language name to "fortran".
	* lang.opt: Change language name to "fortran".
	* options.c: Change CL_F95 to CL_Fortran.

From-SVN: r104215
2005-09-13 06:24:18 +00:00
Benjamin Kosnik
31a7113e7a libstdc++.exp (v3-build_support): Use sharedlib for type of target_compile.
2005-09-12  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/lib/libstdc++.exp (v3-build_support): Use sharedlib for
	type of target_compile.
	 (v3_target_compile): Set flags for sharelib type.

From-SVN: r104209
2005-09-13 02:47:14 +00:00
Mark Mitchell
060e73279b re PR c++/23841 (Floating-point literals cast to integral types should be accepted in integer constant expressions)
PR c++/23841
	* parser.c (cp_parser_primary_expression): Recognize the closing
	">" of a template-argument-list after a floating-point literal as
	the end of a cast expression.

	PR c++/23841
	* g++.dg/parse/template17.C: New test.

From-SVN: r104208
2005-09-13 02:41:07 +00:00
Alan Modra
2eef28ec7b re PR target/23774 (dealloc of dynamic stack space breaks backchain)
PR target/23774
	* config/rs6000/rs6000.md (restore_stack_block): Write the backchain
	word before changing the stack pointer.	 Use gen_frame_mem for MEMs.
	Use UNSPEC_TIE to prevent insn scheduling reordering the insns.
	(restore_stack_nonlocal): Likewise.
	(save_stack_nonlocal): Use template to emit insns, and gen_frame_mem.

From-SVN: r104206
2005-09-13 11:30:53 +09:30
GCC Administrator
7e15cfee21 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r104200.2
2005-09-13 00:16:23 +00:00
Thomas Fitzsimmons
16dab3e221 re PR libgcj/23762 (java.library.path should default to value of environment variable specified by LTDL_SHLIBPATH_VAR)
2005-09-12  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/23762
	* shlibpath.m4: New file.
	* configure.ac: If libltdl is being used call AC_LTDL_SHLIBPATH
	macro.
	* gnu/classpath/natSystemProperties.cc (insertSystemProperties)
	[USE_LTDL]: If it was not defined with -D set java.library.path to
	the value of LTDL_SHLIBPATH_VAR.

From-SVN: r104198
2005-09-12 23:50:01 +00:00
Benjamin Kosnik
c35a51a54e re PR libstdc++/22554 (pb_assoc header build and install overflows exec)
2005-09-12  Benjamin Kosnik  <bkoz@redhat.com>
	    David Edelsohn <dje@gcc.gnu.org>

	PR libstdc++/22554
	PR libstdc++/23734
	* include/Makefile.am (assoc_headers): Break into five sub values.
	(install-headers): Use them.
	(stamp-assoc): Same.
	* include/Makefile.in: Regenerate.

From-SVN: r104196
2005-09-12 23:09:41 +00:00
Mark Mitchell
6f25cb3578 re PR c++/23789 (compilation error when template parameters have certain complexity)
PR c++/23789
	* cvt.c (perform_qualification_conversions): Don't create
	unnecessary NOP_EXPRs.
	* pt.c (tsubst_template_arg): Use fold_non_dependent_expr.

	PR c++/23789
	* g++.dg/template/nontype14.C: New test.

From-SVN: r104193
2005-09-12 22:38:34 +00:00
Paolo Carlini
b35c082263 [multiple changes]
2005-09-12  Chris Jefferson  <chris@bubblescope.net>

	* include/bits/stl_algo.h (search_n): Delegate to specializations.
	(search_n(,,,,binary_predicate)): Likewise.
        (__search_n(forward_iterator_tag)): Original search_n, tweak to
        remove an unnecessary comparison.
        (__search_n(,,,,binary_predicate,forward_iterator_tag)): Likewise.

2005-09-12  Jim Xochellis  <jimxoch@yahoo.gr>

        * include/bits/stl_algo.h (__search_n(std::random_access_iterator_tag)):
	Add specialization.
        (__search_n(,,,,binary_predicate,std::random_access_iterator_tag)):
        Likewise.

From-SVN: r104192
2005-09-12 21:13:04 +00:00
Benjamin Kosnik
dda6e8cd3a re PR libstdc++/23417 (bits/stl_tree.h isn't -Weffc++ clean)
2005-09-12  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/23417
	* include/bits/stl_list.h (_List_impl): Use member initialization
	list for -Weffc++.
	* include/bits/stl_tree.h (_Rb_tree_impl): Same.

From-SVN: r104191
2005-09-12 20:32:54 +00:00
Ian Lance Taylor
d63d5d0c32 re PR c++/7874 (g++ finds friend functions defined in class-definition but not declared in the enclosing namespace)
./	PR g++/7874
	* c.opt (ffriend-injection): New C++ option.
	* doc/invoke.texi (Option Summary): Mention -ffriend-injection.
	(C++ Dialect Options): Document -ffriend-injection.
cp/
	PR g++/7874
	* cp-tree.h (struct lang_decl_flags): Add hidden_friend_p
	bitfield.  Make dummy bitfield one bit smaller.
	(DECL_HIDDEN_FRIEND_P): Define.
	(pushdecl_maybe_friend): Declare.
	(pushdecl_top_level_maybe_friend): Declare.
	* decl.c (duplicate_decls): Add newdecl_is_friend parameter.
	Change prototype and all callers.  Add assertion that a
	DECL_ARTIFICIAL FUNCTION_DECL is not DECL_HIDDEN_FRIEND_P.  Set
	DECL_ANTICIPATED and DECL_HIDDEN_FRIEND_P in duplicated decl if
	appropriate.
	* name-lookup.c (supplement_binding): Don't ignore a
	DECL_HIDDEN_FRIEND_P.
	(pushdecl_maybe_friend): Break out contents of pushdecl.  Add
	is_friend parameter.  Set DECL_ANTICIPATED and
	DECL_HIDDEN_FRIEND_P for a friend function.
	(pushdecl): Just call pushdecl_maybe_friend.
	(pushdecl_with_scope): Add is_friend parameter.  Change prototype
	and all callers.
	(pushdecl_namespace_level): Likewise.
	(push_overloaded_decl): Likewise.  Check DECL_HIDDEN_FRIEND_P as
	well as DECL_ANTICIPATED when checking for a builtin.
	(do_nonmember_using_decl): Check DECL_HIDDEN_FRIEND_P as well as
	DECL_ANTICIPATED when checking for a builtin.
	(do_nonmember_using_decl): Likewise.
	(pushdecl_top_level_1): Add is_friend parameter.  Change all
	callers.
	(pushdecl_top_level_maybe_friend): New function.
	(remove_hidden_names): New function.
	(struct arg_lookup): Add args field.
	(friend_of_associated_class_p): New static function.
	(arg_assoc_namespace): Ignore hidden functions which are not
	friends of an associated class of some argument.
	(lookup_arg_dependent): Remove hidden functions from list passed
	in.  Initialize k.args.
	* name-lookup.h (remove_hidden_names): Declare.
	* friend.c (do_friend): Call pushdecl_maybe_friend instead of
	pushdecl.
	* call.c (add_function_candidate): Change DECL_ANTICIPATED test to
	an assertion, with a check for DECL_HIDDEN_FRIEND_P.
	(build_new_function_call): Add koenig_p parameter.  Change
	prototype and callers.
	* pt.c (register_specialization): Add is_friend parameter.  Change
	all callers.
	(push_template_decl_real): Change is_friend parameter to bool.
	Change prototype and all callers.
	(tsubst_friend_class): Call pushdecl_top_level_maybe_friend
	instead of pushdecl_top_level.
testsuite/
	PR g++/7874
	* g++.dg/lookup/friend7.C: New test.
	* g++.dg/lookup/friend8.C: New test.
	* g++.dg/parse/defarg4.C: Add a parameter to the friend function,
	so that it will be found via argument dependent lookup.
	* g++.old-deja/g++.brendan/crash56.C: Don't expect errors for
	friend functions which will no longer be found.
	* g++.old-deja/g++.jason/friend.C: Add a parameter to the friend
	function g, so that it will be found via argument dependent
	lookup.
	* g++.old-deja/g++.jason/scoping15.C: Use -ffriend-injection.
	* g++.old-deja/g++.mike/net43.C: Likewise.

From-SVN: r104188
2005-09-12 19:54:23 +00:00
Benjamin Kosnik
dbc564aea3 re PR libstdc++/23417 (bits/stl_tree.h isn't -Weffc++ clean)
2005-09-12  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/23417
	* include/bits/stl_list.h (_List_impl): Use member initialization
	list for -Weffc++.

From-SVN: r104187
2005-09-12 19:48:04 +00:00
Mark Mitchell
c8b3a7929b re PR c++/23691 (mpl_::bool_<false>::value' is not a valid template argument for type bool' because it is a non-constant expression)
PR c++/23691
	* g++.dg/template/static16.C: New test.

From-SVN: r104186
2005-09-12 19:00:57 +00:00
Tom Tromey
ef3381664e * Imported zlib 1.2.3; merged local changes.
From-SVN: r104184
2005-09-12 17:42:53 +00:00
Tom Tromey
3ec980b182 This commit was generated by cvs2svn to compensate for changes in r104181,
which included commits to RCS files with non-trunk default branches.

From-SVN: r104182
2005-09-12 17:04:02 +00:00
Tom Tromey
303ae446cf Initial revision
From-SVN: r104179
2005-09-12 17:03:48 +00:00
Josh Conner
c4bea017ed pr middle-end/23237
pr middle-end/23237
    * gcc.c-torture/compile/pr23237.c: New test.

From-SVN: r104177
2005-09-12 15:50:08 +00:00
Josh Conner
d840283a80 pr middle-end/23237
pr middle-end/23237
    * ipa-reference.c (static_execute): Don't mark variables in
    named sections TREE_READONLY.

From-SVN: r104176
2005-09-12 15:46:35 +00:00
Alan Modra
309ebcd0c3 rs6000.c (get_next_active_insn): Simplify test for stack_tie.
* config/rs6000/rs6000.c (get_next_active_insn): Simplify test for
	stack_tie.

From-SVN: r104173
2005-09-12 23:44:21 +09:30
Andrew Pinski
8d09949866 tree-ssa-dse.c (dse_optimize_stmt): Fix up all of V_MAY_DEF and V_MUST_DEF instead of just the first_use_p.
2005-09-12  Andrew Pinski  <pinskia@physics.uc.edu>

        * tree-ssa-dse.c (dse_optimize_stmt): Fix up all of V_MAY_DEF and
        V_MUST_DEF instead of just the first_use_p.
        Don't mark the virtual variables for renaming on the statement which
        is being removed.
        (pass_dse): Remove TODO_update_ssa.

From-SVN: r104172
2005-09-12 06:56:07 -07:00
J"orn Rennecke
f439f9a536 re PR middle-end/23290 (Layout changed for structure with single complex field)
PR middle-end/23290
	* stor-layout.c (compute_record_mode): For records with a single
	field, actually check the field's mode size against the type size.

From-SVN: r104171
2005-09-12 14:49:56 +01:00
J"orn Rennecke
cd41bae5fd sh.h (HARD_REGNO_MODE_OK): Allow V4SFmode in general purpose registers for TARGET_SHMEDIA.
* sh.h (HARD_REGNO_MODE_OK): Allow V4SFmode in general purpose
	registers for TARGET_SHMEDIA.
	(enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Rename
	GENERAL_FP_REGS to GENERAL_DF_REGS.  Add GENERAL_FP_REGS as union
	of GENERAL_REGS and FP_REGS.

From-SVN: r104170
2005-09-12 14:24:11 +01:00
Bernd Schmidt
b99791d10e * config/bfin/bfin.c (legimitize_pic_address): Use gen_const_mem.
From-SVN: r104168
2005-09-12 10:47:01 +00:00
Paolo Carlini
2bcec7298e re PR libstdc++/23767 (std::vector iterator implementation wrong)
2005-09-12  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/23767
	* include/bits/stl_iterator.h (__normal_iterator::
	__normal_iterator<>(const __normal_iterator<_Iter, _Container>&)):
	Enable only when _Iter is equal to _Container::pointer.
	* testsuite/21_strings/basic_string/types/23767.cc: New.
	* testsuite/23_containers/vector/types/23767.cc: Likewise.
	* testsuite/ext/vstring/types/23767.cc: Likewise.

From-SVN: r104167
2005-09-12 09:42:34 +00:00
Richard Henderson
7928df2e04 * objcp-lang.c (objcxx_init_ts): Remove ALIAS_DECL.
From-SVN: r104165
2005-09-12 00:38:33 -07:00
Benjamin Kosnik
2f9f6cef1c [multiple changes]
2005-09-11  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/19265
	PR libstdc++/22309
	* include/ext/mt_allocator.h
	(__gnu_cxx::__create_handler): Remove.
	(__pool<true>::_M_destroy_thread_key): Compatibility only.
	(__pool<true>::_M_initialize(__destroy): Same.
	(__pool<true>::_M_initialize): New.
	(__pool<true>::_M_initialize_once): Nothing fancy.
	(__pool<true>::_M_once): Remove.
	(__common_pool): New.
	(__common_pool_base): New.
	(__per_type_pool): New.
	(__per_type_pool_base): New.
	* src/mt_allocator.cc: Same.
	* config/linker-map.gnu (__pool<true>::_M_initialize()): Add.

2005-09-11  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/19265
	PR libstdc++/22309
	* src/mt_allocator.cc (__gnu_internal::freelist_mutex): Make static.
	(__gnu_internal::__freelist): New type.
	(__gnu_internal::freelist): New variable.
	(__gnu_internal::_M_destroy_thread_key): New function.
	(__gnu_cxx::__pool<true>::_M_destroy): Don't delete
	_M_thread_freelist_initial.
	(__gnu_cxx::__pool<true>::_M_initialize): Make argument nameless.
	Don't use _M_thread_freelist and _M_thread_freelist_initial
	__pool<true> fields, instead use __gnu_internal::freelist fields, call
	gthread_key_create just once.  Use
	__gnu_internal::_M_destroy_thread_key as key destructor.
	(__gnu_cxx::__pool<true>::_M_get_thread_id): Store size_t id
	rather than _Thread_record* in the thread specific value.  Don't
	use _M_thread_freelist __pool<true> field, instead use
	__gnu_internal::freelist fields.
	(__gnu_cxx::__pool<true>::_M_destroy_thread_key): Do nothing.

2005-09-11  Benjamin Kosnik  <bkoz@redhat.com>
            Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/19265
	PR libstdc++/22309
	* testsuite/testsuite_shared.cc: New.
	* testsuite/lib/dg-options.exp (dg-require-sharedlib): New.
	* testsuite/lib/libstdc++.exp (libstdc++_init): Look for shared
	library, and set v3-sharedlib based on this.
	(check_v3_target_sharedlib): New.
	(proc v3-build_support): Build shared objects.
	* testsuite/ext/mt_allocator/22309_thread.cc: New, use above.

From-SVN: r104161
2005-09-12 04:49:11 +00:00
Richard Henderson
56b4ea3de8 decl2.c (build_anon_union_vars): Copy attributes from the base addr.
* decl2.c (build_anon_union_vars): Copy attributes from the base addr.
        * pt.c (tsubst_decl): Substitute in DECL_VALUE_EXPR.

        * g++.dg/other/error8.C: Update expected diagnostic text.

From-SVN: r104160
2005-09-11 21:04:03 -07:00
Alan Modra
f489aff87a rs6000.c (get_next_active_insn): Rewrite using CALL_P...
* config/rs6000/rs6000.c (get_next_active_insn): Rewrite using
	CALL_P, JUMP_P and NONJUMP_INSN_P, so that barriers and labels
	are omitted.  Exclude stack_tie insn too.

From-SVN: r104159
2005-09-12 13:21:13 +09:30
GCC Administrator
e7126cc571 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r104147.2
2005-09-12 00:16:16 +00:00
David Edelsohn
8308679fb3 re PR rtl-optimization/23098 (store of 0.0 to float)
PR rtl-optimization/23098
        * config/rs6000/predicates.md (easy_fp_constant): SFmode constant
        0.0f is easy.
        * config/rs6000/rs6000.md (movdf splitter): Use
        const_double_operand predicate for TARGET_POWERPC64.
        * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Expand
        SYMBOL_REF method to ABI_V4.

        * config/rs6000/altivec.md (build_vector_mask_for_load): Use
        replace_equiv_address.
        * config/rs6000/rs6000.c (rs6000_emit_eh_reg_restore): Mark MEM as
        rs6000_sr_alias_set and MEM_NOTRAP.
        (rs6000_aix_emit_builtin_unwind_init): Use gen_frame_mem().

From-SVN: r104145
2005-09-11 19:22:10 -04:00
Eric Botcazou
4c223d6a38 tree.c (contains_placeholder_p): Properly handle CALL_EXPR again.
* tree.c (contains_placeholder_p) <tcc_expression>: Properly
	handle CALL_EXPR again.

From-SVN: r104144
2005-09-11 21:17:51 +00:00
Francois-Xavier Coudert
91002f1b09 re PR libfortran/19872 ([4.0 only] closed and re-opened file not overwriten)
PR libfortran/19872
	* gfortran.dg/overwrite_1.f: New test.

From-SVN: r104143
2005-09-11 19:39:35 +00:00
Francois-Xavier Coudert
b65b81f935 re PR libfortran/20179 (cannot mix C and Fortran I/O)
PR libfortran/20179
	* io/unix.c (is_preconnected): Add function to test if a stream
	corresponds to a preconnected unit.
	* io/io.h: Add prototype for is_preconnected.
	* io/transfer.c (data_transfer_init): Do not truncate
	preconnected units.

From-SVN: r104141
2005-09-11 13:34:57 +00:00
Paolo Carlini
e182017e46 re PR libstdc++/23781 (Implicit conversion from NULL to list<T>::iterator)
2005-09-11  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/23781
	* include/bits/stl_list.h (_List_iterator<>::
	_List_iterator(_List_node_base*), _List_const_iterator<>::
	_List_const_iterator(const _List_node_base*)): Make explicit.
	(list<>::begin(), list<>::end(), list<>::pop_back()): Adjust
	consistently.
	* include/bits/list.tcc (list<>::insert, list<>::erase): Adjust
	consistently.
	* include/bits/stl_tree.h (_Rb_tree_iterator<>::
	_Rb_tree_iterator(_Link_type), _Rb_tree_const_iterator<>::
	_Rb_tree_const_iterator(_Link_type)): Make explicit.
	(_Rb_tree<>::begin(), _Rb_tree<>::end()): Adjust consistently.
	* include/ext/slist (_Slist_iterator<>::_Slist_iterator(_Node*)):
	Make explicit.
	(slist<>::erase(iterator), slist<>::erase(iterator, iterator)):
	Adjust consistently.
	* include/tr1/hashtable (hashtable_iterator<>::
	hashtable_iterator(hash_node<>**)): Make explicit.
	* testsuite/23_containers/list/23781.cc: New.
	* testsuite/23_containers/map/23781.cc: Likewise.
	* testsuite/23_containers/multimap/23781.cc: Likewise.
	* testsuite/23_containers/multiset/23781.cc: Likewise.
	* testsuite/23_containers/set/23781.cc: Likewise.
	* testsuite/ext/slist/23781.cc: Likewise.
	* testsuite/tr1/6_containers/unordered/23781.cc: Likewise.
	* testsuite/23_containers/map/operators/1_neg.cc: Adjust dg-error
	line numbers.
	* testsuite/23_containers/set/operators/1_neg.cc: Likewise.

	* include/tr1/array (array<>::begin(), array<>::end()): Adjust
	stylistically for consistency with the other containers.

From-SVN: r104139
2005-09-11 09:48:41 +00:00