Commit Graph

38780 Commits

Author SHA1 Message Date
Toon Moene
60bfa76427 re PR libf2c/4930 (Taking the log of a certain complex number hangs in run time library)
2001-11-23  Toon Moene  <toon@moene.indiv.nluug.nl>

	PR libf2c/4930
	* libF77/Makefile.in: Compile z_log.c with -ffloat-store.

From-SVN: r47294
2001-11-23 21:47:22 +00:00
Jason Merrill
83662e2ba9 fix typo
From-SVN: r47293
2001-11-23 14:00:14 -05:00
Jason Merrill
afb0141fbd vterminate.cc (__verbose_terminate_handler): Add leading underscores.
* src/vterminate.cc (__verbose_terminate_handler): Add leading
        underscores.

From-SVN: r47292
2001-11-23 12:36:43 -05:00
Joseph Myers
c5504edb75 ChangeLog, [...]: Fix spelling errors.
* ChangeLog, docs/doxygen/maint.cfg.in, docs/doxygen/user.cfg.in,
	docs/doxygen/doxygroups.cc, docs/doxygen/Intro.3,
	docs/html/17_intro/BUGS, docs/html/17_intro/C++STYLE,
	docs/html/17_intro/CHECKLIST, docs/html/17_intro/DESIGN,
	docs/html/17_intro/howto.html, docs/html/17_intro/porting.html,
	docs/html/17_intro/porting.texi, docs/html/18_support/howto.html,
	docs/html/19_diagnostics/howto.html, docs/html/20_util/howto.html,
	docs/html/21_strings/howto.html,
	docs/html/23_containers/howto.html,
	docs/html/26_numerics/howto.html, docs/html/27_io/howto.html,
	docs/html/27_io/binary_iostreams_kuehl.txt,
	docs/html/ext/sgiexts.html, docs/html/faq/index.html,
	docs/html/faq/index.txt, testsuite/24_iterators/iterator.cc,
	include/bits/basic_file.h, include/bits/locale_facets.h,
	include/bits/locale_facets.tcc, include/bits/std_sstream.h,
	include/ext/ropeimpl.h, include/ext/stl_rope.h,
	libsupc++/tinfo.cc, libsupc++/cxxabi.h, libsupc++/typeinfo,
	libsupc++/eh_throw.cc, acinclude.m4, aclocal.m4, configure,
	configure.target, ChangeLog-2000: Fix spelling errors.

From-SVN: r47291
2001-11-23 16:29:02 +00:00
Richard Sandiford
eac50d7a73 final.c (output_addr_const): Output PC as '.' even if !flag_pic.
* final.c (output_addr_const): Output PC as '.' even if !flag_pic.
	* varasm.c (output_constructor): Use assemble_integer rather
	than ASM_OUTPUT_BYTE.

From-SVN: r47287
2001-11-23 11:21:07 +00:00
Andreas Jaeger
e1e7d56bf1 cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign extension.
* cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
	extension.

	* gcc.dg/cpp/charconst-2.c: New test.

From-SVN: r47286
2001-11-23 11:01:16 +01:00
Nick Clifton
56101178c8 Remove some compile time warnings about duplicate definitions.
From-SVN: r47285
2001-11-23 09:13:14 +00:00
GCC Administrator
6d668dbfaf Daily bump.
From-SVN: r47283
2001-11-23 08:16:17 +00:00
Neil Booth
f26311c174 cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
* cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
	* gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.

From-SVN: r47282
2001-11-23 07:50:42 +00:00
Geoffrey Keating
8d49efb017 old-dejagnu.exp (old-dejagnu): Copy extra source files to the host if it is remote.
* lib/old-dejagnu.exp (old-dejagnu): Copy extra source files
	to the host if it is remote.  Let tests specify extra headers
	they use.
	* g++.old-deja/g++.abi/vtable3a.C: This uses 'vtable3.h'.
	* g++.old-deja/g++.abi/vtable3b.C: This uses 'vtable3.h'.
	* g++.old-deja/g++.abi/vtable3c.C: This uses 'vtable3.h'.
	* g++.old-deja/g++.abi/vtable3d.C: This uses 'vtable3.h'.
	* g++.old-deja/g++.abi/vtable3e.C: This uses 'vtable3.h'.
	* g++.old-deja/g++.abi/vtable3f.C: This uses 'vtable3.h'.
	* g++.old-deja/g++.abi/vtable3g.C: This uses 'vtable3.h'.
	* g++.old-deja/g++.abi/vtable3h.C: This uses 'vtable3.h'.
	* g++.old-deja/g++.abi/vtable3i.C: This uses 'vtable3.h'.
	* g++.old-deja/g++.abi/vtable3j.C: This uses 'vtable3.h'.

