Commit Graph

25602 Commits

Author SHA1 Message Date
Kaveh Ghazi
cfa770517e Update copyright
From-SVN: r31206
2000-01-04 16:11:32 +00:00
Kaveh R. Ghazi
1eaf7d9c9b configure.in (ac_libiberty_warn_cflags): Turn on warnings if we're using gcc.
* configure.in (ac_libiberty_warn_cflags): Turn on warnings if
	we're using gcc.

	* Makefile.in (COMPILE.c): Add @ac_libiberty_warn_cflags@

From-SVN: r31205
2000-01-04 16:09:57 +00:00
Kaveh R. Ghazi
3f552d62f4 array1.C: Modify explicit external libc references to printf & atoi to conform to ANSI...
* g++.old-deja/g++.brendan/array1.C: Modify explicit external libc
	references to printf & atoi to conform to ANSI standard.
	* g++.old-deja/g++.brendan/code-gen1.C: Likewise.
	* g++.old-deja/g++.brendan/code-gen2.C: Likewise.
	* g++.old-deja/g++.brendan/code-gen3.C: Likewise.
	* g++.old-deja/g++.brendan/code-gen4.C: Likewise.
	* g++.old-deja/g++.brendan/code-gen6.C: Likewise.
	* g++.old-deja/g++.brendan/complex1.C: Likewise.
	* g++.old-deja/g++.brendan/copy1.C: Likewise.
	* g++.old-deja/g++.brendan/copy2.C: Likewise.
	* g++.old-deja/g++.brendan/copy3.C: Likewise.
	* g++.old-deja/g++.brendan/copy4.C: Likewise.
	* g++.old-deja/g++.brendan/copy5.C: Likewise.
	* g++.old-deja/g++.brendan/copy6.C: Likewise.
	* g++.old-deja/g++.brendan/copy7.C: Likewise.
	* g++.old-deja/g++.brendan/copy8.C: Likewise.
	* g++.old-deja/g++.brendan/crash11.C: Likewise.
	* g++.old-deja/g++.brendan/crash14.C: Likewise.
	* g++.old-deja/g++.brendan/ctors1.C: Likewise.
	* g++.old-deja/g++.brendan/ctors2.C: Likewise.
	* g++.old-deja/g++.brendan/delete2.C: Likewise.
	* g++.old-deja/g++.brendan/dtors1.C: Likewise.
	* g++.old-deja/g++.brendan/dtors2.C: Likewise.
	* g++.old-deja/g++.brendan/dtors3.C: Likewise.
	* g++.old-deja/g++.brendan/eh1.C: Likewise.
	* g++.old-deja/g++.brendan/groff1.C: Likewise.
	* g++.old-deja/g++.brendan/init3.C: Likewise.
	* g++.old-deja/g++.brendan/misc12.C: Likewise.
	* g++.old-deja/g++.brendan/misc7.C: Likewise.
	* g++.old-deja/g++.brendan/new2.C: Likewise.
	* g++.old-deja/g++.brendan/operators4.C: Likewise.
	* g++.old-deja/g++.brendan/operators5.C: Likewise.
	* g++.old-deja/g++.brendan/overload2.C: Likewise.
	* g++.old-deja/g++.brendan/overload7.C: Likewise.
	* g++.old-deja/g++.brendan/redecl2.C: Likewise.
	* g++.old-deja/g++.brendan/reference1.C: Likewise.
	* g++.old-deja/g++.brendan/sizeof5.C: Likewise.
	* g++.old-deja/g++.brendan/template24.C: Likewise.
	* g++.old-deja/g++.brendan/template3.C: Likewise.
	* g++.old-deja/g++.brendan/vtables1.C: Likewise.
	* g++.old-deja/g++.jason/inline3.C: Likewise.
	* g++.old-deja/g++.jason/opeq.C: Likewise.
	* g++.old-deja/g++.law/arg5.C: Likewise.
	* g++.old-deja/g++.law/arm7.C: Likewise.
	* g++.old-deja/g++.law/ctors11.C: Likewise.
	* g++.old-deja/g++.law/cvt8.C: Likewise.
	* g++.old-deja/g++.law/init9.C: Likewise.
	* g++.old-deja/g++.law/refs4.C: Likewise.
	* g++.old-deja/g++.law/template2.C: Likewise.
	* g++.old-deja/g++.law/visibility24.C: Likewise.
	* g++.old-deja/g++.law/vtable3.C: Likewise.
	* g++.old-deja/g++.mike/asm2.C: Likewise.
	* g++.old-deja/g++.mike/eh1.C: Likewise.
	* g++.old-deja/g++.mike/misc1.C: Likewise.
	* g++.old-deja/g++.mike/misc13.C: Likewise.
	* g++.old-deja/g++.mike/misc14.C: Likewise.
	* g++.old-deja/g++.mike/ns12.C: Likewise.
	* g++.old-deja/g++.mike/p1248.C: Likewise.
	* g++.old-deja/g++.mike/p3708.C: Likewise.
	* g++.old-deja/g++.mike/p3708a.C: Likewise.
	* g++.old-deja/g++.mike/p3708b.C: Likewise.
	* g++.old-deja/g++.mike/p646.C: Likewise.
	* g++.old-deja/g++.mike/p700.C: Likewise.
	* g++.old-deja/g++.mike/p783.C: Likewise.
	* g++.old-deja/g++.mike/p783a.C: Likewise.
	* g++.old-deja/g++.mike/p783b.C: Likewise.
	* g++.old-deja/g++.mike/p786.C: Likewise.
	* g++.old-deja/g++.mike/p789.C: Likewise.
	* g++.old-deja/g++.mike/p789a.C: Likewise.
	* g++.old-deja/g++.mike/p807a.C: Likewise.
	* g++.old-deja/g++.other/delete3.C: Likewise.
	* g++.old-deja/g++.other/dyncast1.C: Likewise.
	* g++.old-deja/g++.other/dyncast2.C: Likewise.
	* g++.old-deja/g++.other/dyncast3.C: Likewise.
	* g++.old-deja/g++.other/empty1.C: Likewise.
	* g++.old-deja/g++.other/temporary1.C: Likewise.
	* g++.old-deja/g++.pt/memtemp14.C: Likewise.
	* g++.old-deja/g++.pt/t16.C: Likewise.
	* g++.old-deja/g++.pt/tiemann2.C: Likewise.

