diff --git a/mingw-w64-headers/include/gpmgmt.h b/mingw-w64-headers/include/gpmgmt.h
index 675739c..c43fc2f 100644
--- a/mingw-w64-headers/include/gpmgmt.h
+++ b/mingw-w64-headers/include/gpmgmt.h
@@ -465,7 +465,7 @@
 #endif
 
   typedef enum __MIDL___MIDL_itf_gpmgmt_0000_0001 {
-    rsopUnknown = 0,rsopPlanning = rsopUnknown + 1,rsopLogging = rsopPlanning + 1
+    rsopUnknown = 0,rsopPlanning,rsopLogging
   } GPMRSOPMode;
 
   typedef enum __MIDL___MIDL_itf_gpmgmt_0000_0002 {
@@ -475,13 +475,13 @@
   } GPMPermissionType;
 
   typedef enum __MIDL___MIDL_itf_gpmgmt_0000_0003 {
-    gpoPermissions = 0,gpoEffectivePermissions = gpoPermissions + 1,gpoDisplayName = gpoEffectivePermissions + 1,gpoWMIFilter = gpoDisplayName + 1,
-    gpoID = gpoWMIFilter + 1,gpoComputerExtensions = gpoID + 1,gpoUserExtensions = gpoComputerExtensions + 1,somLinks = gpoUserExtensions + 1,
-    gpoDomain = somLinks + 1,backupMostRecent = gpoDomain + 1
+    gpoPermissions = 0,gpoEffectivePermissions,gpoDisplayName,gpoWMIFilter,
+    gpoID,gpoComputerExtensions,gpoUserExtensions,somLinks,gpoDomain,
+    backupMostRecent
   } GPMSearchProperty;
 
   typedef enum __MIDL___MIDL_itf_gpmgmt_0000_0004 {
-    opEquals = 0,opContains = opEquals + 1,opNotContains = opContains + 1,opNotEquals = opNotContains + 1
+    opEquals = 0,opContains,opNotContains,opNotEquals
   } GPMSearchOperation;
 
   typedef enum __MIDL___MIDL_itf_gpmgmt_0000_0005 {
@@ -489,13 +489,13 @@
   } GPMReportType;
 
   typedef enum __MIDL___MIDL_itf_gpmgmt_0000_0006 {
-    typeUser = 0,typeComputer = typeUser + 1,typeLocalGroup = typeComputer + 1,typeGlobalGroup = typeLocalGroup + 1,
-    typeUniversalGroup = typeGlobalGroup + 1,typeUNCPath = typeUniversalGroup + 1,typeUnknown = typeUNCPath + 1
+    typeUser = 0,typeComputer,typeLocalGroup,typeGlobalGroup,
+    typeUniversalGroup,typeUNCPath,typeUnknown
   } GPMEntryType;
 
   typedef enum __MIDL___MIDL_itf_gpmgmt_0000_0007 {
-    opDestinationSameAsSource = 0,opDestinationNone = opDestinationSameAsSource + 1,opDestinationByRelativeName = opDestinationNone + 1,
-    opDestinationSet = opDestinationByRelativeName + 1
+    opDestinationSameAsSource = 0,opDestinationNone,opDestinationByRelativeName,
+    opDestinationSet
   } GPMDestinationOption;
 
 #define GPM_USE_PDC (0)
@@ -1161,7 +1161,7 @@
 #ifndef __IGPMSOM_INTERFACE_DEFINED__
 #define __IGPMSOM_INTERFACE_DEFINED__
   typedef enum __MIDL_IGPMSOM_0001 {
-    somSite = 0,somDomain = somSite + 1,somOU = somDomain + 1
+    somSite = 0,somDomain,somOU
   } GPMSOMType;
 
   EXTERN_C const IID IID_IGPMSOM;
diff --git a/mingw-w64-headers/include/h323priv.h b/mingw-w64-headers/include/h323priv.h
index a4a61bd..41e3c29 100644
--- a/mingw-w64-headers/include/h323priv.h
+++ b/mingw-w64-headers/include/h323priv.h
@@ -45,7 +45,7 @@
 #endif
 
   typedef enum H245_CAPABILITY {
-    HC_G711 = 0,HC_G723 = HC_G711 + 1,HC_H263QCIF = HC_G723 + 1,HC_H261QCIF = HC_H263QCIF + 1
+    HC_G711 = 0,HC_G723,HC_H263QCIF,HC_H261QCIF
   } H245_CAPABILITY;
 
   extern RPC_IF_HANDLE __MIDL_itf_h323priv_0000_v0_0_c_ifspec;
diff --git a/mingw-w64-headers/include/iads.h b/mingw-w64-headers/include/iads.h
index 3804ac0..b7e6558 100644
--- a/mingw-w64-headers/include/iads.h
+++ b/mingw-w64-headers/include/iads.h
@@ -591,17 +591,16 @@
 #define __ActiveDs_LIBRARY_DEFINED__
 
   typedef enum __MIDL___MIDL_itf_ads_0000_0001 {
-    ADSTYPE_INVALID = 0,ADSTYPE_DN_STRING = ADSTYPE_INVALID + 1,ADSTYPE_CASE_EXACT_STRING = ADSTYPE_DN_STRING + 1,
-    ADSTYPE_CASE_IGNORE_STRING = ADSTYPE_CASE_EXACT_STRING + 1,ADSTYPE_PRINTABLE_STRING = ADSTYPE_CASE_IGNORE_STRING + 1,
-    ADSTYPE_NUMERIC_STRING = ADSTYPE_PRINTABLE_STRING + 1,ADSTYPE_BOOLEAN = ADSTYPE_NUMERIC_STRING + 1,ADSTYPE_INTEGER = ADSTYPE_BOOLEAN + 1,
-    ADSTYPE_OCTET_STRING = ADSTYPE_INTEGER + 1,ADSTYPE_UTC_TIME = ADSTYPE_OCTET_STRING + 1,ADSTYPE_LARGE_INTEGER = ADSTYPE_UTC_TIME + 1,
-    ADSTYPE_PROV_SPECIFIC = ADSTYPE_LARGE_INTEGER + 1,ADSTYPE_OBJECT_CLASS = ADSTYPE_PROV_SPECIFIC + 1,
-    ADSTYPE_CASEIGNORE_LIST = ADSTYPE_OBJECT_CLASS + 1,ADSTYPE_OCTET_LIST = ADSTYPE_CASEIGNORE_LIST + 1,ADSTYPE_PATH = ADSTYPE_OCTET_LIST + 1,
-    ADSTYPE_POSTALADDRESS = ADSTYPE_PATH + 1,ADSTYPE_TIMESTAMP = ADSTYPE_POSTALADDRESS + 1,ADSTYPE_BACKLINK = ADSTYPE_TIMESTAMP + 1,
-    ADSTYPE_TYPEDNAME = ADSTYPE_BACKLINK + 1,ADSTYPE_HOLD = ADSTYPE_TYPEDNAME + 1,ADSTYPE_NETADDRESS = ADSTYPE_HOLD + 1,
-    ADSTYPE_REPLICAPOINTER = ADSTYPE_NETADDRESS + 1,ADSTYPE_FAXNUMBER = ADSTYPE_REPLICAPOINTER + 1,ADSTYPE_EMAIL = ADSTYPE_FAXNUMBER + 1,
-    ADSTYPE_NT_SECURITY_DESCRIPTOR = ADSTYPE_EMAIL + 1,ADSTYPE_UNKNOWN = ADSTYPE_NT_SECURITY_DESCRIPTOR + 1,
-    ADSTYPE_DN_WITH_BINARY = ADSTYPE_UNKNOWN + 1,ADSTYPE_DN_WITH_STRING = ADSTYPE_DN_WITH_BINARY + 1
+    ADSTYPE_INVALID = 0,ADSTYPE_DN_STRING,ADSTYPE_CASE_EXACT_STRING,
+    ADSTYPE_CASE_IGNORE_STRING,ADSTYPE_PRINTABLE_STRING,
+    ADSTYPE_NUMERIC_STRING,ADSTYPE_BOOLEAN,ADSTYPE_INTEGER,
+    ADSTYPE_OCTET_STRING,ADSTYPE_UTC_TIME,ADSTYPE_LARGE_INTEGER,
+    ADSTYPE_PROV_SPECIFIC,ADSTYPE_OBJECT_CLASS,ADSTYPE_CASEIGNORE_LIST,
+    ADSTYPE_OCTET_LIST,ADSTYPE_PATH,ADSTYPE_POSTALADDRESS,ADSTYPE_TIMESTAMP,
+    ADSTYPE_BACKLINK,ADSTYPE_TYPEDNAME,ADSTYPE_HOLD,ADSTYPE_NETADDRESS,
+    ADSTYPE_REPLICAPOINTER,ADSTYPE_FAXNUMBER,ADSTYPE_EMAIL,
+    ADSTYPE_NT_SECURITY_DESCRIPTOR,ADSTYPE_UNKNOWN,ADSTYPE_DN_WITH_BINARY,
+    ADSTYPE_DN_WITH_STRING
   } ADSTYPEENUM;
 
   typedef ADSTYPEENUM ADSTYPE;
