Commit Graph

47905 Commits

Author SHA1 Message Date
John David Anglin
131efcd8e0 * pa.md: Correct and enhance comment.
From-SVN: r63049
2003-02-18 18:27:13 +00:00
Geoffrey Keating
dce53c70a4 Remove conflict marker
From-SVN: r63048
2003-02-18 18:26:43 +00:00
Geoffrey Keating
59d22bc54e pch.exp: Delete $bname.h before copying into it.
* gcc.dg/pch/pch.exp: Delete $bname.h before copying into it.
	* g++.dg/pch/pch.exp: Likewise.

From-SVN: r63047
2003-02-18 18:26:06 +00:00
Geoffrey Keating
e17aafd170 * gcc.c (validate_switches): Don't scan past closing '}'.
From-SVN: r63046
2003-02-18 18:24:05 +00:00
Jason Merrill
04b0308574 re PR c++/9623 (named initializer regression)
PR c++/9623
        * decl.c (reshape_init): Don't mess with initializer labels.

From-SVN: r63045
2003-02-18 13:16:40 -05:00
Jason Merrill
a6bd211dbf re PR c++/9623 (named initializer regression)
PR c++/9623
        * decl.c (reshape_init): Don't mess with initializer labels.

[[Split portion of a mixed commit.]]

From-SVN: r63044.2
2003-02-18 13:16:19 -05:00
Kazu Hirata
bc102c4bd5 20030209-1.c: Enable the test if STACK_SIZE is not defined.
* gcc.c-torture/execute/20030209-1.c: Enable the test if
	STACK_SIZE is not defined.

From-SVN: r63042
2003-02-18 17:48:54 +00:00
Ben Elliston
bf7c02ddfe re PR other/7350 ('shoud' typos)
* Fix for PR other/7350

[cp]
	* decl.c (duplicate_decls): Fix typo in comment.
[ada]
	* 5qtaprop.adb (Sleep): Fix typo in comment.

From-SVN: r63037
2003-02-19 00:40:56 +11:00
Paolo Carlini
14a65f50b0 re PR libstdc++/9582 (ODR violation in std::allocator)
2003-02-18  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9582
	* include/bits/stl_alloc.h (__pool_alloc::allocate):
	Remove assert.

From-SVN: r63031
2003-02-18 10:54:37 +00:00
Ben Elliston
f57a2e3a8a re PR c++/1607 ([3.3 only] Format attributes on methods undocumented)
PR c++/1607
	* doc/extend.texi (Function Attributes): Document the effect of
	the C++ "this" parameter on the counting of arguments for the
	"format" and "format_arg" attributes.

From-SVN: r63030
2003-02-18 21:51:57 +11:00
Michael Koch
69c107efe4 2003-02-18 Michael Koch <konqueror@gmx.de>
* java/nio/channels/FileChannel.java
	(toString): New implementation, added documentation.
	(map): Added exception documentation.
	(size): Added exception documentation.
	(write): New methods, documentation work.
	(read): New methods, documentation work.
	(implCloseChannel): Rewrote exception documentation.
	(force): Throws IOException, added documentation.
	(lock): New methods.
	(tryLock): New methods.
	(position): New methods.
	(transferTo): New method.
	(transferFrom): New method.
	(truncate): New method.
	* java/nio/channels/spi/SelectorProvider.java
	(provider): Implemented.
	* Makefile.am
	(ordinary_java_source_files): Added the following files:
	gnu/java/nio/DatagramChannelImpl.java
	gnu/java/nio/FileChannelImpl.java
	gnu/java/nio/PipeImpl.java
	gnu/java/nio/SelectionKeyImpl.java
	gnu/java/nio/SelectorImpl.java
	gnu/java/nio/SelectorProviderImpl.java
	gnu/java/nio/ServerSocketChannelImpl.java
	gnu/java/nio/SocketChannelImpl.java
	java/nio/channels/FileLock.java
	(nat_java_source_files): Added the following files:
	gnu/java/nio/natFileChannelImpl.cc
	gnu/java/nio/natSelectorImpl.cc
	gnu/java/nio/natSocketChannelImpl.cc
	* Makefile.in: Regenerated.