From-SVN: r31204
2000-01-04 15:52:23 +00:00
Jan Hubicka
d7a2940444 i386.c (ix86_expand_move): Allow pushes of memory, offload to memory all FP constants for constant->reg moves.
* i386.c (ix86_expand_move): Allow pushes of memory, offload to memory
	all FP constants for constant->reg moves.
	(ix86_split_to_parts): Try to convert memory address into immediate
	when available in the constant pool.
	* i386.h (PREFERRED_RELOAD_CLASS): Allow CONST_DOUBLE->integer reg
	moves.
	(LEGITIMATE_CONSTANT_P): Return 1.
	* i386.md (pushsf): New splitter to convert constant pool memory
	reference to immediate.
	(mov?f): Likewise; do not allow CONST_DOUBLE for reg moves before
	reload.

From-SVN: r31203
2000-01-04 14:44:03 +00:00
Bernd Schmidt
28cefcd2b6 Restrict i386 flag setting shift patterns
From-SVN: r31202
2000-01-04 11:49:01 +00:00
Martin v. Löwis
c8b313e75f * ginclude/stdbool.h: Support compilation as C++.
From-SVN: r31201
2000-01-04 10:12:22 +00:00
Tom Tromey
0f918fea8b [multiple changes]
2000-01-04  Tom Tromey  <tromey@cygnus.com>

	* java/lang/reflect/natConstructor.cc (newInstance): Pass
	declaring class as return_type argument to
	_Jv_CallNonvirtualMethodA.
	* java/lang/reflect/natMethod.cc (_Jv_CallNonvirtualMethodA): In
	constructor case, create object and use it as `this' argument.
	* java/lang/Class.h (_getConstructors): Declare.
	(_getFields): Declare.
	* java/lang/Class.java (getConstructors): Wrote.
	(_getConstructors): New native method.
	(getDeclaredConstructors): Wrote.
	(_getFields): Declare new native method.
	* java/lang/natClass.cc (_Jv_LookupInterfaceMethod): Removed
	incorrect comment.
	(getMethod): Work correctly when class is primitive.
	(getDeclaredMethods): Likewise.  Compute offset using `method',
	not `mptr'.
	(getDeclaredMethod): Likewise.
	(getConstructor): Wrote.
	(ConstructorClass): New define.
	(getDeclaredConstructor): Wrote.
	(_getConstructors): New method.
	(_getFields): New method.
	(getFields): Wrote.

	* Makefile.in: Rebuilt.
	* Makefile.am (AM_CXXFLAGS): Added -D_GNU_SOURCE.

	* prims.cc: Remove `#pragma implementation'.
	* gcj/array.h: Remove `#pragma interface'.

	* prims.cc (_Jv_equaln): New function.
	* java/lang/Class.java (getSignature): Declare.
	* resolve.cc (_Jv_LookupDeclaredMethod): Moved to natClass.cc.
	* java/lang/natClass.cc (_Jv_LookupDeclaredMethod): Moved from
	resolve.cc.
	(getSignature): New method.
	(getDeclaredMethod): Wrote.
	(getMethod): Wrote.
	Include StringBuffer.h.
	* java/lang/Class.h (Class): Added _Jv_FromReflectedConstructor
	as a friend.  Unconditionally declare _Jv_LookupDeclaredMethod as
	a friend.
	(getSignature): Declare.
	* include/jvm.h (_Jv_GetTypesFromSignature): Declare.
	(_Jv_equaln): Declare.
	(_Jv_CallNonvirtualMethodA): Declare.
	* Makefile.in: Rebuilt.
	* Makefile.am (nat_source_files): Added natConstructor.cc.
	(java/lang/reflect/Constructor.h): New target.
	* java/lang/reflect/natConstructor.cc: New file.
	* java/lang/reflect/Constructor.java (newInstance): Now native.
	(declaringClass): Renamed from decl_class.
	(offset): Renamed from index.
	(getType): New native method.
	(getModifiers): Now native.
	(getParameterTypes): Call getType if required.
	(hashCode): Include hash code from declaring class.
	(modifiers): Removed.
	(toString): Call getType if required.
	* gcj/method.h (_Jv_FromReflectedConstructor): New function.
	* java/lang/reflect/natMethod.cc (hack_call): New method.
	Removed `#if 0' around FFI code.
	Include <gnu/gcj/RawData.h>.
	(invoke): Use _Jv_CallNonvirtualMethodA.  Throw
	IllegalArgumentException when argument object and class disagree.
	(_Jv_GetTypesFromSignature): New function.
	(getType): Use it.
	(ObjectClass): New define.
	(_Jv_CallNonvirtualMethodA): New function.
	* java/lang/reflect/Method.java (hack_trampoline): New method.
	(hack_call): New native method.

