Commit Graph

48633 Commits

Author SHA1 Message Date
Michael Koch 90310c23c0 2003-03-17 Michael Koch
* javax/print/attribute/Attribute.java,
	javax/print/attribute/AttributeSet.java,
	javax/print/attribute/PrintRequestAttributeSet.java:
	New files.
	* Makefile.am
	(javax_source_files): Added new files:
	javax/print/attribute/Attribute.java
	javax/print/attribute/AttributeSet.java
	javax/print/attribute/PrintRequestAttributeSet.java
	* Makefile.in: Regenerated.

From-SVN: r64473
2003-03-17 09:13:15 +00:00
Michael Koch 6e827a3718 2003-03-17 Michael Koch
* javax/print/attribute/Attribute.java,
	javax/print/attribute/AttributeSet.java,
	javax/print/attribute/PrintRequestAttributeSet.java:
	New files.
	* Makefile.am
	(awt_java_source_files): Added new files:
	javax/print/attribute/Attribute.java
	javax/print/attribute/AttributeSet.java
	javax/print/attribute/PrintRequestAttributeSet.java
	* Makefile.in: Regenerated.

From-SVN: r64472
2003-03-17 09:09:39 +00:00
Neil Booth 783e29899b c-opts.c: Default TARGET_EBCDIC to 0 if not defined.
* c-opts.c: Default TARGET_EBCDIC to 0 if not defined.
	(c_common_init): Set EBCDIC in cpp options.
	* cpplex.c (maybe_read_ucs, cpp_parse_escape): Use EBCDIC option,
	not conditional compilation.
	* cpplib.h (struct cpp_options): New entry EBCDIC.

From-SVN: r64471
2003-03-17 06:41:06 +00:00
Neil Booth 72ecfc6033 * fix-header.c (read_scan_file): Need to malloc arguments to add_path.
From-SVN: r64470
2003-03-17 06:39:37 +00:00
Michael Hayes 47009d11db function.c (thread_prologue_and_epilogue_insns): Set delete_unused argument to 0 for redirect_jump.
* function.c (thread_prologue_and_epilogue_insns): Set delete_unused
	argument to 0 for redirect_jump.

From-SVN: r64468
2003-03-17 06:16:56 +00:00
Mark Mitchell bafb714bac re PR c++/8805 (compile time regression with many member variables)
PR c++/8805
	* except.c (eh_region_u_cleanup): Add prev_try.
	(expand_eh_region_end_cleanup): Set it.
	(reachable_handlers): Use it to skip over cleanup blocks.


	PR c++/8805
	* g++.dg/eh/cleanup1.C: New test.

From-SVN: r64465
2003-03-17 06:09:30 +00:00
Andreas Jaeger 30492adf69 * Makefile.in (TAGS): Remove obsolete handling of =*.[chy].
From-SVN: r64464
2003-03-17 06:47:53 +01:00
Andreas Jaeger 40a4184c57 Make-lang.in (treelang.tags): Remove duplicate entry.
Treelang:
2003-03-17  Andreas Jaeger  <aj@suse.de>

	* Make-lang.in (treelang.tags): Remove duplicate entry.

cp:
2003-03-17  Andreas Jaeger  <aj@suse.de>

	* Make-lang.in (cp/TAGS): Remove.

