Commit Graph

474 Commits

Author SHA1 Message Date
Seth Fowler
f9cdc752b1 Bug 912299 - Make RefCounted's refcount field mutable. r=waldo 2013-09-06 13:32:55 -07:00
Mike Hommey
f8bc7fa754 Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Jeff Walden
de9ce95170 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
2e1d99cde5 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
a466fea3f5 Bug 910814 - IonMonkey: Add testcases for several FloatingPoint.h predicates. r=waldo 2013-09-02 13:53:35 -07:00
Jan Beich
c844d2ff62 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
7cc0542786 Bug 906783 - Attempt to detect the standard C++ library version, r=Waldo 2013-08-29 22:44:23 -05:00
Justin Lebar
6bc3732c09 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
66f7416cab 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
35a65ed466 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
3005147418 No bug: Fix whitespace in mozilla/LinkedList.h. DONTBUILD 2013-08-22 14:39:34 -07:00
Justin Lebar
731cefe044 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
9c181eb3fd Bug 906909 - Make LinkedList::debugAssertIsSane() compile. r=waldo
--HG--
extra : rebase_source : 60027f53b4a8fa91dd7e42863c271c36395d6851
2013-08-21 12:04:29 -07:00
Dan Gohman
490ec473f0 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
240cf1fc53 Bug 905850 - Vector should not be copyable (r=terrence)
--HG--
extra : rebase_source : 49c2175af92b79a08982d7dfbc7b7af266b27f7a
2013-08-16 10:21:28 -05:00
Trevor Saunders
523a468b97 bug 905243 - make the constructors for mozilla::Atomic constexpr r=froydnj 2013-08-14 16:28:17 -04:00
Ms2ger
9d023a67df Bug 904110 - Move alignment features out of Util.h into a new header; r=Waldo 2013-08-14 09:00:52 +02:00
Ms2ger
dd430907f0 Bug 903797 - Update mfbt/STYLE to the current policy about include guards; r=Waldo 2013-08-14 09:00:42 +02:00
Till Schneidereit
2616b9851c 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
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
Guillaume Abadie
7aa8f18b52 bug 899859 - Add typed enums support in strutures / classes - r=Waldo 2013-08-02 20:51:00 -04: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
Birunthan Mohanathas
e58014264e 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
63361e8113 Bug 888548 - Part 1: Add mozilla::IsEnum to TypeTraits.h. r=froydnj 2013-08-01 21:21:31 -04:00
Daniel Holbert
833ec04321 backout 1e31542e117c (Bug 888548 part 1) for B2G build bustage on a CLOSED TREE 2013-07-31 19:05:34 -07:00
Daniel Holbert
f8d5639ac1 backout f607ac59de19 (Bug 888548 part 2) for B2G build bustage 2013-07-31 19:05:05 -07:00
Daniel Holbert
819cbd5af1 backout fc98067f0aa4 (Bug 888548 part 3) for B2G build bustage 2013-07-31 19:04:25 -07:00
Birunthan Mohanathas
6f4e72b203 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
19404c8ec4 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
1ee96e1d2b Bug 888548 - Part 1: Add mozilla::IsEnum to TypeTraits.h. r=froydnj 2013-07-31 21:15:25 -04:00
Ehsan Akhgari
d344af7264 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
2824b29025 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
86df43c75a 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
8a2e6c774e Bug 872127 - Part 3: Remove MSStdInt.h; r=Waldo 2013-07-30 10:25:42 -04:00
Ehsan Akhgari
ef4b479714 Bug 872127 - Part 2: Replace mozilla/StandardInteger.h with stdint.h; r=Waldo,ted 2013-07-30 10:25:31 -04:00
Jeff Walden
cea309af82 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
9dddd7b506 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
9e65e2904f 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
c5cf7535b6 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
0c642c695d Bug 784739 - Switch from NULL to nullptr in mfbt/. r=jwalden 2013-07-25 16:31:48 -07:00
Nicholas Nethercote
199d172e78 Bug 892806 - Clean up InflateUTF8String() and related functions. r=terrence.
--HG--
extra : rebase_source : df901e9900fbd01f1adbe430b9ac52428499681f
2013-07-09 23:17:32 -07:00
Ms2ger
51f391870b Bug 896341 - Update include guards and modelines in MFBT; r=Waldo 2013-07-24 09:41:39 +02:00
Ms2ger
10d5739f7a 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
25c4d5d841 Bug 896842 - Implement mozilla::DoublesAreIdentical. r=luke 2013-06-18 15:35:03 -07:00
Jeff Walden
65803582cf Bug 895727 - Fix obvious typo breaking Win64 builds. r=lumpy 2013-07-18 19:30:06 -07:00
Jeff Walden
64982b30df 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
7c8d6dea3e 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
9248a5e743 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
8bad2a44e0 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
8a8e1ffd26 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
fc156c847f Bug 892839 - Fix buggy example code in Move.h. r=luke DONTBUILD 2013-07-15 10:40:30 -07:00
Xavier Fung
4ba1624cef Bug 888159 - Fix Decimap.cpp building on VS2013. r=Waldo 2013-07-11 10:13:29 +09:00
Jeff Walden
90a0f4dfea 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
7a5c915ff2 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
3bc19b56c2 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
791a4e2b4e 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
c9c3f11e7c bug 888493 - add MOZ_CONSTEXPR_VAR r=waldo 2013-06-28 17:34:51 -04:00
Phil Ringnalda
7dd50910d4 Backed out changeset 454706720bbc (bug 888493) for build bustage
CLOSED TREE
2013-07-04 13:06:07 -07:00
Trevor Saunders
7e27dbafc9 bug 888493 - add MOZ_CONSTEXPR_VAR r=waldo 2013-06-28 17:34:51 -04:00
Justin Lebar
3da6ed220e 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
674bdae8dc 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
051c5b560a 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
c144581d22 Bug 763070 - Give MOZ_CRASH() an optional string argument. r=waldo 2013-06-28 18:38:30 -07:00
Jeff Walden
13aed03de7 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
66b88396c7 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
34bc4c281c Bug 878925 - Update double-conversion to latest git revision. r=jwalden
--HG--
extra : rebase_source : 01275cc88cfb119f231ba83cfec0579bc11edfe1
2013-06-27 16:25:32 -07:00
Masatoshi Kimura
2b3b31ec7e Bug 839998 - Replace thisDuringConstruction() with MOZ_THIS_IN_INITIALIZER_LIST(). r=waldo 2013-06-27 00:15:53 +09:00
Masatoshi Kimura
f7d20e1769 Bug 839998 - Introduce MOZ_THIS_IN_INITIALIZER_LIST macro. r=waldo 2013-06-27 00:15:52 +09:00
Emanuel Hoogeveen
c1374919d0 Bug 886128 - Fix various clang warnings and some potential bugs in nonstandard configurations. r=nnethercote,terrence.
--HG--
extra : rebase_source : 0d833ecc9879f5d9fd0a28f9b4eca7793d01aa40
2013-06-24 21:32:05 -07:00
Catalin Iacob
0990f16fa9 Bug 798914 (part 1) - Introduce mozilla::MallocSizeOf in mfbt. r=Waldo.
--HG--
extra : rebase_source : 45cb28264b1aa3fe9adc9bdc9ed73bead4332af6
2013-06-23 12:57:47 +02:00
Brian O'Keefe
11bcc1cd9e Bug 875934 - Move LIBRARY_NAME to moz.build (batch #1); r=mshal
--HG--
extra : rebase_source : 385d3fd65475ffc18ee44ae088753649470e214b
2013-06-17 15:21:01 -04:00
Jeff Gilbert
3049ca7c76 Bug 881980 - Allow casting CheckedInts to other CheckedInt types. - r=bjacob,waldo 2013-06-14 15:19:40 -07:00
Jeff Gilbert
75ab2ff473 Bug 874764 - Add CheckedInt support for operator%. - r=bjacob,waldo 2013-06-14 15:19:30 -07:00
Justin Lebar
532a674922 No bug - Fix typo in comment in mfbt/HashFunctions.h. DONTBUILD 2013-06-14 11:17:01 -07:00
Jeff Walden
3e42b95bec Bug 798179 - Rewrite ToIntWidth to more simply act upon the actual bits of the IEEE-754 representation. r=froydnj
--HG--
extra : rebase_source : fb2da4e55b258b6b62c1c9449447fccff8c2012d
2013-06-07 13:22:45 -07:00
Jeff Walden
d4e61d152b Rename a method from 'check' to 'checkBounds' to avoid colliding with a 'check' macro in an OS X system header. (No, really.) Noticed while tryservering patches for bug 798179, r=rage
--HG--
extra : rebase_source : 3f9323afa6e80962ede30d1b953b95f3d363ccd0
2013-06-10 15:31:37 -07:00
Jeff Walden
6249325181 Bug 798179 - Implement mozilla::MakeUnsigned. r=froydnj
--HG--
extra : rebase_source : fdd1fe8841d1bc42c1758cd4d477969b3f382b30
2013-03-05 15:44:02 -08:00
Jeff Walden
ccd085af07 Bug 798179 - Implement mozilla::MakeSigned. r=froydnj
--HG--
extra : rebase_source : 357bf046219e37959d66fde6b2ad2b7f5746960f
2013-03-05 15:44:02 -08:00
Jeff Walden
38cfd84ad8 Bug 798179 - Implement To BitwiseCast<To>(From), abstracting the treatment of a value's bits as being of another type. r=froydnj
--HG--
extra : rebase_source : e6c57c10f7035b2654eafdd5fa2b3c5d8882f282
2013-06-06 18:47:51 -07:00
Timothy B. Terriberry
a5f847a092 Bug 881163 - Require gcc 4.5.2 for C++11 atomics, r=froydnj 2013-06-10 09:17:00 -07:00
Karl Tomlinson
16178a830e b=880492 use GCC's typeof when decltype is not available r=Waldo
--HG--
extra : transplant_source : %F89%13%B2%E9%C7%99C%82%0D%E2C%2C%5E%A8%06Uo%B6%9A
2013-06-10 12:37:16 +12:00
Landry Breuil
fae08ebf77 Bug 876156: Don't try using <atomic> on OpenBSD which uses an old libstdc++ r=nfroyd 2013-06-01 00:23:01 +02:00
Nathan Froyd
443c507139 Bug 873649 - don't assume <atomic> is usable with clang on a Linux system; r=Waldo 2013-05-17 17:04:30 -04:00
Brian Hackett
1fdaad701e Bug 678037 - Add (disabled) ability to parse script bytecode lazily, r=luke. 2013-05-30 06:29:56 -06:00
Joshua Cranmer
b88d6bba0e Bug 876701 - Static analysis failure in nsMathMLsemanticsFrame.h, r=karlt 2013-05-28 22:20:44 -05:00
Justin Lebar
7729e7ff63 Bug 876691 - Unbreak mfbt/Atomics.h for Windows x64. r=me 2013-05-28 15:26:25 -04:00
Joshua Cranmer
f9295075bf Bug 868285 - Fix static checking builds, part 2: Add MOZ_NONHEAP_CLASS. r=ehsan
--HG--
rename : build/clang-plugin/tests/TestStackClass.cpp => build/clang-plugin/tests/TestNonHeapClass.cpp
2013-05-27 16:05:02 -05:00
Joshua Cranmer
6a948c71c1 Bug 868285 - Fix static checking builds, part 1: infer MOZ_STACK_CLASS. r=bsmedberg 2013-05-27 16:04:18 -05:00
Justin Lebar
c002d5a3a3 Bug 873800 - Add compare-and-exchange to mfbt/Atomics.h. r=froydnj
--HG--
extra : rebase_source : c9e455ed249e6b3cd0f532d240abfb602e2e88a8
2013-05-24 13:10:47 -04:00
Justin Lebar
d0980f2231 Bug 873799 - Add an explicit barrier before __sync_lock_test_and_set in mfbt/Atomics.h r=froydnj
--HG--
extra : rebase_source : 64d23f1df2fef8719413800ebb0afe6f51d1e3af
2013-05-24 13:10:47 -04:00
Jeff Walden
102c0879dc Bug 873585 - Silence a vacuous-comparison-against-0 warning when compiling with gcc 4.5, at least. Also make IsSigned/IsUnsigned actually work on floating-point types. r=froydnj
--HG--
extra : rebase_source : 149695699ddb5cde3058a066785c2dc4c7c221e7
2013-05-17 11:07:02 -07:00
Mike Hommey
32f20f1c9f Bug 864035 - Add an atomic RefCounted and WeakPtr implementation. r=Waldo 2013-05-18 09:52:53 +02:00
Nathan Froyd
a183814740 Bug 732043 - part 2 - add tests for mfbt/Atomics.h; r=Waldo; original-author=jcranmer 2013-04-25 15:10:38 -04:00
Nathan Froyd
58d13e374c Bug 732043 - part 1 - add mfbt/Atomics.h; r=Waldo; original-author=jcranmer 2013-04-22 14:12:03 -04:00
Mats Palmgren
f39bc082e5 Bug 871032 - Move the MOZ_ASSERTs after the declarations to work around MSVC Opt build failure when this file is compiled as C. r=roc 2013-05-13 16:28:29 +02:00
Nathan Froyd
7ceff1cbc9 Bug 858131 - rewrite FloatingPoint.h to be C++-only instead of C-compatible C++; r+original-author=Waldo 2013-05-01 16:55:13 -04:00
Benoit Jacob
3701ad32bf Bug 869194 - CheckedInt should consistently reject unsupported types - r=Waldo 2013-05-08 17:25:15 -04:00
Benoit Jacob
b6ecd61d8f Bug 869685 - Reintroduce long long support in CheckedInt - r=Waldo 2013-05-08 17:25:03 -04:00
Jeff Walden
681ef17caa Bug 869238 - Silence various -Wtype-limits warnings in Casting.h when instantiated with types with various size relationships. r=froydnj 2013-05-06 16:38:42 -07:00
Jeff Walden
cd828216f9 Back out cff7378485bc (bug 869238), Windows bustage (at least). r=redness 2013-05-07 13:45:43 -07:00
Jeff Walden
e416b6c6dc Bug 869238 - Silence various -Wtype-limit warnings in Casting.h when instantiated with types with various size relationships. r=froydnj 2013-05-06 16:38:42 -07:00
Mats Palmgren
a72cd1a4d3 Bug 867530 - Move PresArena poisoning code to MFBT. r=roc
--HG--
rename : layout/base/tests/cpp-tests/TestPoisonArea.cpp => mfbt/tests/TestPoisonArea.cpp
2013-05-07 20:48:59 +02:00
Jeff Walden
222fa50b5a Bug 862657 - Make PodCopy work even when copying to a volatile address, and add PodArrayCopy for copying one fixed-size array into another array of the same size. r=froydnj
--HG--
extra : rebase_source : 7bb59639b95ec7a05272ab0215bbc04a210c11d5
2013-05-06 11:05:52 -07:00
Jeff Walden
32b7fd0adb Bug 862657 - Implement mozilla::IsConst and mozilla::IsVolatile. r=froydnj
--HG--
extra : rebase_source : acc955d825069fa1db7b4f86117d50dbbfc05826
2013-03-05 15:44:02 -08:00
Jonathan Watt
50d06d14f4 Bug 853525, part 9 - Changes to Decimal code as a series of patches for update.sh. r=Waldo 2013-05-06 00:23:18 +01:00
Jonathan Watt
72b8b5ccf3 Bug 853525, part 8 - Enable building of mfbt/decimal. r=Waldo 2013-05-06 00:23:17 +01:00
Jonathan Watt
ac4a69d01d Bug 853525, part 7 - Make mfbt/decimal/Decimal{.h/.cpp} use Mozilla/std dependencies instead of Blink core dependencies. r=Waldo 2013-05-06 00:23:17 +01:00
Jonathan Watt
fc95412fe0 Bug 854531, part 6 - Add MFBT_API markers to Decimal methods. r=Waldo 2013-05-06 00:23:17 +01:00
Jonathan Watt
75bf9552df Bug 854531, part 5 - Fix the handling of NaN in Decimal::operator== and Decimal::operator!=. r=Waldo 2013-05-06 00:23:17 +01:00
Jonathan Watt
e786fa472d Bug 854531, part 4 - Fix bug in Decimal serialization so that it won't display zero as 0.00 etc. r=Waldo 2013-05-06 00:23:16 +01:00
Jonathan Watt
9c225c67e3 Bug 854531, part 3 - Fix bugs in Decimal::floor() and Decimal::ceiling(). r=Waldo 2013-05-06 00:23:16 +01:00
Jonathan Watt
947c39fa22 Bug 854531, part 2 - Add update.sh script to mfbt/decimal/. r=Waldo 2013-05-06 00:23:15 +01:00
Jonathan Watt
d429bd165f Bug 854531, part 1 - Import a vanilla copy of r148833 of Blink core's Decimal class from http://src.chromium.org/viewvc/blink/trunk/Source/core/platform/. r=Waldo 2013-05-06 00:23:15 +01:00
Stephen Kraemer
90ce4b84a3 Bug 836078 - Replace all gcc __GNUC__ version checks with MOZ_GCC_VERSION_AT_LEAST macro. r=dvander 2013-05-01 15:45:05 -04:00
Jeff Walden
f6494f1354 Bug 865036 - Add a Casting.h header to hold various casting methods, right now including a SafeCast method that asserts in-rangeness. r=froydnj
--HG--
extra : rebase_source : ef175e4c89d07cddbe866a40fc2ca521fa32c441
2013-04-23 14:36:51 -07:00
Jeff Walden
9a504ab17c Bug 865036 - Implement mozilla::Is{S,Uns}igned. r=froydnj
--HG--
extra : rebase_source : 6df6f2810a71bc6331be54708516bbafb24ea5c0
2013-04-23 14:35:18 -07:00
Jeff Walden
96f6c6e769 Bug 865036 - Implement mozilla::IsFloatingPoint and mozilla::IsArithmetic. r=froydnj
--HG--
extra : rebase_source : 6813cd2a4c0b3ef460d43a5dcc21c8220702cd08
2013-04-23 14:24:26 -07:00
Jeff Gilbert
4cef91ed01 Bug 822431 - Use MOZ_UNLIKELY in MOZ_ASSERT. r=waldo 2013-04-19 16:20:35 -07:00
Ehsan Akhgari
16e22cc0af Bug 863884 - Prepare WeakPtr to support a thread-safe variant; r=Waldo 2013-04-19 17:59:01 -04:00
Bill McCloskey
52b75b6ca8 Bug 863116 - MOZ_ALWAYS_INLINE should not inline in debug builds (r=Waldo) 2013-04-19 10:55:34 -07:00
Joshua Cranmer
be07522e81 Bug 856108 - Port static analyses to clang, part 1: stack-class. r=ehsan 2013-04-11 22:20:02 -05:00
Chris Peterson
36cca5d02e Bug 798172 - Apple's default clang 4.2 does not have __builtin_bswap16(). r=Waldo 2013-04-03 23:40:39 -07:00
Nathan Froyd
e15f39cb8c Bug 798172 - part 3 - convert SHA1.cpp to use Endian.h; r=Waldo 2013-01-30 16:47:00 -05:00
Nathan Froyd
7ef4ee80d8 Bug 798172 - part 2 - add tests for mfbt/Endian.h; r=Waldo 2013-01-30 16:46:45 -05:00
Nathan Froyd
bcb463b2ef Bug 798172 - part 1 - add mfbt/Endian.h; r=Waldo 2013-01-30 16:45:39 -05:00
Nathan Froyd
94ac509a99 Bug 853646 - part 1 - add mozilla::IsIntegral to TypeTraits.h; r=Waldo 2013-04-02 11:49:58 -04:00
Nathan Froyd
6713a93963 Bug 853646 - part 0 - add mozilla::Remove{Const,Volatile,CV} to TypeTraits.h; r=Waldo 2013-04-02 11:49:26 -04:00
Ehsan Akhgari
35de15c4b7 Follow-up to bug 857790 - Undo the unintentional change to PodOperations.h 2013-04-03 18:59:24 -04:00
Ehsan Akhgari
d7c5934da8 Bug 857790 - Convert AudioParam time values to ticks relative to the source stream, not the destination stream; r=roc 2013-04-03 17:28:49 -04:00
Jeff Walden
cbb9822c34 Bug 856850 - Implement a PodOperations.h header that includes all the Pod* functions currently in jsutil.h. r=Ms2ger 2013-04-01 22:43:19 -07:00
Kyle Machulis
72a717a860 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Kyle Machulis
43628a7867 Backout for changeset 03452b187c14 (Bug 855465) due to bustage on a CLOSED TREE; r=qdot 2013-03-29 15:12:58 -07:00
Kyle Machulis
334c0800cf Bug 855465 - Add emacs python mode comments to moz.build files; r=gps
--HG--
extra : rebase_source : 004a756492323e1a049586e85b3be5037159df20
2013-03-29 13:56:18 -07:00
Jeff Walden
06030702e3 Add [specref] references to all the section-comments in TypeTraits.h, to further ease reading/searching. Followup to bug 853988, suggested by froydnj
--HG--
extra : rebase_source : 896b6abb3430b890a8de699fc044d0cd0624936a
2013-03-25 12:05:19 -07:00
Jeff Walden
c7a586f0b2 Bug 853988 - Replace uses of Conditional<..., TrueType, FalseType>::Type with IntegralConstant<bool, ...>. r=froydnj
--HG--
extra : rebase_source : 1c2deaac32b2ddefa67bb935f961a182aad31ad2
2013-03-25 11:11:55 -07:00
Jeff Walden
9aa7c64cc8 Bug 853988 - Move IsPod to the right place. r=froydnj
--HG--
extra : rebase_source : 6ea8970965e953b5f372385f933bbc796bfc2015
2013-03-22 00:22:05 -07:00
Jeff Walden
82558a689d Bug 853988 - Move Conditional to the right place. r=froydnj
--HG--
extra : rebase_source : e0d78a6fe6a07f07dfa054dda2fc74edffe0374b
2013-03-22 00:20:41 -07:00
Jeff Walden
1293137251 Bug 853988 - Move IsConvertible to the right place. r=froydnj
--HG--
extra : rebase_source : dc7d5a6e21e098a7826230a28f70d6305fa2103f
2013-03-22 00:18:58 -07:00
Jeff Walden
bdeb756e72 Bug 853988 - Move IsPointer and IsSame to the right locations. r=froydnj
--HG--
extra : rebase_source : d945be1ef45f3f6d6a1bed67d4e2c240c882d1ef
2013-03-22 00:17:59 -07:00
Jeff Walden
62bb869e9a Bug 853988 - Add C++11 section references to TypeTraits.h. r=froydnj
--HG--
extra : rebase_source : bd98561dd154b19460efaca16debcfc8082804ec
2013-03-22 00:14:38 -07:00
Joshua Cranmer
5765d5aec4 Bug 767563 - Add a clang static checker, part 3: Move the MOZ_MUST_OVERRIDE macro to MFBT. r=Waldo 2013-03-23 21:14:43 -05:00
Jeff Walden
f2bef86c4d Bug 851237 - Mark the static-assert typedef with an unused attribute so it doesn't trigger compiler warnings. r=dholbert
--HG--
extra : rebase_source : 20ad6cd988f2cf5ddedfbb7dd99e368b96c2242a
2013-03-21 18:26:06 -07:00
Mike Shal
7ecea60097 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Jeff Walden
c639434e0d Bug 847480 - Remove unused (verified by manual inspection and try) DeprecatedAbs overloads so it's harder for new uses to pop up. r=Ms2ger
--HG--
extra : rebase_source : dff4d6d2c7006fbc296c9ae0b08d3e66219f7846
2013-03-09 14:20:14 -08:00
Oleg Romashin
b5b1556951 Bug 848611 - MathAlgorithms.h:116: error: 'fabsl' was not declared in this scope. r=Waldo 2013-03-14 00:16:55 -07:00
Jeff Walden
f915a6ceec Bug 847480 - Convert DeprecatedAbs overloads taking floating point (except for nscoord uses, when nscoord is optionally a floating point type) to Abs. r=Ms2ger 2013-03-05 15:43:44 -08:00
Jeff Walden
c3efd262c7 Bug 847480 - Make mozilla::Abs return the unsigned type, for the integral types. r=bjacob 2013-03-05 15:43:38 -08:00
Jeff Walden
cb19ca39bd Bug 847480 - Copy the existing mozilla::Abs as mozilla::DeprecatedAbs, to allow mozilla::Abs to return an unsigned type when possible. r=Ms2ger 2013-03-05 15:43:23 -08:00
Benoit Jacob
cbd3607515 Bug 849667 - Fix/simplify CheckedInt's use-outside-of-MFBT setup - r=Waldo 2013-03-12 15:40:29 -04:00
Jeff Walden
36bb5830c0 Bug 849666 - Make CheckedInt<T>::operator-() not depend on undefined behavior when negating minimum signed values, and add a test for this. Patch is something of a tag-team effort by bjacob and me. r=bjacob 2013-03-11 18:45:22 -07:00