1999-12-21  Per Bothner  <per@bothner.com>

	* java/lang/natClass.cc (getDeclaredMethods): Correctly compute
	offset in new Method.

From-SVN: r31199
2000-01-04 08:46:52 +00:00
Jeff Law
00da7781ff Daily bump.
From-SVN: r31198
2000-01-04 01:45:07 -07:00
J"orn Rennecke
c565a6b7cb * fold-const.c (make_range): Don't try to reverse an unbounded range.
From-SVN: r31197
2000-01-04 01:36:51 -07:00
Jeff Law
70dec765ec Update copyright
From-SVN: r31196
2000-01-04 01:11:05 -07:00
Jeff Law
ccc50f7d72 Update copyrights
From-SVN: r31195
2000-01-04 01:10:30 -07:00
Jeff Law
edaddf0586 Update copyright
From-SVN: r31194
2000-01-04 01:01:42 -07:00
Jeff Law
b0a246396f Update copyrights.
From-SVN: r31193
2000-01-04 00:58:40 -07:00
Jeffrey A Law
8c0ede34a2 regclass.c (regclass): Properly compute loop_cost.
* regclass.c (regclass): Properly compute loop_cost.  Adjust
        comments.

From-SVN: r31192
2000-01-04 00:26:08 -07:00
Jeffrey A Law
4963c995cc * regclass.c: Fix minor whitespace problems.
From-SVN: r31191
2000-01-04 00:20:31 -07:00
Anthony Green
fb75402575 i386.md (builtin_setjmp_receiver): New pattern.
* config/i386/i386.md (builtin_setjmp_receiver): New pattern.
	Restore the pic register if required.

