qglobal.h: remove deprecated global functions
Since 5.0 - qMalloc(), qFree(), qRealloc(), qMemCopy(), qMemSet() Since 5.15 - qsrand(), qrand() Change-Id: I74fa3d17b05521271c3dc563fc85a5b133289ce3 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
This commit is contained in:
parent
ff555d8965
commit
9ee554ac1d
@ -122,12 +122,6 @@ extern "C" {
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
#if !QT_DEPRECATED_SINCE(5, 0)
|
||||
// Make sure they're defined to be exported
|
||||
Q_CORE_EXPORT void *qMemCopy(void *dest, const void *src, size_t n);
|
||||
Q_CORE_EXPORT void *qMemSet(void *dest, int c, size_t n);
|
||||
#endif
|
||||
|
||||
// Statically check assumptions about the environment we're running
|
||||
// in. The idea here is to error or warn if otherwise implicit Qt
|
||||
// assumptions are not fulfilled on new hardware or compilers
|
||||
@ -3165,9 +3159,6 @@ Q_CORE_EXPORT Q_DECL_CONST_FUNCTION unsigned int qt_int_sqrt(unsigned int n)
|
||||
return p;
|
||||
}
|
||||
|
||||
void *qMemCopy(void *dest, const void *src, size_t n) { return memcpy(dest, src, n); }
|
||||
void *qMemSet(void *dest, int c, size_t n) { return memset(dest, c, n); }
|
||||
|
||||
// In the C runtime on all platforms access to the environment is not thread-safe. We
|
||||
// add thread-safety for the Qt wrappers.
|
||||
static QBasicMutex environmentMutex;
|
||||
|
@ -968,13 +968,6 @@ inline void qSwap(T &value1, T &value2)
|
||||
|
||||
QT_WARNING_POP
|
||||
|
||||
#if QT_DEPRECATED_SINCE(5, 0)
|
||||
Q_CORE_EXPORT QT_DEPRECATED void *qMalloc(size_t size) Q_ALLOC_SIZE(1);
|
||||
Q_CORE_EXPORT QT_DEPRECATED void qFree(void *ptr);
|
||||
Q_CORE_EXPORT QT_DEPRECATED void *qRealloc(void *ptr, size_t size) Q_ALLOC_SIZE(2);
|
||||
Q_CORE_EXPORT QT_DEPRECATED void *qMemCopy(void *dest, const void *src, size_t n);
|
||||
Q_CORE_EXPORT QT_DEPRECATED void *qMemSet(void *dest, int c, size_t n);
|
||||
#endif
|
||||
Q_CORE_EXPORT void *qMallocAligned(size_t size, size_t alignment) Q_ALLOC_SIZE(1);
|
||||
Q_CORE_EXPORT void *qReallocAligned(void *ptr, size_t size, size_t oldsize, size_t alignment) Q_ALLOC_SIZE(2);
|
||||
Q_CORE_EXPORT void qFreeAligned(void *ptr);
|
||||
@ -1268,14 +1261,6 @@ Q_CORE_EXPORT int qEnvironmentVariableIntValue(const char *varName, bool *ok=nu
|
||||
inline int qIntCast(double f) { return int(f); }
|
||||
inline int qIntCast(float f) { return int(f); }
|
||||
|
||||
/*
|
||||
Reentrant versions of basic rand() functions for random number generation
|
||||
*/
|
||||
#if QT_DEPRECATED_SINCE(5, 15)
|
||||
Q_CORE_EXPORT QT_DEPRECATED_VERSION_X_5_15("use QRandomGenerator instead") void qsrand(uint seed);
|
||||
Q_CORE_EXPORT QT_DEPRECATED_VERSION_X_5_15("use QRandomGenerator instead") int qrand();
|
||||
#endif
|
||||
|
||||
#define QT_MODULE(x)
|
||||
|
||||
#if !defined(QT_BOOTSTRAPPED) && defined(QT_REDUCE_RELOCATIONS) && defined(__ELF__) && \
|
||||
|
@ -49,29 +49,6 @@
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
#if !QT_DEPRECATED_SINCE(5, 0)
|
||||
// Make sure they're defined to be exported
|
||||
Q_CORE_EXPORT void *qMalloc(size_t size) Q_ALLOC_SIZE(1);
|
||||
Q_CORE_EXPORT void qFree(void *ptr);
|
||||
Q_CORE_EXPORT void *qRealloc(void *ptr, size_t size) Q_ALLOC_SIZE(2);
|
||||
#endif
|
||||
|
||||
|
||||
void *qMalloc(size_t size)
|
||||
{
|
||||
return ::malloc(size);
|
||||
}
|
||||
|
||||
void qFree(void *ptr)
|
||||
{
|
||||
::free(ptr);
|
||||
}
|
||||
|
||||
void *qRealloc(void *ptr, size_t size)
|
||||
{
|
||||
return ::realloc(ptr, size);
|
||||
}
|
||||
|
||||
void *qMallocAligned(size_t size, size_t alignment)
|
||||
{
|
||||
return qReallocAligned(nullptr, size, 0, alignment);
|
||||
|
@ -595,7 +595,7 @@ inline QRandomGenerator::SystemGenerator &QRandomGenerator::SystemGenerator::sel
|
||||
|
||||
\snippet code/src_corelib_global_qrandom.cpp 3
|
||||
|
||||
\sa QRandomGenerator64, qrand()
|
||||
\sa QRandomGenerator64
|
||||
*/
|
||||
|
||||
/*!
|
||||
@ -1242,62 +1242,4 @@ static inline QRandEngine *randTLS()
|
||||
}
|
||||
#endif
|
||||
|
||||
/*!
|
||||
\relates <QtGlobal>
|
||||
\deprecated
|
||||
\since 4.2
|
||||
|
||||
Thread-safe version of the standard C++ \c srand() function.
|
||||
|
||||
Sets the argument \a newSeed to be used to generate a new random number sequence of
|
||||
pseudo random integers to be returned by qrand().
|
||||
|
||||
The sequence of random numbers generated is deterministic per thread. For example,
|
||||
if two threads call qsrand(1) and subsequently call qrand(), the threads will get
|
||||
the same random number sequence.
|
||||
|
||||
\note This function is deprecated. In new applications, use
|
||||
QRandomGenerator instead.
|
||||
|
||||
\sa qrand(), QRandomGenerator
|
||||
*/
|
||||
void qsrand(uint newSeed)
|
||||
{
|
||||
auto prng = randTLS();
|
||||
if (prng)
|
||||
prng->seed(newSeed);
|
||||
else
|
||||
srand(newSeed);
|
||||
}
|
||||
|
||||
/*!
|
||||
\relates <QtGlobal>
|
||||
\deprecated
|
||||
\since 4.2
|
||||
|
||||
Thread-safe version of the standard C++ \c rand() function.
|
||||
|
||||
Returns a value between 0 and \c RAND_MAX (defined in \c <cstdlib> and
|
||||
\c <stdlib.h>), the next number in the current sequence of pseudo-random
|
||||
integers.
|
||||
|
||||
Use \c qsrand() to initialize the pseudo-random number generator with a
|
||||
seed value. Seeding must be performed at least once on each thread. If that
|
||||
step is skipped, then the sequence will be pre-seeded with a constant
|
||||
value.
|
||||
|
||||
\note This function is deprecated. In new applications, use
|
||||
QRandomGenerator instead.
|
||||
|
||||
\sa qsrand(), QRandomGenerator
|
||||
*/
|
||||
int qrand()
|
||||
{
|
||||
auto prng = randTLS();
|
||||
if (prng)
|
||||
return prng->generate();
|
||||
else
|
||||
return rand();
|
||||
}
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
@ -6,7 +6,6 @@ add_subdirectory(qgetputenv)
|
||||
add_subdirectory(qglobal)
|
||||
add_subdirectory(qnumeric)
|
||||
add_subdirectory(qfloat16)
|
||||
add_subdirectory(qrand)
|
||||
add_subdirectory(qrandomgenerator)
|
||||
add_subdirectory(qlogging)
|
||||
add_subdirectory(qtendian)
|
||||
|
@ -6,7 +6,6 @@ SUBDIRS=\
|
||||
qglobal \
|
||||
qnumeric \
|
||||
qfloat16 \
|
||||
qrand \
|
||||
qrandomgenerator \
|
||||
qlogging \
|
||||
qtendian \
|
||||
|
@ -185,7 +185,7 @@ void tst_QGlobalStatic::threadStressTest()
|
||||
void run()
|
||||
{
|
||||
QReadLocker l(lock);
|
||||
//usleep(qrand() * 200 / RAND_MAX);
|
||||
//usleep(QRandomGenerator::global()->generate(200));
|
||||
// thundering herd
|
||||
try {
|
||||
threadStressTestGS();
|
||||
|
1
tests/auto/corelib/global/qrand/.gitignore
vendored
1
tests/auto/corelib/global/qrand/.gitignore
vendored
@ -1 +0,0 @@
|
||||
tst_qrand
|
@ -1,10 +0,0 @@
|
||||
# Generated from qrand.pro.
|
||||
|
||||
#####################################################################
|
||||
## tst_qrand Test:
|
||||
#####################################################################
|
||||
|
||||
qt_add_test(tst_qrand
|
||||
SOURCES
|
||||
tst_qrand.cpp
|
||||
)
|
@ -1,4 +0,0 @@
|
||||
CONFIG += testcase
|
||||
TARGET = tst_qrand
|
||||
QT = core testlib
|
||||
SOURCES = tst_qrand.cpp
|
@ -1,76 +0,0 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the test suite of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:GPL-EXCEPT$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
#include <QtTest/QtTest>
|
||||
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
|
||||
class tst_QRand: public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
private slots:
|
||||
void testqrand();
|
||||
};
|
||||
|
||||
void tst_QRand::testqrand()
|
||||
{
|
||||
const int numTestValues = 100;
|
||||
|
||||
int generatedNumbers[numTestValues];
|
||||
bool generatesSameSequence = true;
|
||||
|
||||
// test without calling srand() first
|
||||
// should give same sequence as with srand(1)
|
||||
|
||||
for (int i=0; i<numTestValues; ++i)
|
||||
generatedNumbers[i] = qrand();
|
||||
|
||||
qsrand(1);
|
||||
for (int i=0; i<numTestValues; ++i)
|
||||
if (generatedNumbers[i] != qrand())
|
||||
generatesSameSequence = false;
|
||||
|
||||
QVERIFY(generatesSameSequence);
|
||||
|
||||
for (unsigned int seed=1; seed < 10; seed+=100) {
|
||||
|
||||
qsrand(seed);
|
||||
for (int i=0; i<numTestValues; ++i)
|
||||
generatedNumbers[i] = qrand();
|
||||
|
||||
qsrand(seed);
|
||||
generatesSameSequence = true;
|
||||
for (int i=0; i<numTestValues; ++i)
|
||||
if (generatedNumbers[i] != qrand())
|
||||
generatesSameSequence = false;
|
||||
|
||||
QVERIFY(generatesSameSequence);
|
||||
}
|
||||
}
|
||||
|
||||
QTEST_MAIN(tst_QRand)
|
||||
#include "tst_qrand.moc"
|
Loading…
x
Reference in New Issue
Block a user