Commit Graph

41279 Commits

Author SHA1 Message Date
Jakub Jelinek
44c5edc005 re PR rtl-optimization/5747 (ss20020218 fails to build binutils-2.11.93.0.2 on sparc-suse-linux - ICE in loop.c)
PR optimization/5747
	* loop.c (scan_loop): Update reg info if move_movables created new
	pseudos.

	* gcc.dg/20020222-1.c: New test.

From-SVN: r49989
2002-02-23 09:56:22 +01:00
GCC Administrator
31e2a00de5 Daily bump.
From-SVN: r49987
2002-02-23 08:16:12 +00:00
David Edelsohn
f98e43c068 * gcc.c (init_gcc_spec): Revert last change.
From-SVN: r49986
2002-02-23 00:59:47 -05:00
Alexandre Oliva
d6e671fadf Makefile.in, [...]: Rebuilt.
* Makefile.in, gcj/Makefile.in, include/Makefile.in: Rebuilt.
* testsuite/Makefile.in: Likewise.

From-SVN: r49985
2002-02-23 03:15:37 +00:00
Alan Modra
57deb3a13b - Add missing mask_operand patch.
From-SVN: r49984
2002-02-22 21:11:07 -05:00
David Edelsohn
e72247f417 [multiple changes]
2002-02-23  David Edelsohn  <edelsohn@gnu.org>

        * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
        gpc_reg_operand constraint.