From-SVN: r31190
2000-01-04 06:17:29 +00:00
Ulrich Drepper
e316d10779 (time_char_table): Revert change; this was not intended.
From-SVN: r31189
2000-01-03 21:51:13 +00:00
Ulrich Drepper
d125d26857 (format_char_info): Update comment.
(format_char_info): Update comment.  (check_format_info): Recognize 'z'
modifier in the same way 'Z' was recognized.  Emit warning for formats
new in ISO C99 only if flag_isoc9x is not set.

From-SVN: r31188
2000-01-03 21:48:49 +00:00
Ulrich Drepper
0bd209d9bf Update.
From-SVN: r31187
2000-01-03 21:48:41 +00:00
Ulrich Drepper
6e9dbb8517 Update.
From-SVN: r31186
2000-01-03 21:33:26 +00:00
Ulrich Drepper
68642fb604 (flag_isoc9x): New variable to be able to use code in c-common.c.
For now always zero.

From-SVN: r31185
2000-01-03 21:33:10 +00:00
Mark Mitchell
4b3b53287d cp-tree.h (CLASSTYPE_VBASECLASSES): Improve documentation.
* cp-tree.h (CLASSTYPE_VBASECLASSES): Improve documentation.
	* class.c (layout_basetypes): Don't set BINFO_INHERITANCE_CHAIN
	or unshare_base_binfos for virtual bases here.
	* search.c (dfs_get_vbase_types): Do it here.
	(get_vbase_types): Adjust.

From-SVN: r31184
2000-01-03 21:32:58 +00:00
Tom Tromey
f540ec2448 mauve.exp (mauve_compute_uses): Let user select specific tests to run.
* libjava.mauve/mauve.exp (mauve_compute_uses): Let user select
	specific tests to run.

From-SVN: r31183
2000-01-03 20:18:19 +00:00
Mark Mitchell
1a75bc3340 * config/mips/iris6gld.h: Fix typo in -mabi=n32 specs.
From-SVN: r31182
2000-01-03 20:01:59 +00:00
Jan Hubicka
0f808b6f0a combine.c (expand_compound_operation): Do not convert ZERO_EXTEND to SIGN_EXTEND, convert SIGN_EXTEND to ZERO_EXTEND.
* combine.c (expand_compound_operation): Do not convert ZERO_EXTEND to
	SIGN_EXTEND, convert SIGN_EXTEND to ZERO_EXTEND.
	(make_compound_operation): Choose cheaper alternative between
	ZERO_EXTEND and SIGN_EXTEND when sign bit is not set.

From-SVN: r31180
2000-01-03 15:49:51 +00:00
Jan Hubicka
f741a71c75 regclass.c (op_costs): Remove global variable.
* regclass.c (op_costs): Remove global variable.
	(record_reg_classes): New parameter "op_costs" and "reg_pref".
	(record_operand_costs): Break out from ...
	(scan_one_insn): ... here.
	(dump_regclass): Make dumps nicer.
	(regclass): Dump preferrences choosed and changes done during passes.

From-SVN: r31179
2000-01-03 15:23:56 +00:00
Jakub Jelinek
2aac41d648 * config/sparc/sparc.c (gen_df_reg): Fix for 32bit SPARC.
From-SVN: r31178
2000-01-03 11:40:13 +01:00
Jakub Jelinek
7b1ac7981e sparc.c (gen_df_reg): New function.
* config/sparc/sparc.c (gen_df_reg): New function.
	* config/sparc/sparc-protos.h (gen_df_reg): Add prototype.
	* config/sparc/sparc.md (movtf_no_e_insn_sp64+1,
	movtf_no_e_insn_sp64+2, movtf_no_e_insn_sp64+3, movtf_cc_sp64+1,
	movtf_cc_reg_sp64+1): Use it.

