diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2014-06-30 14:34:39 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2014-07-07 03:51:43 +0200 |
commit | 2fe90a61bdf16bb1a08817ba544e2309b524a052 (patch) | |
tree | c9537f8d981d27c04221e8957f9fed4726123f99 /src/corelib/tools/qchar.h | |
parent | 11c30f9705e796ebabcdd868bce3ad3664cc06eb (diff) |
Mark all QChar static functions as [[gnu::const]]
The GCC documentation says that a const function is not allowed to read
global memory. This needs to be clarified: it's not allowed to read RW
global memory. It's fine to read read-only memory, as that is equivalent
to just pure code.
The QChar static out-of-line functions only lookup a property of the
given Unicode character and always return the same value.
The only exception is the decomposition() function, which returns a
QString and is therefore not allowed to be marked const.
Change-Id: Id36b2f84a1b8ff9db5acf1d4e59e8b3811068cff
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Diffstat (limited to 'src/corelib/tools/qchar.h')
-rw-r--r-- | src/corelib/tools/qchar.h | 64 |
1 files changed, 32 insertions, 32 deletions
diff --git a/src/corelib/tools/qchar.h b/src/corelib/tools/qchar.h index 11969e12d3..5dfd7b30f9 100644 --- a/src/corelib/tools/qchar.h +++ b/src/corelib/tools/qchar.h @@ -450,50 +450,50 @@ public: return ushort(ucs4%0x400 + 0xdc00); } - static Category QT_FASTCALL category(uint ucs4); - static Direction QT_FASTCALL direction(uint ucs4); - static JoiningType QT_FASTCALL joiningType(uint ucs4); + static Category QT_FASTCALL category(uint ucs4) Q_DECL_CONST_FUNCTION; + static Direction QT_FASTCALL direction(uint ucs4) Q_DECL_CONST_FUNCTION; + static JoiningType QT_FASTCALL joiningType(uint ucs4) Q_DECL_CONST_FUNCTION; #if QT_DEPRECATED_SINCE(5, 3) - QT_DEPRECATED static Joining QT_FASTCALL joining(uint ucs4); + QT_DEPRECATED static Joining QT_FASTCALL joining(uint ucs4) Q_DECL_CONST_FUNCTION; #endif - static unsigned char QT_FASTCALL combiningClass(uint ucs4); + static unsigned char QT_FASTCALL combiningClass(uint ucs4) Q_DECL_CONST_FUNCTION; - static uint QT_FASTCALL mirroredChar(uint ucs4); - static bool QT_FASTCALL hasMirrored(uint ucs4); + static uint QT_FASTCALL mirroredChar(uint ucs4) Q_DECL_CONST_FUNCTION; + static bool QT_FASTCALL hasMirrored(uint ucs4) Q_DECL_CONST_FUNCTION; static QString QT_FASTCALL decomposition(uint ucs4); - static Decomposition QT_FASTCALL decompositionTag(uint ucs4); + static Decomposition QT_FASTCALL decompositionTag(uint ucs4) Q_DECL_CONST_FUNCTION; - static int QT_FASTCALL digitValue(uint ucs4); - static uint QT_FASTCALL toLower(uint ucs4); - static uint QT_FASTCALL toUpper(uint ucs4); - static uint QT_FASTCALL toTitleCase(uint ucs4); - static uint QT_FASTCALL toCaseFolded(uint ucs4); + static int QT_FASTCALL digitValue(uint ucs4) Q_DECL_CONST_FUNCTION; + static uint QT_FASTCALL toLower(uint ucs4) Q_DECL_CONST_FUNCTION; + static uint QT_FASTCALL toUpper(uint ucs4) Q_DECL_CONST_FUNCTION; + static uint QT_FASTCALL toTitleCase(uint ucs4) Q_DECL_CONST_FUNCTION; + static uint QT_FASTCALL toCaseFolded(uint ucs4) Q_DECL_CONST_FUNCTION; - static Script QT_FASTCALL script(uint ucs4); + static Script QT_FASTCALL script(uint ucs4) Q_DECL_CONST_FUNCTION; - static UnicodeVersion QT_FASTCALL unicodeVersion(uint ucs4); + static UnicodeVersion QT_FASTCALL unicodeVersion(uint ucs4) Q_DECL_CONST_FUNCTION; - static UnicodeVersion QT_FASTCALL currentUnicodeVersion(); + static UnicodeVersion QT_FASTCALL currentUnicodeVersion() Q_DECL_CONST_FUNCTION; - static bool QT_FASTCALL isPrint(uint ucs4); - static inline bool isSpace(uint ucs4); - static bool QT_FASTCALL isMark(uint ucs4); - static bool QT_FASTCALL isPunct(uint ucs4); - static bool QT_FASTCALL isSymbol(uint ucs4); - static inline bool isLetter(uint ucs4); - static inline bool isNumber(uint ucs4); - static inline bool isLetterOrNumber(uint ucs4); - static inline bool isDigit(uint ucs4); - static inline bool isLower(uint ucs4); - static inline bool isUpper(uint ucs4); - static inline bool isTitleCase(uint ucs4); + static bool QT_FASTCALL isPrint(uint ucs4) Q_DECL_CONST_FUNCTION; + static inline bool isSpace(uint ucs4) Q_DECL_CONST_FUNCTION; + static bool QT_FASTCALL isMark(uint ucs4) Q_DECL_CONST_FUNCTION; + static bool QT_FASTCALL isPunct(uint ucs4) Q_DECL_CONST_FUNCTION; + static bool QT_FASTCALL isSymbol(uint ucs4) Q_DECL_CONST_FUNCTION; + static inline bool isLetter(uint ucs4) Q_DECL_CONST_FUNCTION; + static inline bool isNumber(uint ucs4) Q_DECL_CONST_FUNCTION; + static inline bool isLetterOrNumber(uint ucs4) Q_DECL_CONST_FUNCTION; + static inline bool isDigit(uint ucs4) Q_DECL_CONST_FUNCTION; + static inline bool isLower(uint ucs4) Q_DECL_CONST_FUNCTION; + static inline bool isUpper(uint ucs4) Q_DECL_CONST_FUNCTION; + static inline bool isTitleCase(uint ucs4) Q_DECL_CONST_FUNCTION; private: - static bool QT_FASTCALL isSpace_helper(uint ucs4); - static bool QT_FASTCALL isLetter_helper(uint ucs4); - static bool QT_FASTCALL isNumber_helper(uint ucs4); - static bool QT_FASTCALL isLetterOrNumber_helper(uint ucs4); + static bool QT_FASTCALL isSpace_helper(uint ucs4) Q_DECL_CONST_FUNCTION; + static bool QT_FASTCALL isLetter_helper(uint ucs4) Q_DECL_CONST_FUNCTION; + static bool QT_FASTCALL isNumber_helper(uint ucs4) Q_DECL_CONST_FUNCTION; + static bool QT_FASTCALL isLetterOrNumber_helper(uint ucs4) Q_DECL_CONST_FUNCTION; #ifdef QT_NO_CAST_FROM_ASCII QChar(char c); |