Jeff Law
40b4c53dab
i860.h (TARGET_SWITCHES): Add documentation for default case.
...
�
* i860.h (TARGET_SWITCHES): Add documentation for default case.
* i860/paragon.h (TARGET_SWITCHES): Add documentation for default case.
* i370.h (TARGET_SWITCHES): Add documentation for default case.
* fx80.h (TARGET_SWITCHES): Add documentation for default case.
* elxsi.h (TARGET_SWITCHES): Add documentation for default case.
* clipper.h (TARGET_SWITCHES): Add documentation for default case.
* 1750a.h (TARGET_SWITCHES): Add documentation for default case.
* pa.h (TARGET_SWITCHES): Add documentation for default case.
(TARGET_OPTIONS): Likewise for default case.
* mn10300.h (TARGET_SWITCHES): Add documen for default casetation.
* h8300.h (TARGET_SWITCHES): Add documentation for default case.
From-SVN: r25889
1999-03-21 17:08:09 -07:00
Jeffrey A Law
a65f3558e9
gcse.c (dump_hash_table): Fix whitespace in declaration.
...
* gcse.c (dump_hash_table): Fix whitespace in declaration.
(compute_transpout): Renamed from pre_compute_transpout.
(compute_pre_*): Deleted
(pre_expr_reaches_here_p): New argument, CHECK_PRE_COMP. All
callers changed.
(insert_insn_end_bb): Renamed from pre_insert_insn.
(pre_*): Delete unused variables. Only leave local properties and
global redundant/optimal computation points.
(alloc_pre_mem, free_pre_mem): Corresponding changes.
(compute_pre_data): Simplify and call pre_lcm to run the lazy
code motion dataflow analysis.
(pre_insert, pre_insert_copies, pre_delete): Revamp to use LCM
based redundant and optimal computation points.
From-SVN: r25886
1999-03-21 13:49:10 -07:00
Jeffrey A Law
077692c615
* basic-block.h (pre_lcm, pre_rev_lcm): Declare.
...
From-SVN: r25885
1999-03-21 12:00:05 -07:00
Jeffrey A Law
43c2d67a1a
toplev.c (main): A debug option without a level defaults to level 2.
...
* toplev.c (main): A debug option without a level defaults to
level 2.
From-SVN: r25884
1999-03-21 09:38:34 -07:00
Nick Clifton
088e716060
Preserve programmer specified labels, and emit debug info for them even if
...
they are deleted.
From-SVN: r25883
1999-03-21 12:14:09 +00:00
Mark Mitchell
0fdb7c85ce
Give my new email address.
...
From-SVN: r25882
1999-03-21 09:34:14 +00:00
Manfred Hollstein
e541d2b129
Makefile.in (xgcc$(exeext)): Add intl.o to list of files to be linked with.
...
gcc/ChangeLog:
1999-03-21 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in (xgcc$(exeext)): Add intl.o to list of files to be
linked with.
gcc/f/ChangeLog:
1999-03-21 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in (g77$(exeext)): Depend on intl.o. Link in intl.o.
gcc/java/ChangeLog:
1999-03-21 Manfred Hollstein <manfred@s-direktnet.de>
* Make-lang.in ($(GCJ)$(exeext)): Add intl.o to list of files to be
linked with.
gcc/po/ChangeLog:
1999-03-21 Manfred Hollstein <manfred@s-direktnet.de>
* POTFILES.in: Track latest file renamings.
1999-03-01 Manfred Hollstein <manfred@s-direktnet.de>
* POTFILES.in: Remove files which do not exist anymore in egcs.
Fix names of those files which are now living in egcs's
libiberty/include directories.
From-SVN: r25881
1999-03-21 07:53:00 +00:00
Manfred Hollstein
9a4bcb83e1
*** empty log message ***
...
From-SVN: r25880
1999-03-21 07:52:59 +00:00
Manfred Hollstein
28a4a7ffe6
Makefile.in (xgcc$(exeext)): Add intl.o to list of files to be linked with.
...
�
gcc/ChangeLog:
1999-03-21 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in (xgcc$(exeext)): Add intl.o to list of files to be
linked with.
gcc/f/ChangeLog:
1999-03-21 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in (g77$(exeext)): Depend on intl.o. Link in intl.o.
gcc/java/ChangeLog:
1999-03-21 Manfred Hollstein <manfred@s-direktnet.de>
* Make-lang.in ($(GCJ)$(exeext)): Add intl.o to list of files to be
linked with.
gcc/po/ChangeLog:
1999-03-21 Manfred Hollstein <manfred@s-direktnet.de>
* POTFILES.in: Track latest file renamings.
1999-03-01 Manfred Hollstein <manfred@s-direktnet.de>
* POTFILES.in: Remove files which do not exist anymore in egcs.
Fix names of those files which are now living in egcs's
libiberty/include directories.
From-SVN: r25879
1999-03-21 07:52:49 +00:00
Kaveh R. Ghazi
4bcde32e86
Makefile.in (jcf-dump.o): Depend on $(CONFIG_H) $(srcdir)/../system.h and $(JAVA_TREE_H).
...
* Makefile.in (jcf-dump.o): Depend on $(CONFIG_H)
$(srcdir)/../system.h and $(JAVA_TREE_H).
(jcf-io.o): Depend on $(JAVA_TREE_H).
(mangle.o): Likewise.
* check-init.c (check_cond_init): Add static prototype.
* class.c (build_java_method_type, hashUtf8String,
make_field_value, get_dispatch_vector, get_dispatch_table,
append_gpp_mangled_type, mangle_static_field): Likewise.
(strLengthUtf8): Hide unused definition.
(hashUtf8String): Const-ify.
(make_field_value): Un-ANSI-fy.
* constants.c: Move inclusion of jcf.h above java-tree.h.
(set_constant_entry, find_class_or_string_constant,
find_name_and_type_constant, get_tag_node,
build_constant_data_ref): Add static prototype.
* decl.c (push_jvm_slot, builtin_function,
lookup_name_current_level): Likewise.
(builtin_function): Const-ify.
* except.c (expand_start_java_handler, expand_end_java_handler):
Add static prototype.
* expr.c (flush_quick_stack, push_value, pop_value,
java_stack_swap, java_stack_dup, build_java_athrow,
build_java_jsr, build_java_ret, expand_java_multianewarray,
expand_java_arraystore, expand_java_arrayload,
expand_java_array_length, build_java_monitor, expand_java_pushc,
expand_java_return, expand_java_NEW, expand_java_INSTANCEOF,
expand_java_CHECKCAST, expand_iinc, expand_java_binop, note_label,
expand_compare, expand_test, expand_cond, expand_java_goto,
expand_java_call, expand_java_ret, pop_arguments, expand_invoke,
expand_java_field_op, java_push_constant_from_pool): Likewise.
(decode_newarray_type, expand_iinc): Un-ANSI-fy.
(build_java_arraynull_check): Mark parameters `node' and `type'
with ATTRIBUTE_UNUSED.
(note_label): Likewise for parameter `current_pc'.
(expand_java_call, expand_java_ret): Hide unused definition.
* java-tree.h (make_class, build_constants_constructor,
java_set_exception_lang_code, pop_labeled_block, emit_handlers,
init_outgoing_cpool, register_class, emit_register_classes,
java_layout_seen_class_methods): Prototype.
(unicode_mangling_length): Const-ify.
(append_gpp_mangled_name, append_gpp_mangled_classtype,
emit_unicode_mangled_name, format_int, format_uint,
jcf_trim_old_input, jcf_print_utf8, jcf_print_char,
jcf_print_utf8_replace, open_class): Prototype.
* jcf-dump.c: Include "config.h", not <config.h>. Don't include
<stdio.h>. Include tree.h/java-tree.h.
(utf8_equal_string usage, process_class): Add static prototype.
(open_class): Don't prototype this here.
(utf8_equal_string): Match arguments to format specifiers.
(HANDLE_CODE_ATTRIBUTE, BRANCH, JSR, RET, LOOKUP_SWITCH,
TABLE_SWITCH, disassemble_method): Likewise.
* jcf-io.c: Include tree.h/java-tree.h.
(open_class, find_classfile, jcf_print_utf8,
jcf_print_utf8_replace): Const-ify.
* jcf-parse.c (parse_zip_file_entries, process_zip_dir,
parse_class_file): Add static prototype.
(find_in_current_zip): Match definition to existing static
prototype.
* jcf-write.c: Include jcf.h before tree.h/java-tree.h.
(alloc_chunk, append_chunk, append_chunk_copy, gen_jcf_label,
finish_jcf_block, define_jcf_label, get_jcf_label_here,
put_linenumber, localvar_alloc, localvar_free, get_access_flags,
write_chunks, adjust_typed_op, generate_bytecode_conditional,
generate_bytecode_return, perform_relocations, init_jcf_state,
init_jcf_method, release_jcf_state, generate_classfile):
Add static prototype.
(emit_unop): Mark parameter `type' with ATTRIBUTE_UNUSED.
(make_class_file_name): Const-ify.
* jcf.h (find_classfile): Const-ify.
* jv-scan.c (reset_report): Remove prototype.
* jvgenmain.c: Include jcf.h/tree.h/java-tree.h.
(error): Rewrite to allow varargs.
* lang.c (lang_f_options): Const-ify.
* lex.c (java_parse_escape_sequence): Add static prototype.
(java_allocate_new_line): Match definition to existing static
prototype.
* mangle.c Include tree.h/java-tree.h.
(unicode_mangling_length, emit_unicode_mangled_name,
append_gpp_mangled_name, append_gpp_mangled_classtype): Const-ify.
* parse.h (jdep_code): Remove trailing comma in enumeration.
(java_get_line_col): Move prototype outside of !JC1_LITE test.
(reset_report): Add prototype.
* verify.c (push_pending_label, merge_types): Add static
prototypes.
* zipfile.h (opendir_in_zip, open_in_zip): Prototype.
From-SVN: r25878
1999-03-21 06:09:25 +00:00
Jeffrey A Law
9f12f2f3d9
Bump for snapshot
...
From-SVN: r25876
1999-03-20 18:15:08 -07:00
Jeff Law
0f2169e761
Daily bump.
...
From-SVN: r25875
1999-03-20 17:45:03 -07:00
Kaveh R. Ghazi
ee76cf2a50
* sparc.h (TARGET_SWITCHES): Add null description to default case.
...
From-SVN: r25872
1999-03-20 19:31:37 +00:00
Kaveh R. Ghazi
54ea1de9f3
Warning fixes:
...
* c-lex.c (yylex): Remove unused variable `bytes'.
* flow.c (print_rtl_with_bb): Cast the return value of alloca.
* function.c (assign_parms): Wrap variable `varargs_setup' in
macro SETUP_INCOMING_VARARGS.
(thread_prologue_and_epilogue_insns): Mark parameter `f' with
ATTRIBUTE_UNUSED.
* local-alloc.c (no_equiv): Likewise for parameter `store'.
* sched.c (schedule_insns): Remove unused variables `insn' and `next'.
* tlink.c (symbol_hash_newfunc, symbol_hash_lookup,
file_hash_newfunc, file_hash_lookup, demangled_hash_newfunc,
demangled_hash_lookup, symbol_push, symbol_pop, file_push,
file_pop, tlink_init, tlink_execute, frob_extension,
obstack_fgets, tfgets, pfgets, freadsym, read_repo_file,
maybe_tweak, recompile_files, read_repo_files,
demangle_new_symbols, scan_linker_output): Add static prototype.
(symbol_hash_newfunc, file_hash_newfunc, demangled_hash_newfunc):
Make the third argument a `hash_table_key'.
* toplev.c (debug_start_source_file): Mark parameter `filename'
with ATTRIBUTE_UNUSED.
From-SVN: r25871
1999-03-20 19:21:31 +00:00
Andreas Schwab
59d4096429
tm.texi (Varargs): Don't split argument of @item across lines.
...
* tm.texi (Varargs): Don't split argument of @item across lines.
* invoke.texi: Fix use of @item vs @itemx.
From-SVN: r25870
1999-03-20 17:30:06 +00:00
Michael Hayes
4bca1429ec
c4x.h (TARGET_SWITCHES): Add null description to default case.
...
* config/c4x/c4x.h (TARGET_SWITCHES): Add null description to
default case.
From-SVN: r25869
1999-03-20 14:01:57 +00:00
Michael Hayes
b50cb11f46
* loop.c (check_dbra_loop): Fix debug message.
...
From-SVN: r25868
1999-03-20 02:35:35 +00:00
Jeff Law
27d138a253
Daily bump.
...
From-SVN: r25867
1999-03-19 17:45:04 -07:00
Michael Hayes
867222071c
c4x.md (decrement_and_branch_on_count): Emit rptb_end pattern instead of decrement_and_branch_until_zero pattern.
...
* config/c4x/c4x.md (decrement_and_branch_on_count): Emit rptb_end
pattern instead of decrement_and_branch_until_zero pattern.
From-SVN: r25866
1999-03-19 18:57:43 +00:00
Michael Hayes
d9e284b407
c4x.h (TARGET_SWITCHES): Add documentation.
...
* config/c4x/c4x.h (TARGET_SWITCHES): Add documentation.
* config/c4x/c4x.h (TARGET_OPTIONS): Add documentation.
From-SVN: r25865
1999-03-19 14:45:58 +00:00
Martin v. Löwis
68557e1473
* expr.c (expand_expr): Handle ERROR_MARK much earlier.
...
From-SVN: r25864
1999-03-19 14:26:50 +00:00
Alexandre Petit-Bianco
89004479b3
parse.y (find_applicable_accessible_methods_list): Extend the search to superinterfaces when relevant.
...
1999-03-19 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (find_applicable_accessible_methods_list): Extend the
search to superinterfaces when relevant.
(search_applicable_methods_list): New function.
(Previous check didn't have the right path in the `#line' directives.)
From-SVN: r25863
1999-03-19 05:15:44 -08:00
Alexandre Petit-Bianco
cc596f8cbb
parse.y (find_applicable_accessible_methods_list): Extend the search to superinterfaces when relevant.
...
1999-03-19 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (find_applicable_accessible_methods_list): Extend the
search to superinterfaces when relevant.
(search_applicable_methods_list): New function.
(parse.c wasn't part of the last check-in.)
From-SVN: r25862
1999-03-19 05:08:32 -08:00
Alexandre Petit-Bianco
1982388a57
[multiple changes]
...
1999-03-19 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (find_applicable_accessible_methods_list): Extend the
search to superinterfaces when relevant.
(search_applicable_methods_list): New function.
1999-03-18 Alexandre Petit-Bianco <apbianco@cygnus.com>
* class.c (unmangle_classname): Implemented stricter testing
before setting the QUALIFIED_P flag on an identifier.
From-SVN: r25861
1999-03-19 04:56:16 -08:00
Kaveh R. Ghazi
8db99db275
Warning fixes:
...
* cccp.c (create_definition): Cast to U_CHAR* when assigning to one.
* cppfiles.c (read_and_prescan): Likewise.
Start a #define in column 0.
* cpplib.c (cpp_define): Cast to U_CHAR* when assigning to one.
(cpp_push_buffer): Likewise for cpp_buffer*.
(do_include): Change the type of `fbeg' and `fend' to unsigned char*.
(do_endif): Cast to char* when assigning to one.
(do_assert): Likewise.
(do_unassert): Likewise.
(cpp_read_check_assertion): Change the type of `name' to U_CHAR*.
Don't do unnecessary cast to char* anymore.
* genrecog.c (make_insn_sequence): Cast to char** when assigning
to one. Cast the first argument of bzero to PTR.
* loop.c (strength_reduce): Remove unused variable `note'.
* reload1.c (new_insn_chain): Cast to struct insn_chain* when
assigning to one.
* rtl.c (copy_rtx): Use memcpy instead of bcopy.
From-SVN: r25860
1999-03-19 12:43:55 +00:00
Mark Mitchell
b03a08ee0f
init.c (build_member_call): Handle template-id expressions correctly.
...
* init.c (build_member_call): Handle template-id expressions
correctly.
* typeck.c (build_x_function_call): Likewise.
From-SVN: r25859
1999-03-19 12:13:39 +00:00
Kaveh R. Ghazi
91813b2835
Warning fixes:
...
* calls.c (initialize_argument_information): Mark parameters
`num_actuals' and `n_named_args' with ATTRIBUTE_UNUSED.
* dbxout.c (dbxout_start_new_source_file): Likewise for parameter
`filename'.
(dbxout_finish): Likewise for parameters `file' and `filename'.
(dbxout_prepare_symbol): Likewise for parameter `decl'.
(dbxout_begin_function): Likewise.
* explow.c (hard_function_value): Likewise for parameter `func'.
* function.c (locate_and_pad_parm): Likewise for parameter `fndecl'.
* expmed.c (expand_divmod): Omit unused argument to `expand_abs'.
* expr.c (expand_expr): Likewise.
* expr.h (expand_abs): Delete unused argument from prototype.
* optabs.c (expand_abs): Remove unused parameter `unsignedp'.
* sdbout.c (sdbout_init): Mark parameter `syms' with ATTRIBUTE_UNUSED.
(sdbout_end_block): Likewise for parameter `n'.
* toplev.c (debug_define): Likewise for parameters `lineno' and
`buffer'.
(debug_undef): Likewise.
* varasm.c (named_section): Likewise for parameter 'reloc'.
(assemble_external): Likewise for parameter `decl'.
(assemble_alias): Likewise for parameter `target'.
From-SVN: r25858
1999-03-19 08:50:14 +00:00
Jason Merrill
c16c47fbf0
friend.c (make_friend_class): Avoid core dump when not-yet-defined friend type lacks TYPE_LANG_SPECIFIC().
...
* friend.c (make_friend_class): Avoid core dump when
not-yet-defined friend type lacks TYPE_LANG_SPECIFIC().
* decl.c (start_function): Suppress normal linkage heuristics
for #pragma interface under MULTIPLE_SYMBOL_SPACES.
From-SVN: r25857
1999-03-18 20:21:05 -05:00
Theodore Papadopoulo
192babfd6b
toplev.c (read_integral_parameter): Constify.
...
* toplev.c (read_integral_parameter): Constify. Better control of
error messages.
(main): Use read_integral_parameter to set optimize, id_clash_len,
larger_than_size, and the debugging level.
* toplev.h (read_integral_parameter): Update prototype.
From-SVN: r25856
1999-03-18 18:01:01 -07:00
Zack Weinberg
9c30c0e76a
system.h: Use putc_unlocked...
...
* system.h: Use putc_unlocked, fputc_unlocked, and
fputs_unlocked only if putc_unlocked has a prototype already.
Prototype fputs_unlocked if necessary.
* configure.in: Check for prototypes of putc_unlocked and
fputs_unlocked.
* acconfig.h: Updated.
* config.in, configure: Rebuilt.
From-SVN: r25855
1999-03-18 17:47:41 -07:00
Jeff Law
2167722891
Daily bump.
...
From-SVN: r25854
1999-03-18 17:45:06 -07:00
Jeffrey A Law
40250a2c55
i860.h (TARGET_SWITCHES): Add documentation.
...
* i860.h (TARGET_SWITCHES): Add documentation.
* i860/paragon.h (TARGET_SWITCHES): Add documentation.
From-SVN: r25853
1999-03-18 15:05:14 -07:00
Alexandre Oliva
b077493b23
Make-lang.in: ($(INTL_TARGETS)): depend on cp/parse.c
...
* Make-lang.in: ($(INTL_TARGETS)): depend on cp/parse.c
($(srcdir)/cp/parse.c): moved from ../Makefile.in
From-SVN: r25852
1999-03-18 22:00:18 +00:00
Alexandre Oliva
a6374b5872
Makefile.in (INTL_TARGETS): new macro
...
* Makefile.in (INTL_TARGETS): new macro
($(INTL_TARGETS)): depend on generated sources; drop dependencies
on cp/parse.c and objc/objc-parse.c
($(srcdir)/cp/parse.c): move to cp/Make-lang.in
* objc/Make-lang.in ($(INTL_TARGETS)): depend on objc/objc-parse.c
From-SVN: r25851
1999-03-18 21:59:35 +00:00
Jeffrey A Law
8a6985128f
* i370.h (TARGET_SWITCHES): Add documentation.
...
From-SVN: r25850
1999-03-18 14:57:42 -07:00
Jeffrey A Law
3f1558136a
* fx80.h (TARGET_SWITCHES): Add documentation.
...
From-SVN: r25849
1999-03-18 14:55:47 -07:00
Jeffrey A Law
c459c26f9f
* elxsi.h (TARGET_SWITCHES): Add documentation.
...
From-SVN: r25848
1999-03-18 14:52:13 -07:00
Jeffrey A Law
b5daeaa872
* clipper.h (TARGET_SWITCHES): Add documentation.
...
From-SVN: r25847
1999-03-18 14:50:09 -07:00
Jeffrey A Law
49c16ccfb2
* 1750a.h (TARGET_SWITCHES): Add documentation.
...
From-SVN: r25846
1999-03-18 14:47:49 -07:00
Jeffrey A Law
e10dfab221
pa.h (TARGET_SWITCHES): Add documentation.
...
* pa.h (TARGET_SWITCHES): Add documentation.
(TARGET_OPTIONS): Likewise.
From-SVN: r25845
1999-03-18 14:44:59 -07:00
Jeffrey A Law
8ae4a315e8
* mn10300.h (TARGET_SWITCHES): Add documentation.
...
From-SVN: r25844
1999-03-18 14:34:46 -07:00
Jeffrey A Law
d19e73b8bb
* h8300.h (TARGET_SWITCHES): Add documentation.
...
From-SVN: r25843
1999-03-18 14:30:55 -07:00
Jeff Law
a2c74a79b5
Add missing changelog entry.
...
From-SVN: r25842
1999-03-18 14:07:36 -07:00
Nick Clifton
6449b397c2
Do not perform pseudo replacements if the loop contains volatile memory
...
references.
From-SVN: r25841
1999-03-18 15:59:50 +00:00
J"orn Rennecke
9f4749b181
reload.c (find_reloads_toplev): When processing X recursively...
...
* reload.c (find_reloads_toplev): When processing X recursively,
don't alter it destructively except by filling in constants.
From-SVN: r25840
1999-03-18 11:12:01 +00:00
Kaveh R. Ghazi
735396d963
Warning fixes:
...
* cccp.c (default_include): Initialize structure memebers.
(pass_thru_directive): Change the type of 'keyword_length' to int.
(main): Cast `bindtextdomain' and `textdomain' to (void).
* collect2.c (main): Likewise.
* cppmain.c (main): Likewise.
* gcc.c (main): Likewise.
* gcov.c (main): Likewise.
* protoize.c (main): Likewise.
* toplev.c (main): Likewise.
From-SVN: r25839
1999-03-18 07:29:10 +00:00
Gavin Romig-Koch
d8c8a706d1
mips.c (mips_explicit_type_size_string): Correct its type.
...
* config/mips/mips.c (mips_explicit_type_size_string): Correct
its type.
From-SVN: r25838
1999-03-18 05:32:31 +00:00
Jeff Law
61758275a0
Daily bump.
...
From-SVN: r25837
1999-03-17 17:45:03 -07:00
Jeffrey A Law
866fb7cca1
configure.in: Use "exit 1", not "exit (1)".
...
* configure.in: Use "exit 1", not "exit (1)".
* configure: Rebuilt.
From-SVN: r25836
1999-03-17 17:25:49 -07:00
Mark Elbrecht
77d787fa2e
go32.h: Delete.
...
* config/i386/go32.h: Delete.
* config/i386/djgpp.h: New. Renamed from go32.h.
Added -DDJGPP=2 to CPP_PREDEFINES.
* config/i386/go32-rtems.h: Delete.
* config/i386/djgpp-rtems.h: New. Renamed from go32-rtems.h.
Added -DDJGPP=2 to CPP_PREDEFINES.
* config/i386/xm-go32.h: Delete.
* config/i386/xm-djgpp.h: New. Renamed from xm-go32.h.
* config/i386/x-go32: Delete.
* config/i386/x-djgpp: New. Renamed from x-go32.
* config/i386/t-go32: Delete.
* config/i386/t-djgpp: New. Renamed from t-go32.
* configure.in(pc-msdosdjgpp): Set xm_file to i386/xm-djgpp.h.
Set tm_file to i386/djgpp.h. Set tmake_file to i386/t-djgpp.
Set xmake_file to i386/x-djgpp.
* configure: Rebuilt.
From-SVN: r25835
1999-03-17 16:23:55 -07:00