Commit Graph

41279 Commits

Author SHA1 Message Date
Richard Henderson
89076bb365 haifa-sched.c (sched_emit_insn): New.
* haifa-sched.c (sched_emit_insn): New.
        (schedule_block): Use last_scheduled_insn to track last insn.
        * sched-int.h (sched_emit_insn): Prototype.
        * config/ia64/ia64.c (last_issued): Remove.
        (ia64_variable_issue): Don't set it.
        (nop_cycles_until): Use sched_emit_insn.

From-SVN: r50153
2002-02-28 10:32:12 -08:00
Andrew MacLeod
e3aaacf471 sparc.c (sparc64_initialize_trampoline): Generate sign extended constants.
* config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
	extended constants.

From-SVN: r50152
2002-02-28 18:31:00 +00:00
Kazu Hirata
7f47359462 h8300.c: Fix formatting.
* config/h8300/h8300.c: Fix formatting.
	* config/h8300/h8300.h: Likewise.

From-SVN: r50150
2002-02-28 18:13:06 +00:00
Jason Merrill
28dc79bca6 search.c (lookup_base_r): Don't clear is_non_public just because we found a friendly scope.
* search.c (lookup_base_r): Don't clear is_non_public just because
        we found a friendly scope.

From-SVN: r50143
2002-02-28 10:46:31 -05:00
Jason Merrill
07f521fc06 search.c (lookup_base_r): Don't clear is_non_public just because we found a friendly scope.
* search.c (lookup_base_r): Don't clear is_non_public just because
        we found a friendly scope.

From-SVN: r50140
2002-02-28 10:32:38 -05:00
Marek Michalkiewicz
b96c434c39 avr.c (avr_hard_regno_mode_ok): Do not allow r29 which may overwrite the high byte of the frame pointer.
* config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
	which may overwrite the high byte of the frame pointer.

From-SVN: r50138
2002-02-28 15:23:54 +00:00
Bo Thorsen
9b420a6a58 linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
2002-02-28  Bo Thorsen  <bo@suse.de>

	* config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
	(STARTFILE_SPEC): Add 64 bit files.
	(ENDFILE_SPEC): Likewise.

From-SVN: r50137
2002-02-28 16:16:17 +01:00
Jason Merrill
46cfb1010d c-decl.c (finish_function): Only warn about missing return statement with -Wreturn-type.
* c-decl.c (finish_function): Only warn about missing return
        statement with -Wreturn-type.
        * cp/decl.c (finish_function): Only warn about missing return
        statement with -Wreturn-type.

From-SVN: r50132
2002-02-28 08:30:04 -05:00
Bryce McKinlay
022dcc4605 expr.c (java_array_data_offset): Removed function.
* expr.c (java_array_data_offset): Removed function.
	(JAVA_ARRAY_LENGTH_OFFSET): Removed macro.
	(build_java_array_length_access): Obtain "length" value using a
	COMPONENT_REF, instead of INDIRECT_REF and arithmetic.
	(build_java_arrayaccess): Correct comment. Access "data" using a
	COMPONENT_REF, and return an ARRAY_REF instead of an INDIRECT_REF.
	(build_java_arraystore_check): New function.
	(expand_java_arraystore): Use build_java_arraystore_check.
	* parse.y (patch_assignment): Simplify code to insert a store check
	when lvalue is an ARRAY_REF. Use build_java_arraystore_check.
	* check-init.c (check_init): Update to reflect that an array length
	access is now a COMPONENT_REF.
	* gcj.texi (Code Generation): Improve documentation of
	-fno-bounds-check. Add documentation for -fno-store-check.
	* java-tree.h (flag_store_check): Declare.
	(build_java_arraystore_check): Declare.
	* lang.c (flag_store_check): Initialize to 1.
	(lang_f_options): Add store-check option.
	* jvspec.c: Don't pass store-check option to jvgenmain.
	* lang-options.h: Add help string for -fno-store-check.

From-SVN: r50129
2002-02-28 11:40:29 +00:00
Jan Hubicka
70da1d030d cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
* cfgrtl.c (purge_dead_edges): Fix handling of EH edges.

	* i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
	PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM

