mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
Fix GH-20492: mbstring compile warning due to non-strings
This is a partial backport of ea69276f, but without changing public
headers as that's not allowed at this point.
Closes GH-20494.
This commit is contained in:
2
NEWS
2
NEWS
@@ -29,6 +29,8 @@ PHP NEWS
|
||||
- MbString:
|
||||
. Fixed bug GH-20491 (SLES15 compile error with mbstring oniguruma).
|
||||
(ndossche)
|
||||
. Fixed bug GH-20492 (mbstring compile warning due to non-strings).
|
||||
(ndossche)
|
||||
|
||||
- Opcache:
|
||||
. Fixed bug GH-20329 (opcache.file_cache broken with full interned string
|
||||
|
||||
@@ -21,15 +21,21 @@
|
||||
* This macro converts uppercase ASCII values to Regional Indicator codepoints */
|
||||
#define NFLAGS(c) (0x1F1A5+((unsigned int)(c)))
|
||||
|
||||
static const char nflags_s[10][2] = {"CN", "DE", "ES", "FR", "GB", "IT", "JP", "KR", "RU", "US"};
|
||||
#if __has_attribute(nonstring) && defined(__GNUC__) && ((!defined(__clang__) && __GNUC__ >= 15) || (defined(__clang_major__) && __clang_major__ >= 20))
|
||||
# define ZEND_NONSTRING __attribute__((nonstring))
|
||||
#else
|
||||
# define ZEND_NONSTRING
|
||||
#endif
|
||||
|
||||
static const char nflags_s[10][2] ZEND_NONSTRING = {"CN", "DE", "ES", "FR", "GB", "IT", "JP", "KR", "RU", "US"};
|
||||
static const int nflags_code_kddi[10] = { 0x2549, 0x2546, 0x24C0, 0x2545, 0x2548, 0x2547, 0x2750, 0x254A, 0x24C1, 0x27F7 };
|
||||
static const int nflags_code_sb[10] = { 0x2B0A, 0x2B05, 0x2B08, 0x2B04, 0x2B07, 0x2B06, 0x2B02, 0x2B0B, 0x2B09, 0x2B03 };
|
||||
|
||||
#define EMIT_KEYPAD_EMOJI(c) do { *snd = (c); return 0x20E3; } while(0)
|
||||
#define EMIT_FLAG_EMOJI(country) do { *snd = NFLAGS((country)[0]); return NFLAGS((country)[1]); } while(0)
|
||||
|
||||
static const char nflags_kddi[6][2] = {"FR", "DE", "IT", "GB", "CN", "KR"};
|
||||
static const char nflags_sb[10][2] = {"JP", "US", "FR", "DE", "IT", "GB", "ES", "RU", "CN", "KR"};
|
||||
static const char nflags_kddi[6][2] ZEND_NONSTRING = {"FR", "DE", "IT", "GB", "CN", "KR"};
|
||||
static const char nflags_sb[10][2] ZEND_NONSTRING = {"JP", "US", "FR", "DE", "IT", "GB", "ES", "RU", "CN", "KR"};
|
||||
|
||||
/* number -> (ku*94)+ten value for telephone keypad character */
|
||||
#define DOCOMO_KEYPAD(n) ((n) == 0 ? 0x296F : (0x2965 + (n)))
|
||||
|
||||
@@ -397,7 +397,13 @@ int mbfl_filt_conv_wchar_utf8_mobile(int c, mbfl_convert_filter *filter)
|
||||
* This macro converts uppercase ASCII values to Regional Indicator codepoints */
|
||||
#define NFLAGS(c) (0x1F1A5+(int)(c))
|
||||
|
||||
static const char nflags_s[10][2] = {"CN","DE","ES","FR","GB","IT","JP","KR","RU","US"};
|
||||
#if __has_attribute(nonstring) && defined(__GNUC__) && ((!defined(__clang__) && __GNUC__ >= 15) || (defined(__clang_major__) && __clang_major__ >= 20))
|
||||
# define ZEND_NONSTRING __attribute__((nonstring))
|
||||
#else
|
||||
# define ZEND_NONSTRING
|
||||
#endif
|
||||
|
||||
static const char nflags_s[10][2] ZEND_NONSTRING = {"CN","DE","ES","FR","GB","IT","JP","KR","RU","US"};
|
||||
static const int nflags_code_kddi[10] = { 0x2549, 0x2546, 0x24C0, 0x2545, 0x2548, 0x2547, 0x2750, 0x254A, 0x24C1, 0x27F7 };
|
||||
static const int nflags_code_sb[10] = { 0x2B0A, 0x2B05, 0x2B08, 0x2B04, 0x2B07, 0x2B06, 0x2B02, 0x2B0B, 0x2B09, 0x2B03 };
|
||||
|
||||
|
||||
Reference in New Issue
Block a user