2002-02-23  Alan Modra  <amodra@bigpond.net.au>

        * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
        Simplify comparison of `low'.
        (add_operand): Fix formatting.
        (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
        (rs6000_stack_info): Remove redundant test setting push_p.
        (output_toc): Fix formatting.
        * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
        cc_reg_not_cr0_operand constraint.
        (booldi3, boolcdi3 splitters): Same.

From-SVN: r49983
2002-02-22 21:07:21 -05:00
Aldy Hernandez
a5c305316d altivec.h: Add extra level of parentheses on casts.
2002-02-23  Aldy Hernandez  <aldyh@redhat.com>

        * altivec.h: Add extra level of parentheses on casts.

From-SVN: r49982
2002-02-23 00:51:51 +00:00
Tom Tromey
d2fb532900 re PR java/2369 (--main should check the following symbol)
Fix for PR java/2369:
	* jvspec.c (verify_class_name): New function.
	(lang_specific_driver): Call it.
	(JAVA_START_CHAR_P): New macro.
	(JAVA_PART_CHAR_P): Likewise.

From-SVN: r49981
2002-02-23 00:42:13 +00:00
Per Bothner
9abe2e29b4 URL.java (getPath): New JDK 1.3 method.
* java/net/URL.java (getPath):  New JDK 1.3 method.

	* java/net/URLStreamHandler.java (parseURL):
	It is wrong to prepend '/' to the file part of a relative url.

	* java/net/URLStreamHandler.java (parseURL):
	Minor optizations - append '/' rather than "/".

	* java/net/URLStreamHandler.java (parseURL):
	Don't canonicalize "xx/.." or "./" URLs - JDK doesn't.
	We probably should canonicalize for a context-relative url, though.
	* java/net/URL.java (sameFile):  Delegate to URLStreamHandler.
	* java/net/URLStreamHandler.java (canonicalizeFilename):  New helper.
	(sameFile):  New method.  Uses canonicalizeFilename.

From-SVN: r49980
2002-02-22 16:15:49 -08:00
David Edelsohn
43710f9f89 gcc.c (init_gcc_spec): Do not link with static libgcc.a if gcc invoked with -shared-libgcc.
* gcc.c (init_gcc_spec): Do not link with static libgcc.a if
        gcc invoked with -shared-libgcc.

From-SVN: r49979
2002-02-22 19:00:27 -05:00
Per Bothner
dcb3680413 class.c: Change vtable to be more compatible with g++ v3 abi.
*  class.c:  Change vtable to be more compatible with g++ v3 abi.
	(get_dispatch_table):  Prepend offset-to-top (always 0) and
	type_info pointer (currently unimplemented hence NULL) to vtable.
	Specifically, prepend offset-to-top and typeinfo ptr (currently null).
	(make_class_data):  Variable dtable_start_offset is sizeof 2 pointers.
	Adjust vtable pointers by dtable_start_offse - i.e. skip new words.
	(build_dtable_decl):  Add declarations for new fields.

From-SVN: r49978
2002-02-22 15:59:39 -08:00
Phil Edwards
9aa4369841 acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Fix comment.
2002-02-22  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4 (GLIBCPP_ENABLE_SYMVERS):  Fix comment.
	* aclocal.m4:  Regenerate.
	* docs/html/configopts.html:  Document --enable-symvers.
	* config/linker-map.gnu:  Break libsupc++ symbols out to their own tag.

From-SVN: r49977
2002-02-22 23:45:28 +00:00
Tom Tromey
1a77d3ba32 natSystem.cc (init_properties): Include the `Inc.' in java.vendor and java.vm.vendor.
* java/lang/natSystem.cc (init_properties): Include the `Inc.' in
	java.vendor and java.vm.vendor.
	* gnu/java/rmi/rmic/RMIC.java (parseOptions): Only print most
	recent copyright date.
	* gnu/gcj/convert/Convert.java (version): Print `Inc'.
	* gij.cc (version): Print `Inc'.

From-SVN: r49975
2002-02-22 23:24:45 +00:00
Alexandre Oliva
eae63c0ae1 acinclude.m4 (CXX): AC_SUBST it, instead of glibcpp_CXX.
* acinclude.m4 (CXX): AC_SUBST it, instead of glibcpp_CXX.
* aclocal.m4, configure: Rebuilt.

From-SVN: r49974
2002-02-22 21:31:06 +00:00
Philipp Thomas
0bc1e80dca tempbuf.h: get_temporary_buffer and return_temporary_buffer are in namespace std...
2002-02-22  Philipp Thomas  <pthomas@suse.de>

        * include/backward/tempbuf.h: get_temporary_buffer and
        return_temporary_buffer are in namespace std, not in __gnu_cxx.

From-SVN: r49973
2002-02-22 21:23:09 +00:00
Richard Kenner
b76b08ef94 expr.c (store_expr): When converting expression to promoted equivalent type...
* expr.c (store_expr): When converting expression to promoted
	equivalent type, allow using SUBREG_REG of TARGET as the target
	of the expansion of EXP.
	* loop.c (basic_induction_var, case SUBREG): Always look inside.
	* config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
	(alpha_emit_set_const): Handle SImode when can't make new pseudos.
	(alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
	* config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.

From-SVN: r49972
2002-02-22 16:18:25 -05:00
Jakub Jelinek
3256b817fc re PR c++/5748 (g++ dies with optimization)
PR c++/5748
	* stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
	decl if any of elements was TREE_USED.

	* g++.dg/opt/anonunion1.C: New test.

From-SVN: r49971
2002-02-22 22:09:09 +01:00
Alexandre Oliva
9e0625a316 sol2.h: Don't include sys/mman.h.
* config/sparc/sol2.h: Don't include sys/mman.h.
* config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
(arith_4096_operand): Don't throw high bits away.
(const64_operand): Take sign extension of CONST_INTs into account.
(const64_high_operand, sparc_emit_set_const32): Likewise.
(GEN_HIGHINT64): Likewise.
(sparc_emit_set_const64_quick1): Likewise.
(const64_is_2insns): Likewise.
(print_operand): Use trunc_int_for_mode for sign extension.
* config/sparc/sparc.h (SMALL_INT32): Likewise.
* config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
chars.  Assume CONST_INT is already properly sign-extended.
(movdi split): Sign-extend each SImode part.
(andsi3 split): Don't mask high bits off, so that result
remains properly sign-extend.
(iorsi3 split): Likewise.
(xorsi3 split): Likewise.

From-SVN: r49970
2002-02-22 18:43:54 +00:00
Jakub Jelinek
25c8b645ed re PR other/5746 (0220 cvs crashes using undeclared type)
PR other/5746
	* semantics.c (finish_switch_cond): Don't call get_unwidened
	if error_mark_node.

From-SVN: r49969
2002-02-22 18:42:19 +01:00
Jim Blandy
00c2f96f89 Allow the user to specify functions for allocating memory for splay tree roots and nodes.
include:
Allow the user to specify functions for allocating memory for
splay tree roots and nodes.
* splay-tree.h (splay_tree_allocate_fn, splay_tree_deallocate_fn):
New types.
(splay_tree): New fields: `allocate', `deallocate', and
`allocate_data'.
(splay_tree_new_with_allocator): New function declaration.

libiberty:
* splay-tree.c (splay_tree_xmalloc_allocate,
splay_tree_xmalloc_deallocate): New functions.
(splay_tree_new): Call splay_tree_new_with_allocator, passing the
above functions and a dummy data pointer.
(splay_tree_new_with_allocator): New function.
(splay_tree_delete_helper, splay_tree_delete, splay_tree_insert,
splay_tree_remove): Use the splay tree's allocation and
deallocation functions.

From-SVN: r49968
2002-02-22 17:01:23 +00:00
Per Bothner
453c182f82 parse.y (patch_method_invocation): Set CAN_COMPLETE_NORMALLY on call to finit$ (otherwise generate_bytecode_insns...
* parse.y (patch_method_invocation): Set CAN_COMPLETE_NORMALLY on call
	to finit$ (otherwise generate_bytecode_insns drops it). However, we
	don't need to set it on the COMPOUND_EXPR - the caller does that.

From-SVN: r49966
2002-02-22 05:57:43 -08:00
Per Bothner
0bf188159d Connection.java (conect): Open the input and/or output streams immediately here, instead of using File.exists.
* gnu/gcj/protocol/file/Connection.java (conect):  Open the input
	and/or output streams immediately here, instead of using File.exists.
	(inputStream, outputStream):  New fields to save open streams.
	(getInputStream, getOutputStream):  Use already-opened streams.

From-SVN: r49965
2002-02-22 05:53:23 -08:00
Benjamin Kosnik
696179ca62 configure.in (target_alias): Default to yes.
2002-02-21  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.in (target_alias): Default to yes.
	* acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Add check for shared
	libgcc to default case.

From-SVN: r49962
2002-02-22 12:09:56 +00:00
Nathan Sidwell
4f2b0fb25e PR c++/2645, DR 295
cp:
	PR c++/2645, DR 295
	* cp-tree.h (tsubst_flags_t): Add tf_ignore_bad_quals,
	tf_keep_type_decl.
	(make_typename_type): Use tsubst_flags_t.
	* decl.c (make_typename_type): Adjust. Return non-artificial
	TYPE_DECLs, if required.
	(grokdeclarator): Simplify CVR qualification handling. Allow bad
	qualifiers on typedef types.
	* decl2.c (handle_class_head): Adjust make_typename_type call.
	* parse.y (nested_name_specifier): Likewise.
	(typename_sub0): Likewise.
	(typename_sub1): Likewise.
	* pt.c (convert_template_argument): Adjust make_typename_type
	return value.
	(tsubst): Adjust cp_build_qualified_type_real calls.
	(check_cv_quals_for_unify): Cope with alowing bad qualifications
	on template type parms.
	(instantiate_decl): Recheck substitutions to give warnings on bad
	qualifications.
	* tree.c (cp_build_qualified_type_real): Use tf_allow_bad_quals.
testsuite:
	* g++.dg/template/qualttp19.C: New test.
	* g++.dg/template/qualttp20.C: New test.
	* g++.old-deja/g++.jason/report.C: Adjust expected errors
	* g++.old-deja/g++.other/qual1.C: Likewise.

From-SVN: r49961
2002-02-22 11:57:52 +00:00
Richard Sandiford
54fec3d54a * fold-const.c (fold): Fix typo in comments.
From-SVN: r49960
2002-02-22 11:50:47 +00:00
Benjamin Kosnik
ab3bc736d9 configure.in (target_alias): Default to yes.
2002-02-21  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.in (target_alias): Default to yes.
	* acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Add check for shared
	libgcc to default case.

From-SVN: r49959
2002-02-22 11:36:26 +00:00
GCC Administrator
d8e7756c8a Daily bump.
From-SVN: r49957
2002-02-22 08:19:09 +00:00
Diego Novillo
667ada9b65 * Makefile.in (langhooks.o): Update dependencies.
From-SVN: r49956
2002-02-21 23:42:38 -05:00
Diego Novillo
29ac78d5fe * langhooks.c: Include flags.h.
From-SVN: r49955
2002-02-21 23:23:21 -05:00
Alexandre Oliva
a37049c13b acinclude.m4 (LIB_AC_PROG_CXX): Copied from libstdc++-v3.
* acinclude.m4 (LIB_AC_PROG_CXX): Copied from libstdc++-v3.
Use it.
* Makefile.am (LIBLINK): Use CXX (and its tag) for linking.
* aclocal.m4, configure, Makefile.in: Rebuilt.

From-SVN: r49954
2002-02-22 03:21:28 +00:00
Alexandre Oliva
fcc0a3ef15 configure.in (CXX_FOR_TARGET): Add -shared-libgcc for libstdc++-v3 and libjava.
* configure.in (CXX_FOR_TARGET): Add -shared-libgcc for
libstdc++-v3 and libjava.

From-SVN: r49953
2002-02-22 03:21:02 +00:00
Mark Mitchell
4a376f91d0 Fix typo
[[Split portion of a mixed commit.]]

From-SVN: r49952.2
2002-02-22 01:54:44 +00:00
Mark Mitchell
b8f9335260 gcc_release: Correct handling of diff-generation.
* gcc_release: Correct handling of diff-generation.  Add
	"diffs" major mode.

[[Split portion of a mixed commit.]]

From-SVN: r49951.2
2002-02-22 01:52:35 +00:00
Aldy Hernandez
87b3cd7699 cl
From-SVN: r49949
2002-02-22 00:22:33 +00:00
Aldy Hernandez
8fc2ba41f9 forgot cl
From-SVN: r49948
2002-02-22 00:21:35 +00:00
Aldy Hernandez
6aa77e6c39 attr-alwaysinline.c: New.
2002-02-21  Aldy Hernandez  <aldyh@redhat.com>

        * gcc.dg/attr-alwaysinline.c: New.

        * c-common.c (c_common_post_options): Set inline trees by
        default.

        * doc/extend.texi (Function Attributes): Document always_inline
        attribute.
        Update documentation about inlining when not optimizing.

        * cp/decl.c (duplicate_decls): Merge always_inline attribute.

        * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
        unless DECL_ALWAYS_INLINE.

        * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
        unless DECL_ALWAYS_INLINE.
        (c_disregard_inline_limits): Disregard if always_inline set.

        * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
        Disregard if always_inline set.
        (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
        unless DECL_ALWAYS_INLINE.

        * attribs.c (handle_always_inline_attribute): New.
        (c_common_attribute_table): Add always_inline.

        * config/rs6000/altivec.h: Add prototypes for builtins
        requiring the always_inline attribute.

From-SVN: r49947
2002-02-22 00:09:04 +00:00
Eric Christopher
c410d49e43 expmed.c (store_bit_field): Try to simplify the subreg before generating a new one when...
2002-02-21  Eric Christopher  <echristo@redhat.com>

	* expmed.c (store_bit_field): Try to simplify the subreg
	before generating a new one when when the mode size of
	value is less than maxmode.

From-SVN: r49946
2002-02-22 00:07:06 +00:00
Richard Henderson
e3c8ea6725 emit-rtl.c (offset_address): Use simplify_gen_binary rather than gen_rtx_PLUS to form the sum.
* emit-rtl.c (offset_address): Use simplify_gen_binary rather
        than gen_rtx_PLUS to form the sum.
        * explow.c (force_reg): Rearrange to not allocate new pseudo
        when force_operand returns a register.
        * expr.c (expand_assignment): Allow offset_rtx expansion to
        return a sum.  Do not force addresses into registers.
        (expand_expr): Likewise.
        * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
        to canonicalize arithmetic that didn't simpify.
        (simplify_plus_minus): New argument force; update
        all callers.  Don't split CONST unless we can do something with it,
        and wouldn't lose the constness of the operands.

        * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
        that we generated earlier.

From-SVN: r49945
2002-02-21 15:06:16 -08:00
Tom Tromey
c1a046e50e dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
* dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
	(output_line_info): Use constant `1', with a long explanatory
	comment.
	* system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.