From-SVN: r50128
2002-02-28 11:03:16 +00:00
Jan Hubicka
38c1593d57 basic-block.h (BB_REACHABLE): Renumber.
* basic-block.h (BB_REACHABLE): Renumber.
	(BB_DIRTY, BB_NEW): New flags.
	(clear_bb_flags): Declare.
	(update_life_info_in_dirty_blocks): Declare.
	* cfg.c (clear_bb_flags): New function.
	* cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
	* emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
	reorder_insns, emit_insn_after): Mark block as dirty.
	* flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
	(update_life_info_in_dirty_blocks): New function.
	* recog.c (apply_change_group): Dirtify block.

	* cse.c (cse_insn): Reorder emitting of jump insn to keep
	cfg consistent.
	* gcse.c (delete_null_pointer_checks): Likewise.

	* toplev.c (dump_file_index): Move cse2 after bp,
	add DFI_null
	(dump_file_info): Similary.
	(rest_of_compilation): Avoid most of CFG rebuilds;
	do first if converision after null pointer checks, do cse2
	after branch prediction; avoid full liveness rebuild after
	initializing subregs.
	* invoke.texi (-d options): Document -du, renumber.

	* cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
	(notice_new_block): Do not set BB_UPDATE_LIFE.
	(try_forward_edges, merge_blocks_move_predecessor_nojumps,
	 merge_blocks_move_successor_nojumps, merge_blocks,
	 try_crossjump_to_edge): Likewise.
	(try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
	* cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
	* ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
	(merge_of_block): Do not use life_data_ok.
	(find_if_case_1): Do not use SET_UPDATE_LIFE.
	(if_convert): Use BB_DIRTY mechanizm to update life.
	* lcm.c (optimize_mode_switching): Update
	update_life_info_in_dirty_blocks

From-SVN: r50127
2002-02-28 10:11:01 +00:00
GCC Administrator
bde131d34d Daily bump.
From-SVN: r50126
2002-02-28 08:17:15 +00:00
Neil Booth
63e1b1c4b0 Makefile.in (integrate.o): Update.
* Makefile.in (integrate.o): Update.
	* c-decl.c (copy_lang_decl): Rename.
	* c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
	* integrate.c: Include langhooks.h.
	(copy_decl_for_inlining): Update to use langhook.
	* langhooks-def.h (lhd_do_nothing_t,
	LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
	(LANG_HOOKS_INITIALIZER): Update.
	* langhooks.c (lhd_do_nothing_t): New.
	* langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
	* tree.h (copy_lang_decl): Remove.
ada:
	* misc.c (copy_lang_decl): Remove.
cp:
	* class.c (build_clone): Update.
	* cp-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
	* cp-tree.h (cxx_dup_lang_specific_decl): New.
	* lex.c (copy_lang_decl): Rename cxx_dup_lang_specific_decl.
	(copy_decl): Update.
	* method.c (make_thunk): Update.
f:
	* com.c (copy_lang_decl): Delete.
java:
	* decl.c (copy_lang_decl): Rename java_dup_lang_specific_decl.
	* java-tree.h (java_dup_lang_specific_decl): New.
	* lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
objc:
	* objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.

From-SVN: r50122
2002-02-28 07:39:44 +00:00
Andrew MacLeod
f472fa2949 dwarf2out.c (stack_adjust_offset): Add support for POST_INC, POST_DEC, and POST_MODIFY.
* dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
	POST_DEC, and POST_MODIFY.

From-SVN: r50121
2002-02-28 03:09:41 +00:00
Adam Megacz
d627547118 natInetAddress.cc: Changed USE_WINSOCK to WIN32, added '#undef STRICT'.
2002-02-27  Adam Megacz <adam@xwt.org>

        * java/net/natInetAddress.cc: Changed USE_WINSOCK to WIN32, added
        '#undef STRICT'.

From-SVN: r50120
2002-02-28 01:03:37 +00:00
Zack Weinberg
273cf2e462 c-typeck.c (digest_init): Remove unused parameter; all callers changed.
* c-typeck.c (digest_init): Remove unused parameter; all
	callers changed.

From-SVN: r50118
2002-02-27 22:14:59 +00:00
Hans-Peter Nilsson
ffde667543 * gcc.c-torture/execute/20020227-1.c: New test.
From-SVN: r50117
2002-02-27 21:16:55 +00:00
Hans-Peter Nilsson
f086058e0d * gcc.c-torture/execute/20020227-1.c: New test.
From-SVN: r50116
2002-02-27 21:11:19 +00:00
Mark Mitchell
16d3e075ec visibility13.C: Remove "instantiated from here" ERROR lines.
* g++.old-deja/g++.law/visibility13.C: Remove "instantiated from
	here" ERROR lines.
	* g++.old-deja/g++.oliva/partord1.C: Likewise.
	* g++.old-deja.g++.other/defarg1.C: Likewise.
	* g++.old-deja/g++.pt/calls2.C: Likewise.
	* g++.old-deja/g++.pt/crash20.C: Likewise.
	* g++.old-deja/g++.pt/crash30.C: Likewise.
	* g++.old-deja/g++.pt/crash36.C: Likewise.
	* g++.old-deja/g++.pt/crash6.C: Likewise.
	* g++.old-deja/g++.pt/defarg13.C: Likewise.
	* g++.old-deja/g++.pt/derived3.C: Likewise.
	* g++.old-deja/g++.pt/error1.C: Likewise.
	* g++.old-deja/g++.pt/friend21.C: Likewise.
	* g++.old-deja/g++.pt/friend23.C: Likewise.
	* g++.old-deja/g++.pt/infinite1.C: Likewise.
	* g++.old-deja/g++.robertl/eb128.C: Likewise.

From-SVN: r50115
2002-02-27 20:29:45 +00:00
Geoffrey Keating
4e07d762e9 Index: ChangeLog
* expmed.c (expand_shift): Correctly test for low part of a
	subreg.

Index: testsuite/ChangeLog

	* gcc.c-torture/execute/20020225-2.c: New test.

From-SVN: r50114
2002-02-27 20:27:38 +00:00
Ulrich Weigand
6bc627b3b8 s390.c (s390_chunkify_pool): Do not confuse insn UIDs with insn addresses.
* config/s390/s390.c (s390_chunkify_pool): Do not confuse
	insn UIDs with insn addresses.

From-SVN: r50112
2002-02-27 20:20:54 +00:00
Paolo Carlini
bded68b108 ios_manip_basefield.cc (test01): Fix for 64 bit machines.
2002-02-27  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/ios_manip_basefield.cc (test01):
	Fix for 64 bit machines.

From-SVN: r50111
2002-02-27 19:54:32 +00:00
Zack Weinberg
f458d1d5d7 c-common.c, [...]: Delete code implementing -traditional mode.
* c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
	c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
	cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
	builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
	gcc.c, toplev.c: Delete code implementing -traditional mode.

	* ada/misc.c, ch/ch-tree.h, ch/decl.c, cp/decl2.c, f/com.c,
	f/lex.c, f/top.c, java/builtins.c, java/decl.c: Delete
	traditional-mode-related code copied from the C front end
	but not used, or used only to permit the compiler to link.

	* doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
	doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
	Document removal of -traditional mode for compilation, and
	remove documentation only relevant to that mode.

	* config/nextstep.h, config/ptx4.h, config/svr4.h,
	config/convex/convex.h, config/d30v/d30v.h,
	config/i386/dgux.h, config/i386/osf1elf.h,
	config/i386/osfelf.h, config/i386/osfrose.h,
	config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
	config/m68k/hp310.h, config/m88k/dgux.h,
	config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
	config/m88k/m88k.h, config/m88k/openbsd.h,
	config/mips/abi64.h, config/mips/osfrose.h,
	config/mips/svr4-5.h, config/mips/svr4-t.h,
	config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
	config/stormy16/stormy16.h: Remove all references to
	-traditional from target specs.  Delete all mention of the
	no-longer-necessary TRADITIONAL_RETURN_FLOAT macro.  Also
	delete a couple of commented-out definitions of
	DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
	to -traditional.

	* system.h: Poison TRADITIONAL_RETURN_FLOAT.
	* doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.

	* testsuite/gcc.c-torture/execute/920730-1t.c,
	testsuite/gcc.c-torture/execute/920730-1t.x,
	testsuite/gcc.dg/ext-glob.c: Delete test cases, only relevant
	to -traditional.

From-SVN: r50110
2002-02-27 18:48:07 +00:00
Zack Weinberg
e0b3a8ff40 mklibgcc.in: Don't use \n in a line subject to interpretation by echo.
* mklibgcc.in: Don't use \n in a line subject to
	interpretation by echo.

From-SVN: r50109
2002-02-27 18:40:15 +00:00
Graham Stott
72b05af1e5 rs6000.h (ASM_OUTPUT_DEF_FROM_DELC): Constify NAME.
* config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
        Constify NAME.

From-SVN: r50102
2002-02-27 15:08:07 +00:00
Graham Stott
7d10488522 * loop.c (prescan_loop): Handle PARALLEL.
From-SVN: r50101
2002-02-27 15:03:05 +00:00
Graham Stott
8ed805d20c unroll.c (loop_iterations): Return 0 if the add_val for a BIV is REG.
* unroll.c (loop_iterations): Return 0 if the add_val for
        a BIV is REG.

From-SVN: r50100
2002-02-27 15:01:10 +00:00
Graham Stott
fd478a0ad4 * final.c (output_operand_lossage): Constify PFX_STR.
From-SVN: r50099
2002-02-27 13:53:50 +00:00
Graham Stott
5c6a85b70c * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
From-SVN: r50098
2002-02-27 13:50:57 +00:00
Jan Hubicka
cd98ad035e linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
Wed Feb 27 10:45:19 CET 2002  Jan Hubicka  <jh@suse.cz>

	* linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
	* x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.

From-SVN: r50097
2002-02-27 09:47:27 +00:00
Jan Hubicka
639ae55bd3 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
From-SVN: r50096
2002-02-27 09:40:32 +00:00
GCC Administrator
977c98c2db Daily bump.
From-SVN: r50095
2002-02-27 08:19:19 +00:00
Neil Booth
e808ec9c71 cpplex.c (_cpp_lex_token): Handle directives in macro arguments.
* cpplex.c (_cpp_lex_token): Handle directives in macro
	arguments.
	* cpplib.c (_cpp_handle_directive): Save and restore state
	if parsing macro args when entering a directive.
	* cppmacro.c (collect_args): No need to handle directives
	in macro arguments.
	(enter_macro_context, replace_args): Use the original macro
	definition in case it was redefined whilst collecting arguments.
doc:
	* cpp.texi: Update.
testsuite:
	* gcc.dg/cpp/undef1.c: Remove.
	* gcc.dg/cpp/directiv.c: Update.
	* gcc.dg/cpp/mac-dir-1.c, mac-dir-2.c: New tests.

From-SVN: r50091
2002-02-27 07:24:53 +00:00
David Edelsohn
f585a35687 [multiple changes]
2002-02-26  David Edelsohn  <edelsohn@gnu.org>

        * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
        * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
        * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
        method on AIX.
        * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
        (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
        (load_toc_v4_PIC_2): Same.

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

        * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.

From-SVN: r50090
2002-02-27 00:42:20 -05:00
Tom Tromey
fc04b455f9 natSystem.cc (init_properties): Use __VERSION__.
* java/lang/natSystem.cc (init_properties): Use __VERSION__.
	* gij.cc (version): Use __VERSION__.
	* include/config.h.in: Rebuilt.
	* acconfig.h (GCJVERSION): Removed.
	* configure: Rebuilt.
	* configure.in (GCJVERSION): Removed.

From-SVN: r50088
2002-02-27 05:32:29 +00:00
Michael Meissner
1fef1cdd2c Add 20020226-1.c to test rotate patterns
From-SVN: r50087
2002-02-27 05:28:58 +00:00
Andreas Schwab
7d2c4fe1e1 acinclude.m4 (LIB_AC_PROG_CXX): Use glibjava_CXX instead of glibcpp_CXX, since libjava uses even another CXX.
2002-02-26  Andreas Schwab  <schwab@suse.de>

	* acinclude.m4 (LIB_AC_PROG_CXX): Use glibjava_CXX instead of
	glibcpp_CXX, since libjava uses even another CXX.
	* aclocal.m4, configure: Regenerated.

From-SVN: r50084
2002-02-27 02:18:09 +00:00
Richard Henderson
d699058e0a * config/alpha/alpha.md (ashldi_se): Re-enable.
From-SVN: r50083
2002-02-26 17:52:18 -08:00
Richard Henderson
eadccfbb85 alpha.c (alpha_encode_section_info): Examine MODULE_LOCAL_P; improve commentary.
* config/alpha/alpha.c (alpha_encode_section_info): Examine
        MODULE_LOCAL_P; improve commentary.

From-SVN: r50082
2002-02-26 17:48:57 -08:00
Tom Tromey
7fe4a89aed natPosixProcess.cc (startProcess): Use FD_CLOEXEC, not `1'.
* java/lang/natPosixProcess.cc (startProcess): Use FD_CLOEXEC, not
	`1'.

From-SVN: r50081
2002-02-27 01:39:30 +00:00
Zack Weinberg
7080ada154 cpp.texi: Clarify documentation of relationship between #line and #include.
* doc/cpp.texi: Clarify documentation of relationship between
	#line and #include.

From-SVN: r50079
2002-02-27 01:26:04 +00:00
Kazu Hirata
b42cff6bff h8300-protos.h: Update the prototype for compute_logical_op_length.
* config/h8300/h8300-protos.h: Update the prototype for
	compute_logical_op_length.  Add the prototype for
	compute_logical_op_cc.
	* config/h8300/h8300.c (compute_logical_op_length): Figure out
	code from operands.
	(compute_logical_op_cc): New.
	* config/h8300/h8300.md: Combine all the logical op patterns
	in HImode and SImode.  Use compute_logical_op_cc.

From-SVN: r50078
2002-02-27 01:09:50 +00:00
Benjamin Kosnik
3af7d37f67 basic_ios.tcc (basic_ios::init): Set _M_fill to zero.
2002-02-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_ios.tcc (basic_ios::init): Set _M_fill to zero.
	Adjust comment.
	* include/bits/basic_ios.h (basic_ios::_M_fill): Make mutable.
	(basic_ios::_M_fill_init): New.
	(basic_ios::fill()): Delay dealing with _M_fill.
	Adjust comment.
	* testsuite/27_io/ios_init.cc (test02): Adjust testcase.

From-SVN: r50077
2002-02-27 01:01:59 +00:00
Benjamin Kosnik
ac39fabb8b basic_ios.tcc (basic_ios::init): Set _M_fill to zero.
2002-02-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_ios.tcc (basic_ios::init): Set _M_fill to zero.
	Adjust comment.
	* include/bits/basic_ios.h (basic_ios::_M_fill): Make mutable.
	(basic_ios::_M_fill_init): New.
	(basic_ios::fill()): Deal with _M_fill lazily.
	Adjust comment.
	* testsuite/27_io/ios_init.cc (test02): Adjust testcase.

From-SVN: r50076
2002-02-27 01:01:31 +00:00
Kelley Cook
831c4e87d0 i386.c (print_operand): Don't append ATT-style length suffixs to x87 opcodes when in Intel mode.
* config/i386/i386.c (print_operand): Don't append ATT-style
        length suffixs to x87 opcodes when in Intel mode.

From-SVN: r50075
2002-02-26 16:29:00 -08:00
Ryan T. Sammartino
ff88fe1035 emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
* emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
        (init_emit_once): Update calls.
        * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
        (init_syntax_once): Prototype.

From-SVN: r50072
2002-02-26 16:22:09 -08:00
John David Anglin
d410858908 pa-linux.h (LIB_SPEC): Update definition.
* pa-linux.h (LIB_SPEC): Update definition.
	* pa32-linux.h (LINK_COMMAND_SPEC): Delete.

From-SVN: r50071
2002-02-26 23:38:34 +00:00
Loren J. Rittle
79d6ba0bee Makefile.am (thread_target_headers): Unconditionally stage and install gthr-posix.h.
* include/Makefile.am (thread_target_headers): Unconditionally
	stage and install gthr-posix.h.
	(${target_builddir}/gthr-posix.h): New rule cloned off
	${target_builddir}/gthr-default.h.
	(${target_builddir}/gthr-default.h): Support chained inclusion
	of gthr support headers.
	* include/Makefile.in: Rebuilt.

From-SVN: r50069
2002-02-26 23:02:52 +00:00
Richard Henderson
e013f3c710 ia64.c (nop_cycles_until): Do init_insn_group_barriers if we emitted a stop bit.
* config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
        if we emitted a stop bit.

From-SVN: r50065
2002-02-26 14:41:48 -08:00
Jakub Jelinek
9e944a165d configure.in (libgcc_visibility): Substitute.
* configure.in (libgcc_visibility): Substitute.
	* configure: Rebuilt.
	* mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
	defined symbols .hidden.

From-SVN: r50063
2002-02-26 22:39:07 +01:00