Commit Graph

6447 Commits

Author SHA1 Message Date
florian
fabb9c33ac * top_symbol killed
+ refaddr to treference added
  + refsymbol to treference added
  * top_local stuff moved to an extra record to save memory
  + aint introduced
  * tppufile.get/putint64/aint implemented
2004-02-27 10:21:04 +00:00
peter
356b3378e8 * tai_const.create_ptr added 2004-02-26 16:16:38 +00:00
peter
1d2464f091 * check if withsymtable.defowner is in the current unit 2004-02-26 16:16:19 +00:00
peter
25213e4efb * resursive macro's fixed in preprocessor 2004-02-26 16:15:45 +00:00
peter
fa8ec60ee6 * support @@procvar in typed consts 2004-02-26 16:15:23 +00:00
peter
e9b91887d5 * withsymtables need to have the original tobject owner instead of
the parent objectdef. Needed to check for visibility
2004-02-26 16:14:48 +00:00
peter
f8679b77ef * fix crash when method is not declared in object declaration
* fix parsing of mapped interface functions
2004-02-26 16:13:25 +00:00
peter
a6f79c3c7f * support typecasts for passing @var to formal const 2004-02-26 16:12:04 +00:00
peter
c9ae483263 * use op_ordinal for dynarr compares 2004-02-26 16:11:29 +00:00
peter
61f824e259 * return cnothingn and give error when the operator is not overloaded 2004-02-26 16:11:09 +00:00
peter
cd76bf8ded * another procvar directive fix, this time for initialized vars 2004-02-26 16:10:23 +00:00
peter
2213f0433c * fix procvars with default paras 2004-02-26 16:09:49 +00:00
Jonas Maebe
5332b623ad * fixed bugs that caused pasjpeg crashes 2004-02-25 20:39:58 +00:00
mazen
77473fed86 * fix compile problem for sparc 2004-02-25 14:25:47 +00:00
olle
51c1526296 + mode mac: preproc support for hexadecimal numbers
+ mode mac: preproc support for TRUE, FALSE
2004-02-25 00:54:47 +00:00
Károly Balogh
4cf5269aa7 + morphos target added 2004-02-24 17:16:39 +00:00
Károly Balogh
3b98ec6944 * fixed previous commit's problem with msg2inc 2004-02-24 17:12:48 +00:00
Károly Balogh
3a3cca27e7 + morphos target added 2004-02-24 16:20:49 +00:00
peter
05e0d83348 * operator overload chooses rewrite
* overload choosing is now generic and moved to htypechk
2004-02-24 16:12:39 +00:00
Károly Balogh
81f5f1a45b + morphos target added 2004-02-24 16:06:08 +00:00
olle
f11951edf2 * increased maxsize of link.res file name
* fixed a 255-limit in TScript.WriteToDisk
2004-02-24 00:53:48 +00:00
olle
ff2c436b78 + mode mac: added UNDEFINED construct
+ mode mac: added support for include $I
  * renamed one of the readpreproc to preproc_substitutedtoken to avoid confusement
