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
TestDoublyLinkedList.cpp
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
TestMacroForEach.cpp
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
TestPair.cpp Backed out 4 changesets (bug 525063) on request from Andi. a=backout 2018-04-13 16:01:28 +03:00
TestPoisonArea.cpp
TestRange.cpp
TestRefPtr.cpp
TestResult.cpp
TestRollingMean.cpp
TestSHA1.cpp
TestSaturate.cpp
TestScopeExit.cpp
TestSegmentedVector.cpp
TestSmallPointerArray.cpp
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
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
TestVector.cpp
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