GCC Administrator
5a363fc83e
Daily bump.
...
From-SVN: r55417
2002-07-12 07:16:56 +00:00
J"orn Rennecke
226cfe61ea
simplify-rtx.c (simplify_subreg): Handle floating point CONST_DOUBLEs.
...
gcc:
Thu Jul 11 15:39:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
* simplify-rtx.c (simplify_subreg): Handle floating point
CONST_DOUBLEs. When an integer subreg of a smaller mode than
the element mode is requested, compute a subreg with an
integer mode of the same size as the element mode first.
testsuite:
Thu Jul 11 15:39:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
Andrew Pinski <pinskia@physics.uc.edu>
gcc.c-torture/compile/simd-2.c: New testcase.
gcc.c-torture/compile/simd-3.c: Likewise.
Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu>
From-SVN: r55410
2002-07-12 00:53:01 +01:00
Mark Mitchell
f0ab6bf29c
re PR c++/7224 (g++ 3.x does not tecognize unused ambiguous inline member functions)
...
PR c++/7224
* class.c (add_method): Simplify.
PR c++/7224
* g++.dg/overload/error1.C: New test.
From-SVN: r55409
2002-07-11 22:34:58 +00:00
Jason Merrill
c538612367
re PR c++/7279 (NRV related miscompilation)
...
PR c++/7279
* tree.c (cp_copy_res_decl_for_inlining): Also copy
TREE_ADDRESSABLE.
From-SVN: r55407
2002-07-11 17:55:49 -04:00
Jason Merrill
34902e16e2
re PR c++/7279 (NRV related miscompilation)
...
PR c++/7279
* tree.c (cp_copy_res_decl_for_inlining): Also copy
TREE_ADDRESSABLE.
From-SVN: r55405
2002-07-11 17:12:47 -04:00
J"orn Rennecke
25c2594701
combine.c (try_combine): When converting a paradoxical subreg to an extension...
...
* combine.c (try_combine): When converting a paradoxical subreg
to an extension, take LOAD_EXTEND_OP into account.
From-SVN: r55404
2002-07-11 22:03:51 +01:00
Nathanael Nerode
bb65470303
* configure.in: Remove two redundant tests.
...
From-SVN: r55402
2002-07-11 19:54:04 +00:00
Rainer Orth
789b7de56b
configure.in (mips*-*-irix6*o32): Enable stabs.
...
* configure.in (mips*-*-irix6*o32): Enable stabs.
gcc:
* config.gcc (mips-sgi-irix6*o32): New configuration.
* configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
configurations.
* configure: Regenerate.
* config/mips/iris6-o32-as.h: New file.
* config/mips/iris6-o32.h: New file.
* config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
(NM_FLAGS): Define.
(HAVE_AS_SHF_MERGE): Undefine.
* config/mips/t-iris5-as: New file.
* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
* config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
dp-bit.c, fp-bit.c): Move ...
* config/mips/t-iris5-6: ... here.
New file, shared by IRIX 5 and IRIX 6.
* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
mips-sgi-irix5*): Use it.
* config/mips/iris6.h: Remove duplicate comment.
* config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
!TARGET_IRIX6]: Define.
(mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
* config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
gcc/testsuite:
* gcc.misc-tests/linkage.exp: Handle mips-sgi-irix6*o32
configuration and IRIX 6 O32 ABI.
libstdc++-v3:
* configure.target (target_os switch): Allow for irix6*o32
configurations.
From-SVN: r55401
2002-07-11 18:56:58 +00:00
John David Anglin
a18c2c5f98
pa.md (adddi3): Change predicate of operand 2 to adddi3_operand and delete code to force...
...
* pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
and delete code to force constant to register.
* pa-protos.h (adddi3_operand): Add prototype.
* pa.c (adddi3_operand): New function.
From-SVN: r55400
2002-07-11 18:47:45 +00:00
Roger Sayle
e65a2d65e0
c-decl.c (duplicate_decls): Preserve the noreturn attribute on non-ANSI builtin functions.
...
* c-decl.c (duplicate_decls): Preserve the noreturn attribute on
non-ANSI builtin functions.
* gcc.c-torture/execute/builtin-noret-1.c: Test non-ANSI functions.
From-SVN: r55396
2002-07-11 12:29:07 +00:00
J"orn Rennecke
a06e3c4070
rtl.h (gen_rtx_CONST_VECTOR): Declare.
...
* rtl.h (gen_rtx_CONST_VECTOR): Declare.
* gengenrtl.c (special_rtx): Check for CONST_VECTOR.
* emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
(gen_const_vector_0): Use it.
From-SVN: r55395
2002-07-11 11:32:54 +01:00
GCC Administrator
b70fc53b64
Daily bump.
...
From-SVN: r55394
2002-07-11 07:16:52 +00:00
John David Anglin
47abc3093d
pa.md (adddi3): For 32-bit targets...
...
* pa.md (adddi3): For 32-bit targets, force constants to a register
if they don't fit in an 11-bit immediate. Change insn predicate to
arith11_operand. Remove comment.
* pa.c (cint_ok_for_move): Fix comment.
(emit_move_sequence): Don't directly split DImode constants on 32-bit
targets.
From-SVN: r55389
2002-07-11 05:04:55 +00:00
Matt Kraai
92ff302b2b
stl_deque.h: Fix misspelling of Create' as
Creats'.
...
* include/bits/stl_deque.h: Fix misspelling of `Create' as `Creats'.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/stl_vector.h: Likewise.
From-SVN: r55388
2002-07-11 04:43:15 +00:00
Roger Sayle
0e603223a0
re PR c/2454 (Test Program A0376972.c fails with gcc-20010320, works with gcc-2.95.3)
...
PR c/2454
* combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
to SUBREGs of MEMs. (num_sign_bit_copies): Likewise.
From-SVN: r55386
2002-07-11 01:23:07 +00:00
Roger Sayle
c5358a5d46
builtins.def: Make the argument types of abort and exit independent of the front-end.
...
2002-07-10 Roger Sayle <roger@eyesopen.com>
Zack Weinberg <zack@codesourcery.com>
* builtins.def: Make the argument types of abort and exit
independent of the front-end.
* java/builtins.c (initialize_builtins): Remove defines that
handled C/C++ specific junk hereby removed from builtins.def.
* gcc.c-torture/execute/20000217-1.c: Fix usage of "abort".
Co-Authored-By: Zack Weinberg <zack@codesourcery.com>
From-SVN: r55385
2002-07-11 01:20:23 +00:00
Alan Modra
a35f8b7428
* config/rs6000/linux64.h (ASM_SPEC): Define.
...
From-SVN: r55384
2002-07-11 09:53:16 +09:30
Aldy Hernandez
89e7058fdf
rs6000.c (emit_frame_save): New.
...
2002-07-10 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/rs6000.c (emit_frame_save): New.
(rs6000_frame_related): Replace reg2 before reg.
(rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
and eh_return registers.
From-SVN: r55383
2002-07-10 23:12:53 +00:00
Toon Moene
21026f495b
open.c (f_open): Do not indicate unformatted file if record length is given without a...
...
2002-07-10 Toon Moene <toon@moene.indiv.nluug.nl>
* libI77/open.c (f_open): Do not indicate unformatted file
if record length is given without a FORMATTED/UNFORMATTED
specification.
From-SVN: r55380
2002-07-10 21:17:29 +00:00
Toon Moene
086bbd21cd
Revert all patches for optimization of Complex .op.
...
2002-07-10 Toon Moene <toon@moene.indiv.nluug.nl>
Revert all patches for optimization of Complex .op. Real.
* complex_part_zero_p: Remove
* expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
with x.
* expand_cmplxdiv_wide: Ditto.
* expand_binop: Ditto.
From-SVN: r55379
2002-07-10 21:13:26 +00:00
Marek Michalkiewicz
126dbce033
avr.md: Fix two 0x80000000 constants to make them negative also on 64-bit hosts.
...
* config/avr/avr.md: Fix two 0x80000000 constants to make them
negative also on 64-bit hosts.
Default to -fno-reorder-blocks when optimizing for size.
* config/avr/avr-protos.h (avr_optimization_options): Declare.
* config/avr/avr.c (avr_optimization_options): New function.
* config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
Optimize returning from simple functions.
* config/avr/avr-protos.h (avr_simple_epilogue): Declare.
* config/avr/avr.c (avr_simple_epilogue): New function.
* config/avr/avr.md (return): New insn.
From-SVN: r55378
2002-07-10 21:08:41 +00:00
Douglas B Rupp
21c318ba4d
i386.c (ix86_svr3_asm_out_constructor): Add HAS_INIT_SECTION to protection.
...
* config/i386/i386.c (ix86_svr3_asm_out_constructor): Add
HAS_INIT_SECTION to protection.
From-SVN: r55377
2002-07-10 20:32:51 +00:00
Mark Mitchell
537834c8a2
invoke.texi (Debugging Options): Mention that -gdwarf is deprecated.
...
* doc/invoke.texi (Debugging Options): Mention that -gdwarf is
deprecated.
From-SVN: r55376
2002-07-10 19:17:51 +00:00
J"orn Rennecke
80ba02b10c
combine.c (gen_lowpart_for_combine): Handle vector modes.
...
* combine.c (gen_lowpart_for_combine): Handle vector modes.
Supply non-VOID mode to simplify_gen_subreg.
From-SVN: r55375
2002-07-10 19:51:20 +01:00
Graham Stott
6e04241fb6
pt.c (template_parm_this_level_p, [...]): Pass depth as int pointer.
...
* pt.c (template_parm_this_level_p, push_template_decl_real):
Pass depth as int pointer.
From-SVN: r55374
2002-07-10 18:45:05 +00:00
Jeff Law
7a46491380
mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes as appropriate.
...
* mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
as appropriate.
From-SVN: r55373
2002-07-10 12:26:59 -06:00
Mark Mitchell
15c7fb9cfd
cp-tree.h (unqualified_name_lookup_error): Declare it.
...
* cp-tree.h (unqualified_name_lookup_error): Declare it.
(begin_function_definition): Adjust prototype.
* lex.c (unqualified_name_lookup_error): New function, split out
from ...
(do_identifier): ... here.
* parse.y (parse_begin_function_definition): New function.
(fn.def1): Use it.
* semantics.c (begin_function_definition): Accept decl-specifiers
and attributes as separate parameters.
From-SVN: r55372
2002-07-10 18:16:24 +00:00
Jan Hubicka
ae3aa00d40
* i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
...
From-SVN: r55371
2002-07-10 17:52:59 +00:00
Jeff Law
6d844e9d24
981006-1.x: Do not use -fpic for mn102.
...
* gcc.c-torture/compile/981006-1.x: Do not use -fpic for mn102.
* gcc.c-torture/compile/930326-1.x: Remove. No longer needed.
From-SVN: r55370
2002-07-10 11:38:37 -06:00
Jeff Law
029f3983ab
mn10200.c (expand_epilogue): Fix test to determine which scratch register to use.
...
* mn10200.c (expand_epilogue): Fix test to determine which scratch
register to use.
From-SVN: r55369
2002-07-10 11:26:31 -06:00
J"orn Rennecke
ff27a42938
cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
...
* cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
Get mode from dest.
If simplify_gen_subreg fails, try next equivalent.
From-SVN: r55368
2002-07-10 16:08:04 +01:00
Tom Tromey
e8fb283699
reverted bogus checkin
...
From-SVN: r55367
2002-07-10 14:33:04 +00:00
Tom Tromey
2e237e3748
configure: Rebuilt.
...
* configure: Rebuilt.
* configure.in: Use `test' after `&&'. From Chris Faylor.
From-SVN: r55366
2002-07-10 14:30:15 +00:00
Gabriel Dos Reis
c963e6b00c
valarray_meta.h (_UnFunBase): Take a second template parameter.
...
* include/bits/valarray_meta.h (_UnFunBase): Take a second
template parameter. Remove _M_func data member.
(_UnFunClos): Take a third template parameter.
(__abs, __cos, __acos, __cosh, __sin, __asin, __sinh, __tan,
__atan, __tanh, __exp, __log, __log10, __sqrt): New classes.
(_DEFINE_EXPR_UNARY_OPERATOR): Adjust definition.
From-SVN: r55365
2002-07-10 12:06:37 +00:00
Gabriel Dos Reis
e6986399dc
diagnostic.h: #include location.h
...
* diagnostic.h: #include location.h
(location_t): Move definition to..
* location.h: ... here. New file.
* tree.h: #include location.h
(DECL_SOURCE_LOCATION): New macro.
(DECL_SOURCE_FILE): Use.
(DECL_SOURCE_LINE): Likewise.
(struct tree_decl): REplace filename and linenum with locus.
* Makefile.in (TREE_H): add location.h
(diagnostic.o): Depends on gt-location.h
(gt-location.h): Depends on s-gtype
From-SVN: r55364
2002-07-10 10:36:27 +00:00
GCC Administrator
9924857981
Daily bump.
...
From-SVN: r55363
2002-07-10 07:17:32 +00:00
Matt Kraai
7990b46f6c
aix.h: Convert CPP_PREDEFINES to TARGET_OS_CPP_BUILTINS.
...
* config/rs6000/aix.h: Convert CPP_PREDEFINES to
TARGET_OS_CPP_BUILTINS.
* config/rs6000/aix31.h: Likewise.
* config/rs6000/aix41.h: Likewise.
* config/rs6000/aix43.h: Likewise.
* config/rs6000/aix51.h: Likewise.
* config/rs6000/beos.h: Likewise.
* config/rs6000/darwin.h: Likewise.
* config/rs6000/eabi.h: Likewise.
* config/rs6000/eabisim.h: Likewise.
* config/rs6000/linux.h: Likewise.
* config/rs6000/linux64.h: Likewise.
* config/rs6000/lynx.h: Likewise.
* config/rs6000/mach.h: Likewise.
* config/rs6000/rtems.h: Likewise.
* config/rs6000/sysv4.h: Likewise.
* config/rs6000/vxppc.h: Likewise.
From-SVN: r55356
2002-07-10 00:33:52 +00:00
Jason Merrill
28a34ec177
cp-demangle.c (demangle_identifier): Support extended Unicode characters.
...
* cp-demangle.c (demangle_identifier): Support extended Unicode
characters.
From-SVN: r55354
2002-07-09 19:57:09 -04:00
Jason Merrill
abf92e2699
re PR c++/6255 (ICE with templatess)
...
PR c++/6255
* decl.c (lookup_name_real): Build a new TYPENAME_TYPE rather than
modifying the old one.
From-SVN: r55352
2002-07-09 19:45:37 -04:00
Mark Mitchell
8ba658eea5
cp-tree.h (constructor_name_p): Declare it.
...
* cp-tree.h (constructor_name_p): Declare it.
(check_template_template_default_arg): Likewise.
* class.c (handle_using_decl): Use constructor_name_p.
* decl.c (grokdeclarator): Likewise.
* decl2.c (constructor_name_p): Define it.
* init.c (build_member_call): Use constructor_name_p.
* parse.y (template_parm): Use check_template_template_default_arg.
* pt.c (check_explicit_specialization): Use constructor_name_p.
* semantics.c (check_template_template_default_arg): New function.
From-SVN: r55350
2002-07-09 23:31:28 +00:00
Aldy Hernandez
2fefbb5dbc
* gcc.dg/20020312-2.c: Check for __PPC__.
...
From-SVN: r55349
2002-07-09 23:30:51 +00:00
Devang Patel
efa39e9923
objc-act.c (adjust_type_for_id_default): Fix my previous patch.
...
2002-07-09 Devang Patel <dpatel@apple.com>
* objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
Do not allow ObjC objects as a parameter type for Objective-C methods.
My previous patch restricted 'struct' also.
From-SVN: r55348
2002-07-09 15:29:11 -07:00
Neil Booth
cd98faa138
cpperror.c (cpp_error): Default to directive_line within directives here.
...
* cpperror.c (cpp_error): Default to directive_line within
directives here.
* cppexp.c (cpp_interpret_integer): Only use traditional
number semantics in directives.
* cpplib.c (prepare_directive_trad): Don't reset pfile->line.
(do_include_common): Similarly.
* cpptrad.c (scan_out_logical_line): Implement accurate
quoting of <> in #include.
* doc/cpp.texi: Update.
From-SVN: r55347
2002-07-09 22:21:37 +00:00
Stephen Clarke
2ad65b0e91
sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
...
Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
J"orn Rennecke <joern.rennecke@superh.com>
* sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
* sh.md (attribute issues): Replace with:
(attribute pipe_model). All users changed.
(attribute type): Change pt / ptabs to pt_media / ptabs_media.
All users changed.
(function units sh5issue, sh5fds): New.
(attribute is_mac_media): New.
(adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
(andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
(ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
(movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
(call_media, call_value_media, sibcall_media): Likewise.
(casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
(return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
(mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
(fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
(cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
(sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
(muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
(fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
(cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
(sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
(truncdfsf2_media): Likewise.
(movsi_media, movsi_media_nofpu, movdi_media): Use new types.
(movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
Co-Authored-By: J"orn Rennecke <joern.rennecke@superh.com>
From-SVN: r55346
2002-07-09 23:04:34 +01:00
J"orn Rennecke
b6d3398326
sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
...
* sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
* sh.c (general_extend_operand, inqhi_operand): New functions.
* sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
alternatives using 'N' modifier. Add type.
(adddi3z_media): Likewise. Enable generator function generation.
(movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
exact predicates / constraints. Add type.
(subsi3): Allow 0 for SHMEDIA.
(udivsi3_i4_media): Use match_operand for input values
rather than hard registers.
(udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
unnecessarily through hard registers. Keep copies of pseudo
registers outside of the libcall sequence.
(mulsidi3_media, umulsidi3_media): Use more exact predicates. Add type.
(ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
(zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
(extendhidi2, extendqidi2): Likewise.
(andsi3_compact): Name.
(andcdi3): Enable generator function generation.
(zero_extendhisi2, zero_extendqisi2): Rename to
(zero_extendhisi2_compact, zero_extendqisi2_compact).
(extendhisi2, extendqisi2): Rename to
(extendhisi2_compact, extendqisi2_compact).
(rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
(loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
(zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
(zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
(extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
(extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
(truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
(shmedia32_initialize_trampoline_big): Likewise.
(shmedia32_initialize_trampoline_little): Likewise.
(nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
(negdi2): Remove spurious T clobber.
(zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
(movsi_media, movsi_media_nofpu): Remove spurious *k after b.
(movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
(movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
(ic_invalidate_line_media): Write back data cache before invalidating
instruction cache. Add type.
(movsf_media): Sign-extend when the destination is a general
purpose register. Add type.
(bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
(casesi_worker_0+1): Only increment ref count for proper label.
(casesi_worker_0+2): Likewise.
From-SVN: r55345
2002-07-09 22:30:32 +01:00
Tim Josling
2c701c0144
Treelang updates for new attrib regime.
...
From-SVN: r55344
2002-07-09 21:19:08 +00:00
Diego Novillo
4d5be58b44
* gcc.c-torture/compile/20020709-1.c: New test.
...
From-SVN: r55343
2002-07-09 15:52:02 -04:00
Mark Mitchell
7ca0873c2a
* dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
...
From-SVN: r55342
2002-07-09 17:04:56 +00:00
Steve Ellcey
26b10ae009
except.c (expand_eh_region_end_cleanup): Change exception pointer from Pmode to ptr_mode.
...
* gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
from Pmode to ptr_mode.
(get_exception_pointer): Ditto.
(connect_post_landing_pads): Ditto.
(dw2_build_landing_pads): Ditto.
From-SVN: r55341
2002-07-09 15:28:22 +00:00
GCC Administrator
e6da97c9b0
Daily bump.
...
From-SVN: r55340
2002-07-09 07:16:50 +00:00