2004-02-23 23:38:25 +00:00
florian
d20b73a033 * makefile for arm fixed 2004-02-23 23:18:44 +00:00
peter
308fb06407 * fix crashes with 1.0.x 2004-02-23 15:59:46 +00:00
daniel
ca593dede2 * Escape newlines in constant string stabs 2004-02-22 22:13:27 +00:00
daniel
0750bd97e5 * Revert my latest change 2004-02-22 19:55:25 +00:00
daniel
efc644e349 * Fixed minor bug in Tenumdef.stabstring 2004-02-22 18:49:03 +00:00
florian
01d16548f4 * fixed exception reason size for 64 bit systems 2004-02-22 18:27:21 +00:00
peter
8bfb707401 * tf_need_symbol_size added 2004-02-22 16:51:50 +00:00
florian
0c35b6f3c4 * x86_64 uses generic concatcopy_valueopenarray for now 2004-02-22 16:48:09 +00:00
florian
ec8c16f871 * fixed
+ second_cmpfloatsse
2004-02-22 16:30:37 +00:00
Tomas Hajny
6bf9276a38 Makefiles regenerated 2004-02-22 15:37:41 +00:00
Tomas Hajny
219b34e03e * Makefiles regenerated 2004-02-22 15:08:19 +00:00
Tomas Hajny
88419cd6b0 * compilation fixes + *w tools renamed to * 2004-02-22 14:52:59 +00:00
daniel
c57e542a81 * Fixed memory leak 2004-02-22 13:01:15 +00:00
florian
00dbe6655d + nx86set added
* some more x86-64 fixes
2004-02-22 12:04:04 +00:00
daniel
3ea87ad054 * Avoid memory allocation and string copying 2004-02-21 22:08:46 +00:00
daniel
b23904af2a * Micro-optimizations 2004-02-21 21:04:09 +00:00
daniel
ce11762359 - Comment out unused tokenstring function 2004-02-21 20:10:27 +00:00
florian
6a392f766d * OP_SH* code generation fixed 2004-02-21 19:46:37 +00:00
florian
1d8b4661b8 * message about illegal type conversion reports now the types 2004-02-21 16:03:10 +00:00
florian
e7399ee666 * handling of float parameters passed in mm registers fixed 2004-02-20 22:16:34 +00:00
peter
90830261ed * fixed compiler err 2004-02-20 22:15:26 +00:00
peter
c844c5a505 * procvar cleanup 2004-02-20 21:55:59 +00:00
peter
a4732d1009 * widestring conversions added to allowed operator check 2004-02-20 21:55:19 +00:00
peter
f967fa5f74 * use sp_internal flag to silence unused internal variable 2004-02-20 21:54:47 +00:00
daniel
cfd870ed59 * Tarrayconstructornode sets pi_do_call if a call is possible 2004-02-20 20:21:16 +00:00
daniel
4e89e4be76 * Message system uses open arrays internally
* Bugfix for string handling in array constructor node
  * Micro code reductions in pdecl.pas
2004-02-20 19:49:21 +00:00
peter
fad88e2c7c * allow mov to smaller sizes 2004-02-20 16:01:49 +00:00
olle
dfa6403a70 + Support for Link on target especially for MacOS
+ TLinkerMPW
  + TAsmScriptMPW
2004-02-19 20:40:15 +00:00
florian
06a33abebd * fixed arg. area calculation 2004-02-19 17:07:42 +00:00
olle
4c95007b2b * added target Darwin to help page 2004-02-19 13:43:50 +00:00
peter
6faddb5e71 * constants are now parsed as 64bit for cpu64bit 2004-02-18 21:58:53 +00:00
daniel
b38d7f59f4 * Make better use of try_to_consume 2004-02-17 23:36:40 +00:00
daniel
7e3ad7e796 * No longer treat threadvar is normakl var if threading off 2004-02-17 19:37:16 +00:00
florian
eaa8405a15 * temp. fix for lochigh para 2004-02-17 19:14:09 +00:00
daniel
2835ed1b55 * Enable threadvars for all modes 2004-02-17 17:38:11 +00:00
peter
1e3875ad36 - fix rtti generation for properties containing sl_vec
- fix crash when overloaded operator is not available
- fix record alignment for C style variant records
2004-02-17 15:57:49 +00:00
marco
9a83a21c64 * pthread on -CURRENT related fixes. 2004-02-15 16:34:18 +00:00
peter
da60da7f06 * allow real_2_real conversion for realconstn, fixes 2971 2004-02-15 12:18:22 +00:00
peter
cf34a799aa * reset compiling_module, fixes crash in ide with second compile 2004-02-15 12:17:59 +00:00
marco
5d996da8ab * getosreldate 2004-02-13 15:56:11 +00:00
peter
3a3fdde6d1 * compare_defs_ext has now a options argument
* fixes for variants
2004-02-13 15:42:21 +00:00
peter
4f913922fa * overload directive checking for methods is now done
when the vmt is generated
2004-02-13 15:41:24 +00:00
peter
f619982607 * fixed protected checking in withsymtable 2004-02-13 15:40:58 +00:00
Károly Balogh
be67726f8f * added powerpc-morphos target 2004-02-13 05:42:16 +00:00
peter
051778da12 * don't use the local longjmp for 1.9.x 2004-02-12 16:00:39 +00:00
peter
ee569d7817 * make extcycle is working again 2004-02-12 15:54:03 +00:00
florian
bde158d4b5 * small compilation fix 2004-02-12 13:24:44 +00:00
florian
be7067445a * fixed to compile the rtl again 2004-02-11 23:18:59 +00:00
peter
b9168c3cf0 * fixed compile with -CR 2004-02-11 22:00:10 +00:00
peter
7b04fdec2e * fix compilation without GDB 2004-02-11 19:59:06 +00:00
daniel
d47da881ed * Better fix for case sensitive macro handling 2004-02-11 14:46:59 +00:00
daniel
ed76d1e17d * Compiler was partially case sensitive in macro expansion
* Multiple and/or preprocessor statements caused problems
2004-02-11 14:13:10 +00:00
florian
abc41f1c3c * several fixes to parameter handling on arm 2004-02-09 22:48:45 +00:00
florian
302d2d1442 * compilation fixed 2004-02-09 22:45:49 +00:00
peter
e6929a1a32 * more x86_64 parameter fixes
* tparalocation.lochigh is now used to indicate if registerhigh
    is used and what the type is
