From 77de3d45d3a56bfc04dd3bf2838bcb8f09f64ca5 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Thu, 19 Dec 2024 09:19:48 +0100 Subject: [PATCH] Remove QT_NO_CAST_FROM_ASCII from QT_ENABLE_STRICT_MODE_UP_TO QT_NO_CAST_FROM_ASCII is a policy setting, not a strictness setting. The other components of QT_ENABLE_STRICT_MODE_UP_TO all deal with clearly undesirable APIs, which QString(const char*) cannot be said to be. Keeping it in QT_ENABLE_STRICT_MODE_UP_TO would seriously impede the use of strict mode in Qt itself (cf. QTBUG-132327). Amends 3a6c8e02b6d1b0574da52b0087092d0c74aa92c1. [ChangeLog][QtCore][QT_ENABLE_STRICT_MODE_UP_TO] No longer includes QT_NO_CAST_FROM_ASCII. If you wish to continue using QT_NO_CAST_FROM_ASCII, you need to define it in addition to QT_ENABLE_STRICT_MODE_UP_TO. The reason for this change is that, while everything else in strict mode should eventually become the default, we're not proposing to remove the ability to construct a QString from a const char*. QT_NO_CAST_FROM_BYTEARRAY and QT_NO_CAST_TO_ASCII remain enabled in strict mode, though. Task-number: QTBUG-132327 Pick-to: 6.8 Change-Id: I36b850833b1de79a47de975ca28d3591a0a0e089 Reviewed-by: Thiago Macieira Reviewed-by: Ahmad Samir (cherry picked from commit f9163ae7a8167daded0798654d99a2e3a5aaa2b5) Reviewed-by: Qt Cherry-pick Bot --- src/corelib/global/qglobal.cpp | 1 - src/corelib/global/qtconfigmacros.h | 3 --- 2 files changed, 4 deletions(-) diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp index d10e4b2e37e..1796fe66760 100644 --- a/src/corelib/global/qglobal.cpp +++ b/src/corelib/global/qglobal.cpp @@ -351,7 +351,6 @@ bool QInternal::activateCallbacks(Callback cb, void **parameters) \table \header \li Version \li Disabled APIs \row \li 6.0.0 \li \l{foreach-keyword}{foreach} (see \l{QT_NO_FOREACH}) - \row \li 6.0.0 \li QString constructors from \c{const char *} (see \l{QT_NO_CAST_FROM_ASCII}) \row \li 6.0.0 \li QString conversions towards \c{const char *} / QByteArray (see \l{QT_NO_CAST_TO_ASCII}) \row \li 6.0.0 \li QByteArray implicit conversions towards \c{const char *} (see \l{QT_NO_CAST_FROM_BYTEARRAY}) \row \li 6.0.0 \li QUrl implicit conversions from QString (see \l{QT_NO_URL_CAST_FROM_STRING}) diff --git a/src/corelib/global/qtconfigmacros.h b/src/corelib/global/qtconfigmacros.h index 141932af63e..48a1c31def6 100644 --- a/src/corelib/global/qtconfigmacros.h +++ b/src/corelib/global/qtconfigmacros.h @@ -185,9 +185,6 @@ namespace QT_NAMESPACE {} # ifndef QT_NO_FOREACH # define QT_NO_FOREACH # endif -# ifndef QT_NO_CAST_FROM_ASCII -# define QT_NO_CAST_FROM_ASCII -#endif # ifndef QT_NO_CAST_TO_ASCII # define QT_NO_CAST_TO_ASCII # endif