Commit Graph

575 Commits

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