From-SVN: r63028
2003-02-18 07:26:20 +00:00
Mark Mitchell
c7adfa0192 Add PR number
From-SVN: r63027
2003-02-18 07:25:48 +00:00
Michael Elizabeth Chastain
0f3a821963 class.c (build_base_field): Mark fields for base classes with DECL_IGNORED_P.
* class.c (build_base_field): Mark fields for base classes with
	DECL_IGNORED_P.

From-SVN: r63026
2003-02-18 07:24:44 +00:00
Benjamin Kosnik
6067bea410 [multiple changes]
2003-02-17  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_ios.tcc (copyfmt): Copy locale data as well.
	* testsuite/27_io/ios_members.cc (test03): New.

2003-02-17  Jerry Quinn  <jlquinn@optonline.net>

	* include/bits/basic_ios.h (basic_ios::_M_cache_locale): Declare.
	(basic_ios::_M_cache_facets): Move into above.
	* include/bits/basic_ios.tcc (basic_ios::copyfmt): Rebuild locale
	cache.
	(basic_ios::imbue): Force locale cache to be built.
	(basic_ios::_M_init): Create and initialize locale cache.
	* include/bits/ios_base.h (__locale_cache_base): Declare.
	(ios_base::_M_locale_cache): New.
	(ios_base::_M_cache): Define.
	* include/bits/locale_facets.h:	(__num_base): Fix comment.  Add
	_S_end.
        (__locale_cache_base,__locale_cache<_CharT>):  New classes.
	(__locale_cache<char>, __locale_cache<wchar_t>): New specializations.
	* include/bits/locale_facets.tcc (num_put::_M_convert_int): Use locale
	cache literal string, grouping flag, thousands separator.
	(__locale_cache<_CharT>::__locale_cache): New.
	(__locale_cache<_CharT>::_M_init): New.
	(__locale_cache<_CharT>::_M_populate): New.
	* src/ios.cc: Clear _M_locale_cache in constructor.
	* src/locale-inst.cc (__locale_cache<char>, __locale_cache<_char_t>):
	New.

From-SVN: r63025
2003-02-18 05:45:07 +00:00
Tom Tromey
59ac5a1725 ColorModel.java: Re-merged with Classpath.
* java/awt/image/ColorModel.java: Re-merged with Classpath.
	* java/awt/image/ImageFilter.java: Likewise.

From-SVN: r63024
2003-02-18 00:57:26 +00:00
GCC Administrator
5b0512df31 Daily bump.
From-SVN: r63023
2003-02-18 00:17:05 +00:00
Raif S. Naffah
b9e16504f9 BigInteger.java (euclidInv): Return array of `BigInteger's.
2003-02-17  Raif S. Naffah <raif@fl.net.au>

	* java/math/BigInteger.java (euclidInv): Return array of
	`BigInteger's.  Changed all callers.

From-SVN: r63014
2003-02-17 23:18:39 +00:00
Aldy Hernandez
9b0c0e9fb2 spe.h (__ev_stdd): Cast 2nd arg.
2003-02-17  Aldy Hernandez  <aldyh@redhat.com>

        * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
        (__ev_stdw): Same.
        (__ev_stdh): Same.

From-SVN: r63012
2003-02-17 23:14:41 +00:00
Paolo Carlini
d407831d09 locale-inst.cc: Do not include <cassert>.
2003-02-17  Paolo Carlini  <pcarlini@unitus.it>

	* src/locale-inst.cc: Do not include <cassert>.
	* src/locale.cc: Likewise.

From-SVN: r63009
2003-02-17 21:42:05 +00:00
Paolo Carlini
1a1aed2466 re PR libstdc++/9580 (basic_filebuf<> with custom traits_type fails to link)
2003-02-17  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9580
	* include/std/std_fstream.h: Declare underflow and uflow
	specializations, change generic definitions to do nothing.
	* src/fstream.cc: Add underflow and uflow specializations.

