gecko-dev/mfbt/tests
Gerald Squelart 9b8e47ab12 Bug 1448494 - NonDereferenceable<T> wraps a T* and prevents dereferencing ops - r=froydnj
NonDereferenceable denotes the intent that a pointer will (most likely) not be
dereferenced, but its numeric value may be used for e.g. logging purposes.

Dereferencing operations are explicitly disabled to avoid unintentional misuses.
Casting is still possible between related types (same as with raw pointers),
but pointers stay safely stored inside NonDereferenceable objects. These casts
do not trigger `clang++ -fsanitize=vptr` errors.

MozReview-Commit-ID: 5885pB7hSFR

--HG--
extra : rebase_source : 3c4011da64d84f1b19991742b76bafbffa90d590
2018-03-28 17:48:53 +11:00
..
gtest Bug 1448591 - Make MakeStringSpan(nullptr) return an empty span. r=froydnj. 2018-03-24 21:36:00 +02:00
TestAlgorithm.cpp Bug 1449094 - Implement constexpr mozilla::AllOf. r=froydnj 2018-03-28 00:01:08 +09:00
TestArray.cpp
TestArrayUtils.cpp
TestAtomics.cpp
TestBinarySearch.cpp
TestBloomFilter.cpp
TestBufferList.cpp
TestCasting.cpp
TestCeilingFloor.cpp
TestCheckedInt.cpp
TestCountPopulation.cpp
TestCountZeroes.cpp
TestDefineEnum.cpp Bug 1371771 - Add a MOZ_DEFINE_ENUM macro and variants to MFBT. r=froydnj 2017-06-30 19:58:11 -04:00
TestDoublyLinkedList.cpp Bug 1396723 - Simplify the trait users of DoublyLinkedList need to define. r=froydnj 2017-09-02 08:09:58 +09:00
TestEndian.cpp Bug 1442967 - Boo, MSVC warns when a cast will truncate a numeric constant. Arguably a desirable warning generally, but here we specifically intend the cast to narrow, so disable the warning. r=me in a CLOSED TREE 2018-03-12 19:20:42 -07:00
TestEnumSet.cpp
TestEnumTypeTraits.cpp
TestEnumeratedArray.cpp
TestFastBernoulliTrial.cpp
TestFloatingPoint.cpp Bug 744965 - Implement mozilla::NumberEqualsInt32 in a way that doesn't depend on undefined behavior casting an out-of-range floating point number to int32_t. r=froydnj 2018-02-15 17:22:14 -08:00
TestIntegerPrintfMacros.cpp
TestIntegerRange.cpp
TestJSONWriter.cpp Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj 2017-11-05 19:37:28 -08:00
TestLinkedList.cpp Bug 1456875 - Add const iterators for LinkedList r=Waldo 2018-04-30 10:21:31 +01:00
TestMacroArgs.cpp Bug 1369622 - Fix MOZ_FOR_EACH with an empty list. r=froydnj 2017-06-02 14:53:54 +09:00
TestMacroForEach.cpp Bug 1369622 - Fix MOZ_FOR_EACH with an empty list. r=froydnj 2017-06-02 14:53:54 +09:00
TestMathAlgorithms.cpp Bug 1441657 - Create a new mozilla/WrappingOperations.h header to contain implementations of common math operations with well-defined wraparound semantics. r=froydnj 2018-02-15 17:36:50 -08:00
TestMaybe.cpp
TestNonDereferenceable.cpp Bug 1448494 - NonDereferenceable<T> wraps a T* and prevents dereferencing ops - r=froydnj 2018-03-28 17:48:53 +11:00
TestNotNull.cpp Bug 1410252 - MakeNotNull<PointerType, OptionalPointeeType>(Args...) - r=njn 2017-10-20 14:56:01 +11:00
TestPair.cpp Backed out 4 changesets (bug 525063) on request from Andi. a=backout 2018-04-13 16:01:28 +03:00
TestPoisonArea.cpp Bug 1158445 - posix_madvise() should be used instead of madvise on Solaris. r=froydnj, r=jandem 2017-06-09 00:59:32 -07:00
TestRange.cpp
TestRefPtr.cpp
TestResult.cpp Bug 1419682 - add unwrap_or() for Result. r=Waldo 2017-11-22 17:14:28 +08:00
TestRollingMean.cpp
TestSHA1.cpp
TestSaturate.cpp
TestScopeExit.cpp
TestSegmentedVector.cpp
TestSmallPointerArray.cpp Bug 1397056 - Add Contains and a return parameter to Remove for SmallPointerArray. r=froydnj 2017-09-12 14:11:47 -04:00
TestSplayTree.cpp
TestTemplateLib.cpp
TestTextUtils.cpp Bug 1453456 - Replace nsCRT::IsAscii{Alpha,Digit} with mfbt/TextUtils.h versions. r=froydnj 2018-04-12 20:19:30 -07:00
TestThreadSafeWeakPtr.cpp Bug 1404742 - add test for ThreadSafeWeakPtr. r=nfroyd 2017-10-18 14:21:27 -04:00
TestTuple.cpp
TestTypeTraits.cpp Bug 1424866 - Update the comment for fix a warning: unnecessary parentheses in declaration of 'type name' r=gerald DONTBUILD 2018-01-04 11:59:13 +01:00
TestTypedEnum.cpp
TestUniquePtr.cpp
TestVariant.cpp Bug 1338389 - Tests for Variant's detail::Nth and detail::SelectVariantType - r=froydnj 2017-06-06 16:59:00 +12:00
TestVector.cpp Bug 1329019 - Allow specifying capacity to Vector::replaceRawBuffer (r=froydnj) 2017-09-22 10:34:24 -05:00
TestWeakPtr.cpp
TestWrappingOperations.cpp Bug 1445024 - Implement mozilla::WrappingSubtract. r=froydnj 2018-03-06 19:22:20 -08:00
TestXorShift128PlusRNG.cpp
moz.build Bug 1448494 - NonDereferenceable<T> wraps a T* and prevents dereferencing ops - r=froydnj 2018-03-28 17:48:53 +11:00