Wes Kocher
4097e626da
Merge inbound to central, a=merge
2015-09-24 16:46:34 -07:00
Jared Wein
ddd00e2182
Bug 1205020 - Disable optimizations in TestTuple.cpp since it breaks the build on VS2013 Windows 10. r=froydnj
2015-09-23 13:53:07 -04:00
Olli Pettay
68450bbc00
Bug 1204669 optimize out hashtable lookups caused by extra GetPrototypeBinding call, r=bz,waldo
2015-09-24 03:53:31 +03:00
Nathan Froyd
2a24136f70
Bug 1207245 - part 2 - move MakeAndAddRef to nsRefPtr.h
...
A number of places depend on RefPtr.h providing this function. When we
s/RefPtr/nsRefPtr/, such places still need to be able to see this
function. Moving it to nsRefPtr.h makes it still visible before we
switch (since RefPtr.h includes nsRefPtr.h), and after we switch (since
every place that #includes RefPtr.h will now be #including nsRefPtr.h).
2015-09-22 22:23:10 -04:00
Nathan Froyd
db6b82828e
Bug 1207245 - part 1 - move RefCounted<T> to its own file
...
Various bits depend on RefPtr.h to provide RefCounted<T> and RefPtr<T>.
It will be easier to manage an automatic conversion from RefPtr<T> to
nsRefPtr<T> if we split out the dependency on RefCounted<T> first.
2015-09-22 21:27:34 -04:00
Nathan Froyd
e1c90cfe7f
Bug 1207245 - part 0 - fix why-did-we-allow-that tests in TestRefPtr.cpp
...
RefPtr.h's byref permits callees to see the incoming value of the
outparam; XPCOM's getter_AddRefs zeros outparams prior to the call, so
information doesn't leak through inadvertently. Given this difference,
we need to eliminate tests that depended on this (arguably dangerous)
behavior. The numerous assertion fixups are required because we're
removing construction and destruction of objects along the way.
2015-09-23 23:07:29 -04:00
Jim Blandy
021ab92c91
Bug 1206356: Add mfbt/Random.h, implementing the xorshift128+ random number generator. r=waldo
2015-09-23 13:59:28 -07:00
Phil Ringnalda
8333e5d668
Back out 835853a88b03 (bug 1206356) for at least Android/B2G bustage
...
CLOSED TREE
2015-09-22 18:21:32 -07:00
Jim Blandy
34a26dcb76
Bug 1206356: Add mfbt/Random.h, implementing the xorshift128+ random number generator. r=waldo
2015-09-22 16:34:51 -07:00
James Cheng
78f9fe427d
Bug 1204790 - Prefer deleted function with public access specifiers instead of private in UniquePtr. r=nfroyd
2015-09-15 19:18:00 +02:00
Andrew McCreight
91739bc0f4
Bug 1201271 - Warn about unused results for more methods of nsTArray. r=froydnj
...
This leaves alone the AppendElement methods.
2015-09-15 15:30:44 -07:00
Andrew McCreight
b5a3ee9d61
Bug 1203314 - Make operator<< a method on unused_t. r=froydnj
...
This prevents operator overload resolution from failing when this file
is included in a file that uses Chromium IPC logging.
2015-09-10 13:17:00 +02:00
Michael Layzell
6261581c48
Bug 1201190 - Part 3: Mark every consumer of GUARD_OBJECT as MOZ_RAII, r=ehsan
2015-09-12 16:53:33 -04:00
Michael Layzell
849db94515
Bug 1201190 - Part 2: Add MOZ_NON_TEMPORARY_CLASS and MOZ_RAII to mfbt, r=ehsan
2015-09-12 16:53:32 -04:00
Michael Layzell
f1e6d25004
Bug 1156802 - Part 2: Remove all explicit move constructors, r=ehsan
2015-09-12 12:34:45 -04:00
Botond Ballo
94590b569f
Bug 1198451 - Tests for mozilla::Function. r=froydnj
2015-09-06 21:43:34 -04:00
Botond Ballo
0dc56618d3
Bug 1198451 - Add a type-erased callable wrapper, mozilla::Function, to MFBT. r=froydnj
2015-09-11 14:40:09 -04:00
Chris Peterson
8c8202b617
Bug 1202568 - Cherry-pick warning fixes from upstream double-conversion. r=Ms2ger
2015-09-05 00:38:04 -07:00
Nicholas Nethercote
4c325e0595
Bug 1202965 (part 1) - Add MOZ_UNUSED. r=froydnj.
2015-09-09 17:01:28 -07:00
Wes Kocher
5ac1d1e66a
Backed out changeset f5b2a11c64c9 (bug 1201271) for bustage
2015-09-09 15:56:21 -07:00
Andrew McCreight
0e2b00fa8c
Bug 1201271 - Warn about unused results for more methods of nsTArray. r=froydnj
...
This leaves alone the AppendElement methods.
2015-09-09 15:39:10 -07:00
Robert O'Callahan
178c259274
Bug 1202317. Support PodEqual over fixed-length arrays. r=Waldo
2015-09-07 17:07:59 +12:00
Jeff Gilbert
cfcb90a7d3
Bug 1193600 - Add Clamp and IsPowerOfTwo to MFBT. - r=waldo
2015-09-04 13:33:10 -07:00
Nicholas Nethercote
10d95cca57
Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
...
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.
2015-08-27 20:44:53 -07:00
Kan-Ru Chen
fa67ad73a6
Bug 1199068 - Soothe a unused variable warning in TestSplayTree.cpp. r=nfroyd
2015-08-28 11:24:47 +08:00
Makoto Kato
65c2fdc020
Bug 1197734 - Add MOZ_HAVE_CXX11_CONSTEXPR_IN_TEMPLATES on VS2015+. r=Waldo
2015-08-25 16:53:25 +09:00
Mike Hommey
f7136d7140
Bug 1189967 - Avoid including <string> from Char16.h. r=nfroyd
...
Since Char16.h is included everywhere, and MSVC 2015 uses the char16ptr_t trick
it contains, we include <string> everywhere, but that has the side effect of
breaking the build in subtle ways. One way around this would be to avoid including
Char16.h in the first place, but that requires more work than I was ready to put
in. So instead, just avoid including <string> by removing the conversion operator
for std::wstring.
2015-08-23 22:20:33 +09:00
Xidorn Quan
5adb6365fb
Bug 1189655 - Define MOZ_HAVE_CXX11_CONSTEXPR on VS2015 or later. r=Waldo
2015-08-21 09:17:18 +10:00
Nathan Froyd
c28a033917
Bug 1196451 - tweak comment in nsRefPtr.h to be more clear; r=botond
...
DONTBUILD because this is a comment-only fix.
2015-08-20 00:59:28 -04:00
Xidorn Quan
ca8cc2b99d
Bug 1195154 - Replace operator overloads for comparing nsRefPtr to 0 with those for comparing to nullptr. r=froydnj
2015-08-19 11:06:05 -07:00
Nigel Babu
8bf261cdcc
Backed out changeset 20c6f74296e2 (bug 1195154) for causing Bug 1196115
2015-08-19 20:43:11 +05:30
Xidorn Quan
e280f7ca3c
Bug 1195154 - Replace operator overloads for comparing nsRefPtr to 0 with those for comparing to nullptr. r=froydnj
2015-08-19 09:09:08 +10:00
Michael Layzell
8b08edab66
Bug 1192130 - Part 2: Use MOZ_NON_AUTOABLE to validate the usage of already_AddRefed, r=ehsan
2015-08-14 17:33:54 -04:00
Aryeh Gregor
c352c94520
Bug 1193298 - Part 3: Delete RefPtr<T>::operator T*()&&. r=froydnj
...
I put MOZ_HAVE_REF_QUALIFIERS in Attributes.h for lack of a better
place. I didn't especially want to make a whole new file for it.
To make the tree compile, support for moving RefPtr to nsRefPtr was
needed. I chose to put the definitions in RefPtr.h instead of
nsRefPtr.h because RefPtr.h looks to be included in fewer files, so I
preferred to bloat fewer files with the extra include.
For some reason operator!() wasn't necessary here, although it seems it
is for nsRefPtr.
2015-08-11 06:45:00 -04:00
Aryeh Gregor
f382bc9200
Bug 1179451 - Part 5: Delete nsRefPtr<T>::operator T*()&&. r=froydnj
2015-08-13 15:22:48 +03:00
Nathan Froyd
349b3d497a
Bug 1193005 - delete unused function nsRefPtr::begin_assignment; r=erahm
...
We don't use it; the getter_AddRefs overload for nsRefPtr uses
StartAssignment, which is the same thing.
2015-08-11 00:23:33 -04:00
Michael Layzell
32ec5dc140
Bug 885515 - Part 2: Add MOZ_HEAP_CLASS to mfbt, r=ehsan
2015-08-09 12:42:11 -04:00
Nick Fitzgerald
e8b315de6c
Bug 1186693 - Add exhaustive matching to mozilla::Variant; r=Waldo
2015-08-08 16:43:35 -07:00
Nathan Froyd
7188e1bbca
Bug 1189894 - remove Atomics.h IntrinsicAddSub hack; r=erahm
...
This hack was only required for broken headers in GCC 4.6. Since we
only support GCC 4.7+ now, this hack is no longer necessary.
2015-07-31 22:25:21 -04:00
Botond Ballo
4a77fdbb9e
Bug 1056356 - Add support for nsRefPtr<const T>. r=froydnj
2015-08-05 13:52:06 -04:00
Aryeh Gregor
a3c0771347
Bug 1190823 - Move OwningNonNull.h to xpcom/base/; r=froydnj
2015-08-05 15:28:27 +03:00
Makoto Kato
4b306660cb
Bug 1190313 - Set MOZ_HAVE_EXPLICIT_CONVERSION on VS2015. r=nfroyd
2015-08-05 17:14:42 +09:00
James Cheng
93eb81cff3
Bug 1189231 - Refine operator() call with perfect forwarding. r=nfroyd
2015-07-30 21:16:00 -04:00
Michael Layzell
d070709c54
Bug 1187073 - Use MOZ_INHERIT_TYPE_ANNOTATIONS_FROM_TEMPLATE_ARGS to validate the usage of AlignedStorage2. r=ehsan
2015-07-31 13:59:00 -04:00
Muhsin Ali Steiman
e399be8e28
Bug 1188895 - Replace U+0A00 with U+0200 in MacroForEach.h. r=Ms2ger
2015-08-01 00:36:00 -04:00
James Cheng
1e66e2028a
Bug 975246 - Part1 - Implement operator->* in nsRefPtr. r=nfroyd, r=gerald
2015-07-29 19:47:00 +02:00
Bobby Holley
106e778c81
Bug 1188696 - Hoist nsRefPtr.h into MFBT. r=froydnj
2015-07-29 10:44:59 -07:00
Ehsan Akhgari
28032343dd
Bug 1188204 - Fix more constructors in MFBT; r=froydnj
2015-07-28 12:24:39 -04:00
Oliver Henshaw
f0a68f98ca
Bug 1186126 - Note incompatibility with NSPR printf-like functions. r=nfroyd
...
printf-like functions
2015-07-27 10:08:00 +02:00
Liang-Heng Chen
4acd801361
Bug 1185706 - support Tie() for mozilla::Pair. r=froydnj
2015-07-24 00:42:00 +02:00