From-SVN: r63008
2003-02-17 20:07:48 +00:00
Ranjit Mathew
bea63b0acc Properties.java (store): Move the code formerly in list(), into this method.
2003-02-17  Ranjit Mathew  <rmathew@hotmail.com>

	* java/util/Properties.java (store): Move the code formerly in
	list(), into this method.
	(list (PrintStream)): Just call list (PrintWriter) with a
	PrintWriter object constructed from the given PrintStream object.
	(list (PrintWriter)): Emulate the output of Properties.list()
	as found in JDK 1.3/1.4.

From-SVN: r63006
2003-02-17 19:05:56 +00:00
Paolo Carlini
130cd3e1df re PR libstdc++/9169 (filebuf output fails if codecvt<>::out returns noconv)
2003-02-17  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9169
	* include/bits/fstream.tcc (_M_convert_to_external):
	Deal correctly with noconv, as prescribed by 27.8.1.4,p8.
	* testsuite/27_io/filebuf_virtuals.cc (test10): Add.

From-SVN: r63004
2003-02-17 19:05:01 +00:00
Jeff Sturm
ba5d2d3dc1 CompareNaN.java: New test.
* libjava.lang/CompareNaN.java: New test.
* libjava.lang/CompareNaN.out: New test.

From-SVN: r63003
2003-02-17 16:07:49 +00:00
Kriang Lerdsuwanakij
db77ef4c93 re PR c++/9457 (ICE in tsubst_copy, at cp/pt.c:7124)
PR c++/9457
	* pt.c (tsubst_copy_and_build) [CONSTRUCTOR]: Substitute
	CONSTRUCTOR_ELTS only once.

	* g++.dg/template/init1.C: New test.

From-SVN: r63002
2003-02-17 15:42:58 +00:00
Michael Koch
e6ddcef66a Forgot to add these two files to cimmot command line
From-SVN: r63001
2003-02-17 15:39:52 +00:00
Michael Koch
b0e1d9ae2c 2003-02-17 Michael Koch <konqueror@gmx.de>
* java/net/DatagramSocket.java
	(connect): Merged with classpath.
	(disconnect): Merged documentation with classpath.
	(receice): Merged documentation with classpath.
	(send): Merged documentation with classpath.

From-SVN: r63000
2003-02-17 15:33:54 +00:00
Michael Koch
0701e74c80 2003-02-17 Michael Koch <konqueror@gmx.de>
* java/awt/dnd/DragSourceContext.java
	(addDragSourceListener): Added documentation.
	* java/awt/dnd/DragSourceDragEvent.java
	(serialVersionUID): New member variable.
	(getDropAction): Reformated.
	* java/awt/dnd/DragSourceDropEvent.java
	(serialVersionUID): New member variable.
	(dropSuccess): Renamed from success for serialization issues.
	* java/awt/dnd/DragSourceEvent.java
	(serialVersionUID): New member variable.
	* java/awt/dnd/DropTarget.java
	(serialVersionUID): New member variable.
	(DropTarget): Implemented, documentation reworked.
	(setComponent): Documentation added.
	(getComponent): Documentation added.
	(setDefaultActions): Documentation added.
	(getDefaultActions): Documentation added.
	(addDropTargetListener): Documentation added.
	* java/awt/dnd/DropTargetContext.java
	(DropTargetContext): Documentation added.
	(TransferableProxy.TransferableProxy): New method.
	(dropComplete): Fixed documentation.
	(getTransferable): Fixed documentation.
	(createTransferableProxy): Implemented.
	* java/awt/dnd/DropTargetDragEvent.java
	(DropTargetDragEvent): Documentation added.
	(serialVersionUID): New member variable.
	(DropTargetDragEvent): Throw exceptions, documentation added.
	(acceptDrag): Implemented.
	(getCurrentDataFlavors): Implemented.3yy
	(getCurrentDataFlavorsAsList): Implemented.
	(isDataFlavorSupported): Implemented.
	(rejectDrag): Implemented.
	* java/awt/dnd/DropTargetDropEvent.java
	(DropTargetDropEvent): Documentation added.
	(serialVersionUID): New member variable.
	(actions): Renamed from srcActions for serialization issues.
	(isLocalTx): Renamed from isLocalTx for serialization issues.
	(DropTargetDropEvent): New implementation, throw exceptions,
	documentation added.
	(getCurrentDataFlavors): Implemented.
	(getCurrentDataFlavorsAsList): Implemented.
	(isDataFlavorSupported): Implemented.
	(getSourceActions): Implemented.
	(getDropAction): Implemented.
	(getTransferable): Implemented.
	(acceptDrop): Implemented.
	(rejectDrop): Implemented.
	* java/awt/dnd/DropTargetListener.java
	(drop): Fixed documentation.
	* java/awt/dnd/MouseDragGestureRecognizer.java
	(MouseDragGestureRecognizer): Documentation added.