From-SVN: r47281
2001-11-23 07:35:21 +00:00
Kaveh R. Ghazi
a338be441c * cris.h: Revert thinko in last patch.
From-SVN: r47280
2001-11-23 04:56:19 +00:00
Joseph Myers
a1f300c0f1 ChangeLog.0, [...]: Fix spelling errors.
* ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
	FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
	cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
	dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
	explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
	sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.

From-SVN: r47279
2001-11-23 02:05:19 +00:00
Joseph Myers
754d92990a predict.c, [...]: Fix spelling errors.
gcc:
	* predict.c, reg-stack.c: Fix spelling errors.

libstdc++-v3:
	* config/locale/moneypunct_members_gnu.cc,
	include/bits/locale_facets.h: Fix spelling errors.

From-SVN: r47278
2001-11-23 01:37:07 +00:00
Stephen M. Webb
1fc610939a list_capacity.cc: New file.
2001-11-22  Stephen M. Webb  <stephen@bregmasoft.com>

        * testsuite/23_containers/list_capacity.cc: New file.
        * testsuite/23_containers/list_ctor.cc: New file.
        * testsuite/23_containers/list_modifiers.cc: New file.
        * testsuite/23_containers/list_operators.cc: New file.

2001-11-22  Stephen M. Webb  <stephen@bregmasoft.com>

	* include/bits/stl_list.h: Reformatted according to C++STYLE rules.
	(size): Replaced nonstandard distance() call with the standard one.
	(transfer): Uglified to _M_transfer.

From-SVN: r47277
2001-11-22 19:19:23 +00:00
Andrew Haley
60f4621c9a calls.c (check_sibcall_argument_overlap): Use slot_offset for start of stack slot.
2001-10-09  Andrew Haley  <aph@redhat.com>

        * calls.c (check_sibcall_argument_overlap): Use slot_offset for
        start of stack slot.

From-SVN: r47276
2001-11-22 16:51:47 +00:00
Nick Clifton
57a1142a15 fix typo in previous delta
From-SVN: r47275
2001-11-22 16:40:42 +00:00
Graham Stott
09eb1aab55 cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit replacement jump after original jump.
* cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
        replacement jump after original jump.

        (verify_flow_info): Remove redundent initialisation.
        Handle reaching end of insn list before finding a BARRIER.
        Only issue one missing barrier diagnostic.

From-SVN: r47269
2001-11-22 14:30:37 +00:00
Graham Stott
44a5da099e * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
From-SVN: r47268
2001-11-22 14:22:09 +00:00
Nick Clifton
0bf93a511e (in m32rx patch): Replace "." with "@." when preceeded by a capital letter
From-SVN: r47267
2001-11-22 12:50:16 +00:00
Nick Clifton
577a67b02d Fix for little endian ARMs
From-SVN: r47266
2001-11-22 12:44:39 +00:00
Richard Kenner
f283104bf1 Fix typo in last change
From-SVN: r47265
2001-11-22 07:27:57 -05:00
Richard Kenner
669fe75884 i386.md (leave, [...]): Have RTL reflect what insn actually does.
* config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
	insn actually does.

