Commit Graph

758 Commits

Author SHA1 Message Date
Nicholas Nethercote
b408c9c462 Bug 1026319 - Convert the second quarter of MFBT to Gecko style. r=froydnj.
--HG--
extra : rebase_source : 98d2557c7fe4648d79143c654e7e31767fca2e65
2014-06-12 23:34:08 -07:00
Ehsan Akhgari
c15df0ae2d Bug 1026718 - Expand MOZ_DECLARE_REFCOUNTED_TYPENAME unconditioanlly in order to make it available outside of libxul as well; r=Waldo 2014-06-18 20:11:21 -04:00
Jed Davis
eabd9062d2 Bug 1011350 - Use TaggedAnonymousMemory to distinguish our various mmap call sites. r=njn
We can probably get more granular information than this, given that we
can re-tag memory after the initial mapping, or tag subregions of an
individual mmap() call differently.  But this is a start.
2014-06-17 17:55:00 +02:00
Jed Davis
e7deffe201 Bug 1011350 - Add mfbt support for PR_SET_VMA_ANON_NAME. r=njn r=froydnj
This is a Linux kernel feature present in newer Android and B2G devices
which allows attaching an arbitrary name to an anonymous memory regions,
thus tagging it for the purposes of procfs mapping lists and causing it
to be reported separately from adjacent regions with different names.
2014-06-17 17:54:00 +02:00
Ehsan Akhgari
812dd4b759 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
Chris Peterson
d491e08015 Bug 1024318 - Fix warnings in mfbt/tests/ and mark as FAIL_ON_WARNINGS. r=Waldo 2014-06-14 12:47:01 -07:00
Ehsan Akhgari
ab5a5cc474 Bug 1025143 - Fix a compilation error in TestTypedEnum.cpp with clang-cl; r=bjacob
This makes the code more correct since if we don't have constexpr
support in the compiler, the CastableTypedEnumResult type would
actually not be a literal type, so we should not assert that here.
2014-06-13 15:22:16 -04:00
Jan de Mooij
6f6bc288c7 Bug 1023778 part 3 - Make AtomizeChars and js_NewStringCopyN accept Latin1 chars. r=luke 2014-06-13 20:51:05 +02:00
Jan de Mooij
b7107e992b Bug 1024688 - Add a MaybeOneOf class to MFBT. r=luke 2014-06-13 14:26:01 +02:00
Ehsan Akhgari
5d9319da87 Bug 1023449 - Try to check for MSVC before clang so that we live in the clang-cl world when building with that compiler; r=froydnj
--HG--
extra : rebase_source : dbfcf19afa0aa030d4fc769f29ede4c957af669d
2014-06-10 16:33:39 -04:00
Jeff Muizelaar
f7c610d4d2 Bug 1022049. Switch to <intrin.h>. r=nfroyd
Instead of declaring these ourselves just use intrin.h
This has the advantage of allowing them to work with clang-cl