2003-02-17  Michael Koch  <konqueror@gmx.de>

	* java/awt/font/FontRenderContext.java,
	java/awt/font/ShapeGraphicAttribute.java,
	java/awt/font/MultipleMaster.java,
	java/awt/font/TransformAttribute.java,
	java/awt/font/GlyphJustificationInfo.java,
	java/awt/font/LineBreakMeasurer.java,
	java/awt/font/TextMeasurer.java,
	java/awt/font/TextLayout.java,
	java/awt/font/LineMetrics.java,
	java/awt/font/TextAttribute.java,
	java/awt/font/GlyphMetrics.java,
	java/awt/font/OpenType.java,
	java/awt/font/GlyphVector.java,
	java/awt/font/GraphicAttribute.java,
	java/awt/font/ImageGraphicAttribute.java,
	java/awt/font/NumericShaper.java: New files.
	* Makefile.am
	(awt_java_source_files): Added the following files:
	java/awt/font/FontRenderContext.java
	java/awt/font/ShapeGraphicAttribute.java
	java/awt/font/MultipleMaster.java
	java/awt/font/TransformAttribute.java
	java/awt/font/GlyphJustificationInfo.java
	java/awt/font/LineBreakMeasurer.java
	java/awt/font/TextMeasurer.java
	java/awt/font/TextLayout.java
	java/awt/font/LineMetrics.java
	java/awt/font/TextAttribute.java
	java/awt/font/GlyphMetrics.java
	java/awt/font/OpenType.java
	java/awt/font/GlyphVector.java
	java/awt/font/GraphicAttribute.java
	java/awt/font/ImageGraphicAttribute.java
	java/awt/font/NumericShaper.java
	* Makefile.in: Regenerated.

2003-02-17  Michael Koch  <konqueror@gmx.de>

	* java/awt/print/Paper.java
	(Paper): Implements Cloneable.
	* java/awt/print/PrinterJob.java
	(setJobName): Return value must be void.
	(print): Throws PrinterException.

From-SVN: r62999
2003-02-17 15:26:30 +00:00
Jan Hubicka
35a3fa09ad * recog.c (split_all_insns): Fix memory overflow.
From-SVN: r62998
2003-02-17 15:21:32 +00:00
Kazu Hirata
6dc503669c h8300.md (cmpqi): Remove mode from compare.
* config/h8300/h8300.md (cmpqi): Remove mode from compare.
	(cmphi): Likewise.
	(*cmphi_h8300): Likewise.
	(*cmphi_h8300hs): Likewise.
	(cmpsi): Likewise.
	(7 peephole2): Likewise.

From-SVN: r62996
2003-02-17 15:00:04 +00:00
GCC Administrator
7a01761009 Daily bump.
From-SVN: r62995
2003-02-17 00:17:03 +00:00
Jan Hubicka
096daf41db c-typeck.c (build_c_cast): Fold constant variables into initial values.
* c-typeck.c (build_c_cast):  Fold constant variables into
	initial values.

	* gcc.dg/c90-const-expr-3.c (DZERO): New static variable
	(foo): Add few extra tests
	* gcc.dg/c99-const-expr-3.c: Likewise.
	* gcc.c-torture/execute/20030216-1.c: New.