2004-02-09 22:14:17 +00:00
olle
d173a77b9f * macos: a_load_store fixed to only allocat temp reg if needed, side effect is compiler work for macos again. 2004-02-09 20:44:40 +00:00
peter
e741991cfc * support X86_64 and NOX86_64 flags 2004-02-09 20:30:48 +00:00
olle
193e41b455 + check that register allocation is not made at the wrong moment 2004-02-09 20:12:23 +00:00
peter
302040cc98 * reg_2_opsize replaced with reg_cgsize 2004-02-09 19:23:48 +00:00
florian
b4bbc5c383 * web bug #2942 fixed: reintroduce isn't necessary in methods of child classes of course 2004-02-08 23:30:43 +00:00
Jonas Maebe
71202a141d * taicpu.is_same_reg_move() now gets a regtype parameter so it only
removes moves of that particular register type. This is necessary so
    we don't remove the live_start instruction of a register before it
    has been processed
2004-02-08 23:10:21 +00:00
florian
1e9e0b0e35 * fixed compilation problem 2004-02-08 23:06:59 +00:00
Jonas Maebe
9495f77117 - removed taicpu.is_reg_move because it's not used anymore
+ support tracking fpu register moves by rgobj for the ppc
2004-02-08 20:15:42 +00:00
Jonas Maebe
f121f1f7ec * corrected first_param_offset for darwin 2004-02-08 20:03:05 +00:00
Jonas Maebe
3056a64bf0 * fixed regvars support. Needs -doldregvars to activate. Only tested with
ppc, other processors should however only require maxregvars and
    maxfpuregvars constants in cpubase.pas. Remember to take scratch-
    registers into account when defining that value.
2004-02-08 18:08:59 +00:00
Jonas Maebe
a8450c695d * fixed regvars 2004-02-08 17:45:53 +00:00
florian
4f90e4afdc + PtrInt declared if VER1_0 2004-02-08 16:38:51 +00:00
Jonas Maebe
9843118433 * fixed for regvars + simplification 2004-02-08 14:51:04 +00:00
Jonas Maebe
a23c7932cf * fixed previous commit 2004-02-08 14:50:13 +00:00
daniel
9868155d53 * Register allocator speed boost 2004-02-08 14:26:28 +00:00
daniel
46d241a666 * Take advantage of our new with statement optimization 2004-02-07 23:28:34 +00:00
Jonas Maebe
169c8f5a3b * changed an explicit mr to a_load_reg_reg so it's registered with the
register allocator as move
2004-02-07 15:01:05 +00:00
florian
6a2a7d4ce6 + arm support in Makefiles improved 2004-02-07 00:20:16 +00:00
daniel
42f9b1b0e2 * Removed not very usefull nextglobal & previousglobal fields from
Tstoreddef, saving 78 kb of memory
2004-02-06 22:37:00 +00:00
Jonas Maebe
5290787578 * don't put types that need init/fini in register temps 2004-02-06 20:22:58 +00:00
florian
b780c7852c + improved floating point compares for x86-64 and Pentium2 and above 2004-02-06 16:44:42 +00:00
florian
3cb562e41f * movz*q fixed 2004-02-06 14:37:48 +00:00
daniel
be3eabc26f * Some changes to better accomodate very large movelists
* movelist resizing now exponential (avoids heap fragmentation, saves
      300 kb memory in make cycle)
    * Trgobj.combine hand-optimized (still too slow)
