André Bargull
14ca007916
Bug 1625138 - Part 41: Remove no longer needed includes for mozilla/TypeTraits. r=froydnj
...
Also adds missing includes in some files, these were previously only transivitely
included through mozilla/TypeTraits.h.
Differential Revision: https://phabricator.services.mozilla.com/D68561
--HG--
extra : moz-landing-system : lando
2020-03-28 16:00:09 +00:00
André Bargull
5992327185
Bug 1625138 - Part 36: Replace mozilla::IsSame with std::is_same in mfbt/. r=froydnj
...
Differential Revision: https://phabricator.services.mozilla.com/D68555
--HG--
extra : moz-landing-system : lando
2020-03-28 13:57:20 +00:00
André Bargull
cae4e1fdbc
Bug 1606962: Replace mozilla::EnableIf with std::enable_if. r=froydnj,jgilbert
...
Differential Revision: https://phabricator.services.mozilla.com/D68401
--HG--
extra : moz-landing-system : lando
2020-03-28 13:35:31 +00:00
André Bargull
ebec34a898
Bug 1625138 - Part 16: Replace mozilla::IsIntegral with std::is_integral. r=froydnj
...
Differential Revision: https://phabricator.services.mozilla.com/D68371
--HG--
extra : moz-landing-system : lando
2020-03-28 13:57:15 +00:00
André Bargull
4ac8916451
Bug 1625138 - Part 10: Replace mozilla::IsEnum with std::is_enum. r=froydnj
...
Differential Revision: https://phabricator.services.mozilla.com/D68364
--HG--
extra : moz-landing-system : lando
2020-03-28 13:57:13 +00:00
Andrew McCreight
4babb2b5ab
Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown
...
Patch by bhackett and jlaster. Also reviewed by mccr8.
Differential Revision: https://phabricator.services.mozilla.com/D60197
--HG--
extra : moz-landing-system : lando
2020-02-27 17:39:15 +00:00
Ciure Andrei
00dd87f6f4
Backed out changeset d407a28318e6 (bug 1609815) for causing windows ming bustages CLOSED TREE
...
--HG--
extra : histedit_source : b2c748e31e0f6ba8fcf9960a336e0bbd361b07e6
2020-02-27 07:05:19 +02:00
Andrew McCreight
b197e1f783
Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown
...
Patch by bhackett and jlaster. Also reviewed by mccr8.
Differential Revision: https://phabricator.services.mozilla.com/D60197
--HG--
extra : moz-landing-system : lando
2020-02-27 04:43:48 +00:00
Simon Giesecke
ad6c02c994
Bug 1613985 - Use default for equivalent-to-default constructors/destructors in mfbt. r=froydnj
...
Differential Revision: https://phabricator.services.mozilla.com/D62542
--HG--
extra : moz-landing-system : lando
2020-02-13 11:20:27 +00:00
Mihai Alexandru Michis
395eb2050d
Backed out changeset f3d9fbb2daf1 (bug 1613985) for causing hazard bustages on Linux.
...
CLOSED TREE
2020-02-12 16:43:30 +02:00
Simon Giesecke
066ea869b7
Bug 1613985 - Use default for equivalent-to-default constructors/destructors in mfbt. r=froydnj
...
Differential Revision: https://phabricator.services.mozilla.com/D62542
--HG--
extra : moz-landing-system : lando
2020-02-12 11:13:24 +00:00
Emilio Cobos Álvarez
5cd5e6f148
Bug 1609996 - Remove mozilla::Swap in favor of std::swap. r=froydnj
...
Now mfbt/Move.h is empty except for that excellent comment about move
semantics... Should we put it somewhere else and delete the header as a
follow-up? Or just delete the header and carry on?
Differential Revision: https://phabricator.services.mozilla.com/D60297
--HG--
extra : moz-landing-system : lando
2020-01-20 16:17:06 +00:00
Sylvestre Ledru
265e672179
Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
...
# ignore-this-changeset
--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Brian Hackett
bae5179cfb
Bug 1502207 Part 2 - Fix useUse new atomic access API in Gecko, r=froydnj.
...
--HG--
extra : rebase_source : 2b9b5bb77fb53cd9f028912b4ba54136c9066447
2018-10-25 11:42:18 -10:00
Brian Hackett
47ccde0dda
Bug 1207696 Part 2a - Atomics interface changes, r=waldo.
...
--HG--
extra : rebase_source : 39c1910c273357bdacbea7c15d9c49eccd2aeb2c
2018-07-21 14:17:16 +00:00
Jeff Walden
a3d9df23d5
Bug 1407137 - Implement Swap(Atomic<T, Order>&, Atomic<T, Order>&) = delete; to remove an actually-non-atomic footgun. r=froydnj
...
--HG--
extra : rebase_source : 6afed8e85fcf8801144a1a34ea07f590baa0f5e0
2017-10-10 10:19:31 -07:00
Nathan Froyd
e5fbad82a1
Bug 1363426 - part 3 - minor cleanups to Atomics.h; r=erahm
...
We can move the <atomic> #include to its normal place in the file now,
as well as merging some namespace blocks at the toplevel.
2017-05-10 09:58:28 -04:00
Nathan Froyd
c0a40e46f7
Bug 1363426 - part 2 - remove unneeded MOZ_HAVE_CXX1_ATOMICS; r=erahm
...
Now that we can use <atomic> everywhere, we don't need to test whether
the standard library we're using has <atomic> support.
2017-05-10 09:58:28 -04:00
Nathan Froyd
fe42aa0b9d
Bug 1363426 - part 1 - remove #ifdeffery in Atomics.h; r=erahm
...
Every platform where we use GCC has <atomic>, so there's no need to use
GCC-specific __sync* intrinsics anymore. The <atomic> header may
generate better code for several operations, as well.
2017-05-10 09:58:28 -04:00
Chris Peterson
43c2748f66
Bug 1277775 - Replace MOZ_CONSTEXPR{_VAR,_TMPL} with constexpr. r=froydnj
2016-07-08 14:39:53 -07:00
Nathan Froyd
6a5930b454
Bug 1247338 - really make Atomic's constructor constexpr; r=Waldo
...
Atomic's constructor is marked as constexpr, but it calls a
non-constexpr function, ToStorageTypeArgument::convert. For compilers
which require constexpr-ness on constructors to inline away the actual
constructor call, the call to ToStorageTypeArgument::convert completely
disables the constexpr-ness of the constructor. Let's fix this by
marking all relevant instances of ToStorageTypeArgument::convert as
MOZ_CONSTEXPR, thus satisfying the compiler once again.
2016-02-10 11:28:36 -05:00
Jeff Walden
fe5445d030
Bug 1220693 - Make mozilla::Atomic<enum class> work even on compilers that don't have <atomic>. r=froydnj
...
--HG--
extra : rebase_source : 2eb167a1b86a1a93527761a9541ea30ad213785a
2015-11-03 13:03:26 -08:00
Nathan Froyd
78b4b30d08
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
David Major
ec86960f3c
Bug 1185686: Fix Atomics.h ifdefs for clang-cl. r=froydnj
2015-07-20 17:04:46 -04:00
Ehsan Akhgari
399276d5fc
Bug 1153348 - Add an analysis to prohibit operator bools which aren't marked as either explicit or MOZ_IMPLICIT; r=jrmuizel
...
This is the counterpart to the existing analysis to catch
constructors which aren't marked as either explicit or
MOZ_IMPLICIT.
2015-04-21 21:40:49 -04:00
Wes Kocher
638b28b8e0
Backed out changeset 02e6a50741a9 (bug 1153348) to hopefully fix the static bustage CLOSED TREE
2015-04-21 15:47:40 -07:00
Ehsan Akhgari
3d21a05904
Bug 1153348 - Add an analysis to prohibit operator bools which aren't marked as either explicit or MOZ_IMPLICIT; r=jrmuizel
...
This is the counterpart to the existing analysis to catch
constructors which aren't marked as either explicit or
MOZ_IMPLICIT.
2015-04-21 16:31:58 -04:00
Seth Fowler
36709ff42c
Bug 1155864 - Rip out Windows intrinsics from Atomics.h and allow Atomic to hold 64-bit types everywhere. r=Waldo
2015-04-17 18:40:52 -07:00
David Major
13d9def98b
Bug 1154104 - Clean up atomics code for old Visual Studio versions. r=nfroyd
...
--HG--
extra : rebase_source : 83ed35150a55c26c66994f3f7a6c4ae7ae14ba66
2015-04-13 17:13:00 +02:00
Trevor Saunders
5b86ecf80c
bug 1077549 - remove useless gcc version checks r=glandium
2015-01-15 21:30:05 -05:00
Nicholas Nethercote
e147e4d209
Bug 1057134 - Remove std::_Debug_message linking hack that's no longer needed. r=dmajor.
...
--HG--
extra : rebase_source : 53ee0cebc42269dcc228cfc5a18b0288e13716f3
2015-01-08 21:59:43 -08:00
Ehsan Akhgari
4354953b4f
Bug 1118486 - Part 1: Use `= delete` instead of MOZ_DELETE directly; r=Waldo
...
Most of this patch (with the exception of dom/bindings/Codegen.py) was
generated by the following bash script:
#!/bin/bash
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*/.hg*" \
! -wholename "*/.git*" \
! -wholename "obj-*" \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-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 MOZ_DELETE '= delete'
2015-01-08 23:19:05 -05:00
Ehsan Akhgari
039292de5d
Bug 1119071 - Clean up some code used for older unsupported MSVC versions in MFBT; r=froydnj
2015-01-08 10:40:15 -05:00
Jan Beich
2e6d8524b0
Bug 1073709 - Disable C++11 <atomic> when using GCC with libc++. r=waldo
2014-09-26 15:15:00 +02:00
Hannes Verschore
e729b5e319
Bug 1061764 - Atomic<bool, Relaxed> should mean no synchronization on windows x86, r=froydnj
2014-09-04 11:08:00 +02:00
Nicholas Nethercote
2a0942be41
Bug 1036789 - Convert the third quarter of MFBT to Gecko style. r=Ms2ger.
...
--HG--
extra : rebase_source : 668cd394806203ddfa34bd4f226335ff26c846b5
2014-07-10 19:10:17 -07:00
Ehsan Akhgari
c2cbd699a1
Bug 1025900 - #include intrin.h directly in Atomics.h instead of declaring functions manually from it; r=froydnj
...
This is basically more of bug 1022049.
--HG--
extra : rebase_source : 39cf2745d47d90ba1684c2c26a38f9781a4d179e
2014-06-16 18:19:49 -04:00
Ehsan Akhgari
ac9615fa0d
Bug 1021290 - More Atomics.h build fixes for clang-cl. r=froydnj
...
This is basically more of bug 932454
2014-06-09 14:49:34 -04:00
Ehsan Akhgari
8b30e40485
Bug 1013662 - Fix bad implicit conversion constructors in MFBT; r=froydnj,Waldo
2014-06-06 23:17:06 -04:00
Nathan Froyd
002c131055
Bug 1020118 - fix atomic add/sub for pointer types on Win64; r=jcranmer
2014-06-04 15:19:51 -04:00
Wes Kocher
8ae9f3fb4a
Backed out changeset 34f371b1024b (bug 1021290) for Windows build bustage on a CLOSED TREE
2014-06-05 17:35:47 -07:00
Jeff Muizelaar
c50b5c14aa
Bug 1021290. More Atomics.h build fixes for clang-cl. r=froydnj
...
This is basically more of bug 932454
--HG--
extra : rebase_source : 0f9a5d43164efb6940d17e406f41691cb3d26435
2014-06-05 19:48:52 -04:00
Nicholas Nethercote
7e98d1c248
Bug 1014377 - Convert the first quarter of MFBT to Gecko style. r=froydnj.
...
--HG--
extra : rebase_source : b3b2da775e2c0e8a6ecbed70e7bd0c8f7af67b47
2014-05-29 22:40:33 -07:00
David Major
926fd8dee8
Bug 982310 - Hack around problems linking std::_Debug_message; r=ehsan
...
--HG--
extra : amend_source : 2e0f6f26823ee5fcce16dfaf8791ae57d8ac62cb
2014-03-21 12:53:00 -07:00
Viktor Stanchev
529b872af2
Bug 965837 - Add bool support to mozilla::Atomic. r=froydnj
2014-02-06 14:57:30 -05: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
Joshua Cranmer
7cc0542786
Bug 906783 - Attempt to detect the standard C++ library version, r=Waldo
2013-08-29 22:44:23 -05:00
Trevor Saunders
523a468b97
bug 905243 - make the constructors for mozilla::Atomic constexpr r=froydnj
2013-08-14 16:28:17 -04: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
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