gecko-dev/mfbt
Chris Peterson 975ea3bc1e Bug 1806779 - Fix C++20 -Wdeprecated-volatile warnings in mfbt/SHA1.cpp. r=glandium
C++20 deprecated decrement/increment of object of volatile-qualified types, e.g. v++.

https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1152r3.html

mfbt/SHA1.cpp:400:9 [-Wdeprecated-volatile] compound assignment to object of volatile-qualified type 'volatile unsigned int' is deprecated
mfbt/SHA1.cpp:401:9 [-Wdeprecated-volatile] compound assignment to object of volatile-qualified type 'volatile unsigned int' is deprecated
mfbt/SHA1.cpp:402:9 [-Wdeprecated-volatile] compound assignment to object of volatile-qualified type 'volatile unsigned int' is deprecated
mfbt/SHA1.cpp:403:9 [-Wdeprecated-volatile] compound assignment to object of volatile-qualified type 'volatile unsigned int' is deprecated
mfbt/SHA1.cpp:404:9 [-Wdeprecated-volatile] compound assignment to object of volatile-qualified type 'volatile unsigned int' is deprecated

shaCompress() has a comment emphasizing the importance of the X array being volatile. I verified that changing `XH(0) += A` to `XH(0) = XH(0) + A` generates the same -S assembly code (for clang -O2 on Apple Silicon).

Whether this comment about the volatile code generated by gcc 3.4.3 -O3 in 2012 is still relevant for clang 15 -O2 in 2023 is a different question.

