Hello, These few patches remove outdated/incorrect SUBLANG_* constants as I suggested in "Questionable SUBLANG_* constants in winnt.h".
I also added a small indentation fix in 0001.txt. - Kirill Makurin
From 3a6b196e60810a6d509a25d19e26283dd0f60c38 Mon Sep 17 00:00:00 2001 From: Kirill Makurin <[email protected]> Date: Sat, 22 Aug 2026 18:29:31 +0900 Subject: [PATCH 1/4] headers: winnt.h: fix indentation for LANG_*, SUBLANG_* and SORT_* constants Indentation for some constants mixed tabs and spaces. Use only spaces to achieve consistent indentation. --- mingw-w64-headers/include/winnt.h | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/mingw-w64-headers/include/winnt.h b/mingw-w64-headers/include/winnt.h index 3cbe62312..d0748f4df 100644 --- a/mingw-w64-headers/include/winnt.h +++ b/mingw-w64-headers/include/winnt.h @@ -967,8 +967,8 @@ __MINGW_CXX14_CONSTEXPR inline ENUMTYPE& operator ^= (ENUMTYPE& a, ENUMTYPE b) { #define LANG_ARMENIAN 0x2b #define LANG_ASSAMESE 0x4d #define LANG_AZERI 0x2c -#define LANG_AZERBAIJANI 0x2c -#define LANG_BANGLA 0x45 +#define LANG_AZERBAIJANI 0x2c +#define LANG_BANGLA 0x45 #define LANG_BASHKIR 0x6d #define LANG_BASQUE 0x2d #define LANG_BELARUSIAN 0x23 @@ -978,8 +978,8 @@ __MINGW_CXX14_CONSTEXPR inline ENUMTYPE& operator ^= (ENUMTYPE& a, ENUMTYPE b) { #define LANG_BOSNIAN_NEUTRAL 0x781a #define LANG_BULGARIAN 0x02 #define LANG_CATALAN 0x03 -#define LANG_CENTRAL_KURDISH 0x92 -#define LANG_CHEROKEE 0x5c +#define LANG_CENTRAL_KURDISH 0x92 +#define LANG_CHEROKEE 0x5c #define LANG_CHINESE 0x04 #define LANG_CHINESE_SIMPLIFIED 0x04 #define LANG_CHINESE_TRADITIONAL 0x7c04 @@ -998,7 +998,7 @@ __MINGW_CXX14_CONSTEXPR inline ENUMTYPE& operator ^= (ENUMTYPE& a, ENUMTYPE b) { #define LANG_FINNISH 0x0b #define LANG_FRENCH 0x0c #define LANG_FRISIAN 0x62 -#define LANG_FULAH 0x67 +#define LANG_FULAH 0x67 #define LANG_GALICIAN 0x56 #define LANG_GEORGIAN 0x37 #define LANG_GERMAN 0x07 @@ -1044,22 +1044,22 @@ __MINGW_CXX14_CONSTEXPR inline ENUMTYPE& operator ^= (ENUMTYPE& a, ENUMTYPE b) { #define LANG_NEPALI 0x61 #define LANG_NORWEGIAN 0x14 #define LANG_OCCITAN 0x82 -#define LANG_ODIA 0x48 +#define LANG_ODIA 0x48 #define LANG_ORIYA 0x48 #define LANG_PASHTO 0x63 #define LANG_PERSIAN 0x29 #define LANG_POLISH 0x15 #define LANG_PORTUGUESE 0x16 -#define LANG_PULAR 0x67 +#define LANG_PULAR 0x67 #define LANG_PUNJABI 0x46 #define LANG_QUECHUA 0x6b #define LANG_ROMANIAN 0x18 #define LANG_ROMANSH 0x17 #define LANG_RUSSIAN 0x19 -#define LANG_SAKHA 0x85 +#define LANG_SAKHA 0x85 #define LANG_SAMI 0x3b #define LANG_SANSKRIT 0x4f -#define LANG_SCOTTISH_GAELIC 0x91 +#define LANG_SCOTTISH_GAELIC 0x91 #define LANG_SERBIAN 0x1a #define LANG_SERBIAN_NEUTRAL 0x7c1a #define LANG_SINDHI 0x59 @@ -1079,7 +1079,7 @@ __MINGW_CXX14_CONSTEXPR inline ENUMTYPE& operator ^= (ENUMTYPE& a, ENUMTYPE b) { #define LANG_THAI 0x1e #define LANG_TIBETAN 0x51 #define LANG_TIGRIGNA 0x73 -#define LANG_TIGRINYA 0x73 +#define LANG_TIGRINYA 0x73 #define LANG_TSWANA 0x32 #define LANG_TURKISH 0x1f #define LANG_TURKMEN 0x42 @@ -1088,7 +1088,7 @@ __MINGW_CXX14_CONSTEXPR inline ENUMTYPE& operator ^= (ENUMTYPE& a, ENUMTYPE b) { #define LANG_UPPER_SORBIAN 0x2e #define LANG_URDU 0x20 #define LANG_UZBEK 0x43 -#define LANG_VALENCIAN 0x03 +#define LANG_VALENCIAN 0x03 #define LANG_VIETNAMESE 0x2a #define LANG_WELSH 0x52 #define LANG_WOLOF 0x88 @@ -1279,7 +1279,7 @@ __MINGW_CXX14_CONSTEXPR inline ENUMTYPE& operator ^= (ENUMTYPE& a, ENUMTYPE b) { #define SUBLANG_SAMI_SKOLT_FINLAND 0x08 #define SUBLANG_SAMI_INARI_FINLAND 0x09 #define SUBLANG_SANSKRIT_INDIA 0x01 -#define SUBLANG_SCOTTISH_GAELIC 0x01 +#define SUBLANG_SCOTTISH_GAELIC 0x01 #define SUBLANG_SERBIAN_LATIN 0x02 #define SUBLANG_SERBIAN_CYRILLIC 0x03 #define SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN 0x06 @@ -1371,7 +1371,7 @@ __MINGW_CXX14_CONSTEXPR inline ENUMTYPE& operator ^= (ENUMTYPE& a, ENUMTYPE b) { #define SORT_CHINESE_UNICODE 0x1 #define SORT_CHINESE_PRC 0x2 #define SORT_CHINESE_BOPOMOFO 0x3 -#define SORT_CHINESE_RADICALSTROKE 0x4 +#define SORT_CHINESE_RADICALSTROKE 0x4 #define SORT_KOREAN_KSC 0x0 #define SORT_KOREAN_UNICODE 0x1 -- 2.55.0.windows.3
From 2046b925f19c76ae96f436452849d868590bb7e4 Mon Sep 17 00:00:00 2001 From: Kirill Makurin <[email protected]> Date: Sat, 22 Aug 2026 18:29:31 +0900 Subject: [PATCH 2/4] headers: winnt.h: remove commented out constant SUBLANG_ROMANIAN_MOLDOVA This constant is not present in winnt.h from recent Windows SDKs. This constant is incorrect; LCID locale for "ro-MD" uses sublanguage ID 0x02 and not 0x01 as this constant suggests. --- mingw-w64-headers/include/winnt.h | 1 - 1 file changed, 1 deletion(-) diff --git a/mingw-w64-headers/include/winnt.h b/mingw-w64-headers/include/winnt.h index d0748f4df..03789ab4a 100644 --- a/mingw-w64-headers/include/winnt.h +++ b/mingw-w64-headers/include/winnt.h @@ -1265,7 +1265,6 @@ __MINGW_CXX14_CONSTEXPR inline ENUMTYPE& operator ^= (ENUMTYPE& a, ENUMTYPE b) { #define SUBLANG_QUECHUA_ECUADOR 0x02 #define SUBLANG_QUECHUA_PERU 0x03 #define SUBLANG_ROMANIAN_ROMANIA 0x01 -/* ??? #define SUBLANG_ROMANIAN_MOLDOVA 0x01 ??? */ #define SUBLANG_ROMANSH_SWITZERLAND 0x01 #define SUBLANG_RUSSIAN_RUSSIA 0x01 #define SUBLANG_SAKHA_RUSSIA 0x01 -- 2.55.0.windows.3
From 9a25aaf30005fa27002b1eac1d245d68874ad668 Mon Sep 17 00:00:00 2001 From: Kirill Makurin <[email protected]> Date: Sat, 22 Aug 2026 18:29:31 +0900 Subject: [PATCH 3/4] headers: winnt.h: remove constant SUBLANG_TIBETAN_BHUTAN This constant is not present in winnt.h from recent Windows SDKs. This constant has value 0x02; LCID locale created with MAKELANGID (LANG_TIBETAN, SUBLANG_TIBETAN_BHUTAN) is not a valid locale on recent Windows versions. --- mingw-w64-headers/include/winnt.h | 1 - 1 file changed, 1 deletion(-) diff --git a/mingw-w64-headers/include/winnt.h b/mingw-w64-headers/include/winnt.h index 03789ab4a..c7a6a95d9 100644 --- a/mingw-w64-headers/include/winnt.h +++ b/mingw-w64-headers/include/winnt.h @@ -1333,7 +1333,6 @@ __MINGW_CXX14_CONSTEXPR inline ENUMTYPE& operator ^= (ENUMTYPE& a, ENUMTYPE b) { #define SUBLANG_TELUGU_INDIA 0x01 #define SUBLANG_THAI_THAILAND 0x01 #define SUBLANG_TIBETAN_PRC 0x01 -#define SUBLANG_TIBETAN_BHUTAN 0x02 #define SUBLANG_TIGRIGNA_ERITREA 0x02 #define SUBLANG_TIGRINYA_ERITREA 0x02 #define SUBLANG_TIGRINYA_ETHIOPIA 0x01 -- 2.55.0.windows.3
From c689ea791d39abe4fcf0d02b0ca81b7a0bd056b1 Mon Sep 17 00:00:00 2001 From: Kirill Makurin <[email protected]> Date: Sat, 22 Aug 2026 18:29:32 +0900 Subject: [PATCH 4/4] headers: winnt.h: remove outdated SUBLANG_* constants The following constants are missing from winnt.h in recent Windows SDKs: 1. SUBLANG_ENGLISH_IRELAND; same as SUBLANG_ENGLISH_EIRE 2. SUBLANG_HAUSA_NIGERIA; same as SUBLANG_HAUSA_NIGERIA_LATIN 3. SUBLANG_LAO_LAO_PDR; same as SUBLANG_LAO_LAO 4. SUBLANG_LITHUANIAN_LITHUANIA; same as SUBLANG_LITHUANIAN 5. SUBLANG_PORTUGUESE_PORTUGAL; same as SUBLANG_PORTUGUESE 6. SUBLANG_SWEDISH_SWEDEN; same as SUBLANG_SWEDISH 7. SUBLANG_SYRIAC; same as SUBLANG_SYRIAC_SYRIA Each of them is an alias to another constant; for compatibility with recent Windows SDKs, the latter constants should be used instead. --- mingw-w64-headers/include/winnt.h | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/mingw-w64-headers/include/winnt.h b/mingw-w64-headers/include/winnt.h index c7a6a95d9..013adcab3 100644 --- a/mingw-w64-headers/include/winnt.h +++ b/mingw-w64-headers/include/winnt.h @@ -1164,7 +1164,6 @@ __MINGW_CXX14_CONSTEXPR inline ENUMTYPE& operator ^= (ENUMTYPE& a, ENUMTYPE b) { #define SUBLANG_ENGLISH_AUS 0x03 #define SUBLANG_ENGLISH_CAN 0x04 #define SUBLANG_ENGLISH_NZ 0x05 -#define SUBLANG_ENGLISH_IRELAND 0x06 #define SUBLANG_ENGLISH_EIRE 0x06 #define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07 #define SUBLANG_ENGLISH_JAMAICA 0x08 @@ -1199,7 +1198,6 @@ __MINGW_CXX14_CONSTEXPR inline ENUMTYPE& operator ^= (ENUMTYPE& a, ENUMTYPE b) { #define SUBLANG_GREENLANDIC_GREENLAND 0x01 #define SUBLANG_GUJARATI_INDIA 0x01 #define SUBLANG_HAUSA_NIGERIA_LATIN 0x01 -#define SUBLANG_HAUSA_NIGERIA SUBLANG_HAUSA_NIGERIA_LATIN /* SUBLANG_HAUSA_NIGERIA_LATIN is what MS defines */ #define SUBLANG_HAWAIIAN_US 0x01 #define SUBLANG_HEBREW_ISRAEL 0x01 #define SUBLANG_HINDI_INDIA 0x01 @@ -1224,11 +1222,7 @@ __MINGW_CXX14_CONSTEXPR inline ENUMTYPE& operator ^= (ENUMTYPE& a, ENUMTYPE b) { #define SUBLANG_KOREAN 0x01 #define SUBLANG_KYRGYZ_KYRGYZSTAN 0x01 #define SUBLANG_LAO_LAO 0x01 -#define SUBLANG_LAO_LAO_PDR SUBLANG_LAO_LAO /* SUBLANG_LAO_LAO is what MS defines */ #define SUBLANG_LATVIAN_LATVIA 0x01 -#if (WINVER >= 0x0600) -#define SUBLANG_LITHUANIAN_LITHUANIA 0x01 -#endif /* WINVER >= 0x0600 */ #define SUBLANG_LITHUANIAN 0x01 #define SUBLANG_LOWER_SORBIAN_GERMANY 0x02 #define SUBLANG_LUXEMBOURGISH_LUXEMBOURG 0x01 @@ -1254,9 +1248,6 @@ __MINGW_CXX14_CONSTEXPR inline ENUMTYPE& operator ^= (ENUMTYPE& a, ENUMTYPE b) { #define SUBLANG_PERSIAN_IRAN 0x01 #define SUBLANG_POLISH_POLAND 0x01 #define SUBLANG_PORTUGUESE_BRAZILIAN 0x01 -#if (WINVER >= 0x0600) -#define SUBLANG_PORTUGUESE_PORTUGAL 0x02 -#endif /* WINVER >= 0x0600 */ #define SUBLANG_PORTUGUESE 0x02 #define SUBLANG_PULAR_SENEGAL 0x02 #define SUBLANG_PUNJABI_INDIA 0x01 @@ -1317,13 +1308,9 @@ __MINGW_CXX14_CONSTEXPR inline ENUMTYPE& operator ^= (ENUMTYPE& a, ENUMTYPE b) { #define SUBLANG_SPANISH_PUERTO_RICO 0x14 #define SUBLANG_SPANISH_US 0x15 #define SUBLANG_SWAHILI_KENYA 0x01 -#if (WINVER >= 0x0600) -#define SUBLANG_SWEDISH_SWEDEN 0x01 -#endif /* WINVER >= 0x0600 */ #define SUBLANG_SWEDISH 0x01 #define SUBLANG_SWEDISH_FINLAND 0x02 -#define SUBLANG_SYRIAC 0x01 -#define SUBLANG_SYRIAC_SYRIA SUBLANG_SYRIAC /* SUBLANG_SYRIAC_SYRIA is what MSDN mentions */ +#define SUBLANG_SYRIAC_SYRIA 0x01 #define SUBLANG_TAJIK_TAJIKISTAN 0x01 #define SUBLANG_TAMAZIGHT_ALGERIA_LATIN 0x02 #define SUBLANG_TAMAZIGHT_MOROCCO_TIFINAGH 0x04 -- 2.55.0.windows.3
_______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