From-SVN: r47264
2001-11-22 06:56:35 -05:00
Nick Clifton
98180123a1 Document -m32r switch. Fix typo -mm32rx=> -m32rx.
From-SVN: r47263
2001-11-22 10:08:10 +00:00
Nick Clifton
ebe413e5a0 Only build arm_elf_asm_named_section for elf targets
From-SVN: r47262
2001-11-22 09:59:43 +00:00
Nick Clifton
eb9601aba2 Add necessary header files to tm_file for xscale-ecoff
From-SVN: r47261
2001-11-22 09:51:42 +00:00
GCC Administrator
d76c8d5b76 Daily bump.
From-SVN: r47259
2001-11-22 08:16:17 +00:00
Zack Weinberg
44518ddd62 * rs6000.c (output_cbranch): Use $, not %$, in output template.
From-SVN: r47258
2001-11-22 01:54:45 -05:00
Bryce McKinlay
89d684bba3 tree-dump.c: Rename from c-dump.c.
* tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
	(lang_type_quals): Declare.
	(dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
	retrieve language-specific qualifiers for a type node, instead of
	C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
	lang_dump_tree.
	* tree-dump.h: Rename from c-dump.h.
	* c-common.h (C_TYPE_QUALS): Removed.
	Move declarations for tree-dump.c interface to...
	* tree.h: ... here. Remove lang_dump_tree.
	* langhooks.h (struct lang_hooks_for_tree_dump): New.
	(struct lang_hooks): Add tree_dump hooks.
	* langhooks.c (lhd_tree_dump_dump_tree): New function.
	(lhd_tree_dump_type_quals): New function.
	* langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
	Declare.
	(LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
	* Makefile.in: Move tree-dump.o to language-independent back-end.

cp:
	* cp-tree.h (CP_TYPE_QUALS): Removed.
	* decl.c (cxx_init_decl_processing): Don't set lang_dump_tree.
	* cp-lang.c: Set LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN and
	LANG_HOOKS_TREE_DUMP_TYPE_QUALS_FN.
	* dump.c (cp_dump_tree): Use void* dump_info argument to match
	lang-hooks prototype.
	* call.c, cp-tree.h, cvt.c, decl.c, init.c, mangle.c, method.c, pt.c,
	rtti.c, semantics.c, tree.c, typeck.c, typeck2.c: All references to
	CP_TYPE_QUALS changed to cp_type_quals.
	* Make-lang.in: References to c-dump.h changed to tree-dump.h.
	(CXX_C_OBJS): Remove c-dump.o.

From-SVN: r47257
2001-11-22 02:33:02 +00:00
Kaveh R. Ghazi
4617e3b52b 1750a.h (DBX_REGISTER_NUMBER): Don't define.
* 1750a.h (DBX_REGISTER_NUMBER): Don't define.
	* alpha.h (DBX_REGISTER_NUMBER): Likewise.
	* arc.h (DBX_REGISTER_NUMBER): Likewise.
	* arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
	* avr.h (DBX_REGISTER_NUMBER): Likewise.
	* c4x.h (DBX_REGISTER_NUMBER): Likewise.
	* clipper.h (DBX_REGISTER_NUMBER): Likewise.
	* convex.h (DBX_REGISTER_NUMBER): Likewise.
	* cris.h (DBX_REGISTER_NUMBER): Likewise.
	* dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
	* elxsi.h (DBX_REGISTER_NUMBER): Likewise.
	* fr30.h (DBX_REGISTER_NUMBER): Likewise.
	* h8300.h (DBX_REGISTER_NUMBER): Likewise.
	* i370.h (DBX_REGISTER_NUMBER): Likewise.
	* i860.h (DBX_REGISTER_NUMBER): Likewise.
	* i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
	* i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
	* i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
	* m32r.h (DBX_REGISTER_NUMBER): Likewise.
	* m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
	* m88k.h (DBX_REGISTER_NUMBER): Likewise.
	* mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
	* mcore.h (DBX_REGISTER_NUMBER): Likewise.
	* mn10200.h (DBX_REGISTER_NUMBER): Likewise.
	* mn10300.h (DBX_REGISTER_NUMBER): Likewise.
	* pdp11.h (DBX_REGISTER_NUMBER): Likewise.
	* romp.h (DBX_REGISTER_NUMBER): Likewise.
	* rs6000.h (DBX_REGISTER_NUMBER): Likewise.
	* rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
	* s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
	* stormy16.h (DBX_REGISTER_NUMBER): Likewise.
	* v850.h (DBX_REGISTER_NUMBER): Likewise.
	* vax.h (DBX_REGISTER_NUMBER): Likewise.
	* we32k.h (DBX_REGISTER_NUMBER): Likewise.

	* defaults.h (DBX_REGISTER_NUMBER): Provide a default.
	* doc/tm.texi (DBX_REGISTER_NUMBER): Update.

From-SVN: r47256
2001-11-22 02:19:58 +00:00
Bryce McKinlay
9c5a221c37 tree-dump.{c,h} renamed from c-dump.{c,h}.
From-SVN: r47255
2001-11-22 01:46:54 +00:00
H.J. Lu
13422e9d3b sysv4.h (LIB_SPEC): Fix a typo.
2001-11-21  H.J. Lu <hjl@gnu.org>

	* config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.

From-SVN: r47254
2001-11-21 17:03:16 -08:00
Kaveh R. Ghazi
40c13662d7 s390.c (s390_va_arg): Eliminate ALIGN parameter in call to emit_cmp_and_jump_insns.
* s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
	emit_cmp_and_jump_insns.

	* stormy16.c (xstormy16_expand_builtin_va_arg,
	xstormy16_expand_casesi): Likewise.

From-SVN: r47253
2001-11-22 00:36:09 +00:00
Mark Mitchell
12eb9f939a re PR c++/3637 (Internal compiler error in finish_member_declaration)
PR c++/3637
	* pt.c (lookup_template_class): Ensure that all specializations
	are registered on the list corresponding to the most general
	template.

From-SVN: r47252
2001-11-22 00:21:13 +00:00
Richard Kenner
3258e9961c function.c (keep_stack_depressed): Major rework.
* function.c (keep_stack_depressed): Major rework.
	(handle_epilogue_set, emit_equiv_load): New functions.
	(thread_prologue_and_epilogue_insns): keep_stack_depressed now
	has return value.
	* jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
	* rtl.h (SET_IS_RETURN_P): New macro.

From-SVN: r47250
2001-11-21 18:41:40 -05:00
Richard Kenner
c11c10d87b expr.c (expand_expr, [...]): Refine slightly and also support TREE_ADDRESSABLE.
* expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
	and also support TREE_ADDRESSABLE.
	* tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.

From-SVN: r47249
2001-11-21 18:32:03 -05:00
David Edelsohn
2e7d5318fc * rs6000.md (cmptf_internal1): Replace %$ with $.
From-SVN: r47248
2001-11-21 17:17:27 -05:00
Paolo Carlini
dcc61724f1 re PR libstdc++/4548 (When reserving a string to become smaller, program crashes)
2001-11-21  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/4548
	* include/bits/basic_string.tcc (basic_string::reserve):  Never shrink
	below the current size.
	* testsuite/21_strings/capacity.cc (test02):  Add test.

From-SVN: r47246
2001-11-21 22:04:53 +00:00
Douglas B Rupp
ae1139f97d cppfiles.c (STAT_SIZE_TOO_BIG): Define.
* cppfiles.c (STAT_SIZE_TOO_BIG): Define.
	(read_include_file): Use STAT_SIZE_TOO_BIG.

From-SVN: r47245
2001-11-21 17:03:27 -05:00
Douglas B Rupp
ca47c89e55 cppinit.c (INO_T_COPY): Define.
* cppinit.c (INO_T_COPY): Define.
	(INO_T_EQ): Uppercase parameters.
	(append_include_chain): Use INO_T_COPY.

From-SVN: r47244
2001-11-21 16:55:36 -05:00
Richard Sandiford
9d083c8c16 * cfg.c: Fix typos and formatting in the introductory comment.
From-SVN: r47243
2001-11-21 16:02:09 +00:00
Jan Hubicka
b9224c9422 profile.c (compute_branch_probabilites): Compute probabilities for entry/exit edges; estimate probabilities for zero counts.
* profile.c (compute_branch_probabilites):  Compute probabilities
	for entry/exit edges; estimate probabilities for zero counts.

From-SVN: r47242
2001-11-21 11:47:02 +00:00
Jakub Jelinek
1258ee8070 explow.c (probe_stack_range): Use LCT_NORMAL as second argument to emit_library_call.
* explow.c (probe_stack_range): Use LCT_NORMAL as second argument
	to emit_library_call.
	* function.c (expand_main_function, expand_function_start,
	expand_function_end): Likewise.
	* profile.c (output_func_start_profiler): Likewise.
	* stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
	second argument to emit_library_call.
	* optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
	as second argument to emit_library_call.
	* calls.c (emit_library_call): Update fn_type description.

From-SVN: r47241
2001-11-21 12:13:14 +01:00
Jakub Jelinek
83dea45d59 c-decl.c (c_expand_deferred_function): Only call c_expand_body if fndecl is still DECL_INLINE and has DECL_RESULT.
* c-decl.c (c_expand_deferred_function): Only call c_expand_body
	if fndecl is still DECL_INLINE and has DECL_RESULT.

	* gcc.c-torture/compile/20011119-1.c: New test.
	* gcc.c-torture/compile/20011119-2.c: New test.

From-SVN: r47240
2001-11-21 12:09:01 +01:00
GCC Administrator
a558c691e1 Daily bump.
From-SVN: r47235
2001-11-21 08:16:23 +00:00
Toon Moene
669350302a g77.texi: egcs was not a `@command'.
2001-11-21  Toon Moene  <toon@moene.indiv.nluug.nl>

	* g77.texi: egcs was not a `@command'.
	* invoke.texi: Ditto.
	* news.texi: Substitute `@command' for `@code'
	and `@option' for `@samp' where appropriate.

From-SVN: r47234
2001-11-21 06:30:50 +00:00
Kaveh R. Ghazi
cd4c46f3de clipper.c (clipper_movstr): Avoid uninitialized warning.
* clipper.c (clipper_movstr): Avoid uninitialized warning.
	* i960.c (is_mask, legitimize_address): Likewise.
	* m88k.c (m88k_expand_prologue): Likewise.
	* m88k.md: Likewise.
	* mcore.c (emit_new_cond_insn): Likewise.
	* stormy16.c (xstormy16_emit_cbranch): Likewise.

From-SVN: r47233
2001-11-21 04:57:09 +00:00
Zack Weinberg
f607bc57e3 config.gcc: Delete powerpcle-*-solaris2* stanza.
* config.gcc: Delete powerpcle-*-solaris2* stanza.
	* config/rs6000/eabi.asm, config/rs6000/rs6000.c,
	config/rs6000/rs6000.h, config/rs6000/rs6000.md,
	config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
	config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
	config/rs6000/t-ppcos: Expunge all references to Solaris.

	* config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.

	* config/rs6000/rs6000.md: Replace '%$' with '$' in all
	output templates.
	* config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
	and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.

From-SVN: r47232
2001-11-21 02:57:16 +00:00
Kaveh R. Ghazi
533f5e0fbe sh.md: Avoid uninitialized warnings.
* sh.md: Avoid uninitialized warnings.
	* vax.c (vax_rtx_cost): Likewise.

From-SVN: r47231
2001-11-21 02:28:45 +00:00
David Edelsohn
d6f99ca421 Add cmptf missed in patch.
From-SVN: r47230
2001-11-20 21:18:58 -05:00
David O'Brien
b6458e8551 config.gcc: Add FreeBSD/PowerPC target.
2001-11-20  David O'Brien  <obrien@FreeBSD.org>
	* config.gcc: Add FreeBSD/PowerPC target.
	(powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
	powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
	powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
	powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
	powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
	powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
	freebsd-spec.h to tm_file.
	(rs6000-*-lynxos*): Add lynx.h to tm_file.
	* config/freebsd.h: Tidy up.
	(USING_CONFIG_FREEBSD): Define.
	(FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
	FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
	FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
	(TARGET_HAS_F_SETLKW): Define.
	(ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
	* config/freebsd-spec.h: New file.
	* config/rs6000/freebsd.h: New file.
	* config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
	* config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
	USING_SVR4_H to know when to turn on ELF support.
	* config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
	define only if not already defined.
	Add FreeBSD support.
	* config/rs6000/aix.h (TARGET_VERSION): Define.
	* config/rs6000/beos.h: Likewise.
	* config/rs6000/darwin.h: Likewise.
	* config/rs6000/mach.h: Likewise.
	* config/rs6000/lynx.h (TARGET_VERSION): Likewise.
	Don't include lynx.h directly.

Approved by:  Geoff Keating <geoffk@geoffk.org>
              Message-Id: <200111192053.MAA11977@geoffk.org>
			  Stan Shebs <shebs@apple.com>  (Darwin bits)
              Message-ID: <3BF95F29.794BC924@apple.com>

From-SVN: r47229
2001-11-21 02:06:45 +00:00