From-SVN: r62987
2003-02-16 22:10:10 +00:00
Gerald Pfeifer
35113fde34 install.texi (Specific): Fix link for m68k-att-sysv.
* doc/install.texi (Specific): Fix link for m68k-att-sysv.
	(Binaries): Ditto for Sinix/Reliant Unix.

From-SVN: r62984
2003-02-16 21:07:30 +00:00
Gerald Pfeifer
cab60ac6c2 MAINTAINERS: Remove John Carr (who never actually had access to gcc.gnu.org).
* MAINTAINERS: Remove John Carr (who never actually had access to
	gcc.gnu.org).

From-SVN: r62982
2003-02-16 20:10:37 +00:00
Richard Earnshaw
3a1944a602 arm.c (arm_reload_in_hi): Ensure that the scratch register does not overlap the final result register.
* arm.c (arm_reload_in_hi): Ensure that the scratch register does
not overlap the final result register.

From-SVN: r62981
2003-02-16 19:40:11 +00:00
Tom Tromey
97a6e368a6 verify.cc (_Jv_BytecodeVerifier::pop_jump): Removed unused variable.
* verify.cc (_Jv_BytecodeVerifier::pop_jump): Removed unused
	variable.

From-SVN: r62980
2003-02-16 19:34:49 +00:00
Kriang Lerdsuwanakij
0df4ae9648 re PR c++/9459 (typeof in return type specification of template not supported)
PR c++/9459
	* error.c (dump_type_prefix): Handle TYPEOF_TYPE.
	(dump_type_suffix): Likewise.

	* g++.dg/ext/typeof4.C: New test.

From-SVN: r62973
2003-02-16 17:04:27 +00:00
Mark Wielaard
99a7d107b6 + * libjava.mauve/xfails: Add Class.reflect2 and String.getBytes FAILs.
From-SVN: r62970
2003-02-16 14:47:03 +00:00
Richard Henderson
a30a809b66 New file.
From-SVN: r62968
2003-02-16 00:33:17 -08:00
Richard Henderson
ddb9eeddc4 Mark PR last change.
From-SVN: r62966
2003-02-16 00:26:30 -08:00
Arend Bayer
cdd4b0d464 fold-const.c (extract_muldiv_1): Rename from extract_muldiv; rearrange mult arguments for less recursion.
* fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
        rearrange mult arguments for less recursion.
        (extract_muldiv): New.  Prevent runaway recursion.

Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r62963
2003-02-16 00:24:25 -08:00
Danny Smith
616f273ae7 cygwin.h (TARGET_SUBTARGET_DEFAULT): Set MASK_ALIGN_DOUBLE.
* config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
	MASK_ALIGN_DOUBLE.

From-SVN: r62960
2003-02-16 06:27:19 +00:00
Roger Sayle
881b2a9652 i386.c (x86_ext_80387_constants): Use 80387 insns to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
2003-02-15  Roger Sayle  <roger@eyesopen.com>

	* config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
	to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
	(ext_80387_constants_table): Global table of 80387 special constants
	guarded by ext_80387_constants_init flag when not initialized.
	(init_ext_80387_constants): New function to initialize this table.
	(standard_80387_constant_p): Extend to recognize extra 80387
	constants, in XFmode, on processors where this is a win.
	(standard_80387_constant_opcode): New function to return the
	opcode associated with standard_80387_constant_p.
	(standard_80387_constant_rtx): New function to return the XFmode
	CONST_DOUBLE associated with standard_80387_constant_p.
	(ix86_rtx_costs): Give the new constants the same cost as 1.0.

	* config/i386/i386-protos.h (standard_80387_constant_opcode):
	Prototype here.
	(standard_80387_constant_rtx): Likewise.

	* config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
	*movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
	*movtf_integer): Simplify using new standard_80387_constant_opcode.

	* gcc.dg/i386-387-3.c: New test case.