@@ -808,7 +807,7 @@
   typedef struct _ads_object_info *PADS_OBJECT_INFO;
 
   typedef enum __MIDL___MIDL_itf_ads_0000_0019 {
-    ADS_STATUS_S_OK = 0,ADS_STATUS_INVALID_SEARCHPREF = ADS_STATUS_S_OK + 1,ADS_STATUS_INVALID_SEARCHPREFVALUE = ADS_STATUS_INVALID_SEARCHPREF + 1
+    ADS_STATUS_S_OK = 0,ADS_STATUS_INVALID_SEARCHPREF,ADS_STATUS_INVALID_SEARCHPREFVALUE
   } ADS_STATUSENUM;
 
   typedef ADS_STATUSENUM ADS_STATUS;
@@ -838,16 +837,16 @@
   } ADS_CHASE_REFERRALS_ENUM;
 
   typedef enum __MIDL___MIDL_itf_ads_0000_0025 {
-    ADS_SEARCHPREF_ASYNCHRONOUS = 0,ADS_SEARCHPREF_DEREF_ALIASES = ADS_SEARCHPREF_ASYNCHRONOUS + 1,
-    ADS_SEARCHPREF_SIZE_LIMIT = ADS_SEARCHPREF_DEREF_ALIASES + 1,ADS_SEARCHPREF_TIME_LIMIT = ADS_SEARCHPREF_SIZE_LIMIT + 1,
-    ADS_SEARCHPREF_ATTRIBTYPES_ONLY = ADS_SEARCHPREF_TIME_LIMIT + 1,ADS_SEARCHPREF_SEARCH_SCOPE = ADS_SEARCHPREF_ATTRIBTYPES_ONLY + 1,
-    ADS_SEARCHPREF_TIMEOUT = ADS_SEARCHPREF_SEARCH_SCOPE + 1,ADS_SEARCHPREF_PAGESIZE = ADS_SEARCHPREF_TIMEOUT + 1,
-    ADS_SEARCHPREF_PAGED_TIME_LIMIT = ADS_SEARCHPREF_PAGESIZE + 1,ADS_SEARCHPREF_CHASE_REFERRALS = ADS_SEARCHPREF_PAGED_TIME_LIMIT + 1,
-    ADS_SEARCHPREF_SORT_ON = ADS_SEARCHPREF_CHASE_REFERRALS + 1,ADS_SEARCHPREF_CACHE_RESULTS = ADS_SEARCHPREF_SORT_ON + 1,
-    ADS_SEARCHPREF_DIRSYNC = ADS_SEARCHPREF_CACHE_RESULTS + 1,ADS_SEARCHPREF_TOMBSTONE = ADS_SEARCHPREF_DIRSYNC + 1,
-    ADS_SEARCHPREF_VLV = ADS_SEARCHPREF_TOMBSTONE + 1,ADS_SEARCHPREF_ATTRIBUTE_QUERY = ADS_SEARCHPREF_VLV + 1,
-    ADS_SEARCHPREF_SECURITY_MASK = ADS_SEARCHPREF_ATTRIBUTE_QUERY + 1,ADS_SEARCHPREF_DIRSYNC_FLAG = ADS_SEARCHPREF_SECURITY_MASK + 1,
-    ADS_SEARCHPREF_EXTENDED_DN = ADS_SEARCHPREF_DIRSYNC_FLAG + 1
+    ADS_SEARCHPREF_ASYNCHRONOUS = 0,ADS_SEARCHPREF_DEREF_ALIASES,
+    ADS_SEARCHPREF_SIZE_LIMIT,ADS_SEARCHPREF_TIME_LIMIT,
+    ADS_SEARCHPREF_ATTRIBTYPES_ONLY,ADS_SEARCHPREF_SEARCH_SCOPE,
+    ADS_SEARCHPREF_TIMEOUT,ADS_SEARCHPREF_PAGESIZE,
+    ADS_SEARCHPREF_PAGED_TIME_LIMIT,ADS_SEARCHPREF_CHASE_REFERRALS,
+    ADS_SEARCHPREF_SORT_ON,ADS_SEARCHPREF_CACHE_RESULTS,
+    ADS_SEARCHPREF_DIRSYNC,ADS_SEARCHPREF_TOMBSTONE,
+    ADS_SEARCHPREF_VLV,ADS_SEARCHPREF_ATTRIBUTE_QUERY,
+    ADS_SEARCHPREF_SECURITY_MASK,ADS_SEARCHPREF_DIRSYNC_FLAG,
+    ADS_SEARCHPREF_EXTENDED_DN
   } ADS_SEARCHPREF_ENUM;
 
   typedef enum __MIDL___MIDL_itf_ads_0000_0026 {
diff --git a/mingw-w64-headers/include/ipmsp.h b/mingw-w64-headers/include/ipmsp.h
index 13e6c6f..0a35152 100644
--- a/mingw-w64-headers/include/ipmsp.h
+++ b/mingw-w64-headers/include/ipmsp.h
@@ -74,16 +74,16 @@
 #define MAX_QOS_ID_LEN (128)
 
   typedef enum PARTICIPANT_TYPED_INFO {
-    PTI_CANONICALNAME = 0,PTI_NAME = PTI_CANONICALNAME + 1,PTI_EMAILADDRESS = PTI_NAME + 1,PTI_PHONENUMBER = PTI_EMAILADDRESS + 1,
-    PTI_LOCATION = PTI_PHONENUMBER + 1,PTI_TOOL = PTI_LOCATION + 1,PTI_NOTES = PTI_TOOL + 1,PTI_PRIVATE = PTI_NOTES + 1
+    PTI_CANONICALNAME = 0,PTI_NAME,PTI_EMAILADDRESS,PTI_PHONENUMBER,
+    PTI_LOCATION,PTI_TOOL,PTI_NOTES,PTI_PRIVATE
   } PARTICIPANT_TYPED_INFO;
 
   typedef enum PARTICIPANT_EVENT {
-    PE_NEW_PARTICIPANT = 0,PE_INFO_CHANGE = PE_NEW_PARTICIPANT + 1,PE_PARTICIPANT_LEAVE = PE_INFO_CHANGE + 1,
-    PE_NEW_SUBSTREAM = PE_PARTICIPANT_LEAVE + 1,PE_SUBSTREAM_REMOVED = PE_NEW_SUBSTREAM + 1,PE_SUBSTREAM_MAPPED = PE_SUBSTREAM_REMOVED + 1,
-    PE_SUBSTREAM_UNMAPPED = PE_SUBSTREAM_MAPPED + 1,PE_PARTICIPANT_TIMEOUT = PE_SUBSTREAM_UNMAPPED + 1,
-    PE_PARTICIPANT_RECOVERED = PE_PARTICIPANT_TIMEOUT + 1,PE_PARTICIPANT_ACTIVE = PE_PARTICIPANT_RECOVERED + 1,
-    PE_PARTICIPANT_INACTIVE = PE_PARTICIPANT_ACTIVE + 1,PE_LOCAL_TALKING = PE_PARTICIPANT_INACTIVE + 1,PE_LOCAL_SILENT = PE_LOCAL_TALKING + 1
+    PE_NEW_PARTICIPANT = 0,PE_INFO_CHANGE,PE_PARTICIPANT_LEAVE,
+    PE_NEW_SUBSTREAM,PE_SUBSTREAM_REMOVED,PE_SUBSTREAM_MAPPED,
+    PE_SUBSTREAM_UNMAPPED,PE_PARTICIPANT_TIMEOUT,PE_PARTICIPANT_RECOVERED,
+    PE_PARTICIPANT_ACTIVE,PE_PARTICIPANT_INACTIVE,PE_LOCAL_TALKING,
+    PE_LOCAL_SILENT
   } PARTICIPANT_EVENT;
 
   extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0000_v0_0_c_ifspec;
@@ -273,8 +273,8 @@
 #endif
 
   typedef enum tagStreamQualityProperty {
-    StreamQuality_MaxBitrate = 0,StreamQuality_CurrBitrate = StreamQuality_MaxBitrate + 1,StreamQuality_MinFrameInterval = StreamQuality_CurrBitrate + 1,
-    StreamQuality_AvgFrameInterval = StreamQuality_MinFrameInterval + 1
+    StreamQuality_MaxBitrate = 0,StreamQuality_CurrBitrate,StreamQuality_MinFrameInterval,
+    StreamQuality_AvgFrameInterval
   } StreamQualityProperty;
 
   extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0503_v0_0_c_ifspec;
@@ -322,10 +322,9 @@
 #endif
 
   typedef enum tagCallQualityProperty {
-    CallQuality_ControlInterval = 0,CallQuality_ConfBitrate = CallQuality_ControlInterval + 1,CallQuality_MaxInputBitrate = CallQuality_ConfBitrate + 1,
-    CallQuality_CurrInputBitrate = CallQuality_MaxInputBitrate + 1,CallQuality_MaxOutputBitrate = CallQuality_CurrInputBitrate + 1,
-    CallQuality_CurrOutputBitrate = CallQuality_MaxOutputBitrate + 1,CallQuality_MaxCPULoad = CallQuality_CurrOutputBitrate + 1,
-    CallQuality_CurrCPULoad = CallQuality_MaxCPULoad + 1
+    CallQuality_ControlInterval = 0,CallQuality_ConfBitrate,CallQuality_MaxInputBitrate,
+    CallQuality_CurrInputBitrate,CallQuality_MaxOutputBitrate,
+    CallQuality_CurrOutputBitrate,CallQuality_MaxCPULoad,CallQuality_CurrCPULoad
   } CallQualityProperty;
 
   extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0504_v0_0_c_ifspec;
@@ -373,8 +372,8 @@
 #endif
 
   typedef enum tagAudioDeviceProperty {
-    AudioDevice_DuplexMode = 0,AudioDevice_AutomaticGainControl = AudioDevice_DuplexMode + 1,
-    AudioDevice_AcousticEchoCancellation = AudioDevice_AutomaticGainControl + 1
+    AudioDevice_DuplexMode = 0,AudioDevice_AutomaticGainControl,
+    AudioDevice_AcousticEchoCancellation
   } AudioDeviceProperty;
 
   extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0505_v0_0_c_ifspec;
@@ -422,10 +421,9 @@
 #endif
 
   typedef enum tagAudioSettingsProperty {
-    AudioSettings_SignalLevel = 0,AudioSettings_SilenceThreshold = AudioSettings_SignalLevel + 1,
-    AudioSettings_Volume = AudioSettings_SilenceThreshold + 1,AudioSettings_Balance = AudioSettings_Volume + 1,
-    AudioSettings_Loudness = AudioSettings_Balance + 1,AudioSettings_Treble = AudioSettings_Loudness + 1,AudioSettings_Bass = AudioSettings_Treble + 1,
-    AudioSettings_Mono = AudioSettings_Bass + 1
+    AudioSettings_SignalLevel = 0,AudioSettings_SilenceThreshold,
+    AudioSettings_Volume,AudioSettings_Balance,AudioSettings_Loudness,
+    AudioSettings_Treble,AudioSettings_Bass,AudioSettings_Mono
   } AudioSettingsProperty;
 
   extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0506_v0_0_c_ifspec;
diff --git a/mingw-w64-headers/include/iwamreg.h b/mingw-w64-headers/include/iwamreg.h
index 9431504..58d22e8 100644
--- a/mingw-w64-headers/include/iwamreg.h
+++ b/mingw-w64-headers/include/iwamreg.h
@@ -72,7 +72,7 @@
 #define APPSTATUS_NOTDEFINED 2
 
   typedef enum __MIDL___MIDL_itf_wamreg_0000_0001 {
-    eAppRunInProc = 0,eAppRunOutProcIsolated = eAppRunInProc + 1,eAppRunOutProcInDefaultPool = eAppRunOutProcIsolated + 1
+    eAppRunInProc = 0,eAppRunOutProcIsolated,eAppRunOutProcInDefaultPool
   } EAppMode;
 
   extern RPC_IF_HANDLE __MIDL_itf_wamreg_0000_v0_0_c_ifspec;
diff --git a/mingw-w64-headers/include/mddefw.h b/mingw-w64-headers/include/mddefw.h
index 58d6d5f..cba7806 100644
--- a/mingw-w64-headers/include/mddefw.h
+++ b/mingw-w64-headers/include/mddefw.h
@@ -40,8 +40,8 @@
 #define METADATA_PERMISSION_WRITE 0x00000002
 
   enum METADATATYPES {
-    ALL_METADATA = 0,DWORD_METADATA = ALL_METADATA + 1,STRING_METADATA = DWORD_METADATA + 1,BINARY_METADATA = STRING_METADATA + 1,
-    EXPANDSZ_METADATA = BINARY_METADATA + 1,MULTISZ_METADATA = EXPANDSZ_METADATA + 1,INVALID_END_METADATA = MULTISZ_METADATA + 1
+    ALL_METADATA = 0,DWORD_METADATA,STRING_METADATA,BINARY_METADATA,
+    EXPANDSZ_METADATA,MULTISZ_METADATA,INVALID_END_METADATA
   };
 
 #define METADATA_NO_ATTRIBUTES 0
diff --git a/mingw-w64-headers/include/mlang.h b/mingw-w64-headers/include/mlang.h
index 92f1f8c..0beda3a 100644
--- a/mingw-w64-headers/include/mlang.h
+++ b/mingw-w64-headers/include/mlang.h
@@ -641,15 +641,17 @@
   __MINGW_EXTENSION typedef __int64 SCRIPT_IDS;
 
   typedef enum tagSCRIPTCONTF {
-    sidDefault = 0,sidMerge = sidDefault + 1,sidAsciiSym = sidMerge + 1,sidAsciiLatin = sidAsciiSym + 1,sidLatin = sidAsciiLatin + 1,
-    sidGreek = sidLatin + 1,sidCyrillic = sidGreek + 1,sidArmenian = sidCyrillic + 1,sidHebrew = sidArmenian + 1,sidArabic = sidHebrew + 1,
-    sidDevanagari = sidArabic + 1,sidBengali = sidDevanagari + 1,sidGurmukhi = sidBengali + 1,sidGujarati = sidGurmukhi + 1,sidOriya = sidGujarati + 1,
-    sidTamil = sidOriya + 1,sidTelugu = sidTamil + 1,sidKannada = sidTelugu + 1,sidMalayalam = sidKannada + 1,sidThai = sidMalayalam + 1,
-    sidLao = sidThai + 1,sidTibetan = sidLao + 1,sidGeorgian = sidTibetan + 1,sidHangul = sidGeorgian + 1,sidKana = sidHangul + 1,
-    sidBopomofo = sidKana + 1,sidHan = sidBopomofo + 1,sidEthiopic = sidHan + 1,sidCanSyllabic = sidEthiopic + 1,sidCherokee = sidCanSyllabic + 1,
-    sidYi = sidCherokee + 1,sidBraille = sidYi + 1,sidRunic = sidBraille + 1,sidOgham = sidRunic + 1,sidSinhala = sidOgham + 1,
-    sidSyriac = sidSinhala + 1,sidBurmese = sidSyriac + 1,sidKhmer = sidBurmese + 1,sidThaana = sidKhmer + 1,sidMongolian = sidThaana + 1,
-    sidUserDefined = sidMongolian + 1,sidLim = sidUserDefined + 1,sidFEFirst = sidHangul,sidFELast = sidHan
+    sidDefault = 0,sidMerge,sidAsciiSym,sidAsciiLatin,sidLatin,
+    sidGreek,sidCyrillic,sidArmenian,sidHebrew,sidArabic,
+    sidDevanagari,sidBengali,sidGurmukhi,sidGujarati,sidOriya,
+    sidTamil,sidTelugu,sidKannada,sidMalayalam,sidThai,
+    sidLao,sidTibetan,sidGeorgian,
+    sidHangul,sidKana,sidBopomofo,sidHan,
+    sidEthiopic,sidCanSyllabic,sidCherokee,
+    sidYi,sidBraille,sidRunic,sidOgham,sidSinhala,
+    sidSyriac,sidBurmese,sidKhmer,sidThaana,sidMongolian,
+    sidUserDefined,sidLim,
+    sidFEFirst = sidHangul,sidFELast = sidHan
   } SCRIPTCONTF;
 
   typedef struct tagSCRIPTINFO {
diff --git a/mingw-w64-headers/include/mmc.h b/mingw-w64-headers/include/mmc.h
index ba2e087..3da1cad 100644
--- a/mingw-w64-headers/include/mmc.h
+++ b/mingw-w64-headers/include/mmc.h
@@ -403,7 +403,7 @@
 #define MMC_PSO_NO_PROPTITLE (0x8)
 
   typedef enum _MMC_CONTROL_TYPE {
-    TOOLBAR = 0,MENUBUTTON = TOOLBAR + 1,COMBOBOXBAR = MENUBUTTON + 1
+    TOOLBAR = 0,MENUBUTTON,COMBOBOXBAR
   } MMC_CONTROL_TYPE;
 
   typedef enum _MMC_CONSOLE_VERB {
@@ -1954,9 +1954,8 @@
 #endif
 
   typedef enum _MMC_TASK_DISPLAY_TYPE {
-    MMC_TASK_DISPLAY_UNINITIALIZED = 0,MMC_TASK_DISPLAY_TYPE_SYMBOL = MMC_TASK_DISPLAY_UNINITIALIZED + 1,
-    MMC_TASK_DISPLAY_TYPE_VANILLA_GIF = MMC_TASK_DISPLAY_TYPE_SYMBOL + 1,MMC_TASK_DISPLAY_TYPE_CHOCOLATE_GIF = MMC_TASK_DISPLAY_TYPE_VANILLA_GIF + 1,
-    MMC_TASK_DISPLAY_TYPE_BITMAP = MMC_TASK_DISPLAY_TYPE_CHOCOLATE_GIF + 1
+    MMC_TASK_DISPLAY_UNINITIALIZED = 0,MMC_TASK_DISPLAY_TYPE_SYMBOL,MMC_TASK_DISPLAY_TYPE_VANILLA_GIF,
+    MMC_TASK_DISPLAY_TYPE_CHOCOLATE_GIF,MMC_TASK_DISPLAY_TYPE_BITMAP
   } MMC_TASK_DISPLAY_TYPE;
 
   typedef struct _MMC_TASK_DISPLAY_SYMBOL {
@@ -1979,8 +1978,7 @@
   } MMC_TASK_DISPLAY_OBJECT;
 
   typedef enum _MMC_ACTION_TYPE {
-    MMC_ACTION_UNINITIALIZED = -1,MMC_ACTION_ID = MMC_ACTION_UNINITIALIZED + 1,MMC_ACTION_LINK = MMC_ACTION_ID + 1,
-    MMC_ACTION_SCRIPT = MMC_ACTION_LINK + 1
+    MMC_ACTION_UNINITIALIZED = -1,MMC_ACTION_ID = 0,MMC_ACTION_LINK,MMC_ACTION_SCRIPT
   } MMC_ACTION_TYPE;
 
   typedef struct _MMC_TASK {
@@ -2486,7 +2484,7 @@
 
 #if (MMC_VER >= 0x0200)
   typedef enum _MMC_VIEW_TYPE {
-    MMC_VIEW_TYPE_LIST = 0,MMC_VIEW_TYPE_HTML = MMC_VIEW_TYPE_LIST + 1,MMC_VIEW_TYPE_OCX = MMC_VIEW_TYPE_HTML + 1
+    MMC_VIEW_TYPE_LIST = 0,MMC_VIEW_TYPE_HTML,MMC_VIEW_TYPE_OCX
   } MMC_VIEW_TYPE;
 
 #define RVTI_MISC_OPTIONS_NOLISTVIEWS (0x1)
diff --git a/mingw-w64-headers/include/mmcobj.h b/mingw-w64-headers/include/mmcobj.h
index b8057d4..c608a62 100644
--- a/mingw-w64-headers/include/mmcobj.h
+++ b/mingw-w64-headers/include/mmcobj.h
@@ -224,7 +224,7 @@
 #ifndef __ISnapinProperties_INTERFACE_DEFINED__
 #define __ISnapinProperties_INTERFACE_DEFINED__
   typedef enum _MMC_PROPERTY_ACTION {
-    MMC_PROPACT_DELETING = 1,MMC_PROPACT_CHANGING = MMC_PROPACT_DELETING + 1,MMC_PROPACT_INITIALIZED = MMC_PROPACT_CHANGING + 1
+    MMC_PROPACT_DELETING = 1,MMC_PROPACT_CHANGING,MMC_PROPACT_INITIALIZED
   } MMC_PROPERTY_ACTION;
 
   typedef struct _MMC_SNAPIN_PROPERTY {
@@ -313,8 +313,7 @@
 #ifndef __MMC20_LIBRARY_DEFINED__
 #define __MMC20_LIBRARY_DEFINED__
   typedef enum DocumentMode {
-    DocumentMode_Author = 0,DocumentMode_User = DocumentMode_Author + 1,DocumentMode_User_MDI = DocumentMode_User + 1,
-    DocumentMode_User_SDI = DocumentMode_User_MDI + 1
+    DocumentMode_Author = 0,DocumentMode_User,DocumentMode_User_MDI,DocumentMode_User_SDI
   } _DocumentMode;
 
   typedef enum DocumentMode DOCUMENTMODE;
@@ -322,8 +321,8 @@
   typedef enum DocumentMode **PPDOCUMENTMODE;
 
   typedef enum ListViewMode {
-    ListMode_Small_Icons = 0,ListMode_Large_Icons = ListMode_Small_Icons + 1,ListMode_List = ListMode_Large_Icons + 1,
-    ListMode_Detail = ListMode_List + 1,ListMode_Filtered = ListMode_Detail + 1
+    ListMode_Small_Icons = 0,ListMode_Large_Icons,ListMode_List,ListMode_Detail,
+    ListMode_Filtered
   } _ListViewMode;
 
   typedef enum ListViewMode LISTVIEWMODE;
diff --git a/mingw-w64-headers/include/mqoai.h b/mingw-w64-headers/include/mqoai.h
index 4ea7ff6..dcc80bc 100644
--- a/mingw-w64-headers/include/mqoai.h
+++ b/mingw-w64-headers/include/mqoai.h
@@ -372,17 +372,17 @@
   typedef int WINBOOL;
 
   enum MQCALG {
-    MQMSG_CALG_MD2 = 0x8000 + 1,MQMSG_CALG_MD4 = 0x8000 + 2,MQMSG_CALG_MD5 = 0x8000 + 3,MQMSG_CALG_SHA = 0x8000 + 4,
-    MQMSG_CALG_SHA1 = 0x8000 + 4,MQMSG_CALG_MAC = 0x8000 + 5,MQMSG_CALG_RSA_SIGN = 0x2000 + 0x400,MQMSG_CALG_DSS_SIGN = 0x2000 + 0x200,
-    MQMSG_CALG_RSA_KEYX = 0xa000 + 0x400,MQMSG_CALG_DES = 0x6000 + 0x600 + 1,MQMSG_CALG_RC2 = 0x6000 + 0x600 + 2,MQMSG_CALG_RC4 = 0x6000 + 0x800 + 1,
-    MQMSG_CALG_SEAL = 0x6000 + 0x800 + 2
+    MQMSG_CALG_MD2 = 0x8001,MQMSG_CALG_MD4 = 0x8002,MQMSG_CALG_MD5 = 0x8003,MQMSG_CALG_SHA = 0x8004,
+    MQMSG_CALG_SHA1 = 0x8004,MQMSG_CALG_MAC = 0x8005,MQMSG_CALG_RSA_SIGN = 0x2400,MQMSG_CALG_DSS_SIGN = 0x2200,
+    MQMSG_CALG_RSA_KEYX = 0xa400,MQMSG_CALG_DES = 0x6601,MQMSG_CALG_RC2 = 0x6602,MQMSG_CALG_RC4 = 0x6801,
+    MQMSG_CALG_SEAL = 0x6802
   };
   enum MQTRANSACTION {
     MQ_NO_TRANSACTION = 0,MQ_MTS_TRANSACTION = 1,MQ_XA_TRANSACTION = 2,MQ_SINGLE_MESSAGE = 3
   };
 
   enum RELOPS {
-    REL_NOP = 0,REL_EQ = REL_NOP + 1,REL_NEQ = REL_EQ + 1,REL_LT = REL_NEQ + 1,REL_GT = REL_LT + 1,REL_LE = REL_GT + 1,REL_GE = REL_LE + 1
+    REL_NOP = 0,REL_EQ,REL_NEQ,REL_LT,REL_GT,REL_LE,REL_GE
   };
 
   enum MQCERT_REGISTER {
@@ -481,24 +481,21 @@
   };
 
   enum QUEUE_TYPE {
-    MQ_TYPE_PUBLIC = 0,MQ_TYPE_PRIVATE = MQ_TYPE_PUBLIC + 1,MQ_TYPE_MACHINE = MQ_TYPE_PRIVATE + 1,MQ_TYPE_CONNECTOR = MQ_TYPE_MACHINE + 1,
-    MQ_TYPE_MULTICAST = MQ_TYPE_CONNECTOR + 1
+    MQ_TYPE_PUBLIC = 0,MQ_TYPE_PRIVATE,MQ_TYPE_MACHINE,MQ_TYPE_CONNECTOR,MQ_TYPE_MULTICAST
   };
 
   enum FOREIGN_STATUS {
-    MQ_STATUS_FOREIGN = 0,MQ_STATUS_NOT_FOREIGN = MQ_STATUS_FOREIGN + 1,MQ_STATUS_UNKNOWN = MQ_STATUS_NOT_FOREIGN + 1
+    MQ_STATUS_FOREIGN = 0,MQ_STATUS_NOT_FOREIGN,MQ_STATUS_UNKNOWN
   };
 
   enum XACT_STATUS {
-    MQ_XACT_STATUS_XACT = 0,MQ_XACT_STATUS_NOT_XACT = MQ_XACT_STATUS_XACT + 1,MQ_XACT_STATUS_UNKNOWN = MQ_XACT_STATUS_NOT_XACT + 1
+    MQ_XACT_STATUS_XACT = 0,MQ_XACT_STATUS_NOT_XACT,MQ_XACT_STATUS_UNKNOWN
   };
 
   enum QUEUE_STATE {
-    MQ_QUEUE_STATE_LOCAL_CONNECTION = 0,MQ_QUEUE_STATE_DISCONNECTED = MQ_QUEUE_STATE_LOCAL_CONNECTION + 1,
-    MQ_QUEUE_STATE_WAITING = MQ_QUEUE_STATE_DISCONNECTED + 1,MQ_QUEUE_STATE_NEEDVALIDATE = MQ_QUEUE_STATE_WAITING + 1,
-    MQ_QUEUE_STATE_ONHOLD = MQ_QUEUE_STATE_NEEDVALIDATE + 1,MQ_QUEUE_STATE_NONACTIVE = MQ_QUEUE_STATE_ONHOLD + 1,
-    MQ_QUEUE_STATE_CONNECTED = MQ_QUEUE_STATE_NONACTIVE + 1,MQ_QUEUE_STATE_DISCONNECTING = MQ_QUEUE_STATE_CONNECTED + 1,
-    MQ_QUEUE_STATE_LOCKED = MQ_QUEUE_STATE_DISCONNECTING + 1
+    MQ_QUEUE_STATE_LOCAL_CONNECTION = 0,MQ_QUEUE_STATE_DISCONNECTED,MQ_QUEUE_STATE_WAITING,
+    MQ_QUEUE_STATE_NEEDVALIDATE,MQ_QUEUE_STATE_ONHOLD,MQ_QUEUE_STATE_NONACTIVE,
+    MQ_QUEUE_STATE_CONNECTED,MQ_QUEUE_STATE_DISCONNECTING,MQ_QUEUE_STATE_LOCKED
   };
 
   enum MQDEFAULT {
diff --git a/mingw-w64-headers/include/msclus.h b/mingw-w64-headers/include/msclus.h
index dd7c8b7..5bf680c 100644
--- a/mingw-w64-headers/include/msclus.h
+++ b/mingw-w64-headers/include/msclus.h
@@ -607,11 +607,9 @@
   } NODE_CLUSTER_STATE;
 
   typedef enum CLUSTER_RESOURCE_STATE_CHANGE_REASON {
-    eResourceStateChangeReasonUnknown = 0,eResourceStateChangeReasonMove = eResourceStateChangeReasonUnknown + 1,
-    eResourceStateChangeReasonFailover = eResourceStateChangeReasonMove + 1,
-    eResourceStateChangeReasonFailedMove = eResourceStateChangeReasonFailover + 1,
-    eResourceStateChangeReasonShutdown = eResourceStateChangeReasonFailedMove + 1,
-    eResourceStateChangeReasonRundown = eResourceStateChangeReasonShutdown + 1
+    eResourceStateChangeReasonUnknown = 0,eResourceStateChangeReasonMove,
+    eResourceStateChangeReasonFailover,eResourceStateChangeReasonFailedMove,
+    eResourceStateChangeReasonShutdown,eResourceStateChangeReasonRundown
   } CLUSTER_RESOURCE_STATE_CHANGE_REASON;
 
   typedef enum CLUSTER_SET_PASSWORD_FLAGS {
@@ -644,8 +642,8 @@
   } CLUSTER_NODE_ENUM;
 
   typedef enum CLUSTER_NODE_STATE {
-    ClusterNodeStateUnknown = -1,ClusterNodeUp = ClusterNodeStateUnknown + 1,ClusterNodeDown = ClusterNodeUp + 1,
-    ClusterNodePaused = ClusterNodeDown + 1,ClusterNodeJoining = ClusterNodePaused + 1
+    ClusterNodeStateUnknown = -1,
+    ClusterNodeUp = 0,ClusterNodeDown,ClusterNodePaused,ClusterNodeJoining
   } CLUSTER_NODE_STATE;
 
   typedef enum CLUSTER_GROUP_ENUM {
@@ -653,27 +651,27 @@
   } CLUSTER_GROUP_ENUM;
 
   typedef enum CLUSTER_GROUP_STATE {
-    ClusterGroupStateUnknown = -1,ClusterGroupOnline = ClusterGroupStateUnknown + 1,ClusterGroupOffline = ClusterGroupOnline + 1,
-    ClusterGroupFailed = ClusterGroupOffline + 1,ClusterGroupPartialOnline = ClusterGroupFailed + 1,ClusterGroupPending = ClusterGroupPartialOnline + 1
+    ClusterGroupStateUnknown = -1,
+    ClusterGroupOnline = 0,ClusterGroupOffline,ClusterGroupFailed,
+    ClusterGroupPartialOnline,ClusterGroupPending
   } CLUSTER_GROUP_STATE;
 
   typedef enum CLUSTER_GROUP_AUTOFAILBACK_TYPE {
-    ClusterGroupPreventFailback = 0,ClusterGroupAllowFailback = ClusterGroupPreventFailback + 1,
-    ClusterGroupFailbackTypeCount = ClusterGroupAllowFailback + 1
+    ClusterGroupPreventFailback = 0,ClusterGroupAllowFailback,ClusterGroupFailbackTypeCount
   } CLUSTER_GROUP_AUTOFAILBACK_TYPE;
 
   typedef enum CLUSTER_GROUP_AUTOFAILBACK_TYPE CGAFT;
 
   typedef enum CLUSTER_RESOURCE_STATE {
-    ClusterResourceStateUnknown = -1,ClusterResourceInherited = ClusterResourceStateUnknown + 1,
-    ClusterResourceInitializing = ClusterResourceInherited + 1,ClusterResourceOnline = ClusterResourceInitializing + 1,
-    ClusterResourceOffline = ClusterResourceOnline + 1,ClusterResourceFailed = ClusterResourceOffline + 1,ClusterResourcePending = 128,
-    ClusterResourceOnlinePending = ClusterResourcePending + 1,ClusterResourceOfflinePending = ClusterResourceOnlinePending + 1
+    ClusterResourceStateUnknown = -1,
+    ClusterResourceInherited = 0,ClusterResourceInitializing,ClusterResourceOnline,
+    ClusterResourceOffline,ClusterResourceFailed,
+    ClusterResourcePending = 128,ClusterResourceOnlinePending = 129,ClusterResourceOfflinePending = 130
   } CLUSTER_RESOURCE_STATE;
 
   typedef enum CLUSTER_RESOURCE_RESTART_ACTION {
-    ClusterResourceDontRestart = 0,ClusterResourceRestartNoNotify = ClusterResourceDontRestart + 1,
-    ClusterResourceRestartNotify = ClusterResourceRestartNoNotify + 1,ClusterResourceRestartActionCount = ClusterResourceRestartNotify + 1
+    ClusterResourceDontRestart = 0,ClusterResourceRestartNoNotify,
+    ClusterResourceRestartNotify,ClusterResourceRestartActionCount
   } CLUSTER_RESOURCE_RESTART_ACTION;
 
   typedef enum CLUSTER_RESOURCE_RESTART_ACTION CRRA;
@@ -683,21 +681,19 @@
   } CLUSTER_RESOURCE_CREATE_FLAGS;
 
   typedef enum CLUSTER_PROPERTY_TYPE {
-    CLUSPROP_TYPE_UNKNOWN = -1,CLUSPROP_TYPE_ENDMARK = 0,CLUSPROP_TYPE_LIST_VALUE = CLUSPROP_TYPE_ENDMARK + 1,
-    CLUSPROP_TYPE_RESCLASS = CLUSPROP_TYPE_LIST_VALUE + 1,CLUSPROP_TYPE_RESERVED1 = CLUSPROP_TYPE_RESCLASS + 1,
-    CLUSPROP_TYPE_NAME = CLUSPROP_TYPE_RESERVED1 + 1,CLUSPROP_TYPE_SIGNATURE = CLUSPROP_TYPE_NAME + 1,
-    CLUSPROP_TYPE_SCSI_ADDRESS = CLUSPROP_TYPE_SIGNATURE + 1,CLUSPROP_TYPE_DISK_NUMBER = CLUSPROP_TYPE_SCSI_ADDRESS + 1,
-    CLUSPROP_TYPE_PARTITION_INFO = CLUSPROP_TYPE_DISK_NUMBER + 1,CLUSPROP_TYPE_FTSET_INFO = CLUSPROP_TYPE_PARTITION_INFO + 1,
-    CLUSPROP_TYPE_DISK_SERIALNUMBER = CLUSPROP_TYPE_FTSET_INFO + 1,CLUSPROP_TYPE_USER = 32768
+    CLUSPROP_TYPE_UNKNOWN = -1,
+    CLUSPROP_TYPE_ENDMARK = 0,CLUSPROP_TYPE_LIST_VALUE,CLUSPROP_TYPE_RESCLASS,CLUSPROP_TYPE_RESERVED1,
+    CLUSPROP_TYPE_NAME,CLUSPROP_TYPE_SIGNATURE,CLUSPROP_TYPE_SCSI_ADDRESS,CLUSPROP_TYPE_DISK_NUMBER,
+    CLUSPROP_TYPE_PARTITION_INFO,CLUSPROP_TYPE_FTSET_INFO,CLUSPROP_TYPE_DISK_SERIALNUMBER,
+    CLUSPROP_TYPE_USER = 32768
   } CLUSTER_PROPERTY_TYPE;
 
   typedef enum CLUSTER_PROPERTY_FORMAT {
-    CLUSPROP_FORMAT_UNKNOWN = 0,CLUSPROP_FORMAT_BINARY = CLUSPROP_FORMAT_UNKNOWN + 1,CLUSPROP_FORMAT_DWORD = CLUSPROP_FORMAT_BINARY + 1,
-    CLUSPROP_FORMAT_SZ = CLUSPROP_FORMAT_DWORD + 1,CLUSPROP_FORMAT_EXPAND_SZ = CLUSPROP_FORMAT_SZ + 1,
-    CLUSPROP_FORMAT_MULTI_SZ = CLUSPROP_FORMAT_EXPAND_SZ + 1,CLUSPROP_FORMAT_ULARGE_INTEGER = CLUSPROP_FORMAT_MULTI_SZ + 1,
-    CLUSPROP_FORMAT_LONG = CLUSPROP_FORMAT_ULARGE_INTEGER + 1,CLUSPROP_FORMAT_EXPANDED_SZ = CLUSPROP_FORMAT_LONG + 1,
-    CLUSPROP_FORMAT_SECURITY_DESCRIPTOR = CLUSPROP_FORMAT_EXPANDED_SZ + 1,CLUSPROP_FORMAT_LARGE_INTEGER = CLUSPROP_FORMAT_SECURITY_DESCRIPTOR + 1,
-    CLUSPROP_FORMAT_WORD = CLUSPROP_FORMAT_LARGE_INTEGER + 1,CLUSPROP_FORMAT_USER = 32768
+    CLUSPROP_FORMAT_UNKNOWN = 0,CLUSPROP_FORMAT_BINARY,CLUSPROP_FORMAT_DWORD,
+    CLUSPROP_FORMAT_SZ,CLUSPROP_FORMAT_EXPAND_SZ,CLUSPROP_FORMAT_MULTI_SZ,CLUSPROP_FORMAT_ULARGE_INTEGER,
+    CLUSPROP_FORMAT_LONG,CLUSPROP_FORMAT_EXPANDED_SZ,CLUSPROP_FORMAT_SECURITY_DESCRIPTOR,
+    CLUSPROP_FORMAT_LARGE_INTEGER,CLUSPROP_FORMAT_WORD,
+    CLUSPROP_FORMAT_USER = 32768
   } CLUSTER_PROPERTY_FORMAT;
 
   typedef enum CLUSTER_PROPERTY_SYNTAX {
@@ -723,9 +719,9 @@
   } CLUSTER_PROPERTY_SYNTAX;
 
   typedef enum CLUSTER_CONTROL_OBJECT {
-    CLUS_OBJECT_INVALID = 0,CLUS_OBJECT_RESOURCE = CLUS_OBJECT_INVALID + 1,CLUS_OBJECT_RESOURCE_TYPE = CLUS_OBJECT_RESOURCE + 1,
-    CLUS_OBJECT_GROUP = CLUS_OBJECT_RESOURCE_TYPE + 1,CLUS_OBJECT_NODE = CLUS_OBJECT_GROUP + 1,CLUS_OBJECT_NETWORK = CLUS_OBJECT_NODE + 1,
-    CLUS_OBJECT_NETINTERFACE = CLUS_OBJECT_NETWORK + 1,CLUS_OBJECT_CLUSTER = CLUS_OBJECT_NETINTERFACE + 1,CLUS_OBJECT_USER = 128
+    CLUS_OBJECT_INVALID = 0,CLUS_OBJECT_RESOURCE,CLUS_OBJECT_RESOURCE_TYPE,CLUS_OBJECT_GROUP,
+    CLUS_OBJECT_NODE,CLUS_OBJECT_NETWORK,CLUS_OBJECT_NETINTERFACE,CLUS_OBJECT_CLUSTER,
+    CLUS_OBJECT_USER = 128
   } CLUSTER_CONTROL_OBJECT;
 
   typedef enum CLCTL_CODES {
@@ -950,7 +946,8 @@
   } CLUSCTL_CLUSTER_CODES;
 
   typedef enum CLUSTER_RESOURCE_CLASS {
-    CLUS_RESCLASS_UNKNOWN = 0,CLUS_RESCLASS_STORAGE = CLUS_RESCLASS_UNKNOWN + 1,CLUS_RESCLASS_USER = 32768
+    CLUS_RESCLASS_UNKNOWN = 0,CLUS_RESCLASS_STORAGE,
+    CLUS_RESCLASS_USER = 32768
   } CLUSTER_RESOURCE_CLASS;
 
   typedef enum CLUS_RESSUBCLASS {
@@ -984,8 +981,8 @@
   } CLUSTER_NETWORK_ENUM;
 
   typedef enum CLUSTER_NETWORK_STATE {
-    ClusterNetworkStateUnknown = -1,ClusterNetworkUnavailable = ClusterNetworkStateUnknown + 1,ClusterNetworkDown = ClusterNetworkUnavailable + 1,
-    ClusterNetworkPartitioned = ClusterNetworkDown + 1,ClusterNetworkUp = ClusterNetworkPartitioned + 1
+    ClusterNetworkStateUnknown = -1,
+    ClusterNetworkUnavailable = 0,ClusterNetworkDown,ClusterNetworkPartitioned,ClusterNetworkUp
   } CLUSTER_NETWORK_STATE;
 
   typedef enum CLUSTER_NETWORK_ROLE {
@@ -993,9 +990,9 @@
   } CLUSTER_NETWORK_ROLE;
 
   typedef enum CLUSTER_NETINTERFACE_STATE {
-    ClusterNetInterfaceStateUnknown = -1,ClusterNetInterfaceUnavailable = ClusterNetInterfaceStateUnknown + 1,
-    ClusterNetInterfaceFailed = ClusterNetInterfaceUnavailable + 1,ClusterNetInterfaceUnreachable = ClusterNetInterfaceFailed + 1,
-    ClusterNetInterfaceUp = ClusterNetInterfaceUnreachable + 1
+    ClusterNetInterfaceStateUnknown = -1,
+    ClusterNetInterfaceUnavailable = 0,ClusterNetInterfaceFailed,ClusterNetInterfaceUnreachable,
+    ClusterNetInterfaceUp
   } CLUSTER_NETINTERFACE_STATE;
 #endif
 
diff --git a/mingw-w64-headers/include/msxml.h b/mingw-w64-headers/include/msxml.h
index 1f7e778..6567f29 100644
--- a/mingw-w64-headers/include/msxml.h
+++ b/mingw-w64-headers/include/msxml.h
@@ -236,16 +236,14 @@
 #define __MSXML_LIBRARY_DEFINED__
 
   typedef enum tagDOMNodeType {
-    NODE_INVALID = 0,NODE_ELEMENT = NODE_INVALID + 1,NODE_ATTRIBUTE = NODE_ELEMENT + 1,NODE_TEXT = NODE_ATTRIBUTE + 1,
-    NODE_CDATA_SECTION = NODE_TEXT + 1,NODE_ENTITY_REFERENCE = NODE_CDATA_SECTION + 1,NODE_ENTITY = NODE_ENTITY_REFERENCE + 1,
-    NODE_PROCESSING_INSTRUCTION = NODE_ENTITY + 1,NODE_COMMENT = NODE_PROCESSING_INSTRUCTION + 1,NODE_DOCUMENT = NODE_COMMENT + 1,
-    NODE_DOCUMENT_TYPE = NODE_DOCUMENT + 1,NODE_DOCUMENT_FRAGMENT = NODE_DOCUMENT_TYPE + 1,NODE_NOTATION = NODE_DOCUMENT_FRAGMENT + 1
+    NODE_INVALID = 0,NODE_ELEMENT,NODE_ATTRIBUTE,NODE_TEXT,NODE_CDATA_SECTION,
+    NODE_ENTITY_REFERENCE,NODE_ENTITY,NODE_PROCESSING_INSTRUCTION,NODE_COMMENT,
+    NODE_DOCUMENT,NODE_DOCUMENT_TYPE,NODE_DOCUMENT_FRAGMENT,NODE_NOTATION
   } DOMNodeType;
 
   typedef enum tagXMLEMEM_TYPE {
-    XMLELEMTYPE_ELEMENT = 0,XMLELEMTYPE_TEXT = XMLELEMTYPE_ELEMENT + 1,XMLELEMTYPE_COMMENT = XMLELEMTYPE_TEXT + 1,
-    XMLELEMTYPE_DOCUMENT = XMLELEMTYPE_COMMENT + 1,XMLELEMTYPE_DTD = XMLELEMTYPE_DOCUMENT + 1,XMLELEMTYPE_PI = XMLELEMTYPE_DTD + 1,
-    XMLELEMTYPE_OTHER = XMLELEMTYPE_PI + 1
+    XMLELEMTYPE_ELEMENT = 0,XMLELEMTYPE_TEXT,XMLELEMTYPE_COMMENT,XMLELEMTYPE_DOCUMENT,
+    XMLELEMTYPE_DTD,XMLELEMTYPE_PI,XMLELEMTYPE_OTHER
   } XMLELEM_TYPE;
 
   EXTERN_C const IID LIBID_MSXML;
diff --git a/mingw-w64-headers/include/msxml2.h b/mingw-w64-headers/include/msxml2.h
index 3f290a9..aa4638d 100644
--- a/mingw-w64-headers/include/msxml2.h
+++ b/mingw-w64-headers/include/msxml2.h
@@ -826,25 +826,22 @@
 #undef ParseURL
 #if !defined(__msxml_h__)
     typedef enum tagXMLEMEM_TYPE {
-      XMLELEMTYPE_ELEMENT = 0,XMLELEMTYPE_TEXT = XMLELEMTYPE_ELEMENT + 1,XMLELEMTYPE_COMMENT = XMLELEMTYPE_TEXT + 1,
-      XMLELEMTYPE_DOCUMENT = XMLELEMTYPE_COMMENT + 1,XMLELEMTYPE_DTD = XMLELEMTYPE_DOCUMENT + 1,XMLELEMTYPE_PI = XMLELEMTYPE_DTD + 1,
-      XMLELEMTYPE_OTHER = XMLELEMTYPE_PI + 1
+      XMLELEMTYPE_ELEMENT = 0,XMLELEMTYPE_TEXT,XMLELEMTYPE_COMMENT,
+      XMLELEMTYPE_DOCUMENT,XMLELEMTYPE_DTD,XMLELEMTYPE_PI,XMLELEMTYPE_OTHER
     } XMLELEM_TYPE;
 #endif
 #if !defined(__msxml_h__) || defined(__IXMLElementNotificationSink_INTERFACE_DEFINED__)
     typedef enum tagDOMNodeType {
-      NODE_INVALID = 0,NODE_ELEMENT = NODE_INVALID + 1,NODE_ATTRIBUTE = NODE_ELEMENT + 1,NODE_TEXT = NODE_ATTRIBUTE + 1,
-      NODE_CDATA_SECTION = NODE_TEXT + 1,NODE_ENTITY_REFERENCE = NODE_CDATA_SECTION + 1,NODE_ENTITY = NODE_ENTITY_REFERENCE + 1,
-      NODE_PROCESSING_INSTRUCTION = NODE_ENTITY + 1,NODE_COMMENT = NODE_PROCESSING_INSTRUCTION + 1,NODE_DOCUMENT = NODE_COMMENT + 1,
-      NODE_DOCUMENT_TYPE = NODE_DOCUMENT + 1,NODE_DOCUMENT_FRAGMENT = NODE_DOCUMENT_TYPE + 1,NODE_NOTATION = NODE_DOCUMENT_FRAGMENT + 1
+      NODE_INVALID = 0,NODE_ELEMENT,NODE_ATTRIBUTE,NODE_TEXT,NODE_CDATA_SECTION,
+      NODE_ENTITY_REFERENCE,NODE_ENTITY,NODE_PROCESSING_INSTRUCTION,NODE_COMMENT,
+      NODE_DOCUMENT,NODE_DOCUMENT_TYPE,NODE_DOCUMENT_FRAGMENT,NODE_NOTATION
     } DOMNodeType;
 #endif
 #if !defined(__msxml_sxh_enums__)
 #define __msxml_sxh_enums__
     typedef enum _SERVERXMLHTTP_OPTION {
-      SXH_OPTION_URL = -1,SXH_OPTION_URL_CODEPAGE = SXH_OPTION_URL + 1,SXH_OPTION_ESCAPE_PERCENT_IN_URL = SXH_OPTION_URL_CODEPAGE + 1,
-      SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS = SXH_OPTION_ESCAPE_PERCENT_IN_URL + 1,
-      SXH_OPTION_SELECT_CLIENT_SSL_CERT = SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS + 1
+      SXH_OPTION_URL = -1,SXH_OPTION_URL_CODEPAGE,SXH_OPTION_ESCAPE_PERCENT_IN_URL,
+      SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS,SXH_OPTION_SELECT_CLIENT_SSL_CERT
     } SERVERXMLHTTP_OPTION;
 
     typedef enum _SXH_SERVER_CERT_OPTION {
@@ -882,7 +879,7 @@
     } SOMITEMTYPE;
 
     typedef enum _SCHEMAUSE {
-      SCHEMAUSE_OPTIONAL = 0,SCHEMAUSE_PROHIBITED = SCHEMAUSE_OPTIONAL + 1,SCHEMAUSE_REQUIRED = SCHEMAUSE_PROHIBITED + 1
+      SCHEMAUSE_OPTIONAL = 0,SCHEMAUSE_PROHIBITED,SCHEMAUSE_REQUIRED
     } SCHEMAUSE;
 
     typedef enum _SCHEMADERIVATIONMETHOD {
@@ -892,13 +889,13 @@
     } SCHEMADERIVATIONMETHOD;
 
     typedef enum _SCHEMACONTENTTYPE {
-      SCHEMACONTENTTYPE_EMPTY = 0,SCHEMACONTENTTYPE_TEXTONLY = SCHEMACONTENTTYPE_EMPTY + 1,SCHEMACONTENTTYPE_ELEMENTONLY = SCHEMACONTENTTYPE_TEXTONLY + 1,
-      SCHEMACONTENTTYPE_MIXED = SCHEMACONTENTTYPE_ELEMENTONLY + 1
+      SCHEMACONTENTTYPE_EMPTY = 0,SCHEMACONTENTTYPE_TEXTONLY,SCHEMACONTENTTYPE_ELEMENTONLY,
+      SCHEMACONTENTTYPE_MIXED
     } SCHEMACONTENTTYPE;
 
     typedef enum _SCHEMAPROCESSCONTENTS {
-      SCHEMAPROCESSCONTENTS_NONE = 0,SCHEMAPROCESSCONTENTS_SKIP = SCHEMAPROCESSCONTENTS_NONE + 1,
-      SCHEMAPROCESSCONTENTS_LAX = SCHEMAPROCESSCONTENTS_SKIP + 1,SCHEMAPROCESSCONTENTS_STRICT = SCHEMAPROCESSCONTENTS_LAX + 1
+      SCHEMAPROCESSCONTENTS_NONE = 0,SCHEMAPROCESSCONTENTS_SKIP,SCHEMAPROCESSCONTENTS_LAX,
+      SCHEMAPROCESSCONTENTS_STRICT
     } SCHEMAPROCESSCONTENTS;
 
     typedef enum _SCHEMAWHITESPACE {
