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

Reply via email to