From-SVN: r31177
2000-01-03 09:53:13 +01:00
Jeff Law
3fda1f48b5 Daily bump.
From-SVN: r31176
2000-01-03 01:45:07 -07:00
Mark Mitchell
8026246fa2 cp-tree.h (CLASSTYPE_VFIELDS): Move definition.
2000-01-02  Mark Mitchell  <mark@codesourcery.com>

	* cp-tree.h (CLASSTYPE_VFIELDS): Move definition.
	(BINFO_PRIMARY_MARKED_P): Use flag 5.
	(SET_BINFO_PRIMARY_MARKED_P): Likewise.
	(CLEAR_BINFO_PRIMARY_MARKED_P): Likewise.
	(unmark_primary_bases): Remove declaration.
	(unmarkedp): Declare.
	(dfs_vbase_unmark): Likewise.
	* class.c (determine_primary_base): Return immediately if there
	are no base classes.  Call mark_primary_bases here.
	(modify_all_direct_vtables): Remove.
	(modify_all_indirect_vtables): Remove.
	(dfs_modify_vtables_queue_p): New function.
	(dfs_modify_vtables): New function.
	(modify_all_vtables): Use them.
	(build_base_fields): Build FIELD_DECLs for primary virtual base
	classes.
	(create_vtable_ptr): Don't call determine_primary_base here.
	(dfs_mark_primary_bases_and_set_vbase_offsets): Rename to ...
	(dfs_set_offset_for_vbases): ... this.
	(layout_virtual_bases): Use it.
	(layout_class_type): Call determine_primary_base here.
	* search.c (unmarkedp): Make it global.
	(shared_marked_p): Simplify.
	(shared_unmarked_p): Likewise.
	(dfs_primary_bases_queue_p): Remove.
	(dfs_unmark_primary_bases): Likewise.
	(unmark_primary_bases): Likewise.
	(mark_primary_bases): Simplify.
	(get_pure_virtuals): Don't call mark_primary_bases here.
	(dfs_vbase_unmark): New function.
	(get_vbase_types): Simplify.

From-SVN: r31175
2000-01-03 06:56:21 +00:00
Mark Mitchell
d2c5305bdb class.c (struct base_info): Remove.
* class.c (struct base_info): Remove.
	(determine_primary_base): Take has_virtual_p rather than a
	base_info as input.  Don't calculate max_has_virtual.
	(finish_struct_bits): Remove max_has_virtual argument.
	(create_vtable_ptr): Remove max_has_virtual_p argument.
	(layout_virtual_bases): Remove max argument.
	(layout_basetypes): Likewise.
	(layout_class_type): Remove max_has_virtual_p argument.
	(finish_struct_1): Remove max_has_virtual.

From-SVN: r31174
2000-01-03 04:05:43 +00:00
Mark Mitchell
a71811fe38 integrate.c (copy_decl_for_inlining): Clear TREE_ADDRESSABLE on copied LABEL_DECLs.
* integrate.c (copy_decl_for_inlining): Clear TREE_ADDRESSABLE on
	copied LABEL_DECLs.

From-SVN: r31173
2000-01-03 03:33:09 +00:00
Hans-Peter Nilsson
9d81fc2781 i386.c (ix86_expand_unary_operator): Function definition made void.
* config/i386/i386.c (ix86_expand_unary_operator): Function
	definition made void.
	(ix86_expand_binary_operator): Update outdated preceding comment.
	* config/i386/i386-protos.h (ix86_expand_unary_operator): Update
	prototype.

From-SVN: r31172
2000-01-03 02:30:52 +00:00
Hans-Peter Nilsson
0ef2e39a2d Oops, forgot to update copyright date
From-SVN: r31171
2000-01-03 01:13:16 +00:00
Hans-Peter Nilsson
e4c0478d85 * config/i386/i386.c (override_options): Fix option-name typo.
From-SVN: r31170
2000-01-03 01:07:21 +00:00
Mark Mitchell
213800dd6f Add missing ChangeLog
From-SVN: r31169
2000-01-02 19:47:17 +00:00
Mark Mitchell
80fd5f4866 cp-tree.h (dfs_mark_primary_bases_queue_p): New function.
* cp-tree.h (dfs_mark_primary_bases_queue_p): New function.
	(layout_basetypes): Remove.
	* class.c (propagate_binfo_offsets): Moved here from tree.c.
	Update to handle primary virtual bases.
	(remove_base_fields): New function, split out from
	layout_basetypes.
	(dfs_mark_primary_bases_and_set_vbase_offsets): New function.
	(layout_virtual_bases): New function, split out from
	layout_basetypes.  Update to handle primary virtual bases.
	(layout_basetypes): Moved here from tree.c.  Use
	remove_base_fields and layout_virtual_bases.
	* search.c (dfs_mark_primary_bases_queue_p): New function.
	(mark_primary_bases): Use it.
	* tree.c (CEIL): Remove.
	(propagate_binfo_offsets): Remove.
	(layout_basetypes): Remove.