From-SVN: r64463
2003-03-17 06:46:05 +01:00
Alan Modra 7b3464eefe linux64.h (TARGET_64BIT): Redefine.
* config/rs6000/linux64.h (TARGET_64BIT): Redefine.
	(TARGET_RELOCATABLE, TARGET_EABI, TARGET_PROTOTYPE): Likewise.
	(SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Likewise.
	(SUBTARGET_OVERRIDE_OPTIONS, CPP_SYSV_SPEC): Likewise.

From-SVN: r64462
2003-03-17 14:17:16 +10:30
Tom Tromey 2b7f1f8f41 resolve.cc (ncode): Use _Jv_platform_ffi_abi.
* resolve.cc (ncode): Use _Jv_platform_ffi_abi.
	Include platform.h.
	* java/lang/natRuntime.cc (insertSystemProperties): Use
	_Jv_platform_path_separator.
	(nativeGetLibname): Use _Jv_platform_file_separator.
	(_load): Use _Jv_platform_onload_names.
	(onload_names): New global.
	* include/win32.h (_Jv_platform_file_separator): New define.
	(_Jv_platform_path_separator): Likewise.
	(_Jv_platform_onload_names): Likewise.
	(_Jv_platform_ffi_abi): Likewise.
	* include/posix.h (_Jv_platform_file_separator): New define.
	(_Jv_platform_path_separator): Likewise.
	(_Jv_platform_onload_names): Likewise.
	(_Jv_platform_ffi_abi): Likewise.

From-SVN: r64461
2003-03-17 00:45:37 +00:00
GCC Administrator 01cca2d84d Daily bump.
From-SVN: r64460
2003-03-17 00:17:42 +00:00
Richard Henderson 4f5c0f7eb9 simplify-rtx (simplify_binary_operation): Don't abort for SS_PLUS, US_PLUS, SS_MINUS, US_MINUS.
* simplify-rtx (simplify_binary_operation): Don't abort for
        SS_PLUS, US_PLUS, SS_MINUS, US_MINUS.

From-SVN: r64452
2003-03-16 14:55:14 -08:00
Richard Henderson 3c298c88f8 i386.md (movstrictqi, [...]): Check optimize_size as well.
* config/i386/i386.md (movstrictqi, movstrictqi_1): Check
        optimize_size as well.

From-SVN: r64451
2003-03-16 14:25:59 -08:00
Stephane Carrez fe91bac51d m68hc11.c (print_operand): Handle 'b' modifier for D register to specify the low part of it, aka B.
* config/m68hc11/m68hc11.c (print_operand): Handle 'b' modifier
	for D register to specify the low part of it, aka B.
	(m68hc11_gen_movhi): Use REG_WAS_0 note and increment or decrement
	the register if we are loading 1 or -1 to it; avoid using temp
	register when moving X/Y to Y/X.
	(m68hc11_gen_movqi): Likewise.
	(m68hc11_check_z_replacement): Fix last insn setting for compare case.

From-SVN: r64447
2003-03-16 22:26:04 +01:00
Mark Mitchell ddc6706714 re PR rtl-optimization/9016 (Failure to consistently constant fold "constant" C++ objects)
PR optimization/9016
	* config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
	into the constant pool.

From-SVN: r64445
2003-03-16 20:13:36 +00:00
Falk Hueffner 0a71919d52 re PR target/9164 ([Alpha] improper code generation)
PR target/9164
        * tree.c (get_narrower): For extensions with unchanged bit number,
        return the unsignedness of the outer mode.

        * gcc.c-torture/execute/20030316-1.c: New test case.

From-SVN: r64440
2003-03-16 11:43:53 -08:00
Nathan Sidwell 1f5a253a36 re PR c++/9629 (virtual inheritance segfault)
cp:
	PR c++/9629
	* cp-tree.h (struct language_function): Add in_base_initializer.
	(in_base_initializer): define it.
	(expand_member_init): Remove INIT param.
	* init.c (expand_member_init): Remove INIT param, return the member.
	(emit_mem_initializers): Set in_base_initializer.
	* class.c (build_base_path): Check in_base_initializer.
	* parser.c (cp_parser_mem_initializer): Set in_base_initializer.
	* pt.c (tsubst_initializer_list): Likewise.
testsuite:
	PR c++/9629
	* g++.dg/init/ctor2.C: New test.

From-SVN: r64438
2003-03-16 14:36:43 +00:00
Roger Sayle 46ea50cb66 c-typeck.c (build_component_ref): Turn "for" into "do ..
* c-typeck.c (build_component_ref):  Turn "for" into "do .. while"
	to avoid "may be used uninitialized" warning on ia64-hpux.
	* config/ia64/ia64-c.c: Include "tm_p.h" for function prototypes.

From-SVN: r64434
2003-03-16 13:54:23 +00:00
Andreas Jaeger 012c387f58 Add missing ChangeLog entry for:
* configure.in: Improve check for memcheck.h.
	* configure: Regenerated.

From-SVN: r64433
2003-03-16 13:12:15 +01:00
Neil Booth 7d1c4aaec9 * doc/cppopts.texi: Remove documentation of -A-.
From-SVN: r64432
2003-03-16 10:37:06 +00:00
Gabriel Dos Reis 8e7d7fa0d5 Fix rethinko.
From-SVN: r64431
2003-03-16 10:11:02 +00:00
Andreas Jaeger 72bd67f935 configure.in: Improve check for memcheck.h.
* configure.in: Improve check for memcheck.h.
	* configure: Regenerated.

From-SVN: r64430
2003-03-16 10:34:41 +01:00
Gabriel Dos Reis 4f907b595a * decl.c (binding_for_name): Fix initialization thinko.
From-SVN: r64429
2003-03-16 09:16:59 +00:00
GCC Administrator 95101abf4b Daily bump.
From-SVN: r64427
2003-03-16 00:17:11 +00:00
Zack Weinberg e20798d131 * doc/libgcc.texi: Remove @tie.
From-SVN: r64420
2003-03-15 23:35:46 +00:00
Josef Zlomek 4af16369d5 rtl.h (subrtx_p): Renamed to rtx_referenced_p.
* rtl.h (subrtx_p): Renamed to rtx_referenced_p.
	(rtx_pair): Added new element update_label_nuses, renamed to
	replace_label_data.
	* cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge): Use
	replace_label_data instead of rtx_pair.
	* loop.c (load_mems): Likewise.
	* rtlanal.c (replace_label): Replace label in pool constants and in
	INSN_LIST (in REG_LABEL note).
	(subrtx_p): Renamed to rtx_referenced_p.
	(subrtx_p_1): Renamed to rtx_referenced_p_1, compare the interior of
	LABEL_REF with CODE_LABEL, traverse constants from pool.

