Fix build in C++20 mode.
* Compound assignments to volatiles are deprecated. Use non-compound
forms.
* Math between disparate enums is deprecated. Use constexprs.
* The full definition of a type T must be visible for code that
instantiates std::vector<T>. Reorder code to guarantee this.
Components: Framework
Bug: chromium:1284275
Change-Id: I75a99b5c09cc911f2312aabe85f49aadff84dc51
diff --git a/framework/common/tcuThreadUtil.cpp b/framework/common/tcuThreadUtil.cpp
index 964c213..cb1b476 100644
--- a/framework/common/tcuThreadUtil.cpp
+++ b/framework/common/tcuThreadUtil.cpp
@@ -61,7 +61,7 @@
m_lock.lock();
if (m_result == RESULT_NOT_READY)
- m_waiterCount++;
+ m_waiterCount = m_waiterCount + 1;
else
{
m_lock.unlock();
diff --git a/framework/delibs/decpp/deSpinBarrier.cpp b/framework/delibs/decpp/deSpinBarrier.cpp
index e328abc..8111a35 100644
--- a/framework/delibs/decpp/deSpinBarrier.cpp
+++ b/framework/delibs/decpp/deSpinBarrier.cpp
@@ -102,12 +102,12 @@
{
// Release all waiting threads. Since this thread has not been removed, m_numLeaving will
// be >= 1 until m_numLeaving is decremented at the end of this function.
- m_numThreads -= m_numRemoved;
- m_numLeaving = m_numThreads;
- m_numRemoved = 0;
+ m_numThreads = m_numThreads - m_numRemoved;
+ m_numLeaving = m_numThreads;
+ m_numRemoved = 0;
deMemoryReadWriteFence();
- m_numEntered = 0;
+ m_numEntered = 0;
}
else
{
@@ -148,12 +148,12 @@
if (deAtomicIncrement32(&m_numEntered) == cachedNumThreads)
{
// Release all waiting threads.
- m_numThreads -= m_numRemoved;
- m_numLeaving = m_numThreads;
- m_numRemoved = 0;
+ m_numThreads = m_numThreads - m_numRemoved;
+ m_numLeaving = m_numThreads;
+ m_numRemoved = 0;
deMemoryReadWriteFence();
- m_numEntered = 0;
+ m_numEntered = 0;
}
}
diff --git a/framework/randomshaders/rsgExecutionContext.hpp b/framework/randomshaders/rsgExecutionContext.hpp
index b83c5d6..1df940d 100644
--- a/framework/randomshaders/rsgExecutionContext.hpp
+++ b/framework/randomshaders/rsgExecutionContext.hpp
@@ -34,10 +34,7 @@
namespace rsg
{
-enum
-{
- EXEC_VEC_WIDTH = 64
-};
+constexpr int EXEC_VEC_WIDTH = 64;
typedef ConstStridedValueAccess<EXEC_VEC_WIDTH> ExecConstValueAccess;
typedef StridedValueAccess<EXEC_VEC_WIDTH> ExecValueAccess;
diff --git a/framework/referencerenderer/rrFragmentPacket.hpp b/framework/referencerenderer/rrFragmentPacket.hpp
index 688af75..13df23f 100644
--- a/framework/referencerenderer/rrFragmentPacket.hpp
+++ b/framework/referencerenderer/rrFragmentPacket.hpp
@@ -29,10 +29,7 @@
namespace rr
{
-enum
-{
- NUM_FRAGMENTS_PER_PACKET = 4
-};
+constexpr int NUM_FRAGMENTS_PER_PACKET = 4;
/*--------------------------------------------------------------------*//*!
* \brief Fragment packet
diff --git a/modules/glshared/glsBuiltinPrecisionTests.cpp b/modules/glshared/glsBuiltinPrecisionTests.cpp
index 80c5520..a4d7842 100644
--- a/modules/glshared/glsBuiltinPrecisionTests.cpp
+++ b/modules/glshared/glsBuiltinPrecisionTests.cpp
@@ -653,33 +653,6 @@
int m_count;
};
-class ExpandContext
-{
-public:
- ExpandContext (Counter& symCounter) : m_symCounter(symCounter) {}
- ExpandContext (const ExpandContext& parent)
- : m_symCounter(parent.m_symCounter) {}
-
- template<typename T>
- VariableP<T> genSym (const string& baseName)
- {
- return variable<T>(baseName + de::toString(m_symCounter()));
- }
-
- void addStatement (const StatementP& stmt)
- {
- m_statements.push_back(stmt);
- }
-
- vector<StatementP> getStatements (void) const
- {
- return m_statements;
- }
-private:
- Counter& m_symCounter;
- vector<StatementP> m_statements;
-};
-
/*--------------------------------------------------------------------*//*!
* \brief A statement or declaration.
*
@@ -728,6 +701,33 @@
StatementP (const Super& ptr) : Super(ptr) {}
};
+class ExpandContext
+{
+public:
+ ExpandContext (Counter& symCounter) : m_symCounter(symCounter) {}
+ ExpandContext (const ExpandContext& parent)
+ : m_symCounter(parent.m_symCounter) {}
+
+ template<typename T>
+ VariableP<T> genSym (const string& baseName)
+ {
+ return variable<T>(baseName + de::toString(m_symCounter()));
+ }
+
+ void addStatement (const StatementP& stmt)
+ {
+ m_statements.push_back(stmt);
+ }
+
+ vector<StatementP> getStatements (void) const
+ {
+ return m_statements;
+ }
+private:
+ Counter& m_symCounter;
+ vector<StatementP> m_statements;
+};
+
/*--------------------------------------------------------------------*//*!
* \brief
*