From-SVN: r62958
2003-02-16 01:35:38 +00:00
Geoffrey Keating
d203738b3a * doc/invoke.texi (Optimize Options): Correct @option syntax.
From-SVN: r62957
2003-02-16 01:11:41 +00:00
Geoffrey Keating
c8e5d1afc5 configure.in (*-*-darwin*): Rename from powerpc*-*-darwin*, don't configure target-libobjc.
* configure.in (*-*-darwin*): Rename from powerpc*-*-darwin*,
	don't configure target-libobjc.
	* configure: Regenerate.

From-SVN: r62956
2003-02-16 01:09:27 +00:00
Richard Henderson
0b077eace8 Makefile.in (cfglayout.o): Depend on TARGET_H.
* Makefile.in (cfglayout.o): Depend on TARGET_H.
        * cfglayout.c: Include target.h.
        (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
        * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
        * target.h (struct gcc_target): Add cannot_copy_insn_p.

        * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
        (TARGET_CANNOT_COPY_INSN_P): New.
        (override_options): Revert 2003-02-08 hack.

From-SVN: r62955
2003-02-15 16:58:29 -08:00
GCC Administrator
a7075aea58 Daily bump.
From-SVN: r62954
2003-02-16 00:17:03 +00:00
David Edelsohn
aac77ea51f - Add copyright notices.
From-SVN: r62946
2003-02-15 17:04:30 -05:00
Richard Henderson
9a71ece17f gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
* gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
        (bypass_conditional_jumps): Accept computed_jump_p insns as well.

From-SVN: r62945
2003-02-15 13:37:22 -08:00
Richard Henderson
99dc72775f bb-reorder.c (find_traces_1_round): Don't connect easy to copy successors with multiple predecessors.
* bb-reorder.c (find_traces_1_round): Don't connect easy to copy
        successors with multiple predecessors.
        (connect_traces): Try harder to copy traces of length 1.

        * function.h (struct function): Add computed_goto_common_label,
        computed_goto_common_reg.
        * function.c (free_after_compilation): Zap them.
        * stmt.c (expand_computed_goto): Use them to produce one
        indirect branch per function.

From-SVN: r62944
2003-02-15 13:22:56 -08:00
David Edelsohn
b54cf83ae6 rs6000.h (processor_type): Add PPC440.
* config/rs6000/rs6000.h (processor_type): Add PPC440.
	* config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
	TARGET_SCHED_VARIABLE_ISSUE): Define.
	(rs6000_use_dfa_pipeline_interface): New function.
	(rs6000_multipass_dfa_lookahead): New Function.
	(rs6000_variable_issue): New function.
	(rs6000_adjust_cost): Add CMP and DELAYED_CR types.
	(rs6000_issue_rate): Add PPC440.
	* config/rs6000/rs6000.md (unspec list): Correct typo.
	(attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
	store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
	cmp, delayed_cr, mfcr, mtcr.
	(automata_option): Set "ndfa".
	(extendMMNN2): Update attributes.
	(movcc_internal1): Discourage move to non-cr0.  Update
	attributes.
	(movMM_update): Update attributes.
	(cmpMM_internal): Update attributes.
	(sCC CR materialization): Update attributes.
	(branch patterns): Do not discourage non-cr0.
	(cr logical patterns): Prefer destructive register allocation.
	Update attributes.
	(movesi_from_cr): Update attribute.
	(mtcrf_operation): Update attribute.
	(mtcrfsi): Update attribute.
	* config/rs6000/40x.md: New file.
	* config/rs6000/603.md: New file.
	* config/rs6000/6xx.md: New file.
	* config/rs6000/7450.md: New file.
	* config/rs6000/7xx.md: New file.
	* config/rs6000/mpc.md: New file.
	* config/rs6000/power4.md: New file.
	* config/rs6000/rios1.md: New file.
	* config/rs6000/rios2.md: New file.
	* config/rs6000/rs64.md: New file.
	[Some DFA descriptions based on work by Michael Hayes]

From-SVN: r62943
2003-02-15 16:19:01 -05:00