From-SVN: r64419
2003-03-15 22:51:37 +00:00
Aldy Hernandez d2184e79be Makefile.in (TEXI_GCCINT_FILES): Add libgcc.texi.
2003-03-15  Aldy Hernandez <aldyh@redhat.com>
	    Zack Weinberg  <zack@codesourcery.com>

	* Makefile.in (TEXI_GCCINT_FILES): Add libgcc.texi.
	* doc/libgcc.texi: New file.
	* doc/interface.texi: Delete paragraph about libgcc interface.
	* doc/gccint.texi: Add libgcc menu entry and @include libgcc.texi.

From-SVN: r64416
2003-03-15 19:54:10 +00:00
Roger Sayle de6a669be0 stb.c (ffestb_R100110_): Allow the number before the X format to be optional when not -fpedantic.
* stb.c (ffestb_R100110_): Allow the number before the X format
	to be optional when not -fpedantic.
	* std.c (ffestd_R1001dump_1010_3_): Delete unused static function.
	(ffestd_R1001dump_): For the FFESTP_formattypeX case, call
	ffestd_R1001dump_1010_2_ instead of ffestd_R1001dump_1010_3_.

	* g77.f-torture/compile/xformat.f: New test case.

From-SVN: r64415
2003-03-15 19:17:50 +00:00
John David Anglin 24b26d8d19 eh33.C: Remove xfail for hppa*-*-*.
* g++.old-deja/g++.mike/eh33.C: Remove xfail for hppa*-*-*.
	* g++.old-deja/g++.mike/eh50.C: Likewise.

From-SVN: r64413
2003-03-15 18:22:02 +00:00
Jason Merrill ae0e598210 re PR debug/9039 (ICE, anonymous union, gen_decl_die, dwarf2out.c:11974)
PR debug/9039
        * dwarf2out.c (gen_decl_die): Ignore frontend tree codes.

