Commit Graph

39952 Commits

Author SHA1 Message Date
Jakub Jelinek
275b60d6d8 configure.in: Check for ld.
* configure.in: Check for ld.
	(HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
	* configure, config.in: Rebuilt.
	* config.gcc: Add crtbeginT.o to extra_parts where needed.
	* config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
	frame unwinding on Linux.
	* config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
	frame unwinding.
	* config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
	(LINK_EH_SPEC): Define.
	* config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
	* config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
	* config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
	iterate further if pc falls into current library, but fde was not
	found.
	* config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
	if using glibc.
	(LINK_EH_SPEC): Define.
	* config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
	Use crtbeginT.o for -static.
	(LINK_EH_SPEC): Define.
	* config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
	* Makefile.in (crtbeginT.o): Add rule.
	* gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
	If neither -static-libgcc nor -shared-libgcc is passed and -shared,
	use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
	If none of the above switches are passed, use -lgcc -lgcc_eh.
	(init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
	* mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
	creating libgcc_s.so, put them into separate libgcc_eh.a instead.
	* unwind-dw2-fde.c: Don't include any headers if this file
	is included from other .c file.
	* unwind-dw2-fde-glibc.c: New file.
	* crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
	Use it instead of EH_FRAME_SECTION_NAME where appropriate.

From-SVN: r48039
2001-12-15 12:49:18 +01:00
Bryce McKinlay
861ef92859 java-tree.h (otable_methods, [...]): New field/global tree definitions.
gcc/java:

	* java-tree.h (otable_methods, otable_decl, otable_syms_decl,
	otable_type, otable_ptr_type, method_symbol_type,
	method_symbols_array_type, method_symbols_array_ptr_type): New
	field/global tree definitions.
	(flag_indirect_dispatch): New flag.
	* decl.c (java_init_decl_processing): Initialize new otable and
	otable_syms type nodes and decls. Add new field "index" to
	method_type_node.
	* class.c (build_method_symbols_entry): New function.
	(make_method_value): Set "index" to to method's vtable index for
	virtual methods when indirect-dispatch is not used.
	(make_class_data): For indirect-dispatch, dont emit the dtable_decl,
	and set vtable_method_count to -1. Set otable and otable_syms field
	if indirect-dispatch is used and there was something to put in them.
	(build_method_symbols_entry): New function.
	(emit_offset_symbol_table): New function.
	* expr.c (get_offset_table_index): New function.
	(build_invokevirtual): Build array reference to otable at the index
	returned by get_offset_table_index, and use the result as the vtable
	offset.
	(build_invokeinterface): Similar.
	* jcf-parse.c (yyparse): If indirect-dispatch, call
	emit_offset_symbol_table at the end of compilation, after all classes
	have been generated.
	* jvspec.c: Don't pass findirect-dispatch to jvgenmain.
	* lang.c (flag_indirect_dispatch): Define.
	(lang_f_options): Add indirect-dispatch flag.

libjava:

	* include/jvm.h (_Jv_VTable::idx_to_offset): New method.
	* java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Call
	_Jv_MakeVTable and _Jv_LinkOffsetTable if needed.
	* java/lang/Class.h (_Jv_Method): Add "index" field.
	(_Jv_MethodSymbol): New struct type.
	(_Jv_LinkOffsetTable, _Jv_LayoutVTableMethods, _Jv_SetVTableEntries,
	_Jv_MakeVTable): Friends.
	(otable, otable_syms): New Class fields.
	* java/lang/natClass.cc (_Jv_LinkOffsetTable): New function.
	(isVirtualMethod): New static function.
	(_Jv_LayoutVTableMethods): New function.
	(_Jv_SetVTableEntries): New function.
	(_Jv_MakeVTable): New function.

From-SVN: r48038
2001-12-15 08:31:49 +00:00
GCC Administrator
ed86a83d51 Daily bump.
From-SVN: r48036
2001-12-15 08:16:09 +00:00
Bryce McKinlay
d9fd7154ec Collections drop from Classpath:
2001-12-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/util/BitSet.java (and): Fix off-by-one bug, don't skip part of
	the bitset.
	(andNot): Likewise.
	(xor): Likewise.

2001-12-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/util/LinkedList.java (LinkedListItr.add): Don't skip the next
	entry.

2001-12-15  Eric Blake  <ebb9@email.byu.edu>

	* java/util/TreeMap.java (removeNode): Fix bug in node removal.

2001-12-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/util/AbstractCollection.java (containsAll): Use size of the
	correct collection for loop bound.
	* java/util/AbstractList.java (iterator.next): Increment pos after
	calling get on backing list.
	(listIterator.next): Likewise.
	* java/util/LinkedList.java (addLastEntry): Don't increment size before
	checking for size == 0.
	(addFirstEntry): Rearrange to match addLastEntry.
	(add): Do not increment size before inserting the new entry.

	* java/util/AbstractCollection.java (addAll): Use size of the
	correct collection for loop bound.

2001-12-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/util/AbstractSet.java (removeAll): Fix scoping thinko.
	* java/util/HashMap.java (putAllInternal): Set size here.
	* java/util/Hashtable.java (putAllInternal): New method. Copy contents
	of a map efficiently without calling put() or putAll().
	(Hashtable (map)): Use putAllInternal.
	(clone): Likewise.

2001-12-15  Eric Blake  <ebb9@email.byu.edu>

	* java/util/Collections.java:
	* java/util/Vector.java:
	* java/util/WeakHashMap.java: Fix spelling errors.

2001-12-15  Eric Blake  <ebb9@email.byu.edu>

	* java/util/AbstractCollection.java (removeAllInternal),
	(retainAllInternal): Add hooks for use by ArrayList.
	* java/util/AbstractList.java: Minor code updates. Fix some
	scoping.
	* java/util/AbstractMap.java: ditto
	* java/util/ArrayList.java (readObject, writeObject): ditto
	(removeAllInternal, retainAllInternal): Optimize.
	* java/util/Arrays.java: ditto
	* java/util/Collections.java: ditto. Change order of parameters
	to equals(Object, Object) to match specs.
	* java/util/Dictionary.java: Improve javadoc.
	(Dictionary): Add explicit constructor.
	* java/util/HashMap.java: Improve javadoc. Rearrange methods to
	follow order in JDK. Cleanups related to recent code migration to
	AbstractMap. Fix some scoping.
	(entrySet): Cache the result.
	(modCount): Ensure that this is updated correctly.
	* java/util/HashSet.java: Improve javadoc. Fix some scoping.
	(init): Add hooks for LinkedHashSet.
	(map): Use "" instead of Boolean.TRUE in backing map. Use
	package-private API where possible for less overhead.
	(readObject, writeObject): Fix serialization.
	* java/util/Hashtable.java: Improve javadoc. Fix some scoping.
	(entrySet, keySet, values): Cache the result.
	(modCount): Ensure that this is updated correctly.
	(contains, remove): Fix NullPointer checking to match specs.
	(class Enumeration): Make more like HashIterator.
	* java/util/IdentityHashMap.java: Minor code updates.
	(modCount): Ensure that this is updated correctly.
	(readObject, writeObject): Fix serialization.
	* java/util/LinkedHashMap.java: Minor code updates. Cleanups
	related to recent code migration to AbstractMap.
	* java/util/LinkedHashSet.java: New file.
	* java/util/LinkedList.java:
	(readObject, writeObject): Fix serialization.
	* java/util/Makefile.am: List recently added files.
	* java/util/Stack.java: Minor code updates.
	* java/util/TreeMap.java: Improve javadoc. Overhaul the class to
	be more efficient. Fix some scoping. Rearrange the methods.
	(nil): Ensure that this can be thread-safe, and make it a static
	final. Initialize it to be more useful as a sentinal node.
	(Node): Specify color in constructor.
	(deleteFixup, insertFixup): Improve comments and algorithm.
	(fabricateTree): Redesign with less overhead.
	(lowestGreaterThan): Add parameter first to make SubMap easier.
	(removeNode): Patch hole where nil was being modified. Choose
	predecessor instead of successor so in-place swap works.
	(class VerifyResult, verifyTree, verifySub, verifyError): Remove
	this dead code after verifying the class works.
	(class SubMap): Rewrite several algorithms to avoid problems with
	comparing nil.
	* java/util/TreeSet.java: Improve javadoc. Fix some scoping.
	(clone): Fix ClassCastException when cloning subSet().
	(readObject, writeObject): Fix serialization.
	* java/util/WeakHashMap.java: Improve javadoc. Fix some scoping.
	(NULL_KEY): Make it compare as null, for ease elsewhere.
	(Class WeakEntry): Rename from Entry, to avoid shadowing
	Map.Entry. Add missing toString.
	(modCount): Ensure that this is updated correctly.
	(clear, containsValue, keySet, putAll, values, WeakHashMap(Map)):
	Add missing methods and constructor.

2001-12-15  Eric Blake  <ebb9@email.byu.edu>

	* java/util/ArrayList.java (checkBoundExclusive),
	(checkBoundInclusive): Rename from range??clusive, to match
	AbstractList.
	* java/util/LinkedList.java (checkBoundsExclusive),
	(checkBoundsInclusive): ditto
	* java/util/Vector.java (checkBoundExclusive),
	(checkBoundInclusive): Move bounds checking into common methods.

2001-12-15  Eric Blake  <ebb9@email.byu.edu>

	* java/util/AbstractList.java:
	(modCount): Make sure it is updated in all needed places.
	* java/util/ArrayList.java: Improve javadoc. Implements
	RandomAccess. Add serialVersionUID. Reorder methods.
	(modCount): Make sure it is updated in all needed places.
	(rangeExclusive, rangeInclusive): Add common methods for bounds
	check.
	(isEmpty): Add missing method.
	* java/util/Collections.java: (class SynchronizedList): Make
	package visible.
	* java/util/ConcurrentModificationException.java: Improve
	javadoc.
	* java/util/EmptyStackException.java: Improve javadoc.
	* java/util/LinkedList.java: Improve javadoc.
	(modCount): Make sure it is updated in all needed places.
	(rangeExclusive, rangeInclusive): Add common methods for bounds
	check.
	* java/util/NoSuchElementException.java: Improve javadoc.
	* java/util/Stack.java: Improve javadoc. Fix synchronization
	issues.
	(modCount): Make sure it is updated in all needed places.
	* java/util/Vector.java: Improve javadoc. Fix synchronization
	issues. Implements RandomAccess. Reorder methods.
	(modCount): Make sure it is updated in all needed places.
	(setSize): Fix according to specifications: this does not dictate
	the backing array size.
	(removeAll, retainAll): Faster implementations.

2001-12-15  Eric Blake  <ebb9@email.byu.edu>

	* java/util/BitSet.java: Improve javadoc.
	(cardinality(), clear(), clear(int, int), flip(int)),
	(flip(int, int), get(int, int), intersects(BitSet), isEmpty()),
	(nextClearBit(int), nextSetBit(int), set(int, boolean)),
	(set(int, int), set(int, int, boolean)): Add new JDK 1.4 methods.
	(clone): Fix so subclasses clone correctly.

2001-12-15  Eric Blake  <ebb9@email.byu.edu>

	* java/util/AbstractCollection.java: Improve javadoc.
	(AbstractCollection()): Make constructor protected.
	(equals(Object, Object), hashCode(Object)): Add utility methods.
	* java/util/AbstractList.java: Improve javadoc.
	(AbstractList()): Make constructor protected.
	(indexOf(Object)): Call listIterator(), not listIterator(int).
	(iterator()): Follow Sun's requirement to not use listIterator(0).
	(listIterator(int)): Make AbstractListItr anonymous.
	(subList(int, int)): Add support for RandomAccess.
	(SubList.add(int, Object), SubList.remove(Object)): Fix bug with
	modCount tracking.
	(SubList.addAll(Collection)): Add missing method.
	(SubList.listIterator(int)): Fix bugs in indexing, modCount
	tracking.
	(class RandomAccessSubList): Add new class.
	* java/util/AbstractMap.java: Improve javadoc.
	(keys, values, KEYS, VALUES, ENTRIES): Consolidate common map
	fields.
	(AbstractMap()): Make constructor protected.
	(equals(Object, Object), hashCode(Object)): Add utility methods.
	(equals(Object)): Change algorithm to
	entrySet().equals(m.entrySet()), as documented by Sun.
	(keySet(), values()): Cache the collections.
	* java/util/AbstractSequentialList.java: Improve javadoc.
	(AbstractSequentialList()): Make constructor protected.
	* java/util/AbstractSet.java: Improve javadoc.
	(AbstractSet()): Make constructor protected.
	(removeAll(Collection)): Add missing method.
	* java/util/Arrays.java: Improve javadoc, rearrange method orders.
	(defaultComparator): Remove, in favor of
	Collections.compare(Object, Object, Comparator).
	(binarySearch, equals, sort): Fix natural order comparison of
	floats and doubles. Also improve Object comparison - when
	comparator is null, use natural order.
	(fill, sort): Add missing checks for IllegalArgumentException.
	(sort, qsort): Fix sorting bugs, rework the code for more
	legibility.
	(mergeSort): Inline into sort(Object[], int, int, Comparator).
	(class ArrayList): Rename from ListImpl, and make compatible with
	JDK serialization. Add methods which more efficiently override
	those of AbstractList.
	* java/util/Collections: Improve javadoc.
	(isSequential(List)): Add and use a method for deciding between
	RandomAccess and sequential algorithms on lists.
	(class Empty*, class Synchronized*, class Unmodifiable*): Make
	compliant with JDK serializability.
	(class Singleton*, class CopiesList, class RevereseComparator),
	(class UnmodifiableMap.UnmodifiableEntrySet),
	(class *RandomAccessList): New classes for serial compatibility.
	(class Empty*, class Singleton*, class CopiesList): Add methods
	which more efficiently override those of Abstract*.
	(search): Inline into binarySearch(List, Object, Comparator).
	(binarySearch): Make sequential search only do log(n) comparisons,
	instead of n.
	(copy(List, List)): Do bounds checking before starting.
	(indexOfSubList, lastIndexOfSubList, list, replaceAll, rotate),
	(swap):	Add new JDK 1.4 methods.
	(binarySearch, max, min, sort): Allow null comparator to represent
	natural ordering.
	(reverse(List)): Avoid unnecessary swap.
	(shuffle(List, Random)): Do shuffle in-place for RandomAccess
	lists.
	(SingletonList.get): Fix logic bug.
	(SingletonMap.entrySet): Make the entry immutable, and cache the
	returned set.
	(SynchronizedCollection, SynchronizedMap, UnmodifiableCollection),
	(UnmodifiableMap): Detect null pointer in construction.
	(SynchronizedMap, UnmodifiableMap): Cache collection views.
	* java/util/BasicMapEntry: Improve javadoc.

From-SVN: r48035
2001-12-15 07:47:03 +00:00
Benjamin Kosnik
def9790d51 Clean up initialization and simplfy caching of underlying "C" locale objects.
2001-12-14  Benjamin Kosnik  <bkoz@redhat.com>

	Clean up initialization and simplfy caching of underlying "C"
	locale objects.
	* src/localename.cc (locale::_Impl::_Impl(string, size_t):
	Unconditionally create __clocale object for all named locales,
	including "C" and "POSIX".
	* config/locale/c_locale_generic.cc
	(locale::facet::_S_create_c_locale): Always set __cloc to zero.
	* config/locale/c_locale_gnu.cc: Always delete.
	* include/bits/localefwd.h (locale::facet::_S_c_locale): New.
	* src/locale.cc (locale::classic()): Initialize
	locale::facet::_S_c_locale.
	(locale::facet::_S_c_locale): Define.

	* include/bits/locale_facets.h: Add ctype_byname<wchar_t> ctor
	specialization.
	* src/locale.cc: Add definition here.
	* config/os/gnu-linux/bits/ctype_inline.h: Tweak.
	* config/os/gnu-linux/bits/ctype_noninline.h: Adjust initializations.
	* include/bits/locale_facets.h (ctype<char>::_M_c_locale_ctype): Add.
	Adjust ctors, dtors.
	(ctype<char>::_M_toupper): Remove const&.
	(ctype<char>::_M_tolower): Remove const&.
	(ctype<char>::_M_ctable): Remove const&.

	* include/bits/locale_facets.h (collate): Clean up initialization
	of _M_c_locale_collate in ctors and dtors.
	* config/locale/collate_members_gnu.cc: Always use extended
	functions.

	* include/bits/locale_facets.h (messages): Clean up inits in ctor/dtor.
	(messages_byname): Same.
	* config/locale/messages_members_generic.h (messages::~messages):
	Remove.
	* config/locale/messages_members_gnu.h: Same.

	* include/bits/localefwd.h: Clean. Move dtor definitions to
	* src/locale.cc: Here.
	* testsuite/22_locale/facet.cc: Fix spelling.

	Named locale support for ctype<wchar_t>.
        * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add variable
        ctype_members_* bits.
        * aclocal.m4: Regenerate.
        * configure: Regenerate.
        * src/Makefile.am (sources): Add ctype.cc.
        * src/Makefile.in: Regenerate.
        * config/locale/ctype_members_generic.cc: New file.
        * config/locale/ctype_members_gnu.cc: New file.
        * src/locale.cc: Remove ctype<wchart_t> definitions.

From-SVN: r48034
2001-12-15 07:05:04 +00:00
Kaveh R. Ghazi
88f92c0f3f builtins.c (expand_builtin_memcmp): Mark parameter with ATTRIBUTE_UNUSED.
* builtins.c (expand_builtin_memcmp): Mark parameter with
	ATTRIBUTE_UNUSED.
	* cfgcleanup.c (insns_match_p): Likewise.
	* regrename.c (mode_change_ok): Likewise.
	* gcc.c (execute): Const-ify.

From-SVN: r48033
2001-12-15 04:12:42 +00:00
Aldy Hernandez
d3b4cd6f89 c-parse.in (typename): Do not split attributes.
* c-parse.in (typename): Do not split attributes.
        Remove unsupported attributes warning.

        * c-decl.c (groktypename): Apply attributes.

From-SVN: r48032
2001-12-15 04:06:05 +00:00
Aldy Hernandez
cdf89524e3 * testsuite/gcc.dg/20011214-1.c: New.
From-SVN: r48031
2001-12-15 04:04:28 +00:00
Richard Henderson
892a4e60a7 ia64.c (spill_restore_mem): Mark iterator initialization as possibly dead.
* config/ia64/ia64.c (spill_restore_mem): Mark iterator
        initialization as possibly dead.

From-SVN: r48030
2001-12-14 18:28:33 -08:00
Richard Henderson
8610ba7050 regrename.c (mode_change_ok): New.
* regrename.c (mode_change_ok): New.
        (find_oldest_value_reg): Use it.

From-SVN: r48029
2001-12-14 18:25:41 -08:00
Richard Henderson
752ae91493 regrename.c (struct value_data): Add max_value_regs.
* regrename.c (struct value_data): Add max_value_regs.
        (init_value_data): Initialize it.
        (kill_value): Kill values that overlap the dying register.
        (set_value_regno): New.
        (kill_set_value, kill_autoinc_value, copy_value): Use it.
        (copyprop_hardreg_forward_1): Kill earlyclobber operands
        before looking at inputs.

From-SVN: r48028
2001-12-14 18:24:21 -08:00
David Edelsohn
ebd97b96f7 rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle DECL_WEAK for function descriptors.
* config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle
        DECL_WEAK for function descriptors.
        * config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler
        weak support present.
        (ASM_WEAKEN_LABEL): Same.

From-SVN: r48027
2001-12-14 21:16:37 -05:00
Kazu Hirata
103c41c190 h8300.md (anonymous pattern): Add a missing mode.
* config/h8300/h8300.md (anonymous pattern): Add a missing
	mode.

From-SVN: r48026
2001-12-15 01:33:51 +00:00
Kazu Hirata
e32815aa02 h8300.c (h8300_adjust_insn_length): Fix a comment typo.
* config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
	comment typo.

From-SVN: r48025
2001-12-15 01:31:00 +00:00
Kazu Hirata
64378c9131 h8300.c (h8300_handle_eightbit_data_attribute): Remove the initialization requierment.
* config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
	Remove the initialization requierment.
	(h8300_handle_tiny_data_attribute): Likewise.

From-SVN: r48024
2001-12-15 01:26:57 +00:00
Kazu Hirata
05fb163906 h8300.md (udivqi3): Remove.
* config/h8300/h8300.md (udivqi3): Remove.
	(divqi3): Likewise.
	(udivhi3): Likewise.
	(divhi3): Likewise.
	(umodqi3): Likewise.
	(modqi3): Likewise.
	(umodhi3): Likewise.
	(modhi3): Likewise.
	(udivmodqi3): New.
	(divmodqi3): Likewise.
	(udivmodhi3): Likewise.
	(divmodhi3): Likewise.

From-SVN: r48023
2001-12-15 01:16:28 +00:00
Jan Hubicka
08f7f057cc cfgcleanup.c (flow_find_cross_jump): Replace tests for note by active_insn_p; count conditional jump as instruction.
* cfgcleanup.c (flow_find_cross_jump): Replace tests for note
	by active_insn_p; count conditional jump as instruction.

From-SVN: r48022
2001-12-15 00:53:44 +00:00
DJ Delorie
aa28f076d6 cygwin.h (I386_PE_STRIP_ENCODING): Handle '*' at SYM_NAME[0] or SYM_NAME[3].
* config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*'
at SYM_NAME[0] or SYM_NAME[3].
(STRIP_NAME_ENCODING): Don't check for leading '*'.

Co-Authored-By: Danny Smith <dannysmith@users.sourceforge.net>

From-SVN: r48020
2001-12-14 18:38:18 -05:00
Ira Ruben
99f78cddd7 Added changes to support -### (previously ok'ed by R. Henderson).
Added changes to prevent -save-temps from clobbering the
input file (previously ok'ed by R. Henderson).

2001-12-14  Ira Ruben	<ira@apple.com>

	Add -### option (displays driver-generated commands without
	executing and quotes all arguments).
	* doc/invoke.texi: Add -###.
	* gcc.c (verbose_only_flag) - New flag.
	* (execute): If -### write quoted arguments and return.
	* (display_help): Print meaning of -###.
	* (process_command): Handle -###.

2001-12-14  Ira Ruben	<ira@apple.com>

	Fix to no allow -save-temps to clobber user's source file.
	* gcc.c: Add static globals input_stat and input_stat_set.
	(do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
	set, check that user's input file is not overwritten.
	(set_input): Reset input_stat_set for each new file.

From-SVN: r48019
2001-12-14 23:17:18 +00:00
Matthias Klose
f172748112 gcj.texi: Markup for man page generation.
* gcj.texi: Markup for man page generation. Document missing
	options printed by <tool> --help.
	Terminate description of gij's -ms option with a dot.
	* Make-lang.in ($(srcdir)/java/*.1): New targets.
	(java.generated-manpages java.install-man, java.uninstall,
	java-maintainer-clean) Updated.

From-SVN: r48016
2001-12-14 22:52:17 +00:00
Matthias Klose
3da33af300 texi2pod.pl: Merge changes from binutils' texi2pod.pl.
2001-12-12  Matthias Klose  <doko@debian.org>

	* texi2pod.pl: Merge changes from binutils' texi2pod.pl. Allows
	generation of more than one man page from one source.
	Add '-' to set of valid chars for an identifier.
	Let -D option accept flags of the form <flag>=<value>.
	Use \s+ for whitespace detection in '@c man' lines.
	Handle @set and @clear independent of $output.
	Substitute all @value{}'s in a line.

From-SVN: r48015
2001-12-14 22:46:31 +00:00
Geert Bosch
449d2be3bc config-lang.in: Update copyright notice
* config-lang.in: Update copyright notice

	* layout.adb: Remove commented out code.

	* mdllfile.ads: Update copyright notice. Fix header format.

	* sem_case.ads: Likewise.

	* sem_ch3.adb: Minor reformatting.

From-SVN: r48014
2001-12-14 23:31:14 +01:00
Tom Tromey
1808372b58 For PR libgcj/5103:
* libjava.jni/cxxtest.out: New file.
	* libjava.jni/cxxtest.cc: New file.
	* libjava.jni/cxxtest.java: New file.
	* libjava.jni/jni.exp (gcj_jni_test_one): If there is no .c file,
	assume there is a .cc file.

From-SVN: r48012
2001-12-14 21:56:29 +00:00
Jan Hubicka
27b2c32e31 * predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
From-SVN: r48010
2001-12-14 21:28:49 +00:00
Zack Weinberg
29655d3d5c combine.c (record_dead_and_set_regs): Use regs_invalidated_by_call.
* combine.c (record_dead_and_set_regs): Use
	regs_invalidated_by_call.  Don't note stores for CALL_INSNs.

From-SVN: r48009
2001-12-14 21:20:03 +00:00
Andreas Jaeger
dc6f415864 builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and __builtin_fsqrt to __builtin_sqrt.
2001-12-14  Roger Sayle <roger@eyesopen.com>

	* builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
	__builtin_fsqrt to __builtin_sqrt.
	* builtins.c (expand_builtin_mathfn,expand_builtin): Same.
	* doc/extend.texi: Simplify documentation to match patch.
f:
	* com-rt.def: Use __builtin_sqrt instead of __builtin_fsqrt.
	* com.c (ffecom_init_0): Same, and fixed enumeration usage.
libstdc++-v3:
	* acconfig.h: Test for __builtin_sqrt instead of
	__builtin_fsqrt.
	* acinclude.m4: Same.
	* include/c_shadow/bits/std_cmath.h: Same.
	* aclocal.m4: Regenerated.
	* config.h.in: Regenerated.
	* configure: Regenerated.

From-SVN: r48008
2001-12-14 22:06:35 +01:00
Jan Hubicka
e10e23ee51 config.gcc: Revamp target_cpu_default2 to strings; support new x86 variants.
* config.gcc: Revamp target_cpu_default2 to strings;
	support new x86 variants.

From-SVN: r48007
2001-12-14 20:43:41 +00:00
Jan Hubicka
f436562730 config.gcc: Revamp target_cpu_default2 to strings; support new x86 variants.
* config.gcc: Revamp target_cpu_default2 to strings;
	support new x86 variants.
	* i386.c (override_options): Default x86_cpu_string and x86_arch_string
	properly; set prefetch_sse.
	* i386.h (x86_prefetch_sse): Declare.
	(TARGET_PREFETCH_SSE): New.
	(CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
	(TARGET_CPU_DEFAULT_*): New.
	* config/i386/i386.h (struct processor_costs): Add new members
	  prefetch_block and simultaneous_prefetches.
	  (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
	* config/i386/i386.c (processor_costs structs): Add values for
	  prefetch_block and simultaneous_prefetches.
	* config/i386/i386.md (unspec values): Remove values for prefetch
	  operations, which now use the PREFETCH rtx code.
	  (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
	  unified prefetch support.

From-SVN: r48006
2001-12-14 20:27:05 +00:00
Jason Merrill
4ff8507ec5 diagnostic.c (sorry): Increment sorrycount before saving the buffer state.
* diagnostic.c (sorry): Increment sorrycount before saving the
        buffer state.

From-SVN: r48005
2001-12-14 15:13:55 -05:00
Hans Boehm
eec875422f class.c (get_dispatch_table): Fix java vtable layout for TARGET_VTABLE_USES_DESCRIPTORS.
* class.c (get_dispatch_table): Fix java vtable layout
	for TARGET_VTABLE_USES_DESCRIPTORS.
	* decl.c (java_init_decl_processing): Initialize
	alloc_no_finalizer_node, finalize_identifier_node.
	* expr.c (class_has_finalize_method): New function.
	(expand_java_NEW): Generate calls for finalizer-free allocation.
	(build_invokevirtual): Fix java vtable layout for
	TARGET_VTABLE_USES_DESCRIPTORS.
	* java-tree.h (enum java_tree_index): New entries:
	JTI_ALLOC_NO_FINALIZER_NODE, JTI_FINALIZE_IDENTIFIER_NODE.
	(alloc_no_finalizer_node, finalize_deintifier_node): New macros.
	(class_has_finalize_method): declare.
	(HAS_FINALIZER_P): New macro.
	* parse.y (patch_invoke): Generate calls for finalizer-free
	allocation.

From-SVN: r48004
2001-12-14 19:01:02 +00:00
Jan Hubicka
abf80f8ff8 * i386.md (sqrt?f): Fix conditionals.
From-SVN: r48003
2001-12-14 18:54:46 +00:00
Hans Boehm
938f37772e prims.cc: Some old cleanups.
* libjava/prims.cc: Some old cleanups.  The collector now
	handles test for out of memory.
	* libjava/prims.cc, libjava/gcj/javaprims.h:
	(_Jv_AllocObjectNoInitNoFinalizer, _Jv_AllocObjectNoFinalizer):
	New functions for finalizer-free allocation.
	(jvmpi_notify_alloc): Became separate function.
	* libjava/java/lang/Object.h, libjava/include/jvm.h: Adjust for
	revised vtable layout on IA64.  With TARGET_VTABLE_USES_DESCRIPTORS,
	there is only one extra descriptor.

From-SVN: r48002
2001-12-14 18:43:55 +00:00
Douglas B Rupp
b6bfa8766b config.gcc (alpha64-dec-*vms*): New case.
* config.gcc (alpha64-dec-*vms*): New case.
	* config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
	* config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
	* config/alpha/xm-vms64.h: Likewise.

From-SVN: r48001
2001-12-14 07:55:07 -05:00
Douglas B Rupp
c1bd46a8d4 alpha.c (vms_attribute_table): Add new attributes.
* config/alpha/alpha.c (vms_attribute_table): Add new attributes.
	(alpha_write_linkage): Test for null alpha_links.
	(SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
	(vms_section_type_flags, vms_asm_named_section): Handle them.

From-SVN: r48000
2001-12-14 07:39:08 -05:00
Jan Hubicka
965f5423cd i386.c (ix86_fpmath, [...]): New.
Fri Dec 14 12:05:14 CET 2001  Jan Hubicka  <jh@suse.cz>

	* i386.c (ix86_fpmath, ix86_fpmath_string): New.
	(override_option): Set ix86_fpmath.
	* i386.h (MASK_MIX_SSE_I387): Remove.
	(TARGET_SSE_MATH): New.
	(TARGET_MIX_SSE_I387): Use ix86_fpmath.
	(TARGET_SWITCHES): Remove "mix-sse-i387".
	(fpmath_unit): New enum.
	(ix86_fpmath, ix86_fpmath_string): Declare.
	* i386.md (swapsf): Fix condition.
	(add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
	(fp_?f_*_nosse): New.
	(fp_*): Use TARGET_SSE_MATH.
	* invoke.texi (-mfpmath): Document.
	(-msse2): Add.

From-SVN: r47999
2001-12-14 11:20:27 +00:00
Jason Merrill
009c32817a tweak comment
From-SVN: r47998
2001-12-14 06:19:28 -05:00
Jason Merrill
a4cf1d8534 dwarf2out.c (output_die): Print the string in the comment for a DW_FORM_strp.
* dwarf2out.c (output_die): Print the string in the comment for
        a DW_FORM_strp.

From-SVN: r47997
2001-12-14 06:15:36 -05:00
Richard Earnshaw
172270b3d1 * netbsd.h (COLLECT_SHARED_INIT_FUNC)
(COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
* doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
(COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.

From-SVN: r47996
2001-12-14 11:03:49 +00:00
GCC Administrator
e82c2b28d1 Daily bump.
From-SVN: r47995
2001-12-14 08:16:45 +00:00
Richard Henderson
3de237276c regrename.c (kill_value_regno): Simplify chain removal.
* regrename.c (kill_value_regno): Simplify chain removal.
        (kill_value): Kill all of HARD_REGNO_NREGS.
        (kill_set_value): Use kill_value not kill_value_regno.
        (kill_autoinc_value): Likewise.
        (copyprop_hardreg_forward): Don't collect refresh_blocks.
        Call delete_noop_moves.

From-SVN: r47992
2001-12-13 22:47:56 -08:00
Aldy Hernandez
c178fe8964 altivec-4.c: New.
2001-12-13  Aldy Hernandez  <aldyh@redhat.com>

	* gcc.dg/altivec-4.c: New.

From-SVN: r47991
2001-12-14 06:37:02 +00:00
Aldy Hernandez
c3f23a53ba attribs.c (c_common_attribute_table): Swap decl_req and type_req for the mode attribute.
* attribs.c (c_common_attribute_table): Swap decl_req and type_req
	for the mode attribute.
        (handle_mode_attribute): Handle types, not decls.

From-SVN: r47990
2001-12-14 06:36:14 +00:00
Aldy Hernandez
803e889402 attribs.c (c_common_attribute_table): Swap decl_req and type_req for the mode attribute.
2001-12-09  Aldy Hernandez  <aldyh@redhat.com>

        * attribs.c (c_common_attribute_table): Swap decl_req and type_req
	for the mode attribute.
        (handle_mode_attribute): Handle types, not decls.

From-SVN: r47989
2001-12-14 06:27:51 +00:00
Jason Merrill
82d351a634 c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
* c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.

        Use cleanups to run base and member destructors.
        * init.c (push_base_cleanups): New function, split out from...
        (build_delete): ...here.  Lose !TYPE_HAS_DESTRUCTOR code.
        * decl.c (finish_destructor_body): Move vbase destruction code to
        push_base_cleanups.
        (begin_function_body, finish_function_body): New fns.
        (finish_function): Move [cd]tor handling and call_poplevel to
        finish_function_body.
        (pushdecl): Skip the new level.
        * semantics.c (genrtl_try_block): Don't call end_protect_partials.
        (setup_vtbl_ptr): Call push_base_cleanups.
        * method.c (synthesize_method): Call {begin,end}_function_body.
        * pt.c (tsubst_expr): Handle COMPOUND_STMT_BODY_BLOCK.
        * cp-tree.h: Declare new fns.
        * parse.y (function_body, .begin_function_body): New nonterminals.
        (fndef, pending_inline, function_try_block): Use function_body.
        (ctor_initializer_opt, function_try_block): No longer has a value.
        (base_init): Remove .set_base_init token.
        (.set_base_init, compstmt_or_error): Remove.
        * Make-lang.in (parse.c): Expect two fewer s/r conflicts.

From-SVN: r47988
2001-12-13 22:08:50 -05:00
Jason Merrill
ade3dc07d5 c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
* c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.

        * Make-lang.in (parse.h): Separate rule, just depend on parse.c.

        Use cleanups to run base and member destructors.
        * init.c (push_base_cleanups): New function, split out from...
        (build_delete): ...here.  Lose !TYPE_HAS_DESTRUCTOR code.
        * decl.c (finish_destructor_body): Move vbase destruction code to
        push_base_cleanups.
        (begin_function_body, finish_function_body): New fns.
        (finish_function): Move [cd]tor handling and call_poplevel to
        finish_function_body.
        (pushdecl): Skip the new level.
        * semantics.c (genrtl_try_block): Don't call end_protect_partials.
        (setup_vtbl_ptr): Call push_base_cleanups.
        * method.c (synthesize_method): Call {begin,end}_function_body.
        * pt.c (tsubst_expr): Handle COMPOUND_STMT_BODY_BLOCK.
        * cp-tree.h: Declare new fns.
        * parse.y (function_body, .begin_function_body): New nonterminals.
        (fndef, pending_inline, function_try_block): Use function_body.
        (ctor_initializer_opt, function_try_block): No longer has a value.
        (base_init): Remove .set_base_init token.
        (.set_base_init, compstmt_or_error): Remove.
        * Make-lang.in (parse.c): Expect two fewer s/r conflicts.

From-SVN: r47987
2001-12-13 22:01:59 -05:00
Aldy Hernandez
466eb3e085 rs6000.md (eh_set_lr_di): Change scratch constraint to base register.
2001-12-13  Aldy Hernandez  <aldyh@redhat.com>

		* config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
        constraint to base register.
        (eh_set_lr_si): Same.

From-SVN: r47986
2001-12-14 02:43:26 +00:00
Jason Merrill
4fc1261764 restore # lines
From-SVN: r47985
2001-12-13 21:30:48 -05:00
Hans-Peter Nilsson
05c8e58b27 expr.c (expand_expr, [...]): Don't honor flag_force_addr for modifier != EXPAND_CONST_ADDRESS...
* expr.c (expand_expr, case ADDR_EXPR): Don't honor
	flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
	modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.

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

From-SVN: r47984
2001-12-14 02:16:33 +00:00
Richard Kenner
1ed1b4fbd8 expr.c (copy_blkmode_from_reg): Add missing braces to eliminate warning and reformat comments.
* expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
	warning and reformat comments.
	(expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
	(highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
	if overflow.

From-SVN: r47983
2001-12-13 20:37:46 -05:00
Aldy Hernandez
10baca6bed rs6000.c (rs6000_override_options): Add SUBSUBTARGET_OVERRIDE_OPTIONS.
* config/rs6000/rs6000.c (rs6000_override_options): Add
        SUBSUBTARGET_OVERRIDE_OPTIONS.

        * config/rs6000/eabialtivec.h: New file.

	* config/rs6000/linuxaltivec.h: New file.

	* config.gcc: Add powerpc-*-eabialtivec and
	powerpc-*-linux-gnualtivec.

From-SVN: r47981
2001-12-13 23:14:45 +00:00