2004-02-06 13:34:46 +00:00
florian
55557eea92 * more x86-64 fixes 2004-02-05 19:35:27 +00:00
peter
221090453c * x86_64 fixes for opsize 2004-02-05 18:28:37 +00:00
florian
571d853415 * fixed (hopefully) the ansistring length bug 2004-02-05 16:58:43 +00:00
daniel
20469d47a0 * Tvarsym.highvarsym removed 2004-02-05 14:13:53 +00:00
florian
465aa5851b * several fixes to compile x86-64 system 2004-02-05 01:24:08 +00:00
daniel
5db278a977 * Empty destructor Tlabelsym.destroy removed 2004-02-04 23:01:36 +00:00
daniel
63f2dfc2dd * Tvarsym.highvarsym commented out (unused by compiler, purpose unknown) 2004-02-04 22:54:57 +00:00
daniel
d735071838 * Rtti generation moved to ncgutil
* Assmtai usage of symsym removed
  * operator overloading cleanup up
2004-02-04 22:15:15 +00:00
peter
8c5b0f7d82 * first try to get cpupara working for x86_64 2004-02-04 22:01:13 +00:00
peter
8012731ede *** empty log message *** 2004-02-04 19:22:27 +00:00
Jonas Maebe
0b1069b6ab + some more usage of register temps 2004-02-04 18:45:29 +00:00
olle
035c98cad2 * made more in phase with agppcgas.pas 2004-02-04 15:28:24 +00:00
olle
7e373764ba * uodated header comment 2004-02-04 15:23:28 +00:00
peter
ecfbbeffc3 * renamed xNNbittype to xNNinttype
* renamed registers32 to registersint
  * replace some s32bit,u32bit with torddef([su]inttype).def.typ
2004-02-03 22:32:53 +00:00
peter
663fa583d9 * real fix for the short jmp out of range problem. Only forward jumps
needs an offset correction. For backward jumps both the address of
    the symbol and the instruction are already updated so no correction
    is required.
2004-02-03 21:21:23 +00:00
peter
8a86aad56d * remove previous commit 2004-02-03 21:19:40 +00:00
Jonas Maebe
5a98f00e7f - removed mov "reg, reg" optimizations, as they are removed by the
register allocator and may be necessary to indicate a register may not
    be reused before some point
2004-02-03 19:49:24 +00:00
Jonas Maebe
0d004c1e35 * fixed and re-enabled temps in registers 2004-02-03 19:48:06 +00:00
Jonas Maebe
43306edc96 * don't put the temp of a withnode in a register if debugging info is on,
because then our stabs generation internalerror's
2004-02-03 19:47:45 +00:00
Jonas Maebe
4ba9c9ec67 - removed "mov reg,reg" optimization (those instructions are removed by
the register allocator, and may be necessary to indicate a register
    may not be released before some point)
2004-02-03 19:46:48 +00:00
Jonas Maebe
edb91b0d18 * disabled temps in registers for now, because the register allocator
can't handle it yet in some cases
2004-02-03 17:56:14 +00:00
Jonas Maebe
6eec8798cd * cleanup 2004-02-03 17:55:50 +00:00
peter
7ca069476f *** empty log message *** 2004-02-03 16:53:37 +00:00
peter
bdf2392ff4 * linux path separators 2004-02-03 16:50:51 +00:00
Jonas Maebe
694eee6cae + support to store ttempcreate/ref/deletenodes in registers
* put temps for withnodes and some newnodes in registers
   Note: this currently only works because calling ungetregister()
     multiple times for the same register doesn't matter. We need again
     a way to specify that a register is currently a regvar and as such
     should not be freed when you call ungetregister() on it.