From-SVN: r64412
2003-03-15 12:41:35 -05:00
Jason Merrill bac06cd3c4 don't specify -g1
From-SVN: r64411
2003-03-15 12:35:05 -05:00
Jason Merrill 8cadae7e83 re PR debug/6387 (-fpic -gdwarf-2 -g1 combination give ICE in dwarf2out)
PR debug/6387
        * dwarf2out.c (dwarf2out_decl): If we're at -g1, just stick nested
        function DIEs at toplevel.
        (decls_for_scope): At -g1, don't descend into subblocks.

From-SVN: r64410
2003-03-15 12:06:24 -05:00
Gabriel Dos Reis ac2768ff6b Fix thinko.
From-SVN: r64407
2003-03-15 16:31:58 +00:00
Ulrich Weigand 2436a91b34 varasm.c (struct rtx_const): Change type of un.addr member to struct holding an additional 'symbol' member.
* varasm.c (struct rtx_const): Change type of un.addr member
	to struct holding an additional 'symbol' member.
	(decode_rtx_const): Re-enable optimization to count SYMBOL_REFs
	with equal string addresses as equal.
	(simplify_subtraction): Adapt to struct rtx_const change.

From-SVN: r64406
2003-03-15 16:30:35 +00:00
Gabriel Dos Reis af6fd53f5a Compile-time improvement: 2/n.
* cp-tree.h (struct cxx_binding): New datatype;
	(struct lang_identifier): Use it.
	(LOCAL_BINDING_P): Adjust definition.
	(INHERITED_VALUE_BINDING_P): Likewise.
	(BINDING_SCOPE): Likewise.
	(BINDING_HAS_LEVEL_P): Likewise.
	(BINDING_VALUE): Likewise.
	(BINDING_TYPE): Likewise.
	(IDENTIFIER_VALUE): Likewise.
	(struct tree_binding): Remove.
	(TS_CP_BINDING): Likewise.
	((union lang_tree_node): Remove field "binding".
	(cxx_binding_clear): New macro.
	(binding_for_name): Adjust return type.
	(qualified_lookup_using_namespace): Adjust prototype.
	(lookup_using_namespace): Adjust prototype.
	(cxx_scope_find_binding_for_name): Declare.
	* cp-tree.def: Remove CPLUS_BINDING definition.
	* parse.y (parse_scoped_id): Don't type-abuse of 'id'.  Allocate
	temporary cxx_binding on stack.  Simplify.
	* decl.c (push_binding): Adjust local variable type.
	(add_binding): Likewise.
	(push_class_binding): Likewise.
	(pop_binding): Likewise.
	(poplevel): Likewise.
	(poplevel_class): Likewise.
	(free_bindings):  Adjust type.
	(find_binding): Adjust return type, add a third parameter. Remove
	non-useful assertion now that we use static typing.
	(cxx_scope_find_binding_for_name): New function.
	(binding_for_name): Use it.  Adjust local variable type. Simplify.
	(namespace_binding):  Simplify.
	(set_namespace_binding): Likewise.
	(set_identifier_type_value_with_scope): Adjust local variable type.
	(lookup_tag): Don't type-abuse of local variable 'old'.
	(lookup_namespace_name): Likewise.  Allocate binding on stack.
	(select_decl): Adjust prototype.
	(unqualified_namespace_lookup):  Allocate binding on stack.
	Don't type-abuse of local variable 'val'.
	(lookup_name_real): Likewise.
	(maybe_inject_for_scope_var): Adjust local variable type.
	(cp_tree_node_structure): Remove CPLUS_BINDING case label.
	(namespace_binding): Adjust logic, simplify.
	(BINDING_LEVEL): Adjust definition.
	(push_class_level_binding): Adjust local variable type.
	(struct cxx_saved_binding): Adjust field 'binding' type.
	* decl2.c (ambiguous_decl): Adjust prototype.
	(lookup_using_namespace): Adjust local variable type.
	(qualified_lookup_using_namespace): Catch type error and correct
	ensueing logic error.
	(do_nonmember_using_decl): Adjust local variable type.  Allocate
	temporary cxx_binding on stack.
	(do_toplevel_using_decl): Adjust local variable type.
	* ptree.c (cxx_print_cxx_binding): New function.
	(cxx_print_identifier): Use it.
	(cxx_print_xnode): Delete CPLUS_BINDING case label.

From-SVN: r64405
2003-03-15 16:30:02 +00:00
Neil Booth 151c68c36f * fix-header.c (read_scan_file): Read main file before handling -D.
From-SVN: r64404
2003-03-15 15:02:16 +00:00
Andreas Jaeger 511e3684c1 * treetree.c (cpp_handle_option): Remove.
From-SVN: r64403
2003-03-15 15:01:25 +01:00
Roger Sayle 6a87d63407 c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace.
* c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace.
	* c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
	* cfgbuild.c (find_many_sub_basic_blocks): Likewise.
	(find_sub_basic_blocks): Likewise.
	* cgraphunit.c (cgraph_expand_functions): Likewise.
	* dwarf2out.c (prune_unused_types): Likewise.
	* expr.c (store_field): Likewise.
	* genextract.c (print_path): Likewise.
	* haifa-sched.c (schedule_insn): Likewise.
	* lcm.c (compute_antinout_edge): Likewise.
	* loop-unroll.c (decide_peel_once_rolling): Likewise.
	* ra-colorize.c (ra_colorize_free_all): Likewise.
	* ra-debug.c (dump_igraph): Likewise.
	(debug_hard_reg_set): Likewise.
	* reg-stack.c (reg_to_stack): Likewise.
	* rtlanal.c (refers_to_regno_p): Likewise.
	* tracer.c (layout_superblocks): Likewise.

	* cp/tree.c (count_functions): Fix whitespace.

	* f/ste.c (ffeste_R810): Fix whitespace.

From-SVN: r64402
2003-03-15 13:43:33 +00:00
Neil Booth 49c4644467 * fix-header.c (read_scan_file): Fix thinko.
From-SVN: r64401
2003-03-15 13:14:00 +00:00
Glen Nakamura 1fe668e5e3 reload1.c (choose_reload_regs): Use && instead of || with REG_CANNOT_CHANGE_MODE_P condition.
2003-03-15  Glen Nakamura  <glen@imodulo.com>

	* reload1.c (choose_reload_regs): Use && instead of ||
	with REG_CANNOT_CHANGE_MODE_P condition.

From-SVN: r64399
2003-03-15 14:06:01 +01:00
Neil Booth c1bad961ed Makefile.in: Update.
* Makefile.in: Update.
	* c-common.h (cb_register_builtins): Rename c_cpp_builtins.
	* c-lex.c (init_c_lex): Register builtins hook is dead.
	* c-opts.c (COMMAND_LINE_OPTIONS, missing_arg): Handle -A, -D and -U.
	(c_common_decode_option): Don't call cpp_handle_option.
	Handle -A, -D and -U.
	(handle_deferred_opts): Simplify.
	(finish_options): Define builtins and command line macros.
	* c-ppoutput.c (init_pp_output): Register builtins hook is dead.
	* cppinit.c: Don't include intl.h.
	(init_builtins): Rename cpp_init_builtins.  No hook to call.
	(init_library): Don't need to sort options.
	(cpp_create_reader): Don't set pending.
	(cpp_destroy): Don't free pending.
	(struct pending_option, cl_directive_handler, struct cpp_pending,
	APPEND, free_chain, new_pending_directive, parse_option, opt_comp,
	cpp_finish_options, COMMAND_LINE_OPTIONS, DEF_OPT, struct cl_option,
	cl_options, cpp_handle_option): Remove.
	* cpplib.h (struct cpp_pending, register_builtins, cpp_handle_option,
	cpp_finish_options): Remove.
	(cpp_init_builtins): New.
	* fix-header.c (read_scan_file): Update to handle -D.  Fix
	handling of -I.  Replace call to cpp_finish_options.
cp:
	* Make-lang.in: Update.

From-SVN: r64398
2003-03-15 12:18:47 +00:00
Kriang Lerdsuwanakij 6e049fcd1f re PR c++/6440 (template specializations cause ICE)
PR c++/6440
	* pt.c (maybe_process_partial_specialization): Handle
	member class template when enclosing class template is
	explicit specialized.
	(most_general_template): Stop looking when DECL is already
	specialized.

	* g++.dg/template/spec7.C: New test.
	* g++.dg/template/spec8.C: Likewise.

From-SVN: r64395
2003-03-15 10:08:31 +00:00
Andreas Jaeger ef529bb6bb Fix date in last ChangeLog entry.
From-SVN: r64393
2003-03-15 11:02:33 +01:00
Andreas Jaeger f37f1fdb7a g77spec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
* g77spec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
	(DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.

From-SVN: r64392
2003-03-15 07:12:33 +01:00
Benjamin Kosnik ac1613a2c2 [multiple changes]
2003-03-14  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/23_containers/bitset_members.cc: Add test variable.
	* testsuite/23_containers/map_insert.cc: Same.
	* testsuite/22_locale/ctype/cons/char/1.cc: Same.
	* testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Same.
	* testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Same.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same.
	* testsuite/27_io/istream_exception.cc: Same.
	* testsuite/27_io/filebuf_virtuals.cc: Same.
	* testsuite/27_io/stringbuf_virtuals.cc: Same.
	* testsuite/27_io/ostream_inserter_arith.cc: Same.
	* testsuite/26_numerics/valarray_operators.cc: Same.
	* testsuite/26_numerics/slice.cc: Same.
	* testsuite/26_numerics/slice_array_assignment.cc: Same.
	* testsuite/24_iterators/istream_iterator.cc: Same.
	* mkcheck.in (TESTS_FILE): Use dejagnu-generated file if possible.

2003-03-14  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/9581
	PR libstdc++/9870
	* config/locale/generic/ctype_members.cc,
	* config/locale/gnu/ctype_members.cc
	(ctype<wchar_t>::do_widen(char)):  Cast argument to
	unsigned char before passing to btowc.
	(ctype<wchar_t>::do_widen(const char*, const char*, wchar_t*)):
	Convert characters with btowc instead of mbsrtowcs.
	(ctype<wchar_t>::do_narrow(const wchar_t*, const wchar_t*,
	char, char*):
	Convert characters with wctob instead of wcsrtombs.
	* testsuite/22_locale/ctype/narrow/wchar_t/3.cc:  New test.
	* testsuite/22_locale/ctype/widen/wchar_t/2.cc:  New test.
	* testsuite/22_locale/ctype/widen/wchar_t/3.cc:  New test.

From-SVN: r64391
2003-03-15 04:53:52 +00:00
Michael Hayes d8eed979a3 re PR rtl-optimization/9387 (jump threading bug)
PR optimization/9387
	* function.c (thread_prologue_and_epilogue_insns): Use redirect_jump
	for conditional returns.

From-SVN: r64390
2003-03-15 02:44:29 +00:00
Jason Merrill af75fb675d re PR rtl-optimization/6871 (const objects shouldn't be moved to .bss)
PR optimization/6871
        * varasm.c (assemble_variable): Leave constant zeroes in .rodata.

From-SVN: r64387
2003-03-14 20:43:07 -05:00
Hans Boehm adf936a606 * java/lang/natObject.cc (JV_SYNC_HASH): replace signed % by &.
From-SVN: r64386
2003-03-15 01:04:08 +00:00
GCC Administrator af2e51f395 Daily bump.
From-SVN: r64385
2003-03-15 00:17:09 +00:00
Neil Booth 255c10b1a7 c-opts.c (finish_options): New.
* c-opts.c (finish_options): New.
	(COMMAND_LINE_OPTIONS, c_common_decode_option): Add -imacros.
	(missing_arg): Handle OPT_include and OPT_imacros.
	(c_common_init, c_common_parse_file): Use finish_options.
	(handle_deferred_opts): Update.
	* cppinit.c (struct cpp_pending): Remove imacros_head and imacros_tail.
	(cpp_finish_options): Don't handle -imacros here.
	(no_fil): Remove.
	(COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -imacros.

From-SVN: r64378
2003-03-14 23:47:24 +00:00