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
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
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
Atomics.h
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
Compiler.h
Compression.cpp
Compression.h
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
EnumeratedArray.h
EnumeratedRange.h
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
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
HashFunctions.h
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
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
Path.h
PodOperations.h
Poison.cpp
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
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
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
SegmentedVector.h
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
STYLE
TaggedAnonymousMemory.cpp
TaggedAnonymousMemory.h
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
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
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