Differential Revision: https://phabricator.services.mozilla.com/D165268
2022-12-22 02:58:24 +00:00
..
double-conversion Bug 840706 - Part 1: Add MFBT_API annotations to other methods in StringToDoubleConverter, r=glandium 2022-12-06 20:27:49 +00:00
lz4 Bug 1784990 - Update lz4 to 1.9.4. r=glandium 2022-08-31 16:10:45 +00:00
tests Bug 1806483 - Enable TSAN cppunittests by default. r=jmaher 2022-12-20 14:25:35 +00:00
Algorithm.h
Alignment.h
AllocPolicy.h Bug 1571631 - Replace MOZ_MUST_USE with [[nodiscard]] in mfbt. r=sg 2021-03-17 03:01:21 +00:00
AlreadyAddRefed.h Bug 1519636 - Reformat recent changes to the Google coding style r=andi,media-playback-reviewers,necko-reviewers,padenot,dragana 2022-06-07 12:32:55 +00:00
Array.h Bug 1733963 - Part 1: Make BitSet work as storage for EnumSet. r=glandium 2021-11-09 12:34:51 +00:00
ArrayUtils.h
Assertions.cpp Bug 1624717 - Copy release mode bounds checking from nsTArray to Array r=glandium 2021-09-09 13:29:18 +00:00
Assertions.h Bug 1748969 - Move definition of MOZ_DIAGNOSTIC_ASSERT_ENABLED to configure. r=emilio 2022-01-07 21:24:44 +00:00
AtomicBitfields.h Bug 1701879 part 5 - Add stub atomics implementation for WASI. r=wingo,glandium 2021-04-20 05:15:28 +00:00
Atomics.h Bug 1701879 part 5 - Add stub atomics implementation for WASI. r=wingo,glandium 2021-04-20 05:15:28 +00:00
Attributes.h Bug 1783051 - Turn default browser agent's EventLog into a Windows-only header utility. r=rkraesig 2022-08-17 20:01:58 +00:00
BinarySearch.h Bug 1772006 - Part 4: Simplify and move the string comparison APIs from ns[T]StringObsolete, r=xpcom-reviewers,necko-reviewers,dragana,barret 2022-07-30 00:12:48 +00:00
BitSet.h Bug 1768632: Make EnumSet compile for MSVC. r=glandium 2022-08-17 06:39:12 +00:00
BloomFilter.h
Buffer.h
BufferList.h Bug 1783242 - Part 3: Remove BufferList::Extract, r=glandium,ipc-reviewers,mccr8 2022-09-28 19:25:14 +00:00
Casting.h
ChaosMode.cpp
ChaosMode.h
Char16.h Bug 1766549 - Remove some char16ptr_t operators that allow implicit const-casting. r=nika 2022-04-27 22:28:24 +00:00
CheckedInt.h Bug 1743012 - Add missing constexpr qualifiers in CheckedInt, r=glandium 2021-11-26 19:18:49 +00:00
CompactPair.h Bug 1601556 - Make Result<V, E> a literal type if V and E are literal types and PackingStrategy is not Variant. r=emilio 2021-03-23 12:35:19 +00:00
Compiler.h
Compression.cpp
Compression.h Bug 1571631 - Replace MOZ_MUST_USE with [[nodiscard]] in mfbt. r=sg 2021-03-17 03:01:21 +00:00
DbgMacro.h
DebugOnly.h
DefineEnum.h
DoublyLinkedList.h Bug 1777925: Replaced MutationObserver array container type with linked list. r=smaug 2022-09-21 11:31:44 +00:00
EndianUtils.h Bug 1571631 - Replace MOZ_MUST_USE with [[nodiscard]] in mfbt. r=sg 2021-03-17 03:01:21 +00:00
EnumeratedArray.h
EnumeratedRange.h Bug 1730774 part 1: Give EnumeratedRange.h an include for Assertions.h, since it includes MOZ_ASSERT statements. r=TYLin 2021-09-14 22:06:22 +00:00
EnumSet.h Bug 1768632: Make EnumSet compile for MSVC. r=glandium 2022-08-17 06:39:12 +00:00
EnumTypeTraits.h
fallible.h
FastBernoulliTrial.h
FloatingPoint.cpp
FloatingPoint.h Bug 1701942 - Use bitwise equality for font variation value comparisons. r=jfkthame 2021-04-02 12:37:23 +00:00
FStream.h
FunctionRef.h
FunctionTypeTraits.h
Fuzzing.h Bug 1765543 - Add snapshot fuzzing build using Nyx r=decoder,taskgraph-reviewers,ahal 2022-05-04 19:24:58 +00:00
HashFunctions.cpp Bug 1719396: Don't hash sizeof(size_t) in HashBytes r=glandium 2021-07-19 21:35:40 +00:00
HashFunctions.h Bug 1341265 - Part 11: Optimise Set.prototype.has for objects in CacheIR. r=iain 2021-08-10 09:55:22 +00:00
HashTable.h Bug 1779940 part 2 - Add HashMap::put which relies on lookup. r=arai 2022-08-25 15:03:29 +00:00
HelperMacros.h
InitializedOnce.h
IntegerRange.h
IntegerTypeTraits.h
JSONWriter.cpp
JSONWriter.h Bug 1784812 - JSONWriter may optionally not own its writer - r=canaltinova 2022-08-17 07:07:53 +00:00
JsRust.h
Latin1.h
Likely.h
LinkedList.h Bug 1750791 - Part 1: Add LinkedList::mergeBack and LinkedList::splice. r=glandium 2022-02-24 15:00:27 +00:00
MacroArgs.h
MacroForEach.h
MathAlgorithms.h Bug 1735715 - Handle gMaxSubPageClass == 0 properly r=glandium 2021-10-21 06:03:45 +00:00
Maybe.h Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
MaybeOneOf.h Bug 1766276 - Give MaybeOneOf a map method r=jandem 2022-04-26 12:29:24 +00:00
MaybeStorageBase.h Bug 1700336 - Use MaybeStorageBase in Maybe. r=emilio 2021-03-24 13:21:31 +00:00
MemoryChecking.h
MemoryReporting.h
MoveOnlyFunction.h Bug 1743020 - Part 3: Export mozilla::MoveOnlyFunction based on function2, r=glandium 2022-06-02 13:24:10 +00:00
moz.build Bug 1784990 - Update lz4 to 1.9.4. r=glandium 2022-08-31 16:10:45 +00:00
NonDereferenceable.h
NotNull.h
Opaque.h
OperatorNewExtensions.h
PairHash.h Bug 1571631 - Replace MOZ_MUST_USE with [[nodiscard]] in mfbt. r=sg 2021-03-17 03:01:21 +00:00
Path.h
PodOperations.h
Poison.cpp Bug 1701620 part 4 - Fix memory support for WASI. r=jandem,sfink 2021-04-13 08:25:10 +00:00
Poison.h
RandomNum.cpp Bug 1780215 - Use arc4random_buf within GenerateRandomBytesFromOS when compiling to wasi r=jandem 2022-07-20 13:17:54 +00:00
RandomNum.h Bug 1723674 - mfbt: Add new GenerateRandomBytes() function. r=cmartin 2021-10-14 03:28:48 +00:00
Range.h
RangedArray.h
RangedPtr.h
ReentrancyGuard.h
RefCounted.h Bug 1746540 - Move --enable-logrefcnt to python configure. r=nika,firefox-build-system-reviewers,mhentges 2021-12-18 00:32:35 +00:00
RefCountType.h
RefPtr.h Bug 1710145 - Deduction guide RefPtr(already_AddRefed<T>) -> RefPtr<T> - r=kmag 2021-05-11 21:55:21 +00:00
Result.h Bug 1769518 - Support Rooted<Result<V,E>> as long as V and E have GCPolicy<> defined for them. (Use IgnoreGCPolicy for whichever of them does not need tracing.) r=emilio,nbp,jonco 2022-05-26 17:22:35 +00:00
ResultExtensions.h Bug 1732642 - Handle complex types in MOZ_TO_RESULT_INVOKE_MEMBER_TYPED; r=dom-storage-reviewers,jari 2021-11-30 05:05:53 +00:00
ResultVariant.h Bug 1769518 - Support Rooted<Result<V,E>> as long as V and E have GCPolicy<> defined for them. (Use IgnoreGCPolicy for whichever of them does not need tracing.) r=emilio,nbp,jonco 2022-05-26 17:22:35 +00:00
ReverseIterator.h
RollingMean.h
Saturate.h
Scoped.h
ScopeExit.h Bug 1725572 - Part 1: Support move-only closures in ScopeExit, r=glandium 2021-09-23 18:54:31 +00:00
SegmentedVector.h Bug 1730534 - Part 1: Assert state of SegmentedVector iterator is valid r=mccr8 2021-09-27 16:41:51 +00:00
SHA1.cpp Bug 1806779 - Fix C++20 -Wdeprecated-volatile warnings in mfbt/SHA1.cpp. r=glandium 2022-12-22 02:58:24 +00:00
SHA1.h
SharedLibrary.h
SmallPointerArray.h
Span.h Backed out 3 changesets (bug 1799258) for causing GTest-1proc failures on Span. CLOSED TREE 2022-12-21 01:41:43 +02:00
SplayTree.h
SPSCQueue.h Bug 1769484 - Replace std::memory_order::memory_order_XYZ with std::memory_order_XYZ. r=padenot 2022-05-17 03:24:09 +00:00
StaticAnalysisFunctions.h Bug 1699844 - Add an escape hatch for the refcounted inside lambda checker. r=andi 2021-04-14 19:12:02 +00:00
STYLE
TaggedAnonymousMemory.cpp
TaggedAnonymousMemory.h Bug 1701620 part 4 - Fix memory support for WASI. r=jandem,sfink 2021-04-13 08:25:10 +00:00
Tainting.h
TemplateLib.h
TextUtils.h Bug 1795644 - A bit of tuning of inlining in the JS parser. r=arai. 2022-10-18 05:22:03 +00:00
ThreadLocal.h Bug 1701613 part 3 - Add stub thread implementation for WASI. r=jandem,wingo 2021-04-08 08:02:16 +00:00
ThreadSafety.h Bug 1797354 - Allow specifying capability type in thread-safety macros, r=jesup,media-playback-reviewers,alwu 2022-10-28 19:55:30 +00:00
ThreadSafeWeakPtr.h Bug 1738106 - Part 2: Allow XPCOM classes to use SupportsThreadSafeWeakPtr, r=glandium,xpcom-reviewers 2022-05-02 20:37:34 +00:00
ToString.h
TsanOptions.h Bug 1768616 - TSAN suppression list update for Ubuntu 22.04 LTS. r=decoder 2022-05-10 11:54:55 +00:00
Tuple.h Bug 1788969 - Correct ForEach Tuple helper functions. r=glandium 2022-09-22 18:28:15 +00:00
TypedEnumBits.h
Types.h
TypeTraits.h
UniquePtr.h Bug 1782604 - Make UniquePtr(nullptr) constexpr r=glandium 2022-08-03 21:21:09 +00:00
UniquePtrExtensions.cpp
UniquePtrExtensions.h Bug 1802320 - Green up and re-enable style system layout tests. r=boris 2022-11-25 10:52:26 +00:00
Unused.cpp
Unused.h
Utf8.cpp
Utf8.h Bug 1742115 - Fix UnsafeConvertValidUtf8toUtf16 to wrap the correct Rust implementation. r=hsivonen 2021-11-19 18:57:44 +00:00
Variant.h Bug 1719959 - Better Tag type choice, fixed corresponding test - r=emilio 2021-07-11 09:43:50 +00:00
Vector.h Bug 1782562 - be more conservative in max Vector size r=jandem 2022-08-08 22:59:15 +00:00
WasiAtomic.h Bug 1758780 - Fallthrough to <atomic> for wasi when using clang >= 14. r=nika 2022-04-13 03:02:24 +00:00
WeakPtr.h
WindowsVersion.h Bug 1774285 - On Windows 11 22H2, flush the Windows clipboard immediately after setting it. r=neildeakin 2022-10-28 14:17:54 +00:00
WrappingOperations.h
XorShift128PlusRNG.h