Marcin Juszkiewicz
4d2df383d2
Bug 962488 - Update double-conversion for proper AArch64 support. r=froydnj
...
Fix imported from upstream repository:
https://code.google.com/p/double-conversion/source/detail?r=4e24bb31bcc76d6d218f3056b4c24a109d367561
2014-02-26 13:43:16 -05:00
Ehsan Akhgari
9c823473c2
Bug 935778 - Part 0.7: Emit the correct type name from FilterNodeLightingSoftware; r=jrmuizel, parts r=dbaron
2014-02-26 10:13:48 -05:00
Ehsan Akhgari
677b8c872c
Bug 976247 - Remove a useless static keyword from mozilla::detail::DEAD; r=froydnj
2014-02-24 21:08:51 -05:00
Ehsan Akhgari
0db909c03c
Backed out changeset f74c9326b89c (bug 976247) because I landed the wrong patch :(
2014-02-24 21:07:37 -05:00
Ehsan Akhgari
c102d49715
Bug 976247 - Remove a useless static keyword from mozilla::detail::DEAD; r=froydnj
...
--HG--
extra : rebase_source : e73444ec000f1e867651d39cf2aa6beaf88bf4f3
2014-02-24 19:37:34 -05:00
Ehsan Akhgari
e1b60f2947
Bug 935778 - Part 0.6: Add support for MOZ_DECLARE_REFCOUNTED_VIRTUAL_TYPENAME and use it in moz2d
...
X-Git-Commit-ID: bc256ac44cbba52b04f8f0390965632ec4507608
2014-02-24 08:23:37 -05:00
Ehsan Akhgari
e4ed013f53
Bug 935778 - Part 1.1: Re-add the refcount assertions for AddRef(), and make the assertions for Release() use a signed integer
2014-02-22 11:23:03 -05:00
Ehsan Akhgari
a8a0206da1
Bug 935778 - Part 1: Add RefCountType, a type compatible with nsrefcnt, to MFBT; r=dbaron,froydnj
2014-02-21 14:45:50 -05:00
Ehsan Akhgari
497c5f3692
Bug 935778 - Part 0.5: Add two more MOZ_DECLARE_REFCOUNTED_TYPENAME to TestWeakPtr.cpp
2014-02-21 09:45:05 -05:00
Ehsan Akhgari
5704b555e2
Bug 935778 - Part 0.2: Spray some MOZ_DECLARE_REFCOUNTED_TYPENAME across the tree
2014-02-20 21:33:49 -05:00
Birunthan Mohanathas
9b3486cdf4
Bug 963056 - Part 2: Make MOZ_ARRAY_LENGTH a typesafe compile-time constant on compilers without constexpr support. r=Waldo
2014-02-11 13:31:58 -05:00
Ehsan Akhgari
d91d200572
Bug 969757 - Remove the dead code in our tree which pretends to support OS/2; r=roc,mcmanus,gps,jorendorf,bsmedberg sr=bsmedberg
2014-02-10 17:57:01 -05:00
Nathan Froyd
b0a50e656f
No bug - fix a comment in Move.h; irc-rs=Waldo DONTBUILD because comment fixes can't break anything...right?
2014-02-07 08:08:08 -05:00
Viktor Stanchev
529b872af2
Bug 965837 - Add bool support to mozilla::Atomic. r=froydnj
2014-02-06 14:57:30 -05:00
Wes Kocher
01f9f30e72
Backed out changeset ec696ad6ff10 (bug 963056) for build bustage on a CLOSED TREE
2014-02-05 16:19:06 -08:00
Birunthan Mohanathas
a8d0f13846
Bug 963056 - Make MOZ_ARRAY_LENGTH a typesafe compile-time constant on compilers without constexpr support. r=Waldo
2014-02-05 17:46:05 -05:00
Kartikaya Gupta
a6ffc9d1a7
Bug 948984 - Add functions to fuzzily compare float numbers. r=bjacob, r=Waldo
2014-02-05 17:04:42 -05:00
Jeff Walden
d3c2cb6c58
Fix obvious typo in 89e06a821ad5 (bug 963029) to reopen a CLOSED TREE. r=typo
2014-01-23 14:16:27 -08:00
Marcin Juszkiewicz
4935cd342c
Bug 963029 - AArch64 support for MFBT. r=froydnj
2014-01-23 16:34:31 -05:00
Nathan Froyd
595322b886
Bug 961394 - update MOZ_ASAN_BLACKLIST to work with recent versions of GCC; r=ehsan
2014-01-21 12:51:03 -05:00
Nathan Froyd
44baa18781
Bug 961222 - fix documentation and indentation in Compiler.h; r=Waldo
2014-01-17 16:25:30 -05:00
Mike Hommey
9fe01db5ab
Bug 958404 - Recurse mfbt from top-level when building js standalone. r=gps
2014-01-20 09:11:45 +09:00
Luke Wagner
ede87068a1
Bug 960367 - OdinMonkey: compress source stored in in cache file (r=sstangl)
...
--HG--
extra : rebase_source : 0b4036078a28630f04ddb2e232f587d6268b8209
2014-01-17 17:34:33 -06:00
Ehsan Akhgari
00d0989573
Bug 957358 - Restrict everything in Char16.h to C++; r=jcranmer
2014-01-12 14:55:02 -05:00
Benoit Jacob
a8ba12fe38
Bug 958375 - 2/9 - Add a variant of MOZ_ENUM_CLASS_ENUM_TYPE that works on template parameters - r=Waldo
2014-01-10 13:55:24 -05:00
Ehsan Akhgari
2bc8c835b8
Bug 956507 - Remove the PRUnichar typedef from Char16.h; r=jcranmer
...
--HG--
extra : rebase_source : 372ddaf10a7c65fb6d0c0c44181c61fc93577a01
2014-01-07 22:16:17 -05:00
Ehsan Akhgari
c863b5d12e
Backed out changeset 07a4682a75f2 (bug 956507) because it has bitrotten
...
Landed on a CLOSED TREE
2014-01-07 23:02:23 -05:00
Ehsan Akhgari
4868fbe22c
Bug 956507 - Remove the PRUnichar typedef from Char16.h; r=jcranmer
2014-01-07 22:16:17 -05:00
Jeff Walden
bb04f6021f
Bug 953296 - Implement mozilla::IsArray. r=froydnj
...
--HG--
extra : rebase_source : 3eb6fff774f28c39374f1e7c148f472d95e538c0
2013-12-30 01:07:32 -06:00
Jeff Walden
badf564cf4
Bug 953296 - Implement mozilla::IsRvalueReference and mozilla::IsReference. r=froydnj
...
--HG--
extra : rebase_source : 39cf8fa339f1ea640681fda0d0cda536e5228709
2013-12-30 01:07:25 -06:00
Jeff Walden
6276d9c191
Bug 953296 - Implement mozilla::IsClass and mozilla::IsEmpty. r=jcranmer
2013-12-30 01:07:39 -06:00
Jeff Walden
5d3f01c937
Bug 953296 - Implement mozilla::NullptrT as a typedef to use to accept nullptr values. Also add mozilla::IsNullPointer<T>, a trait for detecting *only* true nullptr (emulated nullptr [__null] used by gcc 4.4/4.5 isn't true nullptr). r=ehsan
...
Generally, if you want a decltype(nullptr)-based overload, you should use SFINAE and IsNullPointer. (Examples are provided in NullPtr.h comments.) The problem is NullptrT matches far more than just __null as emulated nullptr for gcc 4.4/4.5 overloading purposes. This problem is unavoidable without true nullptr. Currently, the only valid use for NullptrT is believed to be in operator overloads. All existing nullptr-overloading code has been rewritten to use the appropriate technique for the situation, and MOZ_HAVE_CXX11_NULLPTR is no longer an API.
--HG--
extra : rebase_source : 01abfcb66ae569db7b04a7b53f5cd5fd8151bffd
2014-01-02 17:27:41 -06:00
Ehsan Akhgari
2e67154d02
Merge m-c into inbound
2014-01-04 12:14:57 -05:00
Ehsan Akhgari
1b83407ce9
Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
...
This patch was automatically generated by the following script:
#!/bin/bash
# Command to convert PRUnichar to char16_t
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*modules/libmar*" \
! -wholename "*/.hg*" \
! -wholename "obj-ff-dbg*" \
! -name prtypes.h \
! -name Char16.h \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.c" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert PRUnichar char16_t
2014-01-04 10:02:17 -05:00
Robert O'Callahan
55beb7d2db
Bug 944291. Part 1: Add SplayTree::find. r=waldo
2013-12-13 16:12:07 +13:00
Ms2ger
37ef87be41
Backout changeset 1e13634eceb2 for failures in R6/R10 on B2G ICS Emulator Opt.
2013-12-24 13:47:08 +01:00
Nathan Froyd
8064eafbac
Bug 952785 - relax GCC version requirements for MOZ_ENUM_TYPE; r=Waldo
2013-12-21 18:52:41 -05:00
Daniel Holbert
225cc7f485
Bug 945121: Use DebugOnly to fix opt-only 'unused variable' build warning in TestCeilingFloor.cpp. r=Waldo
2013-12-20 13:41:48 -08:00
Terrence Cole
2839167636
Bug 948516 - Assert that js::HashTable pointers and enumerators are used correctly; r=luke
2013-12-03 12:51:02 -08:00
Bobby Holley
15c62b0a5a
Bug 937317 - Implement basic script settings stack machinery. r=bz
2013-12-11 17:51:57 -08:00
Dan Gohman
e1b051e4df
Bug 941715 - SpiderMonkey: Don't use DebugOnly in struct fields when size is relevant. r=jorendorff
2013-12-10 18:27:13 -08:00
Terrence Cole
b303ecda68
Backout changeset 70e76314c8a7 for build bustage on a CLOSED TREE.
...
--HG--
extra : rebase_source : 83e1e8a5a4802ef0b7b1d6f7dc0df6595bc9f00f
2013-12-10 15:26:05 -08:00
Jeff Walden
90c1e0bc05
Bug 946382 - Make RangedPtr::operator* assert that the pointer is in its range. r=Ms2ger
...
--HG--
extra : rebase_source : 86fcafaa38f9cd9dbf4b299a39e854e9da51c33a
2013-12-04 11:10:25 -08:00
Terrence Cole
8013e4fe9b
Bug 948516 - Assert that js::HashTable pointers and enumerators are used correctly; r=luke
2013-12-03 12:51:02 -08:00
Jeff Walden
6baf1f95dc
Move IsLvalueReference to the correct place, slightly beef up its documentation. No bug, r=trivial
...
--HG--
extra : rebase_source : 5998289e3993cd0384efe0ab7d21b8097dedac2f
2013-11-20 14:37:14 -08:00
Birunthan Mohanathas
3440613a39
Bug 713082 - Part 2: Rename Util.h to ArrayUtils.h. r=Waldo
...
--HG--
rename : mfbt/Util.h => mfbt/ArrayUtils.h
2013-12-08 21:52:54 -05:00
Birunthan Mohanathas
68b00083fd
Bug 713082 - Part 1: Remove unnecessary Util.h includes. r=Waldo
2013-12-08 21:52:33 -05:00
Phil Ringnalda
cacf62c269
Back out 35371620801a:bf2019278b77 (bug 937317) for gaia-ui-test bustage and frequent timeouts in its own test
2013-12-07 11:08:56 -08:00
Joshua Cranmer
f39213113a
Bug 929200, part 1: Add MOZ_HEAP_ALLOCATOR to stack-only/non-heap analyses, r=Waldo.
...
--HG--
extra : rebase_source : 1ea94cf7a8ab7207d238c65877001549f3f828be
2013-12-06 21:23:06 -06:00
Bobby Holley
e509129d09
Bug 937317 - Implement basic script settings stack machinery. r=bz
2013-12-06 12:01:41 -08:00
Carsten "Tomcat" Book
3d08bfcd63
Backed out changeset 004fa11e352a (bug 937317) WinXP Build Bustage on a CLOSED TREE
2013-12-06 08:42:40 +01:00
Bobby Holley
a20556f563
Bug 937317 - Implement basic script settings stack machinery. r=bz
2013-12-05 21:34:16 -08:00
Jacek Caban
991198f49a
Bug 946127 - Don't mark inline function as dllimport. r=Waldo
2013-12-05 10:55:52 +01:00
Mike Hommey
8fd06cf41b
Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal
2013-11-27 22:55:07 +09:00
Mike Hommey
b32a4ed166
Backout changeset 3fd4b546eed4 (bug 874266) and changeset a35d2e3a872f (bug 942043) for ASAN build bustage and Windows test bustage
...
--HG--
extra : amend_source : f20d09aeff1c8b5cbd0f1d24c7ce04e86f3aed1d
2013-11-28 14:24:05 +09:00
Mike Hommey
682364d535
Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal
2013-11-28 13:08:16 +09:00
Ehsan Akhgari
0f45a4d5a3
Bug 943719 - Build MFBT in unified mode; r=froydnj,djvj
2013-11-27 18:59:50 -05:00
Ehsan Akhgari
74dc778850
Backed out changeset ea3392e0018f (bug 943719) because of build bustage on a CLOSED TREE
2013-11-27 19:50:02 -05:00
Ehsan Akhgari
960603e1ac
Bug 943719 - Build MFBT in unified mode; r=froydnj,djvj
2013-11-27 18:59:50 -05:00
Anthony Jones
1b55186ecf
Bug 888084 - Rolling mean for MFBT; r=waldo
2013-09-24 15:56:55 +12:00
Jacek Caban
12b4d7fd02
Bug 928351 - Char16.h and xpcom/strings/public parts r=ehsan,Waldo
2013-11-27 14:40:54 +01:00
Nicholas Nethercote
9666d27bb1
Bug 893857 (part 1) - Add LinkedList::SizeOf{In,Ex}cludingThis(). r=Waldo.
...
--HG--
extra : rebase_source : 1b170f930eb28127502b70c7b0b3d0181c11c2df
2013-11-24 15:20:12 -08:00
Bobby Holley
75c5db5a1c
Bug 928636 - Whitespace changes. r=Waldo
2013-11-25 09:37:16 -08:00
Bobby Holley
8475a010d7
Bug 928636 - Implement MOZ_RELEASE_ASSERT. r=Waldo
2013-11-25 09:37:15 -08:00
Benoit Jacob
a67d96ac66
Bug 924382 - Allow getting the integer type corresponding to a MOZ_BEGIN_ENUM_CLASS - r=Waldo
2013-11-23 21:20:38 -05:00
Jim Blandy
a448351084
Bug 896100: Convert all uses of OldMove and MoveRef to true rvalue references and the modern Move and Forward. r=luke, r=waldo
2013-11-19 09:05:36 -08:00
Mike Hommey
e80e877ab7
Bug 939044 - Remove most definitions of MODULE. r=mshal
2013-11-19 11:47:39 +09:00
Mike Hommey
dda5b915fe
Bug 939039 - Remove now useless FORCE_STATIC_LIB definitions. r=gps
2013-11-19 11:47:28 +09:00
Mike Hommey
ffe0380912
Bug 935881 - Use FINAL_LIBRARY for all (fake) libraries that end up linked in a single other library. r=gps
2013-11-19 11:47:14 +09:00
Joshua Cranmer
f8f4ab7e4c
Bug 935789, part 2: Implement RotateLeft/RotateRight in MFBT and use them, r=Waldo.
...
--HG--
extra : rebase_source : efda8cfde4ec1b8cee007f528d682830f43f9111
2013-11-12 18:24:56 -06:00
Jim Chen
a3daa9a2dd
Bug 935089 - Make ArrayLength, ArrayEnd, and PodArrayZero accept mozilla::Array argument; r=Waldo
2013-11-12 17:31:15 -05:00
Nathan Froyd
a3fdb565b6
Bug 608915 - part 1 - extend ToPrecision to tell use whether exponential notation was used; r=Waldo
2013-11-07 12:46:05 -05:00
Chris Peterson
18b27a861e
Bug 935370 - Inline all the Pod functions. r=waldo
...
--HG--
extra : rebase_source : 289cbc836eead85e5b7feac94c1c6d6ee5cd68de
2013-11-04 18:52:51 -08:00
Jeff Muizelaar
3ebdf849ba
Bug 932454. Make Atomics.h compilable with clang on Windows. r=nfroyd,jwalden
...
MSVC is sloppy with typedefs leaking. Clang is more strict.
--HG--
extra : rebase_source : e8000f43391f8a32fbde96d54ff11e09e49345f9
2013-10-29 17:55:38 -04:00
Karl Tomlinson
9440229293
b=856850 add PodMove r=Waldo
...
--HG--
extra : transplant_source : %27%04%F0%2B%96%1B0%A7%DB%81D%26%81%A0u%C9j%3E%A2%B0
2013-11-05 13:02:54 +13:00
Dan Gohman
0333b1cb4a
Bug 930708 - IonMonkey: Factor out a DoubleEqualsInt32 from DoubleIsInt32 and use it when negative zero is to be treated as zero. r=nbp
2013-11-02 14:29:44 -07:00
Masatoshi Kimura
592c2cad36
Bug 933586 - Define MOZ_HAVE_CXX11_DELETE for MSVC 12+. r=waldo
2013-11-02 17:57:40 +09:00
Brian O'Keefe
6f411f2bfd
Bug 870401 - Fix up the MFBT exports and the sources. r=mshal
2013-10-28 10:21:29 -04:00
Cykesiopka
d2f6b7333c
Bug 914270 - Part 1: Simple/Automated moves. r=joey
2013-10-24 18:51:00 +01:00
Mike Hommey
59a17d0f20
Bug 921492 - Make StrictOrderingOnAppendList use actual alphabetical sorting. r=mshal,r=gps
2013-10-24 08:05:43 +09:00
Benjamin Bouvier
c695034824
Bug 913282: IsFloat32Representable function in mfbt; r=Waldo
...
--HG--
extra : rebase_source : 0d4d6f02b880c37d29e3e41e9d105365d9f941b0
2013-10-22 14:55:35 +02:00
Benjamin Bouvier
7f3147dfed
Bug 913282: More Float32 operators: Abs; p=dougc,bbouvier; r=jonco,sstangl
...
dougc for the ARM parts, bbouvier for the rest.
2013-10-22 14:53:12 +02:00
Masatoshi Kimura
ede451acef
Bug 928210 - Get rid of MOZ_INLINE
2013-10-22 06:34:24 +09:00
Ehsan Akhgari
d10c36d360
Bug 928091 follow-up: Rewrite the comment in English
...
--HG--
extra : rebase_source : 9b8c45128f10aa00e0a8e1ab17156c2a42e812db
2013-10-18 20:34:49 -04:00
Ehsan Akhgari
a63efa75df
Bug 928091 - Fix builds for VS2012 and VS2013 to deal with our char16_t machinery; pending r=Waldo
...
Landing on a CLOSED TREE because this is blocking multiple people. My apologies!
2013-10-18 18:49:22 -04:00
Till Schneidereit
3e95f5657a
Bug 888658 - Add LZ4 compression to mfbt. r=jwalden,vlad
...
--HG--
extra : rebase_source : e92051145948cd3c1e6f95596563d8c13e231ee3
2013-10-18 20:25:30 +02:00
Vladimir Vukicevic
eb2da8cf2e
Bug 888658 - Assertions.h fixup for windows. r=jwalden
...
--HG--
extra : rebase_source : 7e7fb741860c2603aa1b838eff7761ddcd50e867
2013-10-15 09:07:00 +02:00
Reuben Morais
7c7e7724ea
Bug 921871 - Fix -Wunitialized warning in Vector.h. r=Waldo
...
--HG--
extra : rebase_source : 117d37c7a44c79c6a3b446f3828e5464fc9e391f
2013-10-17 18:29:46 -03:00
Christian Holler
6f7607f758
Bug 847350 - Add/Update MOZ_ASAN/TSAN_BLACKLIST macros. r=waldo
...
--HG--
extra : rebase_source : c4c58d30ff0b46ca57093cc0b3bbc37af56f2095
2013-10-17 16:29:11 +02:00
Ehsan Akhgari
b7d148db05
Bug 895047 - Make char16_t available everywhere and use that to define PRUnichar and jschar; r=jcranmer,jorendorff,glandium
2013-10-17 00:36:13 -04:00
Phil Ringnalda
b808ef7069
Back out ee100983f921 (bug 895047) for build bustage
...
CLOSED TREE
2013-10-16 21:51:55 -07:00
Ehsan Akhgari
5582e7b472
Bug 895047 - Make char16_t available everywhere and use that to define PRUnichar and jschar; r=jcranmer,jorendorff,glandium
2013-10-17 00:36:13 -04:00
Ehsan Akhgari
4660924fcb
Bug 923554 - Backout the atomic weak pointer implementation because it's neither atomic nor thread-safe; r=froydnj
2013-10-16 13:48:34 -04:00
Ehsan Akhgari
d6529bb5d1
Bug 926083 - Only #include Compiler.h in NullPtr.h if needed; r=froydnj
2013-10-15 17:13:39 -04:00
Ehsan Akhgari
34db8126cf
Bug 924014 - Do not rely on std::numeric_limits<char16_t> being available; r=Waldo
2013-10-15 11:55:37 -04:00
Ehsan Akhgari
763b16b0a6
Bug 924012 - Provide a HashString version for char16_t if needed; r=Waldo
2013-10-15 11:54:08 -04:00
Ehsan Akhgari
b7844a297e
Bug 923886 - Remove the Assertions.h #include from Char16.h; r=Waldo
2013-10-05 21:23:07 -04:00
Dan Gohman
d359733f1c
Bug 924637 - Document a somewhat counterintuitive case in ExponentComponent, and add test coverage for it. r=waldo
2013-10-09 06:41:42 -07:00
Gian-Carlo Pascutto
63f2958637
Bug 923170 - Require GCC 4.6.x before enabling strong enum support. r=Waldo
2013-10-08 15:25:13 -04:00
Birunthan Mohanathas
18e6a4180c
Bug 918436 - Make the type argument of MOZ_BEGIN(_NESTED)_ENUM_CLASS optional and add tests. r=Waldo
2013-10-04 13:17:13 -04:00
Jim Blandy
deee1f4630
Bug 919337: Use static_assert in double_conversion::BitCast. r=waldo
2013-09-29 21:18:26 -07:00
Bobby Holley
7fcde1d302
Bug 917593 - Don't assert for zero-length strings. r=Waldo
2013-09-27 18:34:24 +02:00
Mike Hommey
fb1d665f33
Bug 919832 - Remove EXPORTS related rules from rules.mk. r=gps
2013-09-26 16:43:52 +09:00
Ryan VanderMeulen
e9cbf86254
Backed out changeset 74459407359a (bug 917593) for Windows debug checktest asserts.
2013-09-24 16:20:15 -04:00
Bobby Holley
aa9e479063
Bug 917593 - Don't assert for zero-length strings. r=Waldo
2013-09-24 08:03:22 -07:00
Benjamin Bouvier
adb7f75b72
Bug 913282: Add mfbt Float32 asserts and constants; r=Waldo
2013-09-20 12:08:49 -07:00
Dan Gohman
6c632eebc4
Bug 918350 - Change UnspecifiedNaN's bit pattern to be the all-ones NaN. r=waldo
2013-09-19 18:47:55 -07:00
Dan Gohman
dfbc494859
Bug 918350 - SpiderMonkey: Remove js_NaN in favor of a new mozilla::GenericNaN() function. r=waldo
2013-09-19 18:42:56 -07:00
Joshua Cranmer
44ee5d6929
Bug 904985, part 1: Add better support for char16_t in type traits, r=Waldo.
...
--HG--
extra : rebase_source : 45cb9155312ead0b8164e1e460c9fd2e39f0d6fc
2013-09-17 22:43:04 -05:00
Jonathan Watt
a43cb31d79
Bug 909467 - HTMLInputElement crash loading 8bit.js test (consistantly link against the correct StringBuilder). r=Waldo
2013-09-17 13:24:35 +01:00
Seth Fowler
f9cdc752b1
Bug 912299 - Make RefCounted's refcount field mutable. r=waldo
2013-09-06 13:32:55 -07:00
Mike Hommey
f8bc7fa754
Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps
2013-09-05 09:01:46 +09:00
Jeff Walden
de9ce95170
Bug 730805 - Provide mozilla/IntegerPrintfMacros.h to implement the PRI* macros portion of the <inttypes.h> interface. r=espindola
...
--HG--
extra : rebase_source : be80333003c6fec659e736a77463568c836d8348
2011-12-15 00:27:42 -05:00
Jeff Walden
2e1d99cde5
Bug 730805 - Import, unmodified, the Microsoft-compatible <inttypes.h> implementation from the 'msinttypes' Google Code project, r26, into mfbt. r=gerv
...
--HG--
extra : rebase_source : 3fa8943627740fc4a4a39b173f8dd77d93f8f8e2
2011-12-07 21:52:38 -05:00
Dan Gohman
a466fea3f5
Bug 910814 - IonMonkey: Add testcases for several FloatingPoint.h predicates. r=waldo
2013-09-02 13:53:35 -07:00
Jan Beich
c844d2ff62
Bug 911140 - Fix a typo that prevents libc++ from using C++11 atomics. r=jcranmer
2013-08-30 16:14:52 -04:00
Joshua Cranmer
7cc0542786
Bug 906783 - Attempt to detect the standard C++ library version, r=Waldo
2013-08-29 22:44:23 -05:00
Justin Lebar
6bc3732c09
Bug 906912 - Add move constructors to mozilla::LinkedList and mozilla::LinkedListElement. r=waldo
...
--HG--
extra : rebase_source : 864a78505421e129a4553634e08a7f9fc343d7d1
2013-08-29 11:54:14 -07:00
Justin Lebar
66f7416cab
Bug 909977 - Rename mozilla::Move to mozilla::OldMove, and make mozilla::Move a synonym for std::move(). r=waldo
...
--HG--
extra : rebase_source : 7b3bb02cc8cbc0ad6721c6c3895564d9567b8ddb
2013-08-29 11:54:14 -07:00
Justin Lebar
35a65ed466
Bug 909514 - Include <new> before mozilla::Maybe (and move Maybe into mfbt/Maybe.h). r=waldo
...
--HG--
rename : mfbt/Util.h => mfbt/Maybe.h
2013-08-27 15:10:28 -07:00
Justin Lebar
3005147418
No bug: Fix whitespace in mozilla/LinkedList.h. DONTBUILD
2013-08-22 14:39:34 -07:00
Justin Lebar
731cefe044
Bug 907227 - Properly delete LinkedListElement's implicit copy-constructor and operator=. r=waldo
...
--HG--
extra : rebase_source : b5f09c990f38537266c3e42a211a483e1dd291d6
2013-08-21 12:04:29 -07:00
Justin Lebar
9c181eb3fd
Bug 906909 - Make LinkedList::debugAssertIsSane() compile. r=waldo
...
--HG--
extra : rebase_source : 60027f53b4a8fa91dd7e42863c271c36395d6851
2013-08-21 12:04:29 -07:00
Dan Gohman
490ec473f0
Bug 906368 - IonMonkey: Define a proper CountPopulation32 function, and use it in place of manual code in RegisterSets.h. r=nbp
2013-08-19 12:32:22 -07:00
Luke Wagner
240cf1fc53
Bug 905850 - Vector should not be copyable (r=terrence)
...
--HG--
extra : rebase_source : 49c2175af92b79a08982d7dfbc7b7af266b27f7a
2013-08-16 10:21:28 -05:00
Trevor Saunders
523a468b97
bug 905243 - make the constructors for mozilla::Atomic constexpr r=froydnj
2013-08-14 16:28:17 -04:00
Ms2ger
9d023a67df
Bug 904110 - Move alignment features out of Util.h into a new header; r=Waldo
2013-08-14 09:00:52 +02:00
Ms2ger
dd430907f0
Bug 903797 - Update mfbt/STYLE to the current policy about include guards; r=Waldo
2013-08-14 09:00:42 +02:00
Till Schneidereit
2616b9851c
Bug 898653 - Quell 'not enough parameters for macro' warnings in MSVC. r=djvj
...
--HG--
extra : rebase_source : 7e467027c24b795d6764894c12290a630663830e
2013-07-27 13:05:36 +02:00
Nathan Froyd
23a4a49409
Bug 900965 - compile failures with gcc 4.6.3 on std::atomic enum support from bug 888548 r=waldo
2013-08-02 18:18:41 -07:00
Guillaume Abadie
7aa8f18b52
bug 899859 - Add typed enums support in strutures / classes - r=Waldo
2013-08-02 20:51:00 -04:00
Birunthan Mohanathas
1baab48cb7
Bug 888548 - Part 3: Add enum support to mozilla::Atomic<T>. r=froydnj
...
Due to a bug in GCC, the compareExchange function is not available with enum types.
2013-08-01 21:21:32 -04:00
Birunthan Mohanathas
e58014264e
Bug 888548 - Part 2: Refactor and cleanup mozilla::Atomic<T> implementation. r=froydnj
...
This moves the increment and decrement operators from detail::AtomicBase to
detail::AtomicBaseIncDec and moves the implementation of the assignment
operator into detail::AtomicBase. Additionally, this changes the integral
implementation to use mozilla::EnableIf for its specialization.
2013-08-01 21:21:32 -04:00
Birunthan Mohanathas
63361e8113
Bug 888548 - Part 1: Add mozilla::IsEnum to TypeTraits.h. r=froydnj
2013-08-01 21:21:31 -04:00
Daniel Holbert
833ec04321
backout 1e31542e117c (Bug 888548 part 1) for B2G build bustage on a CLOSED TREE
2013-07-31 19:05:34 -07:00
Daniel Holbert
f8d5639ac1
backout f607ac59de19 (Bug 888548 part 2) for B2G build bustage
2013-07-31 19:05:05 -07:00
Daniel Holbert
819cbd5af1
backout fc98067f0aa4 (Bug 888548 part 3) for B2G build bustage
2013-07-31 19:04:25 -07:00
Birunthan Mohanathas
6f4e72b203
Bug 888548 - Part 3: Add enum support to mozilla::Atomic<T>. r=froydnj
...
Due to a bug in GCC, the compareExchange function is not available with enum types.
2013-07-31 21:15:25 -04:00
Birunthan Mohanathas
19404c8ec4
Bug 888548 - Part 2: Refactor and cleanup mozilla::Atomic<T> implementation. r=froydnj
...
This moves the increment and decrement operators from detail::AtomicBase to
detail::AtomicBaseIncDec and moves the implementation of the assignment
operator into detail::AtomicBase. Additionally, this changes the integral
implementation to use mozilla::EnableIf for its specialization.
2013-07-31 21:15:25 -04:00
Birunthan Mohanathas
1ee96e1d2b
Bug 888548 - Part 1: Add mozilla::IsEnum to TypeTraits.h. r=froydnj
2013-07-31 21:15:25 -04:00
Ehsan Akhgari
d344af7264
Bug 895322 - Part 5: Stop #defining MOZ_STATIC_ASSERT in C++ code; r=Waldo
...
--HG--
extra : rebase_source : 463c9918228e3f46c909cc7cad45c9d2913b0152
2013-07-18 14:39:20 -04:00
Ehsan Akhgari
2824b29025
Bug 895322 - Part 1: Replace the usages of MOZ_STATIC_ASSERT with C++11 static_assert; r=Waldo
...
This patch was mostly generated by running the following scripts on the codebase, with some
manual changes made afterwards:
# static_assert.sh
#!/bin/bash
# Command to convert an NSPR integer type to the equivalent standard integer type
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*/.hg*" \
! -wholename "obj-ff-dbg*" \
! -name nsXPCOMCID.h \
! -name prtypes.h \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.cc" \
-o -iname "*.mm" \) | \
xargs -n 1 `dirname $0`/assert_replacer.py #sed -i -e "s/\b$1\b/$2/g"
}
convert MOZ_STATIC_ASSERT static_assert
hg rev --no-backup mfbt/Assertions.h \
media/webrtc/signaling/src/sipcc/core/includes/ccapi.h \
modules/libmar/src/mar_private.h \
modules/libmar/src/mar.h
# assert_replacer.py
#!/usr/bin/python
import sys
import re
pattern = re.compile(r"\bMOZ_STATIC_ASSERT\b")
def replaceInPlace(fname):
print fname
f = open(fname, "rw+")
lines = f.readlines()
for i in range(0, len(lines)):
while True:
index = re.search(pattern, lines[i])
if index != None:
index = index.start()
lines[i] = lines[i][0:index] + "static_assert" + lines[i][index+len("MOZ_STATIC_ASSERT"):]
for j in range(i + 1, len(lines)):
if lines[j].find(" ", index) == index:
lines[j] = lines[j][0:index] + lines[j][index+4:]
else:
break
else:
break
f.seek(0, 0)
f.truncate()
f.write("".join(lines))
f.close()
argc = len(sys.argv)
for i in range(1, argc):
replaceInPlace(sys.argv[i])
--HG--
extra : rebase_source : 4b4a4047d82f2c205b9fad8d56dfc3f1afc0b045
2013-07-18 13:59:53 -04:00
Nathan Froyd
86df43c75a
Bug 898491 - use the four argument form of compare_exchange_strong in Atomics.h; r=Waldo
...
The C++ standard (29.6p20-22 in N3337) specifies limitations on the failure ordering
for atomic compare-and-exchange. Specifically, you can't pass memory_order_acq_rel or
memory_order_release. For the (T&, T, std::memory_order) version, which we use, the
standard specifies that the provided argument should be "lowered" to comply with the
above restrictions on the failure ordering (29.6p21).
However, it seems that some versions of GCC's <atomic> header don't follow the spec
for the generic versions of std::atomic<>, though they do follow the spec with the
appropriate specializations (bool, integer, and pointer) of std::atomic<>. This
results in mysterious failures when using atomic enums, as bug 888548 purports to
do, and ReleaseAcquire ordering.
Happily, we can work around this by using the more explicit version of
compare-and-exchange. I've chosen to add another member to AtomicOrderConstraints,
even though it'd be the same as LoadOrder. I feel explicitness is to be preferred
here.
2013-07-26 12:31:19 -04:00
Ehsan Akhgari
8a2e6c774e
Bug 872127 - Part 3: Remove MSStdInt.h; r=Waldo
2013-07-30 10:25:42 -04:00
Ehsan Akhgari
ef4b479714
Bug 872127 - Part 2: Replace mozilla/StandardInteger.h with stdint.h; r=Waldo,ted
2013-07-30 10:25:31 -04:00
Jeff Walden
cea309af82
Bug 895792 - Fix RoundUpPow2's required precondition to not be wrong. r=terrence
...
--HG--
extra : rebase_source : e42420628dad8b8e9fe37287fa8e08eb262fe615
2013-07-25 20:01:45 -07:00
Jeff Walden
9dddd7b506
Add #include <new> to mfbt/Vector.h so that placement-new actually works when that header hasn't been bootlegged. No bug, r=too-long-spent-debugging-this
...
--HG--
extra : rebase_source : b4b3a5a10757d01d1c5957736210ed09e3c2b157
2013-07-25 20:01:42 -07:00
Birunthan Mohanathas
9e65e2904f
Bug 784739 - Switch from NULL to nullptr in mfbt/. r=jwalden
...
--HG--
extra : rebase_source : 090706fa9d97854fe3071adf037a09d914a0854f
2013-07-25 16:31:48 -07:00
Ryan VanderMeulen
c5cf7535b6
Backed out 3 changesets (bug 896124, bug 784739, bug 894026) for Windows checktest orange on a CLOSED TREE.
...
Backed out changeset 631b3d5d54f4 (bug 896124)
Backed out changeset 5e1dd28ede5d (bug 894026)
Backed out changeset c10c0a6270ec (bug 784739)
2013-07-26 00:08:51 -04:00
Birunthan Mohanathas
0c642c695d
Bug 784739 - Switch from NULL to nullptr in mfbt/. r=jwalden
2013-07-25 16:31:48 -07:00
Nicholas Nethercote
199d172e78
Bug 892806 - Clean up InflateUTF8String() and related functions. r=terrence.
...
--HG--
extra : rebase_source : df901e9900fbd01f1adbe430b9ac52428499681f
2013-07-09 23:17:32 -07:00
Ms2ger
51f391870b
Bug 896341 - Update include guards and modelines in MFBT; r=Waldo
2013-07-24 09:41:39 +02:00
Ms2ger
10d5739f7a
Bug 888643 - Part b: Move CPP_UNIT_TESTS definitions into moz.build files; r=gps
2013-07-24 09:23:06 +02:00
Jeff Walden
25c4d5d841
Bug 896842 - Implement mozilla::DoublesAreIdentical. r=luke
2013-06-18 15:35:03 -07:00
Jeff Walden
65803582cf
Bug 895727 - Fix obvious typo breaking Win64 builds. r=lumpy
2013-07-18 19:30:06 -07:00
Jeff Walden
64982b30df
Bug 891177 - Implement mozilla/Vector.h, and make js/Vector.h implement js::Vector using mozilla::Vector's implementation of the functionality. r=terrence
...
--HG--
rename : js/public/Vector.h => mfbt/Vector.h
extra : rebase_source : d5f87a48485e3f2241228a4b003e80974c86fd5f
2013-07-09 16:33:29 -07:00
Jeff Walden
7c8d6dea3e
Bug 891177 - Remove Vector.h's js/TemplateLib.h dependency by introducing mfbt/TemplateLib.h with the necessary bits. r=terrence
...
--HG--
extra : rebase_source : e84231171d6bd6c1e2de8201b8c9563375723d01
2013-07-08 12:42:13 -07:00
Jeff Walden
9248a5e743
Bug 891177 - Move leading/trailing-zero-bit counting functions, ceiling/floor log2 functions, and round-up-pow2 functions into MathAlgorithms.h. r=terrence
...
--HG--
extra : rebase_source : 8cfbd68b8cd4a0e21185dd864c7e827ccfa6b751
2013-07-03 15:46:51 -07:00
Jeff Walden
8bad2a44e0
Bug 891437 - Implement mozilla/Array.h, a class suitable for use where a C array would be used, with additional debug bounds-checking. r=Ms2ger
...
--HG--
extra : rebase_source : 314232d817e67d9a26dfa215b5c897e0dd0be353
2013-02-07 15:32:20 -08:00
Jeff Walden
8a8e1ffd26
Bug 891177 - Add an explanatory comment by the const_cast<> in the Move(const T&) overload. r=luke
...
--HG--
extra : rebase_source : 37a91bf2bdfe2b2f96ddebf276ad532d4419c42b
2013-07-13 12:54:18 -07:00
Justin Lebar
fc156c847f
Bug 892839 - Fix buggy example code in Move.h. r=luke DONTBUILD
2013-07-15 10:40:30 -07:00
Xavier Fung
4ba1624cef
Bug 888159 - Fix Decimap.cpp building on VS2013. r=Waldo
2013-07-11 10:13:29 +09:00
Jeff Walden
90a0f4dfea
Bug 891177 - Move js::Swap to mozilla::Swap. r=terrence
...
--HG--
extra : rebase_source : 925bccd4fa3f95e1aa4e17d94ad5a443fc7a63aa
2013-07-03 15:57:33 -07:00
Jeff Walden
7a5c915ff2
Bug 891177 - Add ReentrancyGuard.h as a helper class for asserting that use of a class is non-reentrant. r=terrence
...
--HG--
extra : rebase_source : 3751e523c0b0315697cb6e005dfd8ee625f6dd58
2013-07-02 17:47:08 -07:00
Jeff Walden
3bc19b56c2
Bug 891177 - Implement Move.h to define a move-construction interface. r=terrence
...
--HG--
extra : rebase_source : 45f9bb87fc0ee96ea35005ca0dcb263aa11745b8
2013-07-02 17:25:13 -07:00
Jeff Walden
791a4e2b4e
Bug 891177 - Add AllocPolicy.h to define an implementation policy concept for use in mfbt. r=terrence
...
--HG--
extra : rebase_source : f6336b5ba3298bbf9c5418b4e9d993b9173f7926
2013-07-02 17:16:07 -07:00
Trevor Saunders
c9c3f11e7c
bug 888493 - add MOZ_CONSTEXPR_VAR r=waldo
2013-06-28 17:34:51 -04:00
Phil Ringnalda
7dd50910d4
Backed out changeset 454706720bbc (bug 888493) for build bustage
...
CLOSED TREE
2013-07-04 13:06:07 -07:00
Trevor Saunders
7e27dbafc9
bug 888493 - add MOZ_CONSTEXPR_VAR r=waldo
2013-06-28 17:34:51 -04:00
Justin Lebar
3da6ed220e
Bug 820686 - Follow-up: s/MOZ_ASSUME_NOT_REACHED/MOZ_ASSUME_UNREACHABLE/. rs=waldo
...
I'd meant to do this, but I only got as far as the comment in mfbt. Oops!
--HG--
extra : rebase_source : 3cfe3ef1bf401eb7d9a10fcabcfb39008e9553a4
2013-06-28 19:20:12 -07:00
Justin Lebar
674bdae8dc
Bug 820686 - Rename MOZ_NOT_REACHED() and JS_NOT_REACHED() to MOZ_ASSUME_NOT_REACHED(). r=waldo
...
This includes a mechanical renaming of MOZ_NOT_REACHED to MOZ_ASSUME_NOT_REACHED in JS. Later patches in this queue clean up whitespace errors and so on.
2013-06-28 18:38:31 -07:00
Justin Lebar
051c5b560a
Bug 802686 - s/MOZ_NOT_REACHED/MOZ_CRASH/ in Gecko. r=(see below)
...
r=tbsaunde for accessible
r=jmuizelaar for gfx
r=roc for layout
r=glandium for mozglue
r=jduell for netwerk
r=khuey for everything else
This is a mechanical change made with sed. Later patches in this queue
clean up the whitespace errors and so on.
2013-06-28 18:38:30 -07:00
Justin Lebar
c144581d22
Bug 763070 - Give MOZ_CRASH() an optional string argument. r=waldo
2013-06-28 18:38:30 -07:00
Jeff Walden
13aed03de7
Style fixes and proper-numeric-type usage in mfbt/tests/TestEndian.cpp. No bug, r=trivial
...
--HG--
extra : rebase_source : 54a658a6baf78852a3f8839b2cbb98700a7c91e7
2013-06-13 19:27:11 -07:00
Emanuel Hoogeveen
66b88396c7
Bug 887465 - Rewrite double-conversion's assertions in terms of the MOZ_* assertions, and keep wtf (Yarr) from redefining them. r=jwalden
...
--HG--
extra : rebase_source : 3cdadf85f6bc471f065d570cb03d2441886d3738
2013-06-27 16:25:42 -07:00
Emanuel Hoogeveen
34bc4c281c
Bug 878925 - Update double-conversion to latest git revision. r=jwalden
...
--HG--
extra : rebase_source : 01275cc88cfb119f231ba83cfec0579bc11edfe1
2013-06-27 16:25:32 -07:00
Masatoshi Kimura
2b3b31ec7e
Bug 839998 - Replace thisDuringConstruction() with MOZ_THIS_IN_INITIALIZER_LIST(). r=waldo
2013-06-27 00:15:53 +09:00
Masatoshi Kimura
f7d20e1769
Bug 839998 - Introduce MOZ_THIS_IN_INITIALIZER_LIST macro. r=waldo
2013-06-27 00:15:52 +09:00
Emanuel Hoogeveen
c1374919d0
Bug 886128 - Fix various clang warnings and some potential bugs in nonstandard configurations. r=nnethercote,terrence.
...
--HG--
extra : rebase_source : 0d833ecc9879f5d9fd0a28f9b4eca7793d01aa40
2013-06-24 21:32:05 -07:00
Catalin Iacob
0990f16fa9
Bug 798914 (part 1) - Introduce mozilla::MallocSizeOf in mfbt. r=Waldo.
...
--HG--
extra : rebase_source : 45cb28264b1aa3fe9adc9bdc9ed73bead4332af6
2013-06-23 12:57:47 +02:00
Brian O'Keefe
11bcc1cd9e
Bug 875934 - Move LIBRARY_NAME to moz.build (batch #1 ); r=mshal
...
--HG--
extra : rebase_source : 385d3fd65475ffc18ee44ae088753649470e214b
2013-06-17 15:21:01 -04:00
Jeff Gilbert
3049ca7c76
Bug 881980 - Allow casting CheckedInts to other CheckedInt types. - r=bjacob,waldo
2013-06-14 15:19:40 -07:00
Jeff Gilbert
75ab2ff473
Bug 874764 - Add CheckedInt support for operator%. - r=bjacob,waldo
2013-06-14 15:19:30 -07:00
Justin Lebar
532a674922
No bug - Fix typo in comment in mfbt/HashFunctions.h. DONTBUILD
2013-06-14 11:17:01 -07:00
Jeff Walden
3e42b95bec
Bug 798179 - Rewrite ToIntWidth to more simply act upon the actual bits of the IEEE-754 representation. r=froydnj
...
--HG--
extra : rebase_source : fb2da4e55b258b6b62c1c9449447fccff8c2012d
2013-06-07 13:22:45 -07:00
Jeff Walden
d4e61d152b
Rename a method from 'check' to 'checkBounds' to avoid colliding with a 'check' macro in an OS X system header. (No, really.) Noticed while tryservering patches for bug 798179, r=rage
...
--HG--
extra : rebase_source : 3f9323afa6e80962ede30d1b953b95f3d363ccd0
2013-06-10 15:31:37 -07:00
Jeff Walden
6249325181
Bug 798179 - Implement mozilla::MakeUnsigned. r=froydnj
...
--HG--
extra : rebase_source : fdd1fe8841d1bc42c1758cd4d477969b3f382b30
2013-03-05 15:44:02 -08:00
Jeff Walden
ccd085af07
Bug 798179 - Implement mozilla::MakeSigned. r=froydnj
...
--HG--
extra : rebase_source : 357bf046219e37959d66fde6b2ad2b7f5746960f
2013-03-05 15:44:02 -08:00
Jeff Walden
38cfd84ad8
Bug 798179 - Implement To BitwiseCast<To>(From), abstracting the treatment of a value's bits as being of another type. r=froydnj
...
--HG--
extra : rebase_source : e6c57c10f7035b2654eafdd5fa2b3c5d8882f282
2013-06-06 18:47:51 -07:00
Timothy B. Terriberry
a5f847a092
Bug 881163 - Require gcc 4.5.2 for C++11 atomics, r=froydnj
2013-06-10 09:17:00 -07:00
Karl Tomlinson
16178a830e
b=880492 use GCC's typeof when decltype is not available r=Waldo
...
--HG--
extra : transplant_source : %F89%13%B2%E9%C7%99C%82%0D%E2C%2C%5E%A8%06Uo%B6%9A
2013-06-10 12:37:16 +12:00
Landry Breuil
fae08ebf77
Bug 876156: Don't try using <atomic> on OpenBSD which uses an old libstdc++ r=nfroyd
2013-06-01 00:23:01 +02:00
Nathan Froyd
443c507139
Bug 873649 - don't assume <atomic> is usable with clang on a Linux system; r=Waldo
2013-05-17 17:04:30 -04:00
Brian Hackett
1fdaad701e
Bug 678037 - Add (disabled) ability to parse script bytecode lazily, r=luke.
2013-05-30 06:29:56 -06:00
Joshua Cranmer
b88d6bba0e
Bug 876701 - Static analysis failure in nsMathMLsemanticsFrame.h, r=karlt
2013-05-28 22:20:44 -05:00
Justin Lebar
7729e7ff63
Bug 876691 - Unbreak mfbt/Atomics.h for Windows x64. r=me
2013-05-28 15:26:25 -04:00
Joshua Cranmer
f9295075bf
Bug 868285 - Fix static checking builds, part 2: Add MOZ_NONHEAP_CLASS. r=ehsan
...
--HG--
rename : build/clang-plugin/tests/TestStackClass.cpp => build/clang-plugin/tests/TestNonHeapClass.cpp
2013-05-27 16:05:02 -05:00
Joshua Cranmer
6a948c71c1
Bug 868285 - Fix static checking builds, part 1: infer MOZ_STACK_CLASS. r=bsmedberg
2013-05-27 16:04:18 -05:00
Justin Lebar
c002d5a3a3
Bug 873800 - Add compare-and-exchange to mfbt/Atomics.h. r=froydnj
...
--HG--
extra : rebase_source : c9e455ed249e6b3cd0f532d240abfb602e2e88a8
2013-05-24 13:10:47 -04:00
Justin Lebar
d0980f2231
Bug 873799 - Add an explicit barrier before __sync_lock_test_and_set in mfbt/Atomics.h r=froydnj
...
--HG--
extra : rebase_source : 64d23f1df2fef8719413800ebb0afe6f51d1e3af
2013-05-24 13:10:47 -04:00