From-SVN: r31168
2000-01-02 19:41:09 +00:00
Mark Mitchell
13799af323 system.h (CEIL): Define.
* system.h (CEIL): Define.
	* builtins.c (CEIL): Remove.
	* expmed.c (CEIL): Likewise.
	* expr.c (CEIL): Likewise.
	* stor-layout.c (CEIL): Likewise.

From-SVN: r31167
2000-01-02 19:38:36 +00:00
Franz Sirl
0db5adc6fb expr.c (store_constructor_field): Fix typo introduced with last gcc2 merge.
* expr.c (store_constructor_field): Fix typo introduced with last
	gcc2 merge.

From-SVN: r31166
2000-01-02 13:13:37 +00:00
Jeff Law
592f2707b1 Daily bump.
From-SVN: r31165
2000-01-02 01:45:07 -07:00
Mark Mitchell
99a6c6f408 cp-tree.h (CLASSTYPE_N_BASECLASSES): Use BINFO_N_BASETYPES.
* cp-tree.h (CLASSTYPE_N_BASECLASSES): Use BINFO_N_BASETYPES.
	(BINFO_PRIMARY_MARKED_P): New macro.
	(SET_BINFO_PRIMARY_MARKED_P): Likewise.
	(CLEAR_BINFO_PRIMARY_MARKED_P): Likewise.
	(mark_primary_bases): New function.
	(unmark_primary_bases): Likewise.
	* search.c (get_abstract_virtuals_1): Remove.
	(dfs_mark_primary_bases): New function.
	(mark_primary_bases): Likewise.
	(dfs_unmark_primary_bases): Likewise.
	(unmark_primary_bases): Likewise.
	(dfs_get_pure_virtuals): Likewise.

From-SVN: r31164
2000-01-02 04:34:22 +00:00
Mark Mitchell
07b7a812fd cp-tree.h (skip_rtti_stuff): Adjust prototype.
* cp-tree.h (skip_rtti_stuff): Adjust prototype.
	* class.c (skip_rtti_stuff): Reorganize parameters and return value.
	(modify_one_vtable): Adjust.
	(fixup_vtable_deltas1): Likewise.
	(override_one_vtable): Likewise.
	* search.c (get_abstract_virtuals_1): Likewise.
	(get_pure_virtuals): Likewise.
	(expand_upcast_fixups): Likewise.
	* tree.c (debug_binfo): Likewise.

From-SVN: r31163
2000-01-02 04:04:05 +00:00
Mark Mitchell
5e1677bcb0 * tree.h (BINFO_N_BASETYPES): New macro.
From-SVN: r31162
2000-01-02 03:24:44 +00:00
Mark Mitchell
0533d788e5 class.c (build_vtable): Don't return a value.
* class.c (build_vtable): Don't return a value.  Don't rebuild
	vtables for bases that have already been handled.
	(prepare_fresh_vtable): Don't rebuild vtables for bases that have
	already been handled.
	(modify_one_vtable): Adjust accordingly.
	(fixup_vtable_deltas1): Likewise.
	(finish_struct_1): Likewise.

From-SVN: r31161
2000-01-02 02:13:53 +00:00
Martin v. Löwis
4485c55bfd Fix date of last check-in
From-SVN: r31160
2000-01-01 17:55:30 +00:00
Hans-Peter Nilsson
2f52c7e641 symcat.h (STRINGX): Change "?" to "s" to stringify argument s.
* symcat.h (STRINGX) [!__STDC__ || ALMOST_STDC]: Change "?" to "s"
	to stringify argument s.

From-SVN: r31159
2000-01-01 17:26:13 +00:00
Martin v. Löwis
0c12c02a4f New test case.
From-SVN: r31158
2000-01-01 13:30:01 +00:00
Martin v. Löwis
1cb47a5cab * call.c (build_new_method_call): Also check destructors.
From-SVN: r31157
2000-01-01 13:29:44 +00:00
Bernd Schmidt
3bdf58486d Avoid losing pending stack adjusts.
From-SVN: r31156
2000-01-01 12:12:10 +00:00
Jeff Law
2d0541b99a Daily bump.
From-SVN: r31155
2000-01-01 01:45:07 -07:00