--HG--
extra : rebase_source : b78c756edb5dcdf1fd9127ad5e1a7ae183e72e3c
2014-06-09 17:26:55 -04:00
Ehsan Akhgari
570bcb4788 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
d0ca596588 Bug 1013662 - Fix bad implicit conversion constructors in MFBT; r=froydnj,Waldo 2014-06-06 23:17:06 -04:00
Ehsan Akhgari
247c93a42e Bug 1022050 - Disable the SEH block used in TestPoisonArea.cpp on clang-cl until it grows SEH support; r=froydnj 2014-06-06 23:11:58 -04:00
Nathan Froyd
7905be6fef Bug 1020118 - fix atomic add/sub for pointer types on Win64; r=jcranmer 2014-06-04 15:19:51 -04:00
Ms2ger
3fe68e5b68 Bug 1020165 - Remove empty makefiles; r=mshal 2014-06-06 10:06:24 +02:00
Chris Peterson
3ac370688a Bug 945029 - Fix up Android's broken [u]intptr_t inttype macros. r=Waldo 2014-05-12 22:27:14 -07:00
Wes Kocher
676b8051d8 Backed out changeset 34f371b1024b (bug 1021290) for Windows build bustage on a CLOSED TREE 2014-06-05 17:35:47 -07:00
Jeff Muizelaar
f3a94f181e 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
Benoit Jacob
615f6fa6df Bug 1018239 - Make WebGLContext::GetExtensionString fool-proof and remove a dangerous EnumeratedArrayConstructor - r=jgilbert 2014-05-30 16:21:23 -04:00
Brian Smith
90eef2f5d9 Bug 1010634, Part 2: Fix compiler warnings in MFBT and XPCOM, r=ehsan
--HG--
extra : rebase_source : 8839297479ce2ade7a7e6cb5099178e799a0e516
2014-05-29 20:18:29 -07:00
Nicholas Nethercote
eea4b77322 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
Nathan Froyd
74d657df0e Bug 1010317 - remove unnecessary includes from RollingMean.h; r=Ms2ger 2014-05-14 11:46:29 -04:00
Dan Gohman
3fd6d9a5d9 Bug 1012971 - Fix compiler warnings in mfbt r=nbp 2014-05-22 11:15:06 -07:00
Ehsan Akhgari
ccbf0f329d Fix a typo in a comment, no bug, DONTBUILD 2014-05-22 09:28:06 -04:00
Ehsan Akhgari
a5e1d3edf7 Bug 1013662 - Part 1: Add MOZ_IMPLICIT to Attributes.h; r=froydnj
--HG--
extra : rebase_source : 4654de918e6f73f40c34a19cfd1b457ba2c734f1
2014-05-21 21:31:29 -04:00
Dan Gohman
c7d6078a3a Bug 1012964 - IonMonkey: Optimize LiveInterval::addRange. r=bhackett 2014-05-20 13:36:40 -07:00
Nicholas Nethercote
71e55c99d7 Bug 983538 (part 2) - Update mfbt/STYLE. r=froydnj.
--HG--
extra : rebase_source : dac8a5683794cc838966afaf8c037aa466d44410
2014-03-13 22:42:59 -07:00
Nicholas Nethercote
9ad68cf065 Bug 983538 (part 1) - Convert mfbt/SplayTree.h to Mozilla style. r=froydnj.
--HG--
extra : rebase_source : 9143ee56f94e7c6e0b1e1a70c4dc26c90c69d84a
2014-03-13 22:35:45 -07:00
Botond Ballo
809118e132 Bug 961289 - Add a ToString utility to MFBT. r=froydnj
--HG--
extra : source : 26bd00a6d34fa88b8a16862e5b96a6717386f9f7
2014-05-07 14:54:45 -04:00
Matt Woodrow
41d4a92470 Bug 950312 - Part 4: Create active layers for nsDisplayMixBlendMode and nsDisplayBlendContainer if the layer manager supports all contained blend mode. r=roc 2014-05-09 21:49:27 +12:00
Matt Woodrow
f1253774f4 Bug 950312 - Part 3: Add Layers API to see what blend modes are supported. r=roc 2014-05-09 21:48:32 +12:00
Chris Peterson
f64aca0a01 Bug 990764 - Replace MOZ_ASSUME_UNREACHABLE in mfbt. r=Waldo 2014-04-13 23:01:08 -07:00
Chris Peterson
314cc438bf Bug 990764 - Add MOZ_ASSERT_UNREACHABLE and MOZ_MAKE_COMPILER_ASSUME_IS_UNREACHABLE. r=Waldo 2014-04-05 18:07:09 -07:00
Sylvestre Ledru
d2af9270e2 Bug 997145 - Add a attribute in order to silent a Clang static analyzer check r=nfroyd
--HG--
extra : amend_source : 9ef01d8df4e8797981f770621a3885d456db5801
2014-05-06 16:23:08 +02:00
Ehsan Akhgari
968ba73f9a Bug 1005730 - Print assertion stacks for MOZ_ASSERT and MOZ_CRASH for code that lives inside libxul; r=froydnj
The hyphenation changes are necessary because hnjalloc.h #defines FILE to
a custom data structure, which clashes with using |stderr| in Assertions.h.
2014-05-05 22:02:04 -04:00
Ehsan Akhgari
ef0b7d19aa Bug 1004564 - Move AtomicRefCounted to mozilla::external and outlaw it in Gecko code; r=froydnj 2014-05-01 14:33:20 -04:00
Benoit Jacob
f23b1789f1 Bug 920292 - Check the types of assert conditions - r=froydnj 2014-04-30 22:39:13 -04:00
Birunthan Mohanathas
56b3169a4d Bug 1001987 - Make MOZ_STATIC_ASSERT_VALID_ARG_COUNT compatible with ICC. r=Waldo 2014-04-28 07:48:00 +02:00
Benoit Jacob
fa47581249 Bug 987290 - Work around a GCC 4.6.3 ICE - no review, bustage fix 2014-04-28 12:27:13 -04:00
Benoit Jacob
a24a270b5d Bug 987290 - Follow-up: fix TestTypedEnum to avoid requiring behavior that relies on explicit conversions, when they are not available. Fixes the build on MSVC 2012 - no review, bustage fix 2014-04-27 22:46:40 -04:00
Benoit Jacob
e84e3cadeb Bug 987290 - Allow using MFBT Typed Enums as bitwise flags - r=Waldo 2014-04-25 22:34:04 -04:00
Blair McBride
64d3a32d11 Backed out 2 changesets (bug 987290). r=sheriff
Backed out changeset 4ad1f662f521 (bug 987290)
Backed out changeset 080ff1f86465 (bug 987290)
2014-04-27 20:41:58 +12:00
Benoit Jacob
ba5063d03b Bug 987290 - Allow using MFBT Typed Enums as bitwise flags - r=Waldo 2014-04-25 22:34:04 -04:00
Benoit Jacob
34e9d4b886 Bug 987253 - Add MOZ_EXPLICIT_CONVERSION - r=Waldo 2014-04-25 22:34:04 -04:00
Benoit Jacob
3acdf1fc29 Bug 989123 - Add EnumeratedArray class to MFBT for plain static arrays indexed by a typed enum - r=Waldo 2014-04-25 22:34:03 -04:00
Birunthan Mohanathas
bf699c802c Bug 989460 - Follow-up: Fix MOZ_STATIC_ASSERT_VALID_ARG_COUNT when 51st arg is e.g. true != 1. r=froydnj 2014-04-25 10:00:00 -04:00
Birunthan Mohanathas
fc4e4ef699 Bug 989460 - Part 2: Add MOZ_FOR_EACH macro. r=Waldo 2014-04-24 10:49:00 +02:00
Birunthan Mohanathas
98106963b6 Bug 989460 - Part 1: Add MacroArgs.h for macros related to implementing variadic macros. r=Waldo
This also converts MOZ_RELEASE_ASSERT and MOZ_BEGIN_NESTED_ENUM_CLASS to use the new helper macros.
2014-04-24 10:48:00 +02:00
Benoit Jacob
686371f851 Bug 807607 - Make MFBT tests use MOZ_RELEASE_ASSERT instead of MOZ_ASSERT to ensure test coverage in non-DEBUG - r=Waldo
find mfbt/tests/ -type f | xargs sed -i 's/MOZ_ASSERT/MOZ_RELEASE_ASSERT/g'
2014-04-24 17:06:50 -04:00
Luke Wagner
6f45189687 Bug 998507 - add some assertions to BinarySearch (r=me) 2014-04-22 13:53:37 -05:00
Luke Wagner
8e9b9c4fe6 Bug 998507 - add BinarySearch (r=sunfish)
--HG--
extra : rebase_source : 6ba04575a5dd8a886235e6799bc790c7a3afc64f
2014-04-15 21:30:26 -05:00
Chris Peterson
d6d6d9a64a Bug 984073 - Fix warning in double-conversion and suppress warnings in lz4. r=Waldo 2014-03-15 23:23:28 -07:00
Benoit Jacob
e195e8f5d3 Bug 987274 - Add IntegerTypeTraits.h to MFBT for additional integer traits and helpers that don't have type_traits equivalents - r=Waldo 2014-04-01 09:38:42 -04:00
Ehsan Akhgari
9fbcf7f621 Add a comment to WeakPtr.h which explicitly calls out the fact that it's not thread-safe, no bug, DONTBUILD 2014-03-28 00:12:30 -04:00
Ehsan Akhgari
345b35a6e8 Bug 798158 - Part 1: Use a pointer-sized type to store refcounts internally; r=bsmedberg 2014-03-27 16:38:33 -04:00
Jim Blandy
627a216d99 Bug 944176: Implement move construction and move assignment for mozilla::Scoped derivatives. r=waldo 2014-03-27 09:52:48 -07:00
Jim Blandy
37ecc02d31 Bug 944176: In mozilla::Scoped, don't gratuitously repeat template arguments within the class template itself. r=waldo 2014-03-27 09:52:43 -07:00
David Major
f334dea13c Bug 982310 - Hack around problems linking std::_Debug_message; r=ehsan
--HG--
extra : amend_source : 2e0f6f26823ee5fcce16dfaf8791ae57d8ac62cb
2014-03-21 12:53:00 -07:00
Ehsan Akhgari
0d74fec2c8 Bug 985878 - Make AtomicRefCounted thread safe; r=khuey 2014-03-25 09:02:26 -04:00
Nathan Froyd
b7da0adb71 Bug 986023 - remove unused freeList member from SplayTree; r=Ms2ger 2014-03-20 12:19:15 -04:00
Trevor Saunders
c8b39f8232 bug 899319 - use __is_base_of() on gcc / clang / msvc r=froydnj 2014-03-06 23:34:20 -05:00
Xidorn Quan
e43c49d443 Bug 980698 - Rename shadowing parameters. r=Waldo 2014-03-12 08:42:39 -04:00
Dan Gohman
a964ad52f6 Bug 978397 - Fix the implementation of CountPopulation_32 on Windows. r=nbp 2014-03-11 08:09:55 -04:00
Jacek Caban
7900ad927f Bug 928351 - Fixed -Wshadow warning. 2014-03-10 14:32:24 +01:00
Ehsan Akhgari
cf56b4fc20 Bug 935778 - Part 3: Add trace-refcount logging for AddRef and Release in RefCounted objects; r=dbaron 2014-03-09 14:36:36 -04:00
Robert O'Callahan
e6993f791e Bug 955888. Part 1: Add ChaosMode.h base functionality. r=waldo
--HG--
extra : rebase_source : e892a951a3d3951e70e00f0b51046b744140eeee
2014-03-03 18:12:17 +13:00
Ulrich Weigand
350617feb3 Bug 976648 - mfbt endian config for powerpc64le-linux support. r=froydnj 2014-02-28 09:57:24 -05:00
Ehsan Akhgari
3e1875a509 Bug 979067 - Stop exporting the guard object classes; r=froydnj 2014-03-05 07:50:55 -05:00
Ehsan Akhgari
444a26ed8e Bug 976896 - Port STL_FLAGS to moz.build; r=mshal 2014-03-04 19:39:06 -05:00
Chris Peterson
e912926be0 Bug 808679 - Add asserts for Vector::Range and Vector srcbeg <= srcend. r=Waldo 2014-02-11 22:42:39 -08:00
Masatoshi Kimura
62b35389e4 Bug 972761 - Move WindowsVersion.h to MFBT. r=froydnj
--HG--
rename : xpcom/base/WindowsVersion.h => mfbt/WindowsVersion.h
2014-02-28 07:58:47 +09:00
Benjamin Bouvier
edaecec986 Bug 939843: Tests for mfbt::Floats; r=waldo
--HG--
extra : rebase_source : a6515f7d4e82e020fd7686f14932855873078813
2014-02-27 16:23:08 +01:00
Benjamin Bouvier
8436415dfa Bug 939843: Unify FloatingPoint's code for Double and Float; r=waldo
--HG--
extra : rebase_source : 2f7956d497d534af8931939a38a29ad27695a3fc
2014-01-30 15:54:46 +01:00
Marcin Juszkiewicz
67255ad209 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
149b11176b 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
d904f9e96a Bug 976247 - Remove a useless static keyword from mozilla::detail::DEAD; r=froydnj 2014-02-24 21:08:51 -05:00
Ehsan Akhgari
9144b0180d Backed out changeset f74c9326b89c (bug 976247) because I landed the wrong patch :( 2014-02-24 21:07:37 -05:00
Ehsan Akhgari
32a9de133d 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
5664081d99 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
50862d75c8 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
fe19ed8113 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
f017b10fc4 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
067fa188b6 Bug 935778 - Part 0.2: Spray some MOZ_DECLARE_REFCOUNTED_TYPENAME across the tree 2014-02-20 21:33:49 -05:00
Birunthan Mohanathas
38e99bc1ba 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
82ebdc883f 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
e8260b9c97 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
055b6ccc3a Bug 965837 - Add bool support to mozilla::Atomic. r=froydnj 2014-02-06 14:57:30 -05:00
Wes Kocher
cc8398f716 Backed out changeset ec696ad6ff10 (bug 963056) for build bustage on a CLOSED TREE 2014-02-05 16:19:06 -08:00
Birunthan Mohanathas
464e7bfaef 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
84032c6cea Bug 948984 - Add functions to fuzzily compare float numbers. r=bjacob, r=Waldo 2014-02-05 17:04:42 -05:00
Jeff Walden
1de6ea2af7 Fix obvious typo in 89e06a821ad5 (bug 963029) to reopen a CLOSED TREE. r=typo 2014-01-23 14:16:27 -08:00
Marcin Juszkiewicz
bf9f69f8d5 Bug 963029 - AArch64 support for MFBT. r=froydnj 2014-01-23 16:34:31 -05:00
Nathan Froyd
a462719ae3 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
6cfdf2fab5 Bug 961222 - fix documentation and indentation in Compiler.h; r=Waldo 2014-01-17 16:25:30 -05:00
Mike Hommey
9f9ab37978 Bug 958404 - Recurse mfbt from top-level when building js standalone. r=gps 2014-01-20 09:11:45 +09:00
Luke Wagner
420ef4b734 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
e3c7b0ee5c Bug 957358 - Restrict everything in Char16.h to C++; r=jcranmer 2014-01-12 14:55:02 -05:00
Benoit Jacob
efb27d0e1c 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
e6d5ae1cb1 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
ff919795e1 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
b992e6cd88 Bug 956507 - Remove the PRUnichar typedef from Char16.h; r=jcranmer 2014-01-07 22:16:17 -05:00
Jeff Walden
063b338ace Bug 953296 - Implement mozilla::IsArray. r=froydnj
--HG--
extra : rebase_source : 3eb6fff774f28c39374f1e7c148f472d95e538c0
2013-12-30 01:07:32 -06:00
Jeff Walden
25357293e7 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
5ee5d4c63b Bug 953296 - Implement mozilla::IsClass and mozilla::IsEmpty. r=jcranmer 2013-12-30 01:07:39 -06:00
Jeff Walden
12220c1619 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
ac73237d97 Merge m-c into inbound 2014-01-04 12:14:57 -05:00
Ehsan Akhgari
eaa7491d77 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
cd2e2f2dbd Bug 944291. Part 1: Add SplayTree::find. r=waldo 2013-12-13 16:12:07 +13:00
Ms2ger
873b9d9d73 Backout changeset 1e13634eceb2 for failures in R6/R10 on B2G ICS Emulator Opt. 2013-12-24 13:47:08 +01:00
Nathan Froyd
b31872fe7b Bug 952785 - relax GCC version requirements for MOZ_ENUM_TYPE; r=Waldo 2013-12-21 18:52:41 -05:00
Daniel Holbert
b14ef78544 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
51307974e1 Bug 948516 - Assert that js::HashTable pointers and enumerators are used correctly; r=luke 2013-12-03 12:51:02 -08:00
Bobby Holley
acafd45da4 Bug 937317 - Implement basic script settings stack machinery. r=bz 2013-12-11 17:51:57 -08:00
Dan Gohman
8671c3fdaa 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
e3a8f2bd80 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
1e9ac5f7b0 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
8d3efe596e Bug 948516 - Assert that js::HashTable pointers and enumerators are used correctly; r=luke 2013-12-03 12:51:02 -08:00
Jeff Walden
2a4be68464 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
58325c73be 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
bd0f161288 Bug 713082 - Part 1: Remove unnecessary Util.h includes. r=Waldo 2013-12-08 21:52:33 -05:00
Phil Ringnalda
d1ba8751f2 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
9d123c923b 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
1638458354 Bug 937317 - Implement basic script settings stack machinery. r=bz 2013-12-06 12:01:41 -08:00
Carsten "Tomcat" Book
7a75e7c08a Backed out changeset 004fa11e352a (bug 937317) WinXP Build Bustage on a CLOSED TREE 2013-12-06 08:42:40 +01:00
Bobby Holley
c311c9dc85 Bug 937317 - Implement basic script settings stack machinery. r=bz 2013-12-05 21:34:16 -08:00
Jacek Caban
a1d0d36cb0 Bug 946127 - Don't mark inline function as dllimport. r=Waldo 2013-12-05 10:55:52 +01:00
Mike Hommey
fdd3247a81 Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-27 22:55:07 +09:00
Mike Hommey
2f727b6d62 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
b038245b8d Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-28 13:08:16 +09:00
Ehsan Akhgari
19e8a184b6 Bug 943719 - Build MFBT in unified mode; r=froydnj,djvj 2013-11-27 18:59:50 -05:00
Ehsan Akhgari
af65234f69 Backed out changeset ea3392e0018f (bug 943719) because of build bustage on a CLOSED TREE 2013-11-27 19:50:02 -05:00
Ehsan Akhgari
112276f5ee Bug 943719 - Build MFBT in unified mode; r=froydnj,djvj 2013-11-27 18:59:50 -05:00
Anthony Jones
bb4129b621 Bug 888084 - Rolling mean for MFBT; r=waldo 2013-09-24 15:56:55 +12:00
Jacek Caban
508bdb6c1f Bug 928351 - Char16.h and xpcom/strings/public parts r=ehsan,Waldo 2013-11-27 14:40:54 +01:00
Nicholas Nethercote
c9b1d1ab68 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
fcbdac1a1a Bug 928636 - Whitespace changes. r=Waldo 2013-11-25 09:37:16 -08:00
Bobby Holley
764749a1a5 Bug 928636 - Implement MOZ_RELEASE_ASSERT. r=Waldo 2013-11-25 09:37:15 -08:00
Benoit Jacob
d6c2066a07 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
7cf9e41fc9 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
f0d1cd1e10 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Mike Hommey
9c5c5d8f00 Bug 939039 - Remove now useless FORCE_STATIC_LIB definitions. r=gps 2013-11-19 11:47:28 +09:00
Mike Hommey
f81885e53b 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
af58170ec7 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
a7f8d65586 Bug 935089 - Make ArrayLength, ArrayEnd, and PodArrayZero accept mozilla::Array argument; r=Waldo 2013-11-12 17:31:15 -05:00
Nathan Froyd
f698b7e054 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
5c16ae6a67 Bug 935370 - Inline all the Pod functions. r=waldo
--HG--
extra : rebase_source : 289cbc836eead85e5b7feac94c1c6d6ee5cd68de
2013-11-04 18:52:51 -08:00
Jeff Muizelaar
694006a826 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
49bfad7062 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
82cabc0e08 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
2c1e00d279 Bug 933586 - Define MOZ_HAVE_CXX11_DELETE for MSVC 12+. r=waldo 2013-11-02 17:57:40 +09:00
Brian O'Keefe
e8cf9856b5 Bug 870401 - Fix up the MFBT exports and the sources. r=mshal 2013-10-28 10:21:29 -04:00
Cykesiopka
e0bcd6aebc Bug 914270 - Part 1: Simple/Automated moves. r=joey 2013-10-24 18:51:00 +01:00
Mike Hommey
80c623bb6a Bug 921492 - Make StrictOrderingOnAppendList use actual alphabetical sorting. r=mshal,r=gps 2013-10-24 08:05:43 +09:00
Benjamin Bouvier
e59ab012ea Bug 913282: IsFloat32Representable function in mfbt; r=Waldo
--HG--
extra : rebase_source : 0d4d6f02b880c37d29e3e41e9d105365d9f941b0
2013-10-22 14:55:35 +02:00
Benjamin Bouvier
5dc4bbbc7b 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
f54ab71d02 Bug 928210 - Get rid of MOZ_INLINE 2013-10-22 06:34:24 +09:00
Ehsan Akhgari
cbdde780a5 Bug 928091 follow-up: Rewrite the comment in English
--HG--
extra : rebase_source : 9b8c45128f10aa00e0a8e1ab17156c2a42e812db
2013-10-18 20:34:49 -04:00
Ehsan Akhgari
3df4906bbd 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
9113eb9564 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
e5f44f1883 Bug 888658 - Assertions.h fixup for windows. r=jwalden
--HG--
extra : rebase_source : 7e7fb741860c2603aa1b838eff7761ddcd50e867
2013-10-15 09:07:00 +02:00
Reuben Morais
4df8562323 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
03e824c342 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
9bf1bff8b4 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
214fbe3acd Back out ee100983f921 (bug 895047) for build bustage
CLOSED TREE
2013-10-16 21:51:55 -07:00
Ehsan Akhgari
6f865c67f5 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
35953a6eab 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
bfdb31714e Bug 926083 - Only #include Compiler.h in NullPtr.h if needed; r=froydnj 2013-10-15 17:13:39 -04:00
Ehsan Akhgari
b39ef430b3 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
c4495e2034 Bug 924012 - Provide a HashString version for char16_t if needed; r=Waldo 2013-10-15 11:54:08 -04:00
Ehsan Akhgari
9bdfe8e5cc Bug 923886 - Remove the Assertions.h #include from Char16.h; r=Waldo 2013-10-05 21:23:07 -04:00
Dan Gohman
77a1580baf 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
73c91107c3 Bug 923170 - Require GCC 4.6.x before enabling strong enum support. r=Waldo 2013-10-08 15:25:13 -04:00
Birunthan Mohanathas
1682814b3e 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
189d59bfb0 Bug 919337: Use static_assert in double_conversion::BitCast. r=waldo 2013-09-29 21:18:26 -07:00
Bobby Holley
51532e72a4 Bug 917593 - Don't assert for zero-length strings. r=Waldo 2013-09-27 18:34:24 +02:00
Mike Hommey
5c2afb21e7 Bug 919832 - Remove EXPORTS related rules from rules.mk. r=gps 2013-09-26 16:43:52 +09:00
Ryan VanderMeulen
38b895f04b Backed out changeset 74459407359a (bug 917593) for Windows debug checktest asserts. 2013-09-24 16:20:15 -04:00
Bobby Holley
d5328610cb Bug 917593 - Don't assert for zero-length strings. r=Waldo 2013-09-24 08:03:22 -07:00
Benjamin Bouvier
d4da9a9d1a Bug 913282: Add mfbt Float32 asserts and constants; r=Waldo 2013-09-20 12:08:49 -07:00
Dan Gohman
afa221f7a9 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
d78b997a49 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
2ecbbf20ab 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
c19cfc4d9a 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
1d6372adb1 Bug 912299 - Make RefCounted's refcount field mutable. r=waldo 2013-09-06 13:32:55 -07:00
Mike Hommey
05b3f24e0e Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Jeff Walden
c5dd957eae 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
ebf4a21007 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
6942bbee1d Bug 910814 - IonMonkey: Add testcases for several FloatingPoint.h predicates. r=waldo 2013-09-02 13:53:35 -07:00
Jan Beich
1f13326e7d 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
a08dd455fa Bug 906783 - Attempt to detect the standard C++ library version, r=Waldo 2013-08-29 22:44:23 -05:00
Justin Lebar
bee05175e6 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
c7f8e10a8a 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
4aeeb65d91 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
7c8f8f47d4 No bug: Fix whitespace in mozilla/LinkedList.h. DONTBUILD 2013-08-22 14:39:34 -07:00
Justin Lebar
35539c04ed 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
4af497f8c9 Bug 906909 - Make LinkedList::debugAssertIsSane() compile. r=waldo
--HG--
extra : rebase_source : 60027f53b4a8fa91dd7e42863c271c36395d6851
2013-08-21 12:04:29 -07:00
Dan Gohman
6fbf2016aa 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
57383c0c79 Bug 905850 - Vector should not be copyable (r=terrence)
--HG--
extra : rebase_source : 49c2175af92b79a08982d7dfbc7b7af266b27f7a
2013-08-16 10:21:28 -05:00
Trevor Saunders
ff80a9c55c bug 905243 - make the constructors for mozilla::Atomic constexpr r=froydnj 2013-08-14 16:28:17 -04:00
Ms2ger
c2315a28ab Bug 904110 - Move alignment features out of Util.h into a new header; r=Waldo 2013-08-14 09:00:52 +02:00
Ms2ger
63c343bbec Bug 903797 - Update mfbt/STYLE to the current policy about include guards; r=Waldo 2013-08-14 09:00:42 +02:00
Till Schneidereit
fca086ec62 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
a53f776d48 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
09ae0a3adc bug 899859 - Add typed enums support in strutures / classes - r=Waldo 2013-08-02 20:51:00 -04:00
Birunthan Mohanathas
74d86ab8ae 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
99ea7ddf76 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
184a191b8d Bug 888548 - Part 1: Add mozilla::IsEnum to TypeTraits.h. r=froydnj 2013-08-01 21:21:31 -04:00
Daniel Holbert
fbd9609857 backout 1e31542e117c (Bug 888548 part 1) for B2G build bustage on a CLOSED TREE 2013-07-31 19:05:34 -07:00
Daniel Holbert
f072f8adf2 backout f607ac59de19 (Bug 888548 part 2) for B2G build bustage 2013-07-31 19:05:05 -07:00
Daniel Holbert
3d1a17c2ef backout fc98067f0aa4 (Bug 888548 part 3) for B2G build bustage 2013-07-31 19:04:25 -07:00
Birunthan Mohanathas
99ffeabe6b 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
70a5f02910 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
d95e4e6a53 Bug 888548 - Part 1: Add mozilla::IsEnum to TypeTraits.h. r=froydnj 2013-07-31 21:15:25 -04:00
Ehsan Akhgari
a58a6ce8fc 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
085494b95d 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
2508cb7970 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
99eaa83527 Bug 872127 - Part 3: Remove MSStdInt.h; r=Waldo 2013-07-30 10:25:42 -04:00
Ehsan Akhgari
3717325909 Bug 872127 - Part 2: Replace mozilla/StandardInteger.h with stdint.h; r=Waldo,ted 2013-07-30 10:25:31 -04:00
Jeff Walden
c184cc6855 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
98971b1513 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
afc4f3df3f 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
d6be8d390f 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
746bdecb9c Bug 784739 - Switch from NULL to nullptr in mfbt/. r=jwalden 2013-07-25 16:31:48 -07:00
Nicholas Nethercote
b3d76cccc1 Bug 892806 - Clean up InflateUTF8String() and related functions. r=terrence.
--HG--
extra : rebase_source : df901e9900fbd01f1adbe430b9ac52428499681f
2013-07-09 23:17:32 -07:00
Ms2ger
f4ac238f7a Bug 896341 - Update include guards and modelines in MFBT; r=Waldo 2013-07-24 09:41:39 +02:00
Ms2ger
7d7359c752 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
ce23667c3b Bug 896842 - Implement mozilla::DoublesAreIdentical. r=luke 2013-06-18 15:35:03 -07:00
Jeff Walden
68d9e42907 Bug 895727 - Fix obvious typo breaking Win64 builds. r=lumpy 2013-07-18 19:30:06 -07:00
Jeff Walden
10bde77bda 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
5e2dbd029b 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
f52f37cddc 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
f424972f65 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
22dc4f4806 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
546adc5f62 Bug 892839 - Fix buggy example code in Move.h. r=luke DONTBUILD 2013-07-15 10:40:30 -07:00
Xavier Fung
c10fec5a62 Bug 888159 - Fix Decimap.cpp building on VS2013. r=Waldo 2013-07-11 10:13:29 +09:00
Jeff Walden
a2ead3b20d 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
6fc6164554 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
d13ea6b69f 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
616c67fb9d 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
adfd71c863 bug 888493 - add MOZ_CONSTEXPR_VAR r=waldo 2013-06-28 17:34:51 -04:00
Phil Ringnalda
af1c32b2a0 Backed out changeset 454706720bbc (bug 888493) for build bustage
CLOSED TREE
2013-07-04 13:06:07 -07:00
Trevor Saunders
922e268c2b bug 888493 - add MOZ_CONSTEXPR_VAR r=waldo 2013-06-28 17:34:51 -04:00
Justin Lebar
c889f21d8f 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
d9ea536e65 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
cab87a0cce 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
db90a60eb4 Bug 763070 - Give MOZ_CRASH() an optional string argument. r=waldo 2013-06-28 18:38:30 -07:00
Jeff Walden
feb2f8ac64 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
e65c7cb8bd 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
80348e936e Bug 878925 - Update double-conversion to latest git revision. r=jwalden
--HG--
extra : rebase_source : 01275cc88cfb119f231ba83cfec0579bc11edfe1
2013-06-27 16:25:32 -07:00