Commit Graph

862 Commits

Author SHA1 Message Date
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