From-SVN: r49944
2002-02-21 23:03:14 +00:00
J"orn Rennecke
31fbaad438 jump.c (redirect_jump): If old label has no UID, don't try to delete it.
* jump.c (redirect_jump): If old label has no UID, don't try to
	delete it.

From-SVN: r49943
2002-02-21 22:48:02 +00:00
J"orn Rennecke
a7f52356c5 sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
* sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
	If input is constant, do shifts at compile time.

From-SVN: r49942
2002-02-21 21:29:28 +00:00
Joseph Myers
924fcc4ea5 * doc/extend.texi: Fix some more overfull hboxes.
From-SVN: r49941
2002-02-21 21:22:09 +00:00
Jakub Jelinek
e5a2088897 re PR rtl-optimization/4994 (ICE with "-fno-exceptions -O2 -mmmx -march=athlon")
PR optimization/4994
	* config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
	register moves.

	* g++.dg/opt/mmx1.C: New test.

From-SVN: r49939
2002-02-21 22:16:22 +01:00
Jakub Jelinek
22273300ad re PR c++/4574 (Internal compiler error in `expand_and', at expmed.c:4055)
PR c++/4574
	* expr.h (expand_and): Add mode argument.
	* expmed.c (expand_and): Add mode argument.
	(expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
	* expr.c (store_field, expand_expr, do_store_flag): Likewise.
	* except.c (expand_builtin_extract_return_addr): Likewise.
	* config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
	* config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
	* config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
	Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
	* config/c4x/c4x.md: Use GEN_INT (x) instead of
	gen_rtx (CONST_INT, VOIDmode, x).

	* gcc.dg/20020220-1.c: New test.

From-SVN: r49938
2002-02-21 22:11:08 +01:00
Jakub Jelinek
7133e9921a re PR c/4697 (Warning 'value computed is not used' missing)
PR c/4697:
	* stmt.c (warn_if_unused_value): Move side effects test once more.

	* gcc.dg/20020220-2.c: New test.

From-SVN: r49937
2002-02-21 21:23:48 +01:00
Torbjorn Granlund
e2ec05a6c9 avr.md: Add more patterns for mized-mode add and subtract (addsi3_zero_extend...
* config/avr/avr.md: Add more patterns for mized-mode add and subtract
        (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).

From-SVN: r49936
2002-02-21 22:27:50 +03:00
Alexandre Oliva
9dd791c86c rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of SUBREG or ZERO_EXTEND.
* rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
SUBREG or ZERO_EXTEND.

From-SVN: r49935
2002-02-21 19:21:35 +00:00
Andreas Tobler
287dd527bd ffi_darwin.c (ffi_prep_args): Skip appropriate number of GPRs for floating-point arguments.
2002-02-21  Andreas Tobler  <toa@pop.agri.ch>

        * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
        number of GPRs for floating-point arguments.

From-SVN: r49934
2002-02-21 14:14:28 -05:00
J"orn Rennecke
7ab562744f sh.h (current_function_anonymous_args): Remove.
* sh.h (current_function_anonymous_args): Remove.
	(SETUP_INCOMING_VARARGS): Don't set it - just check that one
	of current_function_varargs and current_function_stdarg is set.
	* sh.c (sh_expand_prologue): Check current_function_varargs /
	current_function_stdarg / TARGET_SH5 instead of
	current_function_anonymous_args.

	* sh64.h (TARGET_VERSION): Define.

Fix comments that to refer to SH architecture -
the architecture is no longer exclusive to Hitachi.

From-SVN: r49931
2002-02-21 16:42:28 +00:00
Nic Ferrier
7384051993 Makefile.am (libgcj.jar:): Change to -CLASSPATH
* Makefile.am (libgcj.jar:): Change to -CLASSPATH
	(.class.h:): Ditto.
	(java/lang/ClassLoader.h:): Ditto.
	(java/lang/Thread.h:): Ditto.
	(java/lang/String.h:): Ditto.
	(java/lang/reflect/Constructor.h:): Ditto.
	(java/lang/reflect/Field.h:): Ditto.
	(java/lang/reflect/Method.h:): Ditto.
	(gnu/gcj/runtime/VMClassLoader.h:): Ditto.
	(java/io/ObjectInputStream$$GetField.h:): Ditto.
	(java/io/ObjectOutputStream$$PutField.h:): Ditto.
	* Makefile.in: Rebuilt with libgcj Automake.

From-SVN: r49927
2002-02-21 10:58:12 +00:00