2004-02-03 16:46:51 +00:00
peter
c96538d24d * fix remembering path of main source file 2004-02-03 16:14:13 +00:00
florian
0874e96a94 + FPC_PREFETCH defined 2004-02-03 00:42:08 +00:00
Jonas Maebe
4f957bebff + implemented second_prefetch 2004-02-02 21:22:19 +00:00
florian
e35b683e4d + added prefetch(const mem) support 2004-02-02 20:41:59 +00:00
florian
001e65a94e * another improvement to tcginnode.pass_2 2004-01-31 23:37:07 +00:00
daniel
c22f863764 * Fix stabs generation problem reported by Jonas 2004-01-31 22:48:31 +00:00
daniel
2c01fc3afd * Stabs lineinfo problem fixed 2004-01-31 21:09:58 +00:00
daniel
862e121a0a * Last steps before removal of aasmtai dependency in symsym can be
accomplished.
2004-01-31 18:40:15 +00:00
peter
1422985ca0 * Change several $ifdef i386 to x86
* Change several OS_32 to OS_INT/OS_ADDR
2004-01-31 17:45:16 +00:00
peter
2b02238e4a * prefere tobject-tobject over tobject-pointer 2004-01-31 14:50:54 +00:00
Jonas Maebe
b0ea6b1379 + support for piped assembling under Darwin 2004-01-30 15:44:23 +00:00
florian
4505b320b7 * fixed more alignment issues 2004-01-30 14:33:06 +00:00
florian
35b8e93073 * fixed more alignment issues 2004-01-30 13:42:03 +00:00
florian
b80d10cb70 * fixed some m68k compilation problems 2004-01-30 12:17:18 +00:00
florian
828fab3da9 * fixed linker response file handling 2004-01-29 23:57:15 +00:00
florian
bfa26e5903 * tried to fix BeOS linking 2004-01-29 22:50:53 +00:00
florian
ff303ba334 * handling of floating point references fixed 2004-01-29 17:09:32 +00:00
florian
16e7ba3a47 * alignment issues fixed 2004-01-29 17:09:14 +00:00
peter
dfb7fe9d9d * fixed alignment calculation for variant records
* fixed alignment padding of records
2004-01-29 16:51:29 +00:00
marco
8e9339f073 * fix added as comment till I can test (8 byte C alignment on netbsd/ppc) 2004-01-29 15:48:10 +00:00
peter
8caaa7740d * more record alignment fixes 2004-01-28 22:16:31 +00:00
florian
4ccec73aa5 * fixed alignment of classes 2004-01-28 21:05:56 +00:00
peter
2d8d788211 * record alignment splitted in fieldalignment and recordalignment,
the latter is used when this record is inserted in another record.
2004-01-28 20:30:18 +00:00
peter
a8b90d3014 use local string of 8 chars 2004-01-28 16:48:24 +00:00
peter
97a3d4aece Stacksize force to 1mb 2004-01-28 16:47:45 +00:00
florian
de4fa4e7e7 * fixed another couple of arm bugs 2004-01-28 15:36:46 +00:00
daniel
9b33343e90 * Stab generation bug fixed 2004-01-27 22:45:30 +00:00
florian
c77ec09d49 * fixed code generation for math inl. nodes
* more code generator improvements
2004-01-27 15:04:06 +00:00
daniel
3a3f65a364 * Fix string type stab generation. String constant still unsupported. 2004-01-27 10:29:32 +00:00
daniel
3dfde8c397 * Bugfix on constant strings stab generation. Never worked and still
doesn't work for unknown reasons.
2004-01-26 22:08:20 +00:00
florian
01adf563a9 * improved error message 2004-01-26 20:34:24 +00:00
daniel
8bea12a84d * Typo 2004-01-26 19:54:42 +00:00
daniel
5de754a2a1 * Try to recude stack usage of Tpointerdef.concatstabsto 2004-01-26 19:43:49 +00:00
florian
35110d8ef5 * fixed several arm issues 2004-01-26 19:05:56 +00:00
florian
8ef2f96215 * made DoSpill* overrideable
+ add_cpu_interferences added
2004-01-26 17:40:11 +00:00
florian
9bdd9c4012 * when compiled with -dnocatch, known rtes aren't translated anymore
and a stack dump is written
2004-01-26 17:39:12 +00:00
florian
a1d904c264 * set aktlocaldata for inlined procedures correctly 2004-01-26 17:34:14 +00:00
daniel
7484f26734 * File now obsolete; moved to symtype.pas 2004-01-26 16:43:50 +00:00
daniel
97e87aaebc * reginfo now also only allocated during register allocation
* third round of gdb cleanups: kick out most of concatstabto
2004-01-26 16:12:27 +00:00
mazen
bf36516f33 * Supported assembler modes are GAS and STANDARD 2004-01-26 14:41:24 +00:00
daniel
ecf7accc38 * Keep interference bitmap only allocated during register allocation.
Saves 2 mb of memory.
2004-01-25 23:21:02 +00:00
daniel
60876a7c1a * More gdb cleanup: make record & object stab generation linear instead
of quadratic.
2004-01-25 20:23:28 +00:00
Jonas Maebe
c006ab8326 - removed double construction of fpu register allocator 2004-01-25 16:36:34 +00:00
daniel
2db2f4ac1b * Made varags parameter constant 2004-01-25 13:18:59 +00:00
daniel
45ebe9b10b * Last commit broke debug info for records. Fixed. 2004-01-25 12:37:15 +00:00
daniel
7a417defc8 * 2nd round of gdb cleanup 2004-01-25 11:33:48 +00:00
florian
8d335b9466 * fixed some spilling stuff
+ not(<int64>) implemented
  + small set comparisations implemented
2004-01-24 20:19:46 +00:00
florian
37454274bc * fixed several arm floating point issues 2004-01-24 18:12:40 +00:00
florian
0bb8e3912f * fixref fixed if index, base and offset were given 2004-01-24 01:33:20 +00:00
florian
5a2c4d4bff * genintparaloc fixed 2004-01-24 01:32:49 +00:00
peter
22a6b598be * range check error 2004-01-23 15:47:23 +00:00
florian
d7786f6246 * fixed generic shl/shr operations
+ added register allocation hook calls for arm specific operand types:
    register set and shifter op
2004-01-23 15:12:49 +00:00
florian
6e1d153194 * another fix to flag handling 2004-01-23 00:01:48 +00:00
peter
74f5f05b6d * g_finalize needs to reset to nil after decr_ref
* support loadref in decr_ref reset to nil
2004-01-22 22:12:21 +00:00
peter
861b7cd72e * procvardef rtti fixed 2004-01-22 21:33:54 +00:00
florian
7065a0d804 * fixed copyright year 2004-01-22 21:19:36 +00:00
florian
e7aba71412 * fixed several issues with flags 2004-01-22 20:13:18 +00:00
peter
607b41f22e * except is also an end of block token
* after a label don't try to parse a statement when the next token
    is an end token
2004-01-22 17:24:49 +00:00
peter
cbbfb018f1 * also check in the same dir as the unit we are loading from, this
makes UNITPATH working better
2004-01-22 17:23:56 +00:00
peter
965835354c * fixed allocation of dimension buffer for setlength(dynarr) 2004-01-22 16:44:35 +00:00
peter
8f70c34b33 * enum value rtti is now in orginal case 2004-01-22 16:33:22 +00:00
peter
d42f4af064 * give warning that DWORD is used as size in delphi mode when no
size was specified
2004-01-22 16:29:11 +00:00
peter
64d60391bd * fixed crashes when procdef.funcretsym is not valid 2004-01-22 16:14:17 +00:00
florian
3ab069324a * op_const_reg_reg with OP_SAR fixed 2004-01-22 02:22:47 +00:00
florian
703af0f1f4 * improved register usage
+ implemented second_cmp64bit
2004-01-22 01:47:15 +00:00
peter
fa9e45b7cb * decrrefcount resets temps to nil 2004-01-21 22:13:20 +00:00
peter
ac1332a388 * fixed stackchecking for register calling 2004-01-21 21:01:34 +00:00
marco
308ab35e63 * Copy and pasted some structures from Net- to OpenBSD (3.4+ ELF!) 2004-01-21 20:53:50 +00:00
florian
af3d31eceb * fixed handling of max. distance of pc relative symbols 2004-01-21 19:01:03 +00:00
florian
3b21b99111 * fixed register allocator problems with concatcopy 2004-01-21 15:41:56 +00:00
florian
75e2de9f2c + reintroduce implemented 2004-01-21 14:22:00 +00:00
florian
e680460234 * fixed a_cmp_const_reg_label
* fixed volatile register handling which was broken by my last patch
2004-01-21 01:22:35 +00:00
florian
162ff2e6d4 * fixed a_call_reg
+ implemented paramgr.get_volative_registers
2004-01-20 23:18:00 +00:00
florian
1779c5dd8c * fixed symbol type writing for arm-linux
* fixed assembler generation for abs
2004-01-20 21:02:54 +00:00
florian
c37035a450 * common addnode code for x86-64 and i386 2004-01-20 12:59:36 +00:00