widl: Update to current Wine version.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
diff --git a/mingw-w64-headers/include/activation.h b/mingw-w64-headers/include/activation.h
index 00999b4..a538b8e 100644
--- a/mingw-w64-headers/include/activation.h
+++ b/mingw-w64-headers/include/activation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/activation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/activation.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/activaut.h b/mingw-w64-headers/include/activaut.h
index 429f1c5..a366929 100644
--- a/mingw-w64-headers/include/activaut.h
+++ b/mingw-w64-headers/include/activaut.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/activaut.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/activaut.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/activdbg.h b/mingw-w64-headers/include/activdbg.h
index 5960a06..b5545a7 100644
--- a/mingw-w64-headers/include/activdbg.h
+++ b/mingw-w64-headers/include/activdbg.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/activdbg.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/activdbg.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/activdbg100.h b/mingw-w64-headers/include/activdbg100.h
index 9487198..d803513 100644
--- a/mingw-w64-headers/include/activdbg100.h
+++ b/mingw-w64-headers/include/activdbg100.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/activdbg100.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/activdbg100.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/activprof.h b/mingw-w64-headers/include/activprof.h
index cc4d7be..9944c67 100644
--- a/mingw-w64-headers/include/activprof.h
+++ b/mingw-w64-headers/include/activprof.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/activprof.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/activprof.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/activscp.h b/mingw-w64-headers/include/activscp.h
index 8ef4327..e8b6b54 100644
--- a/mingw-w64-headers/include/activscp.h
+++ b/mingw-w64-headers/include/activscp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/activscp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/activscp.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/adhoc.h b/mingw-w64-headers/include/adhoc.h
index 8b61e08..1e0ac7b 100644
--- a/mingw-w64-headers/include/adhoc.h
+++ b/mingw-w64-headers/include/adhoc.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/adhoc.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/adhoc.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/alg.h b/mingw-w64-headers/include/alg.h
index 8554079..3dcf91d 100644
--- a/mingw-w64-headers/include/alg.h
+++ b/mingw-w64-headers/include/alg.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/alg.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/alg.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/amstream.h b/mingw-w64-headers/include/amstream.h
index 7d97cfc..87276f5 100644
--- a/mingw-w64-headers/include/amstream.h
+++ b/mingw-w64-headers/include/amstream.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/amstream.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/amstream.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/amvideo.h b/mingw-w64-headers/include/amvideo.h
index 4669198..41555a7 100644
--- a/mingw-w64-headers/include/amvideo.h
+++ b/mingw-w64-headers/include/amvideo.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/amvideo.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/amvideo.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/audioclient.h b/mingw-w64-headers/include/audioclient.h
index 4f5bdea..3fdb1ce 100644
--- a/mingw-w64-headers/include/audioclient.h
+++ b/mingw-w64-headers/include/audioclient.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/audioclient.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/audioclient.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/audioendpoints.h b/mingw-w64-headers/include/audioendpoints.h
index b5ba40f..4c491ef 100644
--- a/mingw-w64-headers/include/audioendpoints.h
+++ b/mingw-w64-headers/include/audioendpoints.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/audioendpoints.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/audioendpoints.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/audiopolicy.h b/mingw-w64-headers/include/audiopolicy.h
index 0091bd0..cf883c8 100644
--- a/mingw-w64-headers/include/audiopolicy.h
+++ b/mingw-w64-headers/include/audiopolicy.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/audiopolicy.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/audiopolicy.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/austream.h b/mingw-w64-headers/include/austream.h
index 9677c5d..73f7a28 100644
--- a/mingw-w64-headers/include/austream.h
+++ b/mingw-w64-headers/include/austream.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/austream.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/austream.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/bdaiface.h b/mingw-w64-headers/include/bdaiface.h
index 0836664..c3a1106 100644
--- a/mingw-w64-headers/include/bdaiface.h
+++ b/mingw-w64-headers/include/bdaiface.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/bdaiface.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/bdaiface.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/comadmin.h b/mingw-w64-headers/include/comadmin.h
index 0511c4b..627ea40 100644
--- a/mingw-w64-headers/include/comadmin.h
+++ b/mingw-w64-headers/include/comadmin.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/comadmin.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/comadmin.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/comcat.h b/mingw-w64-headers/include/comcat.h
index a2a9dda..55af776 100644
--- a/mingw-w64-headers/include/comcat.h
+++ b/mingw-w64-headers/include/comcat.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/comcat.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/comcat.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/commoncontrols.h b/mingw-w64-headers/include/commoncontrols.h
index ae4587f..ae18783 100644
--- a/mingw-w64-headers/include/commoncontrols.h
+++ b/mingw-w64-headers/include/commoncontrols.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/commoncontrols.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/commoncontrols.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/control.h b/mingw-w64-headers/include/control.h
index 7d5d68c..931f834 100644
--- a/mingw-w64-headers/include/control.h
+++ b/mingw-w64-headers/include/control.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/control.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/control.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/ctfutb.h b/mingw-w64-headers/include/ctfutb.h
index 721d92c..c010bda 100644
--- a/mingw-w64-headers/include/ctfutb.h
+++ b/mingw-w64-headers/include/ctfutb.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/ctfutb.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/ctfutb.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d10.h b/mingw-w64-headers/include/d3d10.h
index 0015ee4..f4a34f6 100644
--- a/mingw-w64-headers/include/d3d10.h
+++ b/mingw-w64-headers/include/d3d10.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/d3d10.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/d3d10.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d10_1.h b/mingw-w64-headers/include/d3d10_1.h
index 3af5c11..3b14c72 100644
--- a/mingw-w64-headers/include/d3d10_1.h
+++ b/mingw-w64-headers/include/d3d10_1.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/d3d10_1.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/d3d10_1.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d10sdklayers.h b/mingw-w64-headers/include/d3d10sdklayers.h
index e0ab4c4..c70f97c 100644
--- a/mingw-w64-headers/include/d3d10sdklayers.h
+++ b/mingw-w64-headers/include/d3d10sdklayers.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/d3d10sdklayers.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/d3d10sdklayers.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d11.h b/mingw-w64-headers/include/d3d11.h
index 5b77a98..1b83b61 100644
--- a/mingw-w64-headers/include/d3d11.h
+++ b/mingw-w64-headers/include/d3d11.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/d3d11.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/d3d11.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d11_1.h b/mingw-w64-headers/include/d3d11_1.h
index 6bf6b62..3781bbb 100644
--- a/mingw-w64-headers/include/d3d11_1.h
+++ b/mingw-w64-headers/include/d3d11_1.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/d3d11_1.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/d3d11_1.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d11_2.h b/mingw-w64-headers/include/d3d11_2.h
index ec42871..879f793 100644
--- a/mingw-w64-headers/include/d3d11_2.h
+++ b/mingw-w64-headers/include/d3d11_2.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/d3d11_2.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/d3d11_2.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d11_3.h b/mingw-w64-headers/include/d3d11_3.h
index a1a2b51..657b6dc 100644
--- a/mingw-w64-headers/include/d3d11_3.h
+++ b/mingw-w64-headers/include/d3d11_3.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/d3d11_3.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/d3d11_3.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d11_4.h b/mingw-w64-headers/include/d3d11_4.h
index e1ba34e..c0c725a 100644
--- a/mingw-w64-headers/include/d3d11_4.h
+++ b/mingw-w64-headers/include/d3d11_4.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/d3d11_4.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/d3d11_4.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d11on12.h b/mingw-w64-headers/include/d3d11on12.h
index c0d0cb6..6dc8adf 100644
--- a/mingw-w64-headers/include/d3d11on12.h
+++ b/mingw-w64-headers/include/d3d11on12.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/d3d11on12.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/d3d11on12.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d11sdklayers.h b/mingw-w64-headers/include/d3d11sdklayers.h
index f7684f7..a7a65bb 100644
--- a/mingw-w64-headers/include/d3d11sdklayers.h
+++ b/mingw-w64-headers/include/d3d11sdklayers.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/d3d11sdklayers.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/d3d11sdklayers.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d12.h b/mingw-w64-headers/include/d3d12.h
index f58a03e..77e9da0 100644
--- a/mingw-w64-headers/include/d3d12.h
+++ b/mingw-w64-headers/include/d3d12.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/d3d12.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/d3d12.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d12sdklayers.h b/mingw-w64-headers/include/d3d12sdklayers.h
index e0f3a86..184775b 100644
--- a/mingw-w64-headers/include/d3d12sdklayers.h
+++ b/mingw-w64-headers/include/d3d12sdklayers.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/d3d12sdklayers.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/d3d12sdklayers.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3d12shader.h b/mingw-w64-headers/include/d3d12shader.h
index db0fc4f..870c336 100644
--- a/mingw-w64-headers/include/d3d12shader.h
+++ b/mingw-w64-headers/include/d3d12shader.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/d3d12shader.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/d3d12shader.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/d3dcommon.h b/mingw-w64-headers/include/d3dcommon.h
index 9fa1f43..a09cd5e 100644
--- a/mingw-w64-headers/include/d3dcommon.h
+++ b/mingw-w64-headers/include/d3dcommon.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/d3dcommon.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/d3dcommon.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dbgprop.h b/mingw-w64-headers/include/dbgprop.h
index 9f48892..7207005 100644
--- a/mingw-w64-headers/include/dbgprop.h
+++ b/mingw-w64-headers/include/dbgprop.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dbgprop.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dbgprop.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dcommon.h b/mingw-w64-headers/include/dcommon.h
index 4da028d..aef42d5 100644
--- a/mingw-w64-headers/include/dcommon.h
+++ b/mingw-w64-headers/include/dcommon.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dcommon.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dcommon.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dcompanimation.h b/mingw-w64-headers/include/dcompanimation.h
index 570a9b6..5a74d04 100644
--- a/mingw-w64-headers/include/dcompanimation.h
+++ b/mingw-w64-headers/include/dcompanimation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dcompanimation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dcompanimation.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/ddstream.h b/mingw-w64-headers/include/ddstream.h
index 9406f70..cbd1ce4 100644
--- a/mingw-w64-headers/include/ddstream.h
+++ b/mingw-w64-headers/include/ddstream.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/ddstream.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/ddstream.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/devicetopology.h b/mingw-w64-headers/include/devicetopology.h
index a596dda..9780659 100644
--- a/mingw-w64-headers/include/devicetopology.h
+++ b/mingw-w64-headers/include/devicetopology.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/devicetopology.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/devicetopology.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dimm.h b/mingw-w64-headers/include/dimm.h
index 5e2ba42..9c148bc 100644
--- a/mingw-w64-headers/include/dimm.h
+++ b/mingw-w64-headers/include/dimm.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dimm.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dimm.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dinputd.h b/mingw-w64-headers/include/dinputd.h
index a4b8222..2934fc4 100644
--- a/mingw-w64-headers/include/dinputd.h
+++ b/mingw-w64-headers/include/dinputd.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dinputd.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dinputd.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/directmanipulation.h b/mingw-w64-headers/include/directmanipulation.h
index 6491123..9feb303 100644
--- a/mingw-w64-headers/include/directmanipulation.h
+++ b/mingw-w64-headers/include/directmanipulation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/directmanipulation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/directmanipulation.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dispex.h b/mingw-w64-headers/include/dispex.h
index 9cbab73..59ecfda 100644
--- a/mingw-w64-headers/include/dispex.h
+++ b/mingw-w64-headers/include/dispex.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dispex.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dispex.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dmodshow.h b/mingw-w64-headers/include/dmodshow.h
index 43de083..d3370f1 100644
--- a/mingw-w64-headers/include/dmodshow.h
+++ b/mingw-w64-headers/include/dmodshow.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dmodshow.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dmodshow.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/docobj.h b/mingw-w64-headers/include/docobj.h
index 351fa86..7e12220 100644
--- a/mingw-w64-headers/include/docobj.h
+++ b/mingw-w64-headers/include/docobj.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/docobj.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/docobj.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/docobjectservice.h b/mingw-w64-headers/include/docobjectservice.h
index b3f1d19..db841b2 100644
--- a/mingw-w64-headers/include/docobjectservice.h
+++ b/mingw-w64-headers/include/docobjectservice.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/docobjectservice.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/docobjectservice.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/documenttarget.h b/mingw-w64-headers/include/documenttarget.h
index cf67ee3..9f311af 100644
--- a/mingw-w64-headers/include/documenttarget.h
+++ b/mingw-w64-headers/include/documenttarget.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/documenttarget.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/documenttarget.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/downloadmgr.h b/mingw-w64-headers/include/downloadmgr.h
index 9b368a8..8e04a32 100644
--- a/mingw-w64-headers/include/downloadmgr.h
+++ b/mingw-w64-headers/include/downloadmgr.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/downloadmgr.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/downloadmgr.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/drmexternals.h b/mingw-w64-headers/include/drmexternals.h
index f2fb321..39b4d5e 100644
--- a/mingw-w64-headers/include/drmexternals.h
+++ b/mingw-w64-headers/include/drmexternals.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/drmexternals.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/drmexternals.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dvdif.h b/mingw-w64-headers/include/dvdif.h
index fa55df3..878f849 100644
--- a/mingw-w64-headers/include/dvdif.h
+++ b/mingw-w64-headers/include/dvdif.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dvdif.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dvdif.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dwrite.h b/mingw-w64-headers/include/dwrite.h
index 3b7e0c2..a9b642b 100644
--- a/mingw-w64-headers/include/dwrite.h
+++ b/mingw-w64-headers/include/dwrite.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dwrite.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dwrite.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dwrite_1.h b/mingw-w64-headers/include/dwrite_1.h
index ce27259..87ea22a 100644
--- a/mingw-w64-headers/include/dwrite_1.h
+++ b/mingw-w64-headers/include/dwrite_1.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dwrite_1.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dwrite_1.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dwrite_2.h b/mingw-w64-headers/include/dwrite_2.h
index 06c021a..985ced9 100644
--- a/mingw-w64-headers/include/dwrite_2.h
+++ b/mingw-w64-headers/include/dwrite_2.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dwrite_2.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dwrite_2.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dwrite_3.h b/mingw-w64-headers/include/dwrite_3.h
index 169850c..74f1beb 100644
--- a/mingw-w64-headers/include/dwrite_3.h
+++ b/mingw-w64-headers/include/dwrite_3.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dwrite_3.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dwrite_3.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxgi.h b/mingw-w64-headers/include/dxgi.h
index d88da23..b0c20e0 100644
--- a/mingw-w64-headers/include/dxgi.h
+++ b/mingw-w64-headers/include/dxgi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dxgi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dxgi.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxgi1_2.h b/mingw-w64-headers/include/dxgi1_2.h
index 2b54ea7..225ebd2 100644
--- a/mingw-w64-headers/include/dxgi1_2.h
+++ b/mingw-w64-headers/include/dxgi1_2.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dxgi1_2.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dxgi1_2.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxgi1_3.h b/mingw-w64-headers/include/dxgi1_3.h
index a7fddf7..3eb7bee 100644
--- a/mingw-w64-headers/include/dxgi1_3.h
+++ b/mingw-w64-headers/include/dxgi1_3.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dxgi1_3.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dxgi1_3.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxgi1_4.h b/mingw-w64-headers/include/dxgi1_4.h
index 6d9b7be..ceb1336 100644
--- a/mingw-w64-headers/include/dxgi1_4.h
+++ b/mingw-w64-headers/include/dxgi1_4.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dxgi1_4.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dxgi1_4.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxgi1_5.h b/mingw-w64-headers/include/dxgi1_5.h
index 28a53b0..d2eb1f0 100644
--- a/mingw-w64-headers/include/dxgi1_5.h
+++ b/mingw-w64-headers/include/dxgi1_5.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dxgi1_5.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dxgi1_5.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxgi1_6.h b/mingw-w64-headers/include/dxgi1_6.h
index 71d0c36..7882797 100644
--- a/mingw-w64-headers/include/dxgi1_6.h
+++ b/mingw-w64-headers/include/dxgi1_6.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dxgi1_6.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dxgi1_6.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxgicommon.h b/mingw-w64-headers/include/dxgicommon.h
index 86e9617..4d00445 100644
--- a/mingw-w64-headers/include/dxgicommon.h
+++ b/mingw-w64-headers/include/dxgicommon.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dxgicommon.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dxgicommon.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxgidebug.h b/mingw-w64-headers/include/dxgidebug.h
index cc25293..048e08c 100644
--- a/mingw-w64-headers/include/dxgidebug.h
+++ b/mingw-w64-headers/include/dxgidebug.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dxgidebug.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dxgidebug.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxgiformat.h b/mingw-w64-headers/include/dxgiformat.h
index 7949276..6d3ea97 100644
--- a/mingw-w64-headers/include/dxgiformat.h
+++ b/mingw-w64-headers/include/dxgiformat.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dxgiformat.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dxgiformat.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxgitype.h b/mingw-w64-headers/include/dxgitype.h
index 4416a2c..5e32323 100644
--- a/mingw-w64-headers/include/dxgitype.h
+++ b/mingw-w64-headers/include/dxgitype.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dxgitype.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dxgitype.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxva2api.h b/mingw-w64-headers/include/dxva2api.h
index f7d79c8..015bc3e 100644
--- a/mingw-w64-headers/include/dxva2api.h
+++ b/mingw-w64-headers/include/dxva2api.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dxva2api.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dxva2api.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/dxvahd.h b/mingw-w64-headers/include/dxvahd.h
index 20b5464..210af9e 100644
--- a/mingw-w64-headers/include/dxvahd.h
+++ b/mingw-w64-headers/include/dxvahd.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/dxvahd.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/dxvahd.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/endpointvolume.h b/mingw-w64-headers/include/endpointvolume.h
index a627a9f..19e8e82 100644
--- a/mingw-w64-headers/include/endpointvolume.h
+++ b/mingw-w64-headers/include/endpointvolume.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/endpointvolume.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/endpointvolume.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/evr.h b/mingw-w64-headers/include/evr.h
index 67724b7..23299ed 100644
--- a/mingw-w64-headers/include/evr.h
+++ b/mingw-w64-headers/include/evr.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/evr.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/evr.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/exdisp.h b/mingw-w64-headers/include/exdisp.h
index b86a49d..5648c41 100644
--- a/mingw-w64-headers/include/exdisp.h
+++ b/mingw-w64-headers/include/exdisp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/exdisp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/exdisp.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/filter.h b/mingw-w64-headers/include/filter.h
index 11ad4ec..aa824d3 100644
--- a/mingw-w64-headers/include/filter.h
+++ b/mingw-w64-headers/include/filter.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/filter.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/filter.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/fsrm.h b/mingw-w64-headers/include/fsrm.h
index c2815e3..3403a46 100644
--- a/mingw-w64-headers/include/fsrm.h
+++ b/mingw-w64-headers/include/fsrm.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/fsrm.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/fsrm.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/fsrmenums.h b/mingw-w64-headers/include/fsrmenums.h
index f5a85d6..767a461 100644
--- a/mingw-w64-headers/include/fsrmenums.h
+++ b/mingw-w64-headers/include/fsrmenums.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/fsrmenums.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/fsrmenums.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/fsrmquota.h b/mingw-w64-headers/include/fsrmquota.h
index 580d763..fa6ac05 100644
--- a/mingw-w64-headers/include/fsrmquota.h
+++ b/mingw-w64-headers/include/fsrmquota.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/fsrmquota.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/fsrmquota.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/fsrmreports.h b/mingw-w64-headers/include/fsrmreports.h
index 796ed44..7f2c1b6 100644
--- a/mingw-w64-headers/include/fsrmreports.h
+++ b/mingw-w64-headers/include/fsrmreports.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/fsrmreports.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/fsrmreports.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/fsrmscreen.h b/mingw-w64-headers/include/fsrmscreen.h
index 208c7b5..db1aed2 100644
--- a/mingw-w64-headers/include/fsrmscreen.h
+++ b/mingw-w64-headers/include/fsrmscreen.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/fsrmscreen.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/fsrmscreen.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/fusion.h b/mingw-w64-headers/include/fusion.h
index d029b3c..7679af4 100644
--- a/mingw-w64-headers/include/fusion.h
+++ b/mingw-w64-headers/include/fusion.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/fusion.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/fusion.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/fwptypes.h b/mingw-w64-headers/include/fwptypes.h
index 30e0020..c778e2a 100644
--- a/mingw-w64-headers/include/fwptypes.h
+++ b/mingw-w64-headers/include/fwptypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/fwptypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/fwptypes.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/hstring.h b/mingw-w64-headers/include/hstring.h
index 3924776..926f592 100644
--- a/mingw-w64-headers/include/hstring.h
+++ b/mingw-w64-headers/include/hstring.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/hstring.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/hstring.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/icftypes.h b/mingw-w64-headers/include/icftypes.h
index 8df0602..32ecc1f 100644
--- a/mingw-w64-headers/include/icftypes.h
+++ b/mingw-w64-headers/include/icftypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/icftypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/icftypes.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/icodecapi.h b/mingw-w64-headers/include/icodecapi.h
index b8eab36..bb72a85 100644
--- a/mingw-w64-headers/include/icodecapi.h
+++ b/mingw-w64-headers/include/icodecapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/icodecapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/icodecapi.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/iketypes.h b/mingw-w64-headers/include/iketypes.h
index 6ae7a71..6f6a7cb 100644
--- a/mingw-w64-headers/include/iketypes.h
+++ b/mingw-w64-headers/include/iketypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/iketypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/iketypes.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/inputscope.h b/mingw-w64-headers/include/inputscope.h
index 627b0e9..4b71a05 100644
--- a/mingw-w64-headers/include/inputscope.h
+++ b/mingw-w64-headers/include/inputscope.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/inputscope.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/inputscope.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/inspectable.h b/mingw-w64-headers/include/inspectable.h
index bc17802..9844c96 100644
--- a/mingw-w64-headers/include/inspectable.h
+++ b/mingw-w64-headers/include/inspectable.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/inspectable.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/inspectable.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/locationapi.h b/mingw-w64-headers/include/locationapi.h
index bfeda3a..e2fe09c 100644
--- a/mingw-w64-headers/include/locationapi.h
+++ b/mingw-w64-headers/include/locationapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/locationapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/locationapi.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mediaobj.h b/mingw-w64-headers/include/mediaobj.h
index f64e15d..3199aaf 100644
--- a/mingw-w64-headers/include/mediaobj.h
+++ b/mingw-w64-headers/include/mediaobj.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/mediaobj.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/mediaobj.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/medparam.h b/mingw-w64-headers/include/medparam.h
index c75fd56..750511b 100644
--- a/mingw-w64-headers/include/medparam.h
+++ b/mingw-w64-headers/include/medparam.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/medparam.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/medparam.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mfidl.h b/mingw-w64-headers/include/mfidl.h
index cd872d9..25ad8cc 100644
--- a/mingw-w64-headers/include/mfidl.h
+++ b/mingw-w64-headers/include/mfidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/mfidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/mfidl.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mfobjects.h b/mingw-w64-headers/include/mfobjects.h
index b491d0f..68e70f6 100644
--- a/mingw-w64-headers/include/mfobjects.h
+++ b/mingw-w64-headers/include/mfobjects.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/mfobjects.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/mfobjects.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mfplay.h b/mingw-w64-headers/include/mfplay.h
index 475914f..7839177 100644
--- a/mingw-w64-headers/include/mfplay.h
+++ b/mingw-w64-headers/include/mfplay.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/mfplay.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/mfplay.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mfreadwrite.h b/mingw-w64-headers/include/mfreadwrite.h
index 5675f0b..ad876da 100644
--- a/mingw-w64-headers/include/mfreadwrite.h
+++ b/mingw-w64-headers/include/mfreadwrite.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/mfreadwrite.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/mfreadwrite.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mftransform.h b/mingw-w64-headers/include/mftransform.h
index 9e12d40..3c3e4b2 100644
--- a/mingw-w64-headers/include/mftransform.h
+++ b/mingw-w64-headers/include/mftransform.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/mftransform.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/mftransform.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mmdeviceapi.h b/mingw-w64-headers/include/mmdeviceapi.h
index 398975f..8ac7c8c 100644
--- a/mingw-w64-headers/include/mmdeviceapi.h
+++ b/mingw-w64-headers/include/mmdeviceapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/mmdeviceapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/mmdeviceapi.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mmstream.h b/mingw-w64-headers/include/mmstream.h
index 89d9d5b..f2d2c5c 100644
--- a/mingw-w64-headers/include/mmstream.h
+++ b/mingw-w64-headers/include/mmstream.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/mmstream.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/mmstream.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mscoree.h b/mingw-w64-headers/include/mscoree.h
index f397397..bf0fa9c 100644
--- a/mingw-w64-headers/include/mscoree.h
+++ b/mingw-w64-headers/include/mscoree.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/mscoree.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/mscoree.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/msctf.h b/mingw-w64-headers/include/msctf.h
index 059c6f3..7be5801 100644
--- a/mingw-w64-headers/include/msctf.h
+++ b/mingw-w64-headers/include/msctf.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/msctf.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/msctf.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mshtmhst.h b/mingw-w64-headers/include/mshtmhst.h
index cb08031..058297b 100644
--- a/mingw-w64-headers/include/mshtmhst.h
+++ b/mingw-w64-headers/include/mshtmhst.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/mshtmhst.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/mshtmhst.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/mshtml.h b/mingw-w64-headers/include/mshtml.h
index 4710290..95e0cbc 100644
--- a/mingw-w64-headers/include/mshtml.h
+++ b/mingw-w64-headers/include/mshtml.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/mshtml.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/mshtml.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/msinkaut.h b/mingw-w64-headers/include/msinkaut.h
index bb7e0a7..4d4dffc 100644
--- a/mingw-w64-headers/include/msinkaut.h
+++ b/mingw-w64-headers/include/msinkaut.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/msinkaut.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/msinkaut.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/msinkaut_i.c b/mingw-w64-headers/include/msinkaut_i.c
index d5c1f91..1394188 100644
--- a/mingw-w64-headers/include/msinkaut_i.c
+++ b/mingw-w64-headers/include/msinkaut_i.c
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/msinkaut.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/msinkaut.idl - Do not edit ***/
 
 #include <rpc.h>
 #include <rpcndr.h>
diff --git a/mingw-w64-headers/include/msopc.h b/mingw-w64-headers/include/msopc.h
index 9fa7e84..e18fd9d 100644
--- a/mingw-w64-headers/include/msopc.h
+++ b/mingw-w64-headers/include/msopc.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/msopc.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/msopc.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/msxml.h b/mingw-w64-headers/include/msxml.h
index 66ac4ac..a5e8998 100644
--- a/mingw-w64-headers/include/msxml.h
+++ b/mingw-w64-headers/include/msxml.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/msxml.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/msxml.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/napcertrelyingparty.h b/mingw-w64-headers/include/napcertrelyingparty.h
index 2f1d0e9..ced669e 100644
--- a/mingw-w64-headers/include/napcertrelyingparty.h
+++ b/mingw-w64-headers/include/napcertrelyingparty.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/napcertrelyingparty.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/napcertrelyingparty.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/napcommon.h b/mingw-w64-headers/include/napcommon.h
index 1907e57..79ba5af 100644
--- a/mingw-w64-headers/include/napcommon.h
+++ b/mingw-w64-headers/include/napcommon.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/napcommon.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/napcommon.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/napenforcementclient.h b/mingw-w64-headers/include/napenforcementclient.h
index bfd8979..dac6ae0 100644
--- a/mingw-w64-headers/include/napenforcementclient.h
+++ b/mingw-w64-headers/include/napenforcementclient.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/napenforcementclient.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/napenforcementclient.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/napmanagement.h b/mingw-w64-headers/include/napmanagement.h
index e21b92f..c961dea 100644
--- a/mingw-w64-headers/include/napmanagement.h
+++ b/mingw-w64-headers/include/napmanagement.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/napmanagement.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/napmanagement.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/napprotocol.h b/mingw-w64-headers/include/napprotocol.h
index 6a01c84..79202b4 100644
--- a/mingw-w64-headers/include/napprotocol.h
+++ b/mingw-w64-headers/include/napprotocol.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/napprotocol.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/napprotocol.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/napservermanagement.h b/mingw-w64-headers/include/napservermanagement.h
index 5d2bf0a..a8f6307 100644
--- a/mingw-w64-headers/include/napservermanagement.h
+++ b/mingw-w64-headers/include/napservermanagement.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/napservermanagement.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/napservermanagement.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/napsystemhealthagent.h b/mingw-w64-headers/include/napsystemhealthagent.h
index 7b1966a..b571433 100644
--- a/mingw-w64-headers/include/napsystemhealthagent.h
+++ b/mingw-w64-headers/include/napsystemhealthagent.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/napsystemhealthagent.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/napsystemhealthagent.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/napsystemhealthvalidator.h b/mingw-w64-headers/include/napsystemhealthvalidator.h
index 8a39225..df785c9 100644
--- a/mingw-w64-headers/include/napsystemhealthvalidator.h
+++ b/mingw-w64-headers/include/napsystemhealthvalidator.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/napsystemhealthvalidator.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/napsystemhealthvalidator.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/naptypes.h b/mingw-w64-headers/include/naptypes.h
index 139ba32..d00d4f5 100644
--- a/mingw-w64-headers/include/naptypes.h
+++ b/mingw-w64-headers/include/naptypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/naptypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/naptypes.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/netcfgn.h b/mingw-w64-headers/include/netcfgn.h
index 862dfd0..25204e4 100644
--- a/mingw-w64-headers/include/netcfgn.h
+++ b/mingw-w64-headers/include/netcfgn.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/netcfgn.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/netcfgn.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/netcfgx.h b/mingw-w64-headers/include/netcfgx.h
index 5378921..fe50972 100644
--- a/mingw-w64-headers/include/netcfgx.h
+++ b/mingw-w64-headers/include/netcfgx.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/netcfgx.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/netcfgx.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/netfw.h b/mingw-w64-headers/include/netfw.h
index d93c07b..df2f18e 100644
--- a/mingw-w64-headers/include/netfw.h
+++ b/mingw-w64-headers/include/netfw.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/netfw.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/netfw.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/netlistmgr.h b/mingw-w64-headers/include/netlistmgr.h
index 29203a7..00ebceb 100644
--- a/mingw-w64-headers/include/netlistmgr.h
+++ b/mingw-w64-headers/include/netlistmgr.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/netlistmgr.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/netlistmgr.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/oaidl.h b/mingw-w64-headers/include/oaidl.h
index 819bb29..d4a4673 100644
--- a/mingw-w64-headers/include/oaidl.h
+++ b/mingw-w64-headers/include/oaidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/oaidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/oaidl.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/objectarray.h b/mingw-w64-headers/include/objectarray.h
index e8de702..1c980bc 100644
--- a/mingw-w64-headers/include/objectarray.h
+++ b/mingw-w64-headers/include/objectarray.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/objectarray.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/objectarray.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/objidl.h b/mingw-w64-headers/include/objidl.h
index 9b73024..6d6f32c 100644
--- a/mingw-w64-headers/include/objidl.h
+++ b/mingw-w64-headers/include/objidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/objidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/objidl.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/objidlbase.h b/mingw-w64-headers/include/objidlbase.h
index b927fff..388af00 100644
--- a/mingw-w64-headers/include/objidlbase.h
+++ b/mingw-w64-headers/include/objidlbase.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/objidlbase.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/objidlbase.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/ocidl.h b/mingw-w64-headers/include/ocidl.h
index 7758f9f..1e5024d 100644
--- a/mingw-w64-headers/include/ocidl.h
+++ b/mingw-w64-headers/include/ocidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/ocidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/ocidl.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/oleacc.h b/mingw-w64-headers/include/oleacc.h
index d8222c0..d0e4c90 100644
--- a/mingw-w64-headers/include/oleacc.h
+++ b/mingw-w64-headers/include/oleacc.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/oleacc.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/oleacc.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/oleidl.h b/mingw-w64-headers/include/oleidl.h
index 7b29d88..999024d 100644
--- a/mingw-w64-headers/include/oleidl.h
+++ b/mingw-w64-headers/include/oleidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/oleidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/oleidl.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/optary.h b/mingw-w64-headers/include/optary.h
index 94fe138..7b77570 100644
--- a/mingw-w64-headers/include/optary.h
+++ b/mingw-w64-headers/include/optary.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/optary.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/optary.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/portabledevicetypes.h b/mingw-w64-headers/include/portabledevicetypes.h
index 98c3917..62108fb 100644
--- a/mingw-w64-headers/include/portabledevicetypes.h
+++ b/mingw-w64-headers/include/portabledevicetypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/portabledevicetypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/portabledevicetypes.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/propidl.h b/mingw-w64-headers/include/propidl.h
index 44f0f46..8f51c7b 100644
--- a/mingw-w64-headers/include/propidl.h
+++ b/mingw-w64-headers/include/propidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/propidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/propidl.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/propsys.h b/mingw-w64-headers/include/propsys.h
index a867ce2..2f67c14 100644
--- a/mingw-w64-headers/include/propsys.h
+++ b/mingw-w64-headers/include/propsys.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/propsys.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/propsys.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/qedit.h b/mingw-w64-headers/include/qedit.h
index 1410961..17cf22f 100644
--- a/mingw-w64-headers/include/qedit.h
+++ b/mingw-w64-headers/include/qedit.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/qedit.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/qedit.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/qnetwork.h b/mingw-w64-headers/include/qnetwork.h
index 61ad8f8..9a59e93 100644
--- a/mingw-w64-headers/include/qnetwork.h
+++ b/mingw-w64-headers/include/qnetwork.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/qnetwork.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/qnetwork.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/regbag.h b/mingw-w64-headers/include/regbag.h
index 23b2e8a..e51b862 100644
--- a/mingw-w64-headers/include/regbag.h
+++ b/mingw-w64-headers/include/regbag.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/regbag.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/regbag.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/relogger.h b/mingw-w64-headers/include/relogger.h
index cd2b083..ea671e8 100644
--- a/mingw-w64-headers/include/relogger.h
+++ b/mingw-w64-headers/include/relogger.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/relogger.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/relogger.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/rtworkq.h b/mingw-w64-headers/include/rtworkq.h
index 1512eb6..b55a84f 100644
--- a/mingw-w64-headers/include/rtworkq.h
+++ b/mingw-w64-headers/include/rtworkq.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/rtworkq.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/rtworkq.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/sapi51.h b/mingw-w64-headers/include/sapi51.h
index 6936094..8052ccf 100644
--- a/mingw-w64-headers/include/sapi51.h
+++ b/mingw-w64-headers/include/sapi51.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/sapi51.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/sapi51.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/sapi53.h b/mingw-w64-headers/include/sapi53.h
index 5f42df2..c4f1bfd 100644
--- a/mingw-w64-headers/include/sapi53.h
+++ b/mingw-w64-headers/include/sapi53.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/sapi53.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/sapi53.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/sapi54.h b/mingw-w64-headers/include/sapi54.h
index 5dd858a..dfcaa6a 100644
--- a/mingw-w64-headers/include/sapi54.h
+++ b/mingw-w64-headers/include/sapi54.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/sapi54.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/sapi54.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/sensorsapi.h b/mingw-w64-headers/include/sensorsapi.h
index 12e971b..c13957a 100644
--- a/mingw-w64-headers/include/sensorsapi.h
+++ b/mingw-w64-headers/include/sensorsapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/sensorsapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/sensorsapi.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/servprov.h b/mingw-w64-headers/include/servprov.h
index ebb1439..6127029 100644
--- a/mingw-w64-headers/include/servprov.h
+++ b/mingw-w64-headers/include/servprov.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/servprov.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/servprov.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/shldisp.h b/mingw-w64-headers/include/shldisp.h
index 9a08fb5..0cf8d98 100644
--- a/mingw-w64-headers/include/shldisp.h
+++ b/mingw-w64-headers/include/shldisp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/shldisp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/shldisp.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/shobjidl.h b/mingw-w64-headers/include/shobjidl.h
index 7a9688c..bd1633a 100644
--- a/mingw-w64-headers/include/shobjidl.h
+++ b/mingw-w64-headers/include/shobjidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/shobjidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/shobjidl.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/shtypes.h b/mingw-w64-headers/include/shtypes.h
index 494336b..1e98d7b 100644
--- a/mingw-w64-headers/include/shtypes.h
+++ b/mingw-w64-headers/include/shtypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/shtypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/shtypes.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/spatialaudioclient.h b/mingw-w64-headers/include/spatialaudioclient.h
index 8c5f306..1bb13b4 100644
--- a/mingw-w64-headers/include/spatialaudioclient.h
+++ b/mingw-w64-headers/include/spatialaudioclient.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/spatialaudioclient.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/spatialaudioclient.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/strmif.h b/mingw-w64-headers/include/strmif.h
index 4f172d3..40a0867 100644
--- a/mingw-w64-headers/include/strmif.h
+++ b/mingw-w64-headers/include/strmif.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/strmif.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/strmif.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/structuredquerycondition.h b/mingw-w64-headers/include/structuredquerycondition.h
index 5c6169e..c3309b8 100644
--- a/mingw-w64-headers/include/structuredquerycondition.h
+++ b/mingw-w64-headers/include/structuredquerycondition.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/structuredquerycondition.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/structuredquerycondition.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/taskschd.h b/mingw-w64-headers/include/taskschd.h
index db48d7a..bb06396 100644
--- a/mingw-w64-headers/include/taskschd.h
+++ b/mingw-w64-headers/include/taskschd.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/taskschd.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/taskschd.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/textstor.h b/mingw-w64-headers/include/textstor.h
index d6cbfac..86959df 100644
--- a/mingw-w64-headers/include/textstor.h
+++ b/mingw-w64-headers/include/textstor.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/textstor.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/textstor.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/thumbcache.h b/mingw-w64-headers/include/thumbcache.h
index c8330c2..9003d93 100644
--- a/mingw-w64-headers/include/thumbcache.h
+++ b/mingw-w64-headers/include/thumbcache.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/thumbcache.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/thumbcache.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/tlbref.h b/mingw-w64-headers/include/tlbref.h
index f43c494..c9b7f44 100644
--- a/mingw-w64-headers/include/tlbref.h
+++ b/mingw-w64-headers/include/tlbref.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/tlbref.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/tlbref.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/tlogstg.h b/mingw-w64-headers/include/tlogstg.h
index dd3b9e9..89f1236 100644
--- a/mingw-w64-headers/include/tlogstg.h
+++ b/mingw-w64-headers/include/tlogstg.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/tlogstg.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/tlogstg.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/tpcshrd.h b/mingw-w64-headers/include/tpcshrd.h
index 30463b5..f8ea461 100644
--- a/mingw-w64-headers/include/tpcshrd.h
+++ b/mingw-w64-headers/include/tpcshrd.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/tpcshrd.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/tpcshrd.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/tuner.h b/mingw-w64-headers/include/tuner.h
index d7a923e..f7a5e07 100644
--- a/mingw-w64-headers/include/tuner.h
+++ b/mingw-w64-headers/include/tuner.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/tuner.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/tuner.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/uianimation.h b/mingw-w64-headers/include/uianimation.h
index e9de5a1..044376b 100644
--- a/mingw-w64-headers/include/uianimation.h
+++ b/mingw-w64-headers/include/uianimation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/uianimation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/uianimation.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/uiautomationclient.h b/mingw-w64-headers/include/uiautomationclient.h
index 452313a..26356eb 100644
--- a/mingw-w64-headers/include/uiautomationclient.h
+++ b/mingw-w64-headers/include/uiautomationclient.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/uiautomationclient.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/uiautomationclient.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/uiautomationcore.h b/mingw-w64-headers/include/uiautomationcore.h
index 79dd35c..c06ca9c 100644
--- a/mingw-w64-headers/include/uiautomationcore.h
+++ b/mingw-w64-headers/include/uiautomationcore.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/uiautomationcore.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/uiautomationcore.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/uiviewsettingsinterop.h b/mingw-w64-headers/include/uiviewsettingsinterop.h
index 6079533..df2d34e 100644
--- a/mingw-w64-headers/include/uiviewsettingsinterop.h
+++ b/mingw-w64-headers/include/uiviewsettingsinterop.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/uiviewsettingsinterop.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/uiviewsettingsinterop.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/unknwn.h b/mingw-w64-headers/include/unknwn.h
index 4ef30c8..d8c3090 100644
--- a/mingw-w64-headers/include/unknwn.h
+++ b/mingw-w64-headers/include/unknwn.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/unknwn.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/unknwn.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/unknwnbase.h b/mingw-w64-headers/include/unknwnbase.h
index a10a0d3..5119637 100644
--- a/mingw-w64-headers/include/unknwnbase.h
+++ b/mingw-w64-headers/include/unknwnbase.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/unknwnbase.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/unknwnbase.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/urlhist.h b/mingw-w64-headers/include/urlhist.h
index ccaa39d..5283d58 100644
--- a/mingw-w64-headers/include/urlhist.h
+++ b/mingw-w64-headers/include/urlhist.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/urlhist.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/urlhist.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/urlmon.h b/mingw-w64-headers/include/urlmon.h
index d8367a7..a676dd6 100644
--- a/mingw-w64-headers/include/urlmon.h
+++ b/mingw-w64-headers/include/urlmon.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/urlmon.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/urlmon.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/vmr9.h b/mingw-w64-headers/include/vmr9.h
index db8f030..644bbc0 100644
--- a/mingw-w64-headers/include/vmr9.h
+++ b/mingw-w64-headers/include/vmr9.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/vmr9.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/vmr9.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/vss.h b/mingw-w64-headers/include/vss.h
index 96b133e..f7abe34 100644
--- a/mingw-w64-headers/include/vss.h
+++ b/mingw-w64-headers/include/vss.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/vss.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/vss.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wbemads.h b/mingw-w64-headers/include/wbemads.h
index 3637fe8..9e7f718 100644
--- a/mingw-w64-headers/include/wbemads.h
+++ b/mingw-w64-headers/include/wbemads.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wbemads.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wbemads.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wbemcli.h b/mingw-w64-headers/include/wbemcli.h
index 2e4728b..8ad8691 100644
--- a/mingw-w64-headers/include/wbemcli.h
+++ b/mingw-w64-headers/include/wbemcli.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wbemcli.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wbemcli.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wbemdisp.h b/mingw-w64-headers/include/wbemdisp.h
index 4977956..4b8dfbd 100644
--- a/mingw-w64-headers/include/wbemdisp.h
+++ b/mingw-w64-headers/include/wbemdisp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wbemdisp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wbemdisp.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wbemprov.h b/mingw-w64-headers/include/wbemprov.h
index f863025..7bcac0a 100644
--- a/mingw-w64-headers/include/wbemprov.h
+++ b/mingw-w64-headers/include/wbemprov.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wbemprov.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wbemprov.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wbemtran.h b/mingw-w64-headers/include/wbemtran.h
index 0889716..2c8e587 100644
--- a/mingw-w64-headers/include/wbemtran.h
+++ b/mingw-w64-headers/include/wbemtran.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wbemtran.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wbemtran.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wdstptmgmt.h b/mingw-w64-headers/include/wdstptmgmt.h
index 76bd623..bcf22ac 100644
--- a/mingw-w64-headers/include/wdstptmgmt.h
+++ b/mingw-w64-headers/include/wdstptmgmt.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wdstptmgmt.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wdstptmgmt.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wincodec.h b/mingw-w64-headers/include/wincodec.h
index 30ad6fd..5090568 100644
--- a/mingw-w64-headers/include/wincodec.h
+++ b/mingw-w64-headers/include/wincodec.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wincodec.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wincodec.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wincodecsdk.h b/mingw-w64-headers/include/wincodecsdk.h
index 268bde9..d5ce5d8 100644
--- a/mingw-w64-headers/include/wincodecsdk.h
+++ b/mingw-w64-headers/include/wincodecsdk.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wincodecsdk.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wincodecsdk.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.foundation.collections.h b/mingw-w64-headers/include/windows.foundation.collections.h
index cb37f40..59ed27a 100644
--- a/mingw-w64-headers/include/windows.foundation.collections.h
+++ b/mingw-w64-headers/include/windows.foundation.collections.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/windows.foundation.collections.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/windows.foundation.collections.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.foundation.h b/mingw-w64-headers/include/windows.foundation.h
index 2cd1653..90dc859 100644
--- a/mingw-w64-headers/include/windows.foundation.h
+++ b/mingw-w64-headers/include/windows.foundation.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/windows.foundation.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/windows.foundation.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.media.speechsynthesis.h b/mingw-w64-headers/include/windows.media.speechsynthesis.h
index c2df179..242c979 100644
--- a/mingw-w64-headers/include/windows.media.speechsynthesis.h
+++ b/mingw-w64-headers/include/windows.media.speechsynthesis.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/windows.media.speechsynthesis.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/windows.media.speechsynthesis.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.security.cryptography.h b/mingw-w64-headers/include/windows.security.cryptography.h
index 3b26a87..314bd9f 100644
--- a/mingw-w64-headers/include/windows.security.cryptography.h
+++ b/mingw-w64-headers/include/windows.security.cryptography.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/windows.security.cryptography.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/windows.security.cryptography.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.storage.h b/mingw-w64-headers/include/windows.storage.h
index 568204d..d6aacd4 100644
--- a/mingw-w64-headers/include/windows.storage.h
+++ b/mingw-w64-headers/include/windows.storage.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/windows.storage.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/windows.storage.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.storage.streams.h b/mingw-w64-headers/include/windows.storage.streams.h
index 3aa8702..96041d2 100644
--- a/mingw-w64-headers/include/windows.storage.streams.h
+++ b/mingw-w64-headers/include/windows.storage.streams.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/windows.storage.streams.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/windows.storage.streams.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.system.h b/mingw-w64-headers/include/windows.system.h
index 84c79e0..dadc5ae 100644
--- a/mingw-w64-headers/include/windows.system.h
+++ b/mingw-w64-headers/include/windows.system.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/windows.system.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/windows.system.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windows.system.threading.h b/mingw-w64-headers/include/windows.system.threading.h
index 39dc7d5..7d43490 100644
--- a/mingw-w64-headers/include/windows.system.threading.h
+++ b/mingw-w64-headers/include/windows.system.threading.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/windows.system.threading.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/windows.system.threading.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/windowscontracts.h b/mingw-w64-headers/include/windowscontracts.h
index c12c5e6..9c1f989 100644
--- a/mingw-w64-headers/include/windowscontracts.h
+++ b/mingw-w64-headers/include/windowscontracts.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/windowscontracts.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/windowscontracts.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wmcodecdsp.h b/mingw-w64-headers/include/wmcodecdsp.h
index d72d7db..1c31b32 100644
--- a/mingw-w64-headers/include/wmcodecdsp.h
+++ b/mingw-w64-headers/include/wmcodecdsp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wmcodecdsp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wmcodecdsp.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wmcontainer.h b/mingw-w64-headers/include/wmcontainer.h
index 5cc12ec..8d3eb16 100644
--- a/mingw-w64-headers/include/wmcontainer.h
+++ b/mingw-w64-headers/include/wmcontainer.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wmcontainer.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wmcontainer.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wmdrmsdk.h b/mingw-w64-headers/include/wmdrmsdk.h
index e5afad8..0cd5db2 100644
--- a/mingw-w64-headers/include/wmdrmsdk.h
+++ b/mingw-w64-headers/include/wmdrmsdk.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wmdrmsdk.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wmdrmsdk.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wmp.h b/mingw-w64-headers/include/wmp.h
index 038726b..2eb7a53 100644
--- a/mingw-w64-headers/include/wmp.h
+++ b/mingw-w64-headers/include/wmp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wmp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wmp.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wmprealestate.h b/mingw-w64-headers/include/wmprealestate.h
index 143bcd8..526ca1b 100644
--- a/mingw-w64-headers/include/wmprealestate.h
+++ b/mingw-w64-headers/include/wmprealestate.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wmprealestate.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wmprealestate.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wmpservices.h b/mingw-w64-headers/include/wmpservices.h
index f124d61..4cea73b 100644
--- a/mingw-w64-headers/include/wmpservices.h
+++ b/mingw-w64-headers/include/wmpservices.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wmpservices.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wmpservices.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wmsbuffer.h b/mingw-w64-headers/include/wmsbuffer.h
index c6b633e..280908c 100644
--- a/mingw-w64-headers/include/wmsbuffer.h
+++ b/mingw-w64-headers/include/wmsbuffer.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wmsbuffer.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wmsbuffer.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wmsdkidl.h b/mingw-w64-headers/include/wmsdkidl.h
index 2478eb4..497b10e 100644
--- a/mingw-w64-headers/include/wmsdkidl.h
+++ b/mingw-w64-headers/include/wmsdkidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wmsdkidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wmsdkidl.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wpcapi.h b/mingw-w64-headers/include/wpcapi.h
index db29086..66f69dc 100644
--- a/mingw-w64-headers/include/wpcapi.h
+++ b/mingw-w64-headers/include/wpcapi.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wpcapi.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wpcapi.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wsdattachment.h b/mingw-w64-headers/include/wsdattachment.h
index 079b1f7..21c619d 100644
--- a/mingw-w64-headers/include/wsdattachment.h
+++ b/mingw-w64-headers/include/wsdattachment.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wsdattachment.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wsdattachment.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wsdbase.h b/mingw-w64-headers/include/wsdbase.h
index 4f7ba1a..2ce4ee1 100644
--- a/mingw-w64-headers/include/wsdbase.h
+++ b/mingw-w64-headers/include/wsdbase.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wsdbase.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wsdbase.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wsdclient.h b/mingw-w64-headers/include/wsdclient.h
index 10b0a7e..b4de44a 100644
--- a/mingw-w64-headers/include/wsdclient.h
+++ b/mingw-w64-headers/include/wsdclient.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wsdclient.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wsdclient.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wsddisco.h b/mingw-w64-headers/include/wsddisco.h
index 98e1866..1286f2a 100644
--- a/mingw-w64-headers/include/wsddisco.h
+++ b/mingw-w64-headers/include/wsddisco.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wsddisco.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wsddisco.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wsdhost.h b/mingw-w64-headers/include/wsdhost.h
index 6bfc55b..60750c0 100644
--- a/mingw-w64-headers/include/wsdhost.h
+++ b/mingw-w64-headers/include/wsdhost.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wsdhost.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wsdhost.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wsdxml.h b/mingw-w64-headers/include/wsdxml.h
index 0e21254..eb9ed9f 100644
--- a/mingw-w64-headers/include/wsdxml.h
+++ b/mingw-w64-headers/include/wsdxml.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wsdxml.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wsdxml.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wsmandisp.h b/mingw-w64-headers/include/wsmandisp.h
index 955a377..47a5de4 100644
--- a/mingw-w64-headers/include/wsmandisp.h
+++ b/mingw-w64-headers/include/wsmandisp.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wsmandisp.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wsmandisp.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wtypes.h b/mingw-w64-headers/include/wtypes.h
index 370bb01..773716d 100644
--- a/mingw-w64-headers/include/wtypes.h
+++ b/mingw-w64-headers/include/wtypes.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wtypes.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wtypes.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/wtypesbase.h b/mingw-w64-headers/include/wtypesbase.h
index 93c3bd7..9304ac8 100644
--- a/mingw-w64-headers/include/wtypesbase.h
+++ b/mingw-w64-headers/include/wtypesbase.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/wtypesbase.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/wtypesbase.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/xapo.h b/mingw-w64-headers/include/xapo.h
index bb87e8e..eb53899 100644
--- a/mingw-w64-headers/include/xapo.h
+++ b/mingw-w64-headers/include/xapo.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/xapo.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/xapo.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/xaudio2.h b/mingw-w64-headers/include/xaudio2.h
index fc3bd52..4c88625 100644
--- a/mingw-w64-headers/include/xaudio2.h
+++ b/mingw-w64-headers/include/xaudio2.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/xaudio2.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/xaudio2.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/xaudio2fx.h b/mingw-w64-headers/include/xaudio2fx.h
index 5d4420d..281bf04 100644
--- a/mingw-w64-headers/include/xaudio2fx.h
+++ b/mingw-w64-headers/include/xaudio2fx.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/xaudio2fx.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/xaudio2fx.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/xmllite.h b/mingw-w64-headers/include/xmllite.h
index 85ba8df..bedfd96 100644
--- a/mingw-w64-headers/include/xmllite.h
+++ b/mingw-w64-headers/include/xmllite.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/xmllite.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/xmllite.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/xpsdigitalsignature.h b/mingw-w64-headers/include/xpsdigitalsignature.h
index 36546d7..05174a0 100644
--- a/mingw-w64-headers/include/xpsdigitalsignature.h
+++ b/mingw-w64-headers/include/xpsdigitalsignature.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/xpsdigitalsignature.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/xpsdigitalsignature.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/xpsobjectmodel.h b/mingw-w64-headers/include/xpsobjectmodel.h
index c36efd0..ac9bd0c 100644
--- a/mingw-w64-headers/include/xpsobjectmodel.h
+++ b/mingw-w64-headers/include/xpsobjectmodel.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/xpsobjectmodel.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/xpsobjectmodel.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/xpsobjectmodel_1.h b/mingw-w64-headers/include/xpsobjectmodel_1.h
index 0dba259..fbad380 100644
--- a/mingw-w64-headers/include/xpsobjectmodel_1.h
+++ b/mingw-w64-headers/include/xpsobjectmodel_1.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/xpsobjectmodel_1.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/xpsobjectmodel_1.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/xpsprint.h b/mingw-w64-headers/include/xpsprint.h
index eb8c846..79a7f3e 100644
--- a/mingw-w64-headers/include/xpsprint.h
+++ b/mingw-w64-headers/include/xpsprint.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/xpsprint.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/xpsprint.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-headers/include/xpsrassvc.h b/mingw-w64-headers/include/xpsrassvc.h
index bb9617b..b4599b0 100644
--- a/mingw-w64-headers/include/xpsrassvc.h
+++ b/mingw-w64-headers/include/xpsrassvc.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 6.3 from include/xpsrassvc.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.4 from include/xpsrassvc.idl - Do not edit ***/
 
 #ifdef _WIN32
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
diff --git a/mingw-w64-tools/widl/VERSION b/mingw-w64-tools/widl/VERSION
index 2eb3dd4..2e75a15 100644
--- a/mingw-w64-tools/widl/VERSION
+++ b/mingw-w64-tools/widl/VERSION
@@ -1 +1 @@
-WIDL version 6.3
+WIDL version 6.4
diff --git a/mingw-w64-tools/widl/configure b/mingw-w64-tools/widl/configure
index 5a3ae84..75cf93f 100755
--- a/mingw-w64-tools/widl/configure
+++ b/mingw-w64-tools/widl/configure
@@ -1,11 +1,12 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for widl 6.3.
+# Generated by GNU Autoconf 2.71 for widl 6.4.
 #
 # Report bugs to <mingw-w64-public@lists.sourceforge.net>.
 #
 #
-# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
+# Inc.
 #
 #
 # This configure script is free software; the Free Software Foundation
@@ -16,14 +17,16 @@
 
 # Be more Bourne compatible
 DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+as_nop=:
+if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
   emulate sh
   NULLCMD=:
   # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
-else
+else $as_nop
   case `(set -o) 2>/dev/null` in #(
   *posix*) :
     set -o posix ;; #(
@@ -33,46 +36,46 @@
 fi
 
 
+
+# Reset variables that may have inherited troublesome values from
+# the environment.
+
+# IFS needs to be set, to space, tab, and newline, in precisely that order.
+# (If _AS_PATH_WALK were called with IFS unset, it would have the
+# side effect of setting IFS to empty, thus disabling word splitting.)
+# Quoting is to prevent editors from complaining about space-tab.
 as_nl='
 '
 export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-	expr "X$arg" : "X\\(.*\\)$as_nl";
-	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
+IFS=" ""	$as_nl"
+
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# Ensure predictable behavior from utilities with locale-dependent output.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# We cannot yet rely on "unset" to work, but we need these variables
+# to be unset--not just set to an empty or harmless value--now, to
+# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh).  This construct
+# also avoids known problems related to "unset" and subshell syntax
+# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
+for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+do eval test \${$as_var+y} \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+
+# Ensure that fds 0, 1, and 2 are open.
+if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi
+if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
+if (exec 3>&2)            ; then :; else exec 2>/dev/null; fi
 
 # The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
+if ${PATH_SEPARATOR+false} :; then
   PATH_SEPARATOR=:
   (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
     (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
@@ -81,13 +84,6 @@
 fi
 
 
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""	$as_nl"
-
 # Find who we are.  Look in the path if we contain no directory separator.
 as_myself=
 case $0 in #((
@@ -96,8 +92,12 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    test -r "$as_dir$0" && as_myself=$as_dir$0 && break
   done
 IFS=$as_save_IFS
 
@@ -109,30 +109,10 @@
   as_myself=$0
 fi
 if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
   exit 1
 fi
 
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 # Use a proper internal environment variable to ensure we don't fall
   # into an infinite loop, continuously re-executing ourselves.
@@ -154,20 +134,22 @@
 exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
 # Admittedly, this is quite paranoid, since all the known shells bail
 # out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
+printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
   fi
   # We don't want this to propagate to other subprocesses.
           { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+  as_bourne_compatible="as_nop=:
+if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
   emulate sh
   NULLCMD=:
   # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '\${1+\"\$@\"}'='\"\$@\"'
   setopt NO_GLOB_SUBST
-else
+else \$as_nop
   case \`(set -o) 2>/dev/null\` in #(
   *posix*) :
     set -o posix ;; #(
@@ -187,42 +169,52 @@
 as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
 as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
 as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+if ( set x; as_fn_ret_success y && test x = \"\$1\" )
+then :
 
-else
+else \$as_nop
   exitcode=1; echo positional parameters were not saved.
 fi
 test x\$exitcode = x0 || exit 1
+blah=\$(echo \$(echo blah))
+test x\"\$blah\" = xblah || exit 1
 test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
+  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1"
+  if (eval "$as_required") 2>/dev/null
+then :
   as_have_required=yes
-else
+else $as_nop
   as_have_required=no
 fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null
+then :
 
-else
+else $as_nop
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 as_found=false
 for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
   as_found=:
   case $as_dir in #(
 	 /*)
 	   for as_base in sh bash ksh sh5; do
 	     # Try only shells that exist, to save several forks.
-	     as_shell=$as_dir/$as_base
+	     as_shell=$as_dir$as_base
 	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+		    as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null
+then :
   CONFIG_SHELL=$as_shell as_have_required=yes
-		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+		   if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null
+then :
   break 2
 fi
 fi
@@ -230,14 +222,21 @@
        esac
   as_found=false
 done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
 IFS=$as_save_IFS
+if $as_found
+then :
+
+else $as_nop
+  if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+	      as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null
+then :
+  CONFIG_SHELL=$SHELL as_have_required=yes
+fi
+fi
 
 
-      if test "x$CONFIG_SHELL" != x; then :
+      if test "x$CONFIG_SHELL" != x
+then :
   export CONFIG_SHELL
              # We cannot yet assume a decent shell, so we have to provide a
 # neutralization value for shells without unset; and this also
@@ -255,18 +254,19 @@
 exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
 # Admittedly, this is quite paranoid, since all the known shells bail
 # out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
 exit 255
 fi
 
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+    if test x$as_have_required = xno
+then :
+  printf "%s\n" "$0: This script requires a shell more modern than all"
+  printf "%s\n" "$0: the shells that I found on your system."
+  if test ${ZSH_VERSION+y} ; then
+    printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+    printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later."
   else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org and
+    printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and
 $0: mingw-w64-public@lists.sourceforge.net about your
 $0: system, including any error possibly output before this
 $0: message. Then install a modern shell, or manually run
@@ -294,6 +294,7 @@
 }
 as_unset=as_fn_unset
 
+
 # as_fn_set_status STATUS
 # -----------------------
 # Set $? to STATUS, without forking.
@@ -311,6 +312,14 @@
   as_fn_set_status $1
   exit $1
 } # as_fn_exit
+# as_fn_nop
+# ---------
+# Do nothing but, unlike ":", preserve the value of $?.
+as_fn_nop ()
+{
+  return $?
+}
+as_nop=as_fn_nop
 
 # as_fn_mkdir_p
 # -------------
@@ -325,7 +334,7 @@
     as_dirs=
     while :; do
       case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
       *) as_qdir=$as_dir;;
       esac
       as_dirs="'$as_qdir' $as_dirs"
@@ -334,7 +343,7 @@
 	 X"$as_dir" : 'X\(//\)[^/]' \| \
 	 X"$as_dir" : 'X\(//\)$' \| \
 	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
+printf "%s\n" X"$as_dir" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
 	    s//\1/
 	    q
@@ -373,12 +382,13 @@
 # advantage of any shell optimizations that allow amortized linear growth over
 # repeated appends, instead of the typical quadratic growth present in naive
 # implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
+then :
   eval 'as_fn_append ()
   {
     eval $1+=\$2
   }'
-else
+else $as_nop
   as_fn_append ()
   {
     eval $1=\$$1\$2
@@ -390,18 +400,27 @@
 # Perform arithmetic evaluation on the ARGs, and store the result in the
 # global $as_val. Take advantage of shells that can avoid forks. The arguments
 # must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
+then :
   eval 'as_fn_arith ()
   {
     as_val=$(( $* ))
   }'
-else
+else $as_nop
   as_fn_arith ()
   {
     as_val=`expr "$@" || test $? -eq 1`
   }
 fi # as_fn_arith
 
+# as_fn_nop
+# ---------
+# Do nothing but, unlike ":", preserve the value of $?.
+as_fn_nop ()
+{
+  return $?
+}
+as_nop=as_fn_nop
 
 # as_fn_error STATUS ERROR [LINENO LOG_FD]
 # ----------------------------------------
@@ -413,9 +432,9 @@
   as_status=$1; test $as_status -eq 0 && as_status=1
   if test "$4"; then
     as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $2" >&2
+  printf "%s\n" "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -442,7 +461,7 @@
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
 	 X"$0" : 'X\(//\)$' \| \
 	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
+printf "%s\n" X/"$0" |
     sed '/^.*\/\([^/][^/]*\)\/*$/{
 	    s//\1/
 	    q
@@ -486,7 +505,7 @@
       s/-\n.*//
     ' >$as_me.lineno &&
   chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+    { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
   # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
   # already done that, so ensure we don't try to do so again and fall
@@ -500,6 +519,10 @@
   exit
 }
 
+
+# Determine whether it's possible to make 'echo' print without a newline.
+# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
+# for compatibility with existing Makefiles.
 ECHO_C= ECHO_N= ECHO_T=
 case `echo -n x` in #(((((
 -n*)
@@ -513,6 +536,13 @@
   ECHO_N='-n';;
 esac
 
+# For backward compatibility with old third-party macros, we provide
+# the shell variables $as_echo and $as_echo_n.  New code should use
+# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
+as_echo='printf %s\n'
+as_echo_n='printf %s'
+
+
 rm -f conf$$ conf$$.exe conf$$.file
 if test -d conf$$.dir; then
   rm -f conf$$.dir/conf$$.file
@@ -580,55 +610,48 @@
 # Identity of this package.
 PACKAGE_NAME='widl'
 PACKAGE_TARNAME='widl'
-PACKAGE_VERSION='6.3'
-PACKAGE_STRING='widl 6.3'
+PACKAGE_VERSION='6.4'
+PACKAGE_STRING='widl 6.4'
 PACKAGE_BUGREPORT='mingw-w64-public@lists.sourceforge.net'
 PACKAGE_URL=''
 
 ac_unique_file="src/widl.c"
 # Factoring default headers for most tests.
 ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
+#include <stddef.h>
+#ifdef HAVE_STDIO_H
+# include <stdio.h>
 #endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
+#ifdef HAVE_STDLIB_H
 # include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
 #endif
 #ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
 # include <string.h>
 #endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
 #ifdef HAVE_INTTYPES_H
 # include <inttypes.h>
 #endif
 #ifdef HAVE_STDINT_H
 # include <stdint.h>
 #endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
 #ifdef HAVE_UNISTD_H
 # include <unistd.h>
 #endif"
 
+ac_header_c_list=
 ac_subst_vars='am__EXEEXT_FALSE
 am__EXEEXT_TRUE
 LTLIBOBJS
 LIBOBJS
-EGREP
-GREP
-CPP
 am__fastdepCC_FALSE
 am__fastdepCC_TRUE
 CCDEPMODE
@@ -744,8 +767,7 @@
 CFLAGS
 LDFLAGS
 LIBS
-CPPFLAGS
-CPP'
+CPPFLAGS'
 
 
 # Initialize some variables set by options.
@@ -814,8 +836,6 @@
   *)    ac_optarg=yes ;;
   esac
 
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
   case $ac_dashdash$ac_option in
   --)
     ac_dashdash=yes ;;
@@ -856,9 +876,9 @@
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: \`$ac_useropt'"
     ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
       *"
 "enable_$ac_useropt"
@@ -882,9 +902,9 @@
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: \`$ac_useropt'"
     ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
       *"
 "enable_$ac_useropt"
@@ -1095,9 +1115,9 @@
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: \`$ac_useropt'"
     ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
       *"
 "with_$ac_useropt"
@@ -1111,9 +1131,9 @@
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: \`$ac_useropt'"
     ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
       *"
 "with_$ac_useropt"
@@ -1157,9 +1177,9 @@
 
   *)
     # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+      printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2
     : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
@@ -1175,7 +1195,7 @@
   case $enable_option_checking in
     no) ;;
     fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+    *)     printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
 
@@ -1239,7 +1259,7 @@
 	 X"$as_myself" : 'X\(//\)[^/]' \| \
 	 X"$as_myself" : 'X\(//\)$' \| \
 	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
+printf "%s\n" X"$as_myself" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
 	    s//\1/
 	    q
@@ -1296,7 +1316,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures widl 6.3 to adapt to many kinds of systems.
+\`configure' configures widl 6.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1368,7 +1388,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of widl 6.3:";;
+     short | recursive ) echo "Configuration of widl 6.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1402,7 +1422,6 @@
   LIBS        libraries to pass to the linker, e.g. -l<library>
   CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
-  CPP         C preprocessor
 
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
@@ -1423,9 +1442,9 @@
 case "$ac_dir" in
 .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
 *)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
   # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
   case $ac_top_builddir_sub in
   "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
   *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -1453,7 +1472,8 @@
 ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
 
     cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
+    # Check for configure.gnu first; this name is used for a wrapper for
+    # Metaconfig's "Configure" on case-insensitive file systems.
     if test -f "$ac_srcdir/configure.gnu"; then
       echo &&
       $SHELL "$ac_srcdir/configure.gnu" --help=recursive
@@ -1461,7 +1481,7 @@
       echo &&
       $SHELL "$ac_srcdir/configure" --help=recursive
     else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+      printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2
     fi || ac_status=$?
     cd "$ac_pwd" || { ac_status=$?; break; }
   done
@@ -1470,10 +1490,10 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-widl configure 6.3
-generated by GNU Autoconf 2.69
+widl configure 6.4
+generated by GNU Autoconf 2.71
 
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2021 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1490,14 +1510,14 @@
 ac_fn_c_try_compile ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
+  rm -f conftest.$ac_objext conftest.beam
   if { { ac_try="$ac_compile"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_compile") 2>conftest.err
   ac_status=$?
   if test -s conftest.err; then
@@ -1505,14 +1525,15 @@
     cat conftest.er1 >&5
     mv -f conftest.er1 conftest.err
   fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && {
 	 test -z "$ac_c_werror_flag" ||
 	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
+       } && test -s conftest.$ac_objext
+then :
   ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
+else $as_nop
+  printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
@@ -1522,176 +1543,6 @@
 
 } # ac_fn_c_try_compile
 
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ----------------------------------------------------- ##
-## Report this to mingw-w64-public@lists.sourceforge.net ##
-## ----------------------------------------------------- ##"
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
 # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
 # -------------------------------------------------------
 # Tests whether HEADER exists and can be compiled using the include files in
@@ -1699,26 +1550,28 @@
 ac_fn_c_check_header_compile ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+printf %s "checking for $2... " >&6; }
+if eval test \${$3+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $4
 #include <$2>
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   eval "$3=yes"
-else
+else $as_nop
   eval "$3=no"
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
@@ -1730,17 +1583,18 @@
 ac_fn_c_check_type ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+printf %s "checking for $2... " >&6; }
+if eval test \${$3+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   eval "$3=no"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $4
 int
-main ()
+main (void)
 {
 if (sizeof ($2))
 	 return 0;
@@ -1748,12 +1602,13 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $4
 int
-main ()
+main (void)
 {
 if (sizeof (($2)))
 	    return 0;
@@ -1761,18 +1616,19 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
 
-else
+else $as_nop
   eval "$3=yes"
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_type
@@ -1784,11 +1640,12 @@
 ac_fn_c_find_intX_t ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for int$2_t" >&5
-$as_echo_n "checking for int$2_t... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for int$2_t" >&5
+printf %s "checking for int$2_t... " >&6; }
+if eval test \${$3+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   eval "$3=no"
      # Order is important - never check a type that is potentially smaller
      # than half of the expected target width.
@@ -1799,7 +1656,7 @@
 $ac_includes_default
 	     enum { N = $2 / 2 - 1 };
 int
-main ()
+main (void)
 {
 static int test_array [1 - 2 * !(0 < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1))];
 test_array [0] = 0;
@@ -1809,13 +1666,14 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $ac_includes_default
 	        enum { N = $2 / 2 - 1 };
 int
-main ()
+main (void)
 {
 static int test_array [1 - 2 * !(($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1)
 		 < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 2))];
@@ -1826,9 +1684,10 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
 
-else
+else $as_nop
   case $ac_type in #(
   int$2_t) :
     eval "$3=yes" ;; #(
@@ -1836,19 +1695,20 @@
     eval "$3=\$ac_type" ;;
 esac
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-       if eval test \"x\$"$3"\" = x"no"; then :
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+       if eval test \"x\$"$3"\" = x"no"
+then :
 
-else
+else $as_nop
   break
 fi
      done
 fi
 eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_find_intX_t
@@ -1860,11 +1720,12 @@
 ac_fn_c_find_uintX_t ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5
-$as_echo_n "checking for uint$2_t... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5
+printf %s "checking for uint$2_t... " >&6; }
+if eval test \${$3+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   eval "$3=no"
      # Order is important - never check a type that is potentially smaller
      # than half of the expected target width.
@@ -1874,7 +1735,7 @@
 /* end confdefs.h.  */
 $ac_includes_default
 int
-main ()
+main (void)
 {
 static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)];
 test_array [0] = 0;
@@ -1884,7 +1745,8 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   case $ac_type in #(
   uint$2_t) :
     eval "$3=yes" ;; #(
@@ -1892,17 +1754,18 @@
     eval "$3=\$ac_type" ;;
 esac
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-       if eval test \"x\$"$3"\" = x"no"; then :
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+       if eval test \"x\$"$3"\" = x"no"
+then :
 
-else
+else $as_nop
   break
 fi
      done
 fi
 eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_find_uintX_t
@@ -1913,14 +1776,14 @@
 ac_fn_c_try_link ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
+  rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext
   if { { ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_link") 2>conftest.err
   ac_status=$?
   if test -s conftest.err; then
@@ -1928,17 +1791,18 @@
     cat conftest.er1 >&5
     mv -f conftest.er1 conftest.err
   fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && {
 	 test -z "$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
 	 test -x conftest$ac_exeext
-       }; then :
+       }
+then :
   ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
+else $as_nop
+  printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
@@ -1959,11 +1823,12 @@
 ac_fn_c_check_func ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+printf %s "checking for $2... " >&6; }
+if eval test \${$3+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 /* Define $2 to an innocuous variant, in case <limits.h> declares $2.
@@ -1971,16 +1836,9 @@
 #define $2 innocuous_$2
 
 /* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
+   which can conflict with char $2 (); below.  */
 
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
+#include <limits.h>
 #undef $2
 
 /* Override any GCC internal prototype to avoid an error.
@@ -1998,35 +1856,56 @@
 #endif
 
 int
-main ()
+main (void)
 {
 return $2 ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   eval "$3=yes"
-else
+else $as_nop
   eval "$3=no"
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 fi
 eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
+ac_configure_args_raw=
+for ac_arg
+do
+  case $ac_arg in
+  *\'*)
+    ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+  esac
+  as_fn_append ac_configure_args_raw " '$ac_arg'"
+done
+
+case $ac_configure_args_raw in
+  *$as_nl*)
+    ac_safe_unquote= ;;
+  *)
+    ac_unsafe_z='|&;<>()$`\\"*?[ ''	' # This string ends in space, tab.
+    ac_unsafe_a="$ac_unsafe_z#~"
+    ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g"
+    ac_configure_args_raw=`      printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;;
+esac
+
 cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by widl $as_me 6.3, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
+It was created by widl $as_me 6.4, which was
+generated by GNU Autoconf 2.71.  Invocation command line was
 
-  $ $0 $@
+  $ $0$ac_configure_args_raw
 
 _ACEOF
 exec 5>>config.log
@@ -2059,8 +1938,12 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    printf "%s\n" "PATH: $as_dir"
   done
 IFS=$as_save_IFS
 
@@ -2095,7 +1978,7 @@
     | -silent | --silent | --silen | --sile | --sil)
       continue ;;
     *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+      ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
     case $ac_pass in
     1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
@@ -2130,11 +2013,13 @@
 # WARNING: Use '\'' to represent an apostrophe within the trap.
 # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
 trap 'exit_status=$?
+  # Sanitize IFS.
+  IFS=" ""	$as_nl"
   # Save into config.log some information that might help in debugging.
   {
     echo
 
-    $as_echo "## ---------------- ##
+    printf "%s\n" "## ---------------- ##
 ## Cache variables. ##
 ## ---------------- ##"
     echo
@@ -2145,8 +2030,8 @@
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
@@ -2170,7 +2055,7 @@
 )
     echo
 
-    $as_echo "## ----------------- ##
+    printf "%s\n" "## ----------------- ##
 ## Output variables. ##
 ## ----------------- ##"
     echo
@@ -2178,14 +2063,14 @@
     do
       eval ac_val=\$$ac_var
       case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
       esac
-      $as_echo "$ac_var='\''$ac_val'\''"
+      printf "%s\n" "$ac_var='\''$ac_val'\''"
     done | sort
     echo
 
     if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
+      printf "%s\n" "## ------------------- ##
 ## File substitutions. ##
 ## ------------------- ##"
       echo
@@ -2193,15 +2078,15 @@
       do
 	eval ac_val=\$$ac_var
 	case $ac_val in
-	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+	*\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
 	esac
-	$as_echo "$ac_var='\''$ac_val'\''"
+	printf "%s\n" "$ac_var='\''$ac_val'\''"
       done | sort
       echo
     fi
 
     if test -s confdefs.h; then
-      $as_echo "## ----------- ##
+      printf "%s\n" "## ----------- ##
 ## confdefs.h. ##
 ## ----------- ##"
       echo
@@ -2209,8 +2094,8 @@
       echo
     fi
     test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
+      printf "%s\n" "$as_me: caught signal $ac_signal"
+    printf "%s\n" "$as_me: exit $exit_status"
   } >&5
   rm -f core *.core core.conftest.* &&
     rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
@@ -2224,63 +2109,48 @@
 # confdefs.h avoids OS command line length limits that DEFS can exceed.
 rm -f -r conftest* confdefs.h
 
-$as_echo "/* confdefs.h */" > confdefs.h
+printf "%s\n" "/* confdefs.h */" > confdefs.h
 
 # Predefined preprocessor variables.
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
+printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
+printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
+printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
+printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
+printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
+printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h
 
 
 # Let the site file select an alternate cache file if it wants to.
 # Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in #((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
+  ac_site_files="$CONFIG_SITE"
 elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
+  ac_site_files="$prefix/share/config.site $prefix/etc/config.site"
 else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
+  ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
 fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+
+for ac_site_file in $ac_site_files
 do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+  case $ac_site_file in #(
+  */*) :
+     ;; #(
+  *) :
+    ac_site_file=./$ac_site_file ;;
+esac
+  if test -f "$ac_site_file" && test -r "$ac_site_file"; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
     . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+      || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "failed to load site script $ac_site_file
 See \`config.log' for more details" "$LINENO" 5; }
   fi
@@ -2290,19 +2160,434 @@
   # Some versions of bash will fail to source /dev/null (special files
   # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
   if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+printf "%s\n" "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
       [\\/]* | ?:[\\/]* ) . "$cache_file";;
       *)                      . "./$cache_file";;
     esac
   fi
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+printf "%s\n" "$as_me: creating cache $cache_file" >&6;}
   >$cache_file
 fi
 
+# Test code for whether the C compiler supports C89 (global declarations)
+ac_c_conftest_c89_globals='
+/* Does the compiler advertise C89 conformance?
+   Do not test the value of __STDC__, because some compilers set it to 0
+   while being otherwise adequately conformant. */
+#if !defined __STDC__
+# error "Compiler does not advertise C89 conformance"
+#endif
+
+#include <stddef.h>
+#include <stdarg.h>
+struct stat;
+/* Most of the following tests are stolen from RCS 5.7 src/conf.sh.  */
+struct buf { int x; };
+struct buf * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not \xHH hex character constants.
+   These do not provoke an error unfortunately, instead are silently treated
+   as an "x".  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously \x00 != x always comes out true, for an
+   array size at least.  It is necessary to write \x00 == 0 to get something
+   that is true only with -std.  */
+int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) '\''x'\''
+int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
+               int, int);'
+
+# Test code for whether the C compiler supports C89 (body of main).
+ac_c_conftest_c89_main='
+ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
+'
+
+# Test code for whether the C compiler supports C99 (global declarations)
+ac_c_conftest_c99_globals='
+// Does the compiler advertise C99 conformance?
+#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
+# error "Compiler does not advertise C99 conformance"
+#endif
+
+#include <stdbool.h>
+extern int puts (const char *);
+extern int printf (const char *, ...);
+extern int dprintf (int, const char *, ...);
+extern void *malloc (size_t);
+
+// Check varargs macros.  These examples are taken from C99 6.10.3.5.
+// dprintf is used instead of fprintf to avoid needing to declare
+// FILE and stderr.
+#define debug(...) dprintf (2, __VA_ARGS__)
+#define showlist(...) puts (#__VA_ARGS__)
+#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
+static void
+test_varargs_macros (void)
+{
+  int x = 1234;
+  int y = 5678;
+  debug ("Flag");
+  debug ("X = %d\n", x);
+  showlist (The first, second, and third items.);
+  report (x>y, "x is %d but y is %d", x, y);
+}
+
+// Check long long types.
+#define BIG64 18446744073709551615ull
+#define BIG32 4294967295ul
+#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
+#if !BIG_OK
+  #error "your preprocessor is broken"
+#endif
+#if BIG_OK
+#else
+  #error "your preprocessor is broken"
+#endif
+static long long int bignum = -9223372036854775807LL;
+static unsigned long long int ubignum = BIG64;
+
+struct incomplete_array
+{
+  int datasize;
+  double data[];
+};
+
+struct named_init {
+  int number;
+  const wchar_t *name;
+  double average;
+};
+
+typedef const char *ccp;
+
+static inline int
+test_restrict (ccp restrict text)
+{
+  // See if C++-style comments work.
+  // Iterate through items via the restricted pointer.
+  // Also check for declarations in for loops.
+  for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i)
+    continue;
+  return 0;
+}
+
+// Check varargs and va_copy.
+static bool
+test_varargs (const char *format, ...)
+{
+  va_list args;
+  va_start (args, format);
+  va_list args_copy;
+  va_copy (args_copy, args);
+
+  const char *str = "";
+  int number = 0;
+  float fnumber = 0;
+
+  while (*format)
+    {
+      switch (*format++)
+	{
+	case '\''s'\'': // string
+	  str = va_arg (args_copy, const char *);
+	  break;
+	case '\''d'\'': // int
+	  number = va_arg (args_copy, int);
+	  break;
+	case '\''f'\'': // float
+	  fnumber = va_arg (args_copy, double);
+	  break;
+	default:
+	  break;
+	}
+    }
+  va_end (args_copy);
+  va_end (args);
+
+  return *str && number && fnumber;
+}
+'
+
+# Test code for whether the C compiler supports C99 (body of main).
+ac_c_conftest_c99_main='
+  // Check bool.
+  _Bool success = false;
+  success |= (argc != 0);
+
+  // Check restrict.
+  if (test_restrict ("String literal") == 0)
+    success = true;
+  char *restrict newvar = "Another string";
+
+  // Check varargs.
+  success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234);
+  test_varargs_macros ();
+
+  // Check flexible array members.
+  struct incomplete_array *ia =
+    malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
+  ia->datasize = 10;
+  for (int i = 0; i < ia->datasize; ++i)
+    ia->data[i] = i * 1.234;
+
+  // Check named initializers.
+  struct named_init ni = {
+    .number = 34,
+    .name = L"Test wide string",
+    .average = 543.34343,
+  };
+
+  ni.number = 58;
+
+  int dynamic_array[ni.number];
+  dynamic_array[0] = argv[0][0];
+  dynamic_array[ni.number - 1] = 543;
+
+  // work around unused variable warnings
+  ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\''
+	 || dynamic_array[ni.number - 1] != 543);
+'
+
+# Test code for whether the C compiler supports C11 (global declarations)
+ac_c_conftest_c11_globals='
+// Does the compiler advertise C11 conformance?
+#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
+# error "Compiler does not advertise C11 conformance"
+#endif
+
+// Check _Alignas.
+char _Alignas (double) aligned_as_double;
+char _Alignas (0) no_special_alignment;
+extern char aligned_as_int;
+char _Alignas (0) _Alignas (int) aligned_as_int;
+
+// Check _Alignof.
+enum
+{
+  int_alignment = _Alignof (int),
+  int_array_alignment = _Alignof (int[100]),
+  char_alignment = _Alignof (char)
+};
+_Static_assert (0 < -_Alignof (int), "_Alignof is signed");
+
+// Check _Noreturn.
+int _Noreturn does_not_return (void) { for (;;) continue; }
+
+// Check _Static_assert.
+struct test_static_assert
+{
+  int x;
+  _Static_assert (sizeof (int) <= sizeof (long int),
+                  "_Static_assert does not work in struct");
+  long int y;
+};
+
+// Check UTF-8 literals.
+#define u8 syntax error!
+char const utf8_literal[] = u8"happens to be ASCII" "another string";
+
+// Check duplicate typedefs.
+typedef long *long_ptr;
+typedef long int *long_ptr;
+typedef long_ptr long_ptr;
+
+// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
+struct anonymous
+{
+  union {
+    struct { int i; int j; };
+    struct { int k; long int l; } w;
+  };
+  int m;
+} v1;
+'
+
+# Test code for whether the C compiler supports C11 (body of main).
+ac_c_conftest_c11_main='
+  _Static_assert ((offsetof (struct anonymous, i)
+		   == offsetof (struct anonymous, w.k)),
+		  "Anonymous union alignment botch");
+  v1.i = 2;
+  v1.w.k = 5;
+  ok |= v1.i != 5;
+'
+
+# Test code for whether the C compiler supports C11 (complete).
+ac_c_conftest_c11_program="${ac_c_conftest_c89_globals}
+${ac_c_conftest_c99_globals}
+${ac_c_conftest_c11_globals}
+
+int
+main (int argc, char **argv)
+{
+  int ok = 0;
+  ${ac_c_conftest_c89_main}
+  ${ac_c_conftest_c99_main}
+  ${ac_c_conftest_c11_main}
+  return ok;
+}
+"
+
+# Test code for whether the C compiler supports C99 (complete).
+ac_c_conftest_c99_program="${ac_c_conftest_c89_globals}
+${ac_c_conftest_c99_globals}
+
+int
+main (int argc, char **argv)
+{
+  int ok = 0;
+  ${ac_c_conftest_c89_main}
+  ${ac_c_conftest_c99_main}
+  return ok;
+}
+"
+
+# Test code for whether the C compiler supports C89 (complete).
+ac_c_conftest_c89_program="${ac_c_conftest_c89_globals}
+
+int
+main (int argc, char **argv)
+{
+  int ok = 0;
+  ${ac_c_conftest_c89_main}
+  return ok;
+}
+"
+
+as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H"
+as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H"
+as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H"
+as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H"
+as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H"
+as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H"
+as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H"
+as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H"
+as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H"
+
+# Auxiliary files required by this configure script.
+ac_aux_files="compile missing install-sh config.guess config.sub"
+
+# Locations in which to look for auxiliary files.
+ac_aux_dir_candidates="${srcdir}/build-aux"
+
+# Search for a directory containing all of the required auxiliary files,
+# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates.
+# If we don't find one directory that contains all the files we need,
+# we report the set of missing files from the *first* directory in
+# $ac_aux_dir_candidates and give up.
+ac_missing_aux_files=""
+ac_first_candidate=:
+printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in $ac_aux_dir_candidates
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+  as_found=:
+
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}:  trying $as_dir" >&5
+  ac_aux_dir_found=yes
+  ac_install_sh=
+  for ac_aux in $ac_aux_files
+  do
+    # As a special case, if "install-sh" is required, that requirement
+    # can be satisfied by any of "install-sh", "install.sh", or "shtool",
+    # and $ac_install_sh is set appropriately for whichever one is found.
+    if test x"$ac_aux" = x"install-sh"
+    then
+      if test -f "${as_dir}install-sh"; then
+        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}install-sh found" >&5
+        ac_install_sh="${as_dir}install-sh -c"
+      elif test -f "${as_dir}install.sh"; then
+        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}install.sh found" >&5
+        ac_install_sh="${as_dir}install.sh -c"
+      elif test -f "${as_dir}shtool"; then
+        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}shtool found" >&5
+        ac_install_sh="${as_dir}shtool install -c"
+      else
+        ac_aux_dir_found=no
+        if $ac_first_candidate; then
+          ac_missing_aux_files="${ac_missing_aux_files} install-sh"
+        else
+          break
+        fi
+      fi
+    else
+      if test -f "${as_dir}${ac_aux}"; then
+        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}${ac_aux} found" >&5
+      else
+        ac_aux_dir_found=no
+        if $ac_first_candidate; then
+          ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}"
+        else
+          break
+        fi
+      fi
+    fi
+  done
+  if test "$ac_aux_dir_found" = yes; then
+    ac_aux_dir="$as_dir"
+    break
+  fi
+  ac_first_candidate=false
+
+  as_found=false
+done
+IFS=$as_save_IFS
+if $as_found
+then :
+
+else $as_nop
+  as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5
+fi
+
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+if test -f "${ac_aux_dir}config.guess"; then
+  ac_config_guess="$SHELL ${ac_aux_dir}config.guess"
+fi
+if test -f "${ac_aux_dir}config.sub"; then
+  ac_config_sub="$SHELL ${ac_aux_dir}config.sub"
+fi
+if test -f "$ac_aux_dir/configure"; then
+  ac_configure="$SHELL ${ac_aux_dir}configure"
+fi
+
 # Check that the precious variables saved in the cache have kept the same
 # value.
 ac_cache_corrupted=false
@@ -2313,12 +2598,12 @@
   eval ac_new_val=\$ac_env_${ac_var}_value
   case $ac_old_set,$ac_new_set in
     set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
       ac_cache_corrupted=: ;;
     ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
       ac_cache_corrupted=: ;;
     ,);;
     *)
@@ -2327,24 +2612,24 @@
 	ac_old_val_w=`echo x $ac_old_val`
 	ac_new_val_w=`echo x $ac_new_val`
 	if test "$ac_old_val_w" != "$ac_new_val_w"; then
-	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
 	  ac_cache_corrupted=:
 	else
-	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+	  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
 	  eval $ac_var=\$ac_old_val
 	fi
-	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
+printf "%s\n" "$as_me:   former value:  \`$ac_old_val'" >&2;}
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
+printf "%s\n" "$as_me:   current value: \`$ac_new_val'" >&2;}
       fi;;
   esac
   # Pass precious variables to config.status.
   if test "$ac_new_set" = set; then
     case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
     *) ac_arg=$ac_var=$ac_new_val ;;
     esac
     case " $ac_configure_args " in
@@ -2354,11 +2639,12 @@
   fi
 done
 if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;}
+  as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file'
+	    and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2371,60 +2657,36 @@
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-ac_aux_dir=
-for ac_dir in build-aux "$srcdir"/build-aux; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
 
 
 
 ac_config_headers="$ac_config_headers include/config.h"
 
 
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+
+
+  # Make sure we can run config.sub.
+$SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 ||
+  as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+printf %s "checking build system type... " >&6; }
+if test ${ac_cv_build+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+  ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"`
 test "x$ac_build_alias" = x &&
   as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` ||
+  as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+printf "%s\n" "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
 *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
@@ -2443,21 +2705,22 @@
 case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+printf %s "checking host system type... " >&6; }
+if test ${ac_cv_host+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+  ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` ||
+    as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+printf "%s\n" "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
 *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
@@ -2476,21 +2739,22 @@
 case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
+printf %s "checking target system type... " >&6; }
+if test ${ac_cv_target+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test "x$target_alias" = x; then
   ac_cv_target=$ac_cv_host
 else
-  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+  ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` ||
+    as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
+printf "%s\n" "$ac_cv_target" >&6; }
 case $ac_cv_target in
 *-*-*) ;;
 *) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
@@ -2518,7 +2782,8 @@
 
 am__api_version='1.16'
 
-# Find a good install program.  We prefer a C program (faster),
+
+  # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
 # incompatible versions:
 # SysV /etc/install, /usr/sbin/install
@@ -2532,20 +2797,25 @@
 # OS/2's system install, which has a completely different semantic
 # ./install, which can be erroneously created by make from ./install.sh.
 # Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+printf %s "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+if test ${ac_cv_path_install+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    # Account for fact that we put trailing slashes in our PATH walk.
+case $as_dir in #((
+  ./ | /[cC]/* | \
   /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
   ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
   /usr/ucb/* ) ;;
@@ -2555,13 +2825,13 @@
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
-	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
 	    :
 	  elif test $ac_prog = install &&
-	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # program-specific install script used by HP pwplus--don't use.
 	    :
 	  else
@@ -2569,12 +2839,12 @@
 	    echo one > conftest.one
 	    echo two > conftest.two
 	    mkdir conftest.dir
-	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+	    if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" &&
 	      test -s conftest.one && test -s conftest.two &&
 	      test -s conftest.dir/conftest.one &&
 	      test -s conftest.dir/conftest.two
 	    then
-	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	      ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c"
 	      break 3
 	    fi
 	  fi
@@ -2590,7 +2860,7 @@
 rm -rf conftest.one conftest.two conftest.dir
 
 fi
-  if test "${ac_cv_path_install+set}" = set; then
+  if test ${ac_cv_path_install+y}; then
     INSTALL=$ac_cv_path_install
   else
     # As a last resort, use the slow shell script.  Don't cache a
@@ -2600,8 +2870,8 @@
     INSTALL=$ac_install_sh
   fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+printf "%s\n" "$INSTALL" >&6; }
 
 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
 # It thinks the first close brace ends the variable substitution.
@@ -2611,8 +2881,8 @@
 
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+printf %s "checking whether build environment is sane... " >&6; }
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
@@ -2666,8 +2936,8 @@
    as_fn_error $? "newly created file is older than distributed files!
 Check your system clock" "$LINENO" 5
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 # If we didn't sleep, we still need to ensure time stamps of config.status and
 # generated files are strictly newer.
 am_sleep_pid=
@@ -2686,12 +2956,14 @@
 # Double any \ or $.
 # By default was `s,x,x', remove it if useless.
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"`
+
 
 # Expand $ac_aux_dir to an absolute path.
 am_aux_dir=`cd "$ac_aux_dir" && pwd`
 
-if test x"${MISSING+set}" != xset; then
+
+  if test x"${MISSING+set}" != xset; then
   MISSING="\${SHELL} '$am_aux_dir/missing'"
 fi
 # Use eval to expand $SHELL
@@ -2699,8 +2971,8 @@
   am_missing_run="$MISSING "
 else
   am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
 if test x"${install_sh+set}" != xset; then
@@ -2720,11 +2992,12 @@
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
 set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_STRIP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$STRIP"; then
   ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
 else
@@ -2732,11 +3005,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -2747,11 +3024,11 @@
 fi
 STRIP=$ac_cv_prog_STRIP
 if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+printf "%s\n" "$STRIP" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -2760,11 +3037,12 @@
   ac_ct_STRIP=$STRIP
   # Extract the first word of "strip", so it can be a program name with args.
 set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_STRIP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_STRIP"; then
   ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
 else
@@ -2772,11 +3050,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -2787,11 +3069,11 @@
 fi
 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
 if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+printf "%s\n" "$ac_ct_STRIP" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_STRIP" = x; then
@@ -2799,8 +3081,8 @@
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     STRIP=$ac_ct_STRIP
@@ -2812,25 +3094,31 @@
 fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5
+printf %s "checking for a race-free mkdir -p... " >&6; }
 if test -z "$MKDIR_P"; then
-  if ${ac_cv_path_mkdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  if test ${ac_cv_path_mkdir+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_prog in mkdir gmkdir; do
 	 for ac_exec_ext in '' $ac_executable_extensions; do
-	   as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
-	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-	     'mkdir (GNU coreutils) '* | \
-	     'mkdir (coreutils) '* | \
+	   as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue
+	   case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #(
+	     'mkdir ('*'coreutils) '* | \
+	     'BusyBox '* | \
 	     'mkdir (fileutils) '4.1*)
-	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+	       ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext
 	       break 3;;
 	   esac
 	 done
@@ -2841,7 +3129,7 @@
 fi
 
   test -d ./--version && rmdir ./--version
-  if test "${ac_cv_path_mkdir+set}" = set; then
+  if test ${ac_cv_path_mkdir+y}; then
     MKDIR_P="$ac_cv_path_mkdir -p"
   else
     # As a last resort, use the slow shell script.  Don't cache a
@@ -2851,18 +3139,19 @@
     MKDIR_P="$ac_install_sh -d"
   fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+printf "%s\n" "$MKDIR_P" >&6; }
 
 for ac_prog in gawk mawk nawk awk
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_AWK+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$AWK"; then
   ac_cv_prog_AWK="$AWK" # Let the user override the test.
 else
@@ -2870,11 +3159,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -2885,24 +3178,25 @@
 fi
 AWK=$ac_cv_prog_AWK
 if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+printf "%s\n" "$AWK" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
   test -n "$AWK" && break
 done
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
 set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval test \${ac_cv_prog_make_${ac_make}_set+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat >conftest.make <<\_ACEOF
 SHELL = /bin/sh
 all:
@@ -2918,12 +3212,12 @@
 rm -f conftest.make
 fi
 if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
   SET_MAKE=
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
   SET_MAKE="MAKE=${MAKE-make}"
 fi
 
@@ -2937,7 +3231,8 @@
 rmdir .tst 2>/dev/null
 
 # Check whether --enable-silent-rules was given.
-if test "${enable_silent_rules+set}" = set; then :
+if test ${enable_silent_rules+y}
+then :
   enableval=$enable_silent_rules;
 fi
 
@@ -2947,12 +3242,13 @@
     *) AM_DEFAULT_VERBOSITY=1;;
 esac
 am_make=${MAKE-make}
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
-$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
-if ${am_cv_make_support_nested_variables+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if $as_echo 'TRUE=$(BAR$(V))
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+printf %s "checking whether $am_make supports nested variables... " >&6; }
+if test ${am_cv_make_support_nested_variables+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if printf "%s\n" 'TRUE=$(BAR$(V))
 BAR0=false
 BAR1=true
 V=1
@@ -2964,8 +3260,8 @@
   am_cv_make_support_nested_variables=no
 fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
-$as_echo "$am_cv_make_support_nested_variables" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+printf "%s\n" "$am_cv_make_support_nested_variables" >&6; }
 if test $am_cv_make_support_nested_variables = yes; then
     AM_V='$(V)'
   AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
@@ -2997,17 +3293,13 @@
 
 # Define the identity of the package.
  PACKAGE='widl'
- VERSION='6.3'
+ VERSION='6.4'
 
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
+printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
 
 
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
+printf "%s\n" "#define VERSION \"$VERSION\"" >>confdefs.h
 
 # Some tools Automake needs.
 
@@ -3091,17 +3383,18 @@
 fi
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
+printf %s "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
     # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
+if test ${enable_maintainer_mode+y}
+then :
   enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
+else $as_nop
   USE_MAINTAINER_MODE=no
 fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
+printf "%s\n" "$USE_MAINTAINER_MODE" >&6; }
    if test $USE_MAINTAINER_MODE = yes; then
   MAINTAINER_MODE_TRUE=
   MAINTAINER_MODE_FALSE='#'
@@ -3119,18 +3412,19 @@
 install_prefix=$(echo $prefix | sed "s,NONE,$ac_default_prefix,")
 install_bindir=$(echo $bindir | sed "s,\${exec_prefix},$(echo $install_prefix | sed s/,/\\\\,/),")
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for widl includedir" >&5
-$as_echo_n "checking for widl includedir... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for widl includedir" >&5
+printf %s "checking for widl includedir... " >&6; }
 
 # Check whether --with-widl-includedir was given.
-if test "${with_widl_includedir+set}" = set; then :
+if test ${with_widl_includedir+y}
+then :
   withval=$with_widl_includedir;
-else
+else $as_nop
   with_widl_includedir="$install_prefix/$target/include"
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_widl_includedir" >&5
-$as_echo "$with_widl_includedir" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_widl_includedir" >&5
+printf "%s\n" "$with_widl_includedir" >&6; }
 WIDL_INCLUDEDIR=$with_widl_includedir
 
 
@@ -3162,6 +3456,15 @@
 
 
 # Checks for programs.
+
+
+
+
+
+
+
+
+
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -3170,11 +3473,12 @@
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
@@ -3182,11 +3486,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3197,11 +3505,11 @@
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -3210,11 +3518,12 @@
   ac_ct_CC=$CC
   # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_CC"; then
   ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
 else
@@ -3222,11 +3531,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3237,11 +3550,11 @@
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_CC" = x; then
@@ -3249,8 +3562,8 @@
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     CC=$ac_ct_CC
@@ -3263,11 +3576,12 @@
           if test -n "$ac_tool_prefix"; then
     # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
@@ -3275,11 +3589,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3290,11 +3608,11 @@
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -3303,11 +3621,12 @@
 if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
@@ -3316,15 +3635,19 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
      fi
     ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3340,18 +3663,18 @@
     # However, it has the same basename, so the bogon will be chosen
     # first if we set CC to just the basename; use the full file name.
     shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+    ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"
   fi
 fi
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -3362,11 +3685,12 @@
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
@@ -3374,11 +3698,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3389,11 +3717,11 @@
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -3406,11 +3734,12 @@
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_CC"; then
   ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
 else
@@ -3418,11 +3747,15 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3433,11 +3766,11 @@
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -3449,8 +3782,8 @@
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     CC=$ac_ct_CC
@@ -3458,25 +3791,129 @@
 fi
 
 fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
+set dummy ${ac_tool_prefix}clang; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}clang"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
 
 
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "clang", so it can be a program name with args.
+set dummy clang; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="clang"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+fi
+
+
+test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "no acceptable C compiler found in \$PATH
 See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
 set X $ac_compile
 ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
+for ac_option in --version -v -V -qversion -version; do
   { { ac_try="$ac_compiler $ac_option >&5"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_compiler $ac_option >&5") 2>conftest.err
   ac_status=$?
   if test -s conftest.err; then
@@ -3486,7 +3923,7 @@
     cat conftest.er1 >&5
   fi
   rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
 
@@ -3494,7 +3931,7 @@
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
@@ -3506,9 +3943,9 @@
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+printf %s "checking whether the C compiler works... " >&6; }
+ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
 ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
@@ -3529,11 +3966,12 @@
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_link_default") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+then :
   # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
 # So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
 # in a Makefile.  We should not override ac_cv_exeext if it was cached,
@@ -3550,7 +3988,7 @@
 	# certainly right.
 	break;;
     *.* )
-	if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+	if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no;
 	then :; else
 	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
 	fi
@@ -3566,44 +4004,46 @@
 done
 test "$ac_cv_exeext" = no && ac_cv_exeext=
 
-else
+else $as_nop
   ac_file=''
 fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
+if test -z "$ac_file"
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error 77 "C compiler cannot create executables
 See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+printf %s "checking for C compiler default output file name... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+printf "%s\n" "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
 rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+printf %s "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_link") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+then :
   # If both `conftest.exe' and `conftest' are `present' (well, observable)
 # catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
 # work properly (i.e., refer to `conftest.exe'), while it won't with
@@ -3617,15 +4057,15 @@
     * ) break;;
   esac
 done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+else $as_nop
+  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "cannot compute suffix of executables: cannot compile and link
 See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+printf "%s\n" "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
@@ -3634,7 +4074,7 @@
 /* end confdefs.h.  */
 #include <stdio.h>
 int
-main ()
+main (void)
 {
 FILE *f = fopen ("conftest.out", "w");
  return ferror (f) || fclose (f) != 0;
@@ -3646,8 +4086,8 @@
 ac_clean_files="$ac_clean_files conftest.out"
 # Check that the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+printf %s "checking whether we are cross compiling... " >&6; }
 if test "$cross_compiling" != yes; then
   { { ac_try="$ac_link"
 case "(($ac_try" in
@@ -3655,10 +4095,10 @@
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_link") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
   if { ac_try='./conftest$ac_cv_exeext'
   { { case "(($ac_try" in
@@ -3666,39 +4106,40 @@
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_try") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; }; then
     cross_compiling=no
   else
     if test "$cross_compiling" = maybe; then
 	cross_compiling=yes
     else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
+	{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot run C compiled programs.
 If you meant to cross compile, use \`--host'.
 See \`config.log' for more details" "$LINENO" 5; }
     fi
   fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+printf "%s\n" "$cross_compiling" >&6; }
 
 rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
 ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+printf %s "checking for suffix of object files... " >&6; }
+if test ${ac_cv_objext+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
@@ -3712,11 +4153,12 @@
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_compile") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+then :
   for ac_file in conftest.o conftest.obj conftest.*; do
   test -f "$ac_file" || continue;
   case $ac_file in
@@ -3725,31 +4167,32 @@
        break;;
   esac
 done
-else
-  $as_echo "$as_me: failed program was:" >&5
+else $as_nop
+  printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "cannot compute suffix of object files: cannot compile
 See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+printf "%s\n" "$ac_cv_objext" >&6; }
 OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5
+printf %s "checking whether the compiler supports GNU C... " >&6; }
+if test ${ac_cv_c_compiler_gnu+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 #ifndef __GNUC__
        choke me
@@ -3759,29 +4202,33 @@
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_compiler_gnu=yes
-else
+else $as_nop
   ac_compiler_gnu=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
 if test $ac_compiler_gnu = yes; then
   GCC=yes
 else
   GCC=
 fi
-ac_test_CFLAGS=${CFLAGS+set}
+ac_test_CFLAGS=${CFLAGS+y}
 ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+printf %s "checking whether $CC accepts -g... " >&6; }
+if test ${ac_cv_prog_cc_g+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_save_c_werror_flag=$ac_c_werror_flag
    ac_c_werror_flag=yes
    ac_cv_prog_cc_g=no
@@ -3790,57 +4237,60 @@
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_prog_cc_g=yes
-else
+else $as_nop
   CFLAGS=""
       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
 
-else
+else $as_nop
   ac_c_werror_flag=$ac_save_c_werror_flag
 	 CFLAGS="-g"
 	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_prog_cc_g=yes
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
    ac_c_werror_flag=$ac_save_c_werror_flag
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
+if test $ac_test_CFLAGS; then
   CFLAGS=$ac_save_CFLAGS
 elif test $ac_cv_prog_cc_g = yes; then
   if test "$GCC" = yes; then
@@ -3855,94 +4305,144 @@
     CFLAGS=
   fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+ac_prog_cc_stdc=no
+if test x$ac_prog_cc_stdc = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
+printf %s "checking for $CC option to enable C11 features... " >&6; }
+if test ${ac_cv_prog_cc_c11+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_prog_cc_c11=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_c_conftest_c11_program
+_ACEOF
+for ac_arg in '' -std=gnu11
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_prog_cc_c11=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+  test "x$ac_cv_prog_cc_c11" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+fi
+
+if test "x$ac_cv_prog_cc_c11" = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+  if test "x$ac_cv_prog_cc_c11" = x
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
+printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
+     CC="$CC $ac_cv_prog_cc_c11"
+fi
+  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
+  ac_prog_cc_stdc=c11
+fi
+fi
+if test x$ac_prog_cc_stdc = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
+printf %s "checking for $CC option to enable C99 features... " >&6; }
+if test ${ac_cv_prog_cc_c99+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_prog_cc_c99=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_c_conftest_c99_program
+_ACEOF
+for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_prog_cc_c99=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+  test "x$ac_cv_prog_cc_c99" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+fi
+
+if test "x$ac_cv_prog_cc_c99" = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+  if test "x$ac_cv_prog_cc_c99" = x
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
+printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
+     CC="$CC $ac_cv_prog_cc_c99"
+fi
+  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
+  ac_prog_cc_stdc=c99
+fi
+fi
+if test x$ac_prog_cc_stdc = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
+printf %s "checking for $CC option to enable C89 features... " >&6; }
+if test ${ac_cv_prog_cc_c89+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_cv_prog_cc_c89=no
 ac_save_CC=$CC
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
+$ac_c_conftest_c89_program
 _ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
 do
   CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
+  if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_prog_cc_c89=$ac_arg
 fi
-rm -f core conftest.err conftest.$ac_objext
+rm -f core conftest.err conftest.$ac_objext conftest.beam
   test "x$ac_cv_prog_cc_c89" != "xno" && break
 done
 rm -f conftest.$ac_ext
 CC=$ac_save_CC
-
 fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
 
+if test "x$ac_cv_prog_cc_c89" = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+  if test "x$ac_cv_prog_cc_c89" = x
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
+     CC="$CC $ac_cv_prog_cc_c89"
+fi
+  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
+  ac_prog_cc_stdc=c89
+fi
 fi
 
 ac_ext=c
@@ -3951,21 +4451,23 @@
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-ac_ext=c
+
+  ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
-$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
-if ${am_cv_prog_cc_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+printf %s "checking whether $CC understands -c and -o together... " >&6; }
+if test ${am_cv_prog_cc_c_o+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
@@ -3993,8 +4495,8 @@
   rm -f core conftest*
   unset am_i
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
-$as_echo "$am_cv_prog_cc_c_o" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+printf "%s\n" "$am_cv_prog_cc_c_o" >&6; }
 if test "$am_cv_prog_cc_c_o" != yes; then
    # Losing compiler, so override with the script.
    # FIXME: It is wrong to rewrite CC.
@@ -4013,8 +4515,8 @@
 
 ac_config_commands="$ac_config_commands depfiles"
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
-$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
+printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; }
 cat > confinc.mk << 'END'
 am__doit:
 	@echo this is the am__doit target >confinc.out
@@ -4050,11 +4552,12 @@
   fi
 done
 rm -f confinc.* confmf.*
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
-$as_echo "${_am_result}" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
+printf "%s\n" "${_am_result}" >&6; }
 
 # Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
+if test ${enable_dependency_tracking+y}
+then :
   enableval=$enable_dependency_tracking;
 fi
 
@@ -4075,11 +4578,12 @@
 
 depcc="$CC"   am_compiler_list=
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+printf %s "checking dependency style of $depcc... " >&6; }
+if test ${am_cv_CC_dependencies_compiler_type+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
@@ -4186,8 +4690,8 @@
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; }
 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
  if
@@ -4220,537 +4724,280 @@
 
 # Checks for header files.
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
+ac_header= ac_cache=
+for ac_item in $ac_header_c_list
 do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
+  if test $ac_cache; then
+    ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default"
+    if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then
+      printf "%s\n" "#define $ac_item 1" >> confdefs.h
     fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    ac_header= ac_cache=
+  elif test $ac_header; then
+    ac_cache=$ac_item
+  else
+    ac_header=$ac_item
   fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-		   (('a' <= (c) && (c) <= 'i') \
-		     || ('j' <= (c) && (c) <= 'r') \
-		     || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-	|| toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-		  inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
 done
 
 
-for ac_header in getopt.h io.h fcntl.h inttypes.h libintl.h limits.h malloc.h stddef.h stdlib.h string.h sys/time.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
+
+
+
+
+
+
+if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes
+then :
+
+printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h
 
 fi
+ac_fn_c_check_header_compile "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default"
+if test "x$ac_cv_header_getopt_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_GETOPT_H 1" >>confdefs.h
 
-done
+fi
+ac_fn_c_check_header_compile "$LINENO" "io.h" "ac_cv_header_io_h" "$ac_includes_default"
+if test "x$ac_cv_header_io_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_IO_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "fcntl.h" "ac_cv_header_fcntl_h" "$ac_includes_default"
+if test "x$ac_cv_header_fcntl_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_FCNTL_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default"
+if test "x$ac_cv_header_inttypes_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_INTTYPES_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "libintl.h" "ac_cv_header_libintl_h" "$ac_includes_default"
+if test "x$ac_cv_header_libintl_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_LIBINTL_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "limits.h" "ac_cv_header_limits_h" "$ac_includes_default"
+if test "x$ac_cv_header_limits_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_LIMITS_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "malloc.h" "ac_cv_header_malloc_h" "$ac_includes_default"
+if test "x$ac_cv_header_malloc_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_MALLOC_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "stddef.h" "ac_cv_header_stddef_h" "$ac_includes_default"
+if test "x$ac_cv_header_stddef_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_STDDEF_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
+if test "x$ac_cv_header_stdlib_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_STDLIB_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "string.h" "ac_cv_header_string_h" "$ac_includes_default"
+if test "x$ac_cv_header_string_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_STRING_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_time_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_TIME_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default"
+if test "x$ac_cv_header_unistd_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_UNISTD_H 1" >>confdefs.h
+
+fi
 
 
 # Checks for typedefs, structures, and compiler characteristics.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
-$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
-if ${ac_cv_header_stdbool_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default"
+if test "x$ac_cv_type__Bool" = xyes
+then :
+
+printf "%s\n" "#define HAVE__BOOL 1" >>confdefs.h
+
+
+fi
+
+   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
+printf %s "checking for stdbool.h that conforms to C99... " >&6; }
+if test ${ac_cv_header_stdbool_h+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+#include <stdbool.h>
 
-             #include <stdbool.h>
-             #ifndef bool
-              "error: bool is not defined"
+             #ifndef __bool_true_false_are_defined
+               #error "__bool_true_false_are_defined is not defined"
              #endif
-             #ifndef false
-              "error: false is not defined"
-             #endif
-             #if false
-              "error: false is not 0"
-             #endif
-             #ifndef true
-              "error: true is not defined"
+             char a[__bool_true_false_are_defined == 1 ? 1 : -1];
+
+             /* Regardless of whether this is C++ or "_Bool" is a
+                valid type name, "true" and "false" should be usable
+                in #if expressions and integer constant expressions,
+                and "bool" should be a valid type name.  */
+
+             #if !true
+               #error "'true' is not true"
              #endif
              #if true != 1
-              "error: true is not 1"
+               #error "'true' is not equal to 1"
              #endif
-             #ifndef __bool_true_false_are_defined
-              "error: __bool_true_false_are_defined is not defined"
+             char b[true == 1 ? 1 : -1];
+             char c[true];
+
+             #if false
+               #error "'false' is not false"
              #endif
+             #if false != 0
+               #error "'false' is not equal to 0"
+             #endif
+             char d[false == 0 ? 1 : -1];
 
-             struct s { _Bool s: 1; _Bool t; } s;
+             enum { e = false, f = true, g = false * true, h = true * 256 };
 
-             char a[true == 1 ? 1 : -1];
-             char b[false == 0 ? 1 : -1];
-             char c[__bool_true_false_are_defined == 1 ? 1 : -1];
-             char d[(bool) 0.5 == true ? 1 : -1];
-             /* See body of main program for 'e'.  */
-             char f[(_Bool) 0.0 == false ? 1 : -1];
-             char g[true];
-             char h[sizeof (_Bool)];
-             char i[sizeof s.t];
-             enum { j = false, k = true, l = false * true, m = true * 256 };
+             char i[(bool) 0.5 == true ? 1 : -1];
+             char j[(bool) 0.0 == false ? 1 : -1];
+             char k[sizeof (bool) > 0 ? 1 : -1];
+
+             struct sb { bool s: 1; bool t; } s;
+             char l[sizeof s.t > 0 ? 1 : -1];
+
              /* The following fails for
                 HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
-             _Bool n[m];
-             char o[sizeof n == m * sizeof n[0] ? 1 : -1];
-             char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
+             bool m[h];
+             char n[sizeof m == h * sizeof m[0] ? 1 : -1];
+             char o[-1 - (bool) 0 < 0 ? 1 : -1];
              /* Catch a bug in an HP-UX C compiler.  See
-                http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
-                http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
+         https://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
+         https://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
               */
-             _Bool q = true;
-             _Bool *pq = &q;
+             bool p = true;
+             bool *pp = &p;
+
+             /* C 1999 specifies that bool, true, and false are to be
+                macros, but C++ 2011 and later overrule this.  */
+             #if __cplusplus < 201103
+              #ifndef bool
+               #error "bool is not defined"
+              #endif
+              #ifndef false
+               #error "false is not defined"
+              #endif
+              #ifndef true
+               #error "true is not defined"
+              #endif
+             #endif
+
+             /* If _Bool is available, repeat with it all the tests
+                above that used bool.  */
+             #ifdef HAVE__BOOL
+               struct sB { _Bool s: 1; _Bool t; } t;
+
+               char q[(_Bool) 0.5 == true ? 1 : -1];
+               char r[(_Bool) 0.0 == false ? 1 : -1];
+               char u[sizeof (_Bool) > 0 ? 1 : -1];
+               char v[sizeof t.t > 0 ? 1 : -1];
+
+               _Bool w[h];
+               char x[sizeof m == h * sizeof m[0] ? 1 : -1];
+               char y[-1 - (_Bool) 0 < 0 ? 1 : -1];
+               _Bool z = true;
+               _Bool *pz = &p;
+             #endif
 
 int
-main ()
+main (void)
 {
 
-             bool e = &s;
-             *pq |= q;
-             *pq |= ! q;
-             /* Refer to every declared value, to avoid compiler optimizations.  */
-             return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
-                     + !m + !n + !o + !p + !q + !pq);
+             bool ps = &s;
+             *pp |= p;
+             *pp |= ! p;
+
+             #ifdef HAVE__BOOL
+               _Bool pt = &t;
+               *pz |= z;
+               *pz |= ! z;
+             #endif
+
+             /* Refer to every declared value, so they cannot be
+                discarded as unused.  */
+             return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !j + !k
+                     + !l + !m + !n + !o + !p + !pp + !ps
+             #ifdef HAVE__BOOL
+                     + !q + !r + !u + !v + !w + !x + !y + !z + !pt
+             #endif
+                    );
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_header_stdbool_h=yes
-else
+else $as_nop
   ac_cv_header_stdbool_h=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5
-$as_echo "$ac_cv_header_stdbool_h" >&6; }
-   ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default"
-if test "x$ac_cv_type__Bool" = xyes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE__BOOL 1
-_ACEOF
-
-
-fi
-
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5
+printf "%s\n" "$ac_cv_header_stdbool_h" >&6; }
 
 if test $ac_cv_header_stdbool_h = yes; then
 
-$as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h
+printf "%s\n" "#define HAVE_STDBOOL_H 1" >>confdefs.h
 
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
-$as_echo_n "checking for inline... " >&6; }
-if ${ac_cv_c_inline+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
+printf %s "checking for inline... " >&6; }
+if test ${ac_cv_c_inline+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_cv_c_inline=no
 for ac_kw in inline __inline__ __inline; do
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #ifndef __cplusplus
 typedef int foo_t;
-static $ac_kw foo_t static_foo () {return 0; }
-$ac_kw foo_t foo () {return 0; }
+static $ac_kw foo_t static_foo (void) {return 0; }
+$ac_kw foo_t foo (void) {return 0; }
 #endif
 
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_c_inline=$ac_kw
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
   test "$ac_cv_c_inline" != no && break
 done
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
-$as_echo "$ac_cv_c_inline" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
+printf "%s\n" "$ac_cv_c_inline" >&6; }
 
 case $ac_cv_c_inline in
   inline | yes) ;;
@@ -4772,9 +5019,7 @@
   no|yes) ;; #(
   *)
 
-cat >>confdefs.h <<_ACEOF
-#define int16_t $ac_cv_c_int16_t
-_ACEOF
+printf "%s\n" "#define int16_t $ac_cv_c_int16_t" >>confdefs.h
 ;;
 esac
 
@@ -4783,9 +5028,7 @@
   no|yes) ;; #(
   *)
 
-cat >>confdefs.h <<_ACEOF
-#define int32_t $ac_cv_c_int32_t
-_ACEOF
+printf "%s\n" "#define int32_t $ac_cv_c_int32_t" >>confdefs.h
 ;;
 esac
 
@@ -4794,31 +5037,27 @@
   no|yes) ;; #(
   *)
 
-cat >>confdefs.h <<_ACEOF
-#define int8_t $ac_cv_c_int8_t
-_ACEOF
+printf "%s\n" "#define int8_t $ac_cv_c_int8_t" >>confdefs.h
 ;;
 esac
 
 ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"
-if test "x$ac_cv_type_off_t" = xyes; then :
+if test "x$ac_cv_type_off_t" = xyes
+then :
 
-else
+else $as_nop
 
-cat >>confdefs.h <<_ACEOF
-#define off_t long int
-_ACEOF
+printf "%s\n" "#define off_t long int" >>confdefs.h
 
 fi
 
 ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
+if test "x$ac_cv_type_size_t" = xyes
+then :
 
-else
+else $as_nop
 
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
+printf "%s\n" "#define size_t unsigned int" >>confdefs.h
 
 fi
 
@@ -4828,9 +5067,7 @@
   *)
 
 
-cat >>confdefs.h <<_ACEOF
-#define uint16_t $ac_cv_c_uint16_t
-_ACEOF
+printf "%s\n" "#define uint16_t $ac_cv_c_uint16_t" >>confdefs.h
 ;;
   esac
 
@@ -4839,12 +5076,10 @@
   no|yes) ;; #(
   *)
 
-$as_echo "#define _UINT32_T 1" >>confdefs.h
+printf "%s\n" "#define _UINT32_T 1" >>confdefs.h
 
 
-cat >>confdefs.h <<_ACEOF
-#define uint32_t $ac_cv_c_uint32_t
-_ACEOF
+printf "%s\n" "#define uint32_t $ac_cv_c_uint32_t" >>confdefs.h
 ;;
   esac
 
@@ -4853,54 +5088,53 @@
   no|yes) ;; #(
   *)
 
-$as_echo "#define _UINT8_T 1" >>confdefs.h
+printf "%s\n" "#define _UINT8_T 1" >>confdefs.h
 
 
-cat >>confdefs.h <<_ACEOF
-#define uint8_t $ac_cv_c_uint8_t
-_ACEOF
+printf "%s\n" "#define uint8_t $ac_cv_c_uint8_t" >>confdefs.h
 ;;
   esac
 
 
 ac_fn_c_check_type "$LINENO" "long long" "ac_cv_type_long_long" "$ac_includes_default"
-if test "x$ac_cv_type_long_long" = xyes; then :
+if test "x$ac_cv_type_long_long" = xyes
+then :
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_LONG_LONG 1
-_ACEOF
+printf "%s\n" "#define HAVE_LONG_LONG 1" >>confdefs.h
 
 
 fi
 
 
 # Checks for library functions.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5
-$as_echo_n "checking for error_at_line... " >&6; }
-if ${ac_cv_lib_error_at_line+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5
+printf %s "checking for error_at_line... " >&6; }
+if test ${ac_cv_lib_error_at_line+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <error.h>
 int
-main ()
+main (void)
 {
 error_at_line (0, 0, "", 0, "an error occurred");
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_error_at_line=yes
-else
+else $as_nop
   ac_cv_lib_error_at_line=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5
-$as_echo "$ac_cv_lib_error_at_line" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5
+printf "%s\n" "$ac_cv_lib_error_at_line" >&6; }
 if test $ac_cv_lib_error_at_line = no; then
   case " $LIBOBJS " in
   *" error.$ac_objext "* ) ;;
@@ -4910,17 +5144,96 @@
 
 fi
 
-for ac_func in atexit gettimeofday getopt_long_only memmove memset mkstemps strcasecmp strchr strdup strerror strncasecmp strrchr strtol strtoul strtoull
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
+ac_fn_c_check_func "$LINENO" "atexit" "ac_cv_func_atexit"
+if test "x$ac_cv_func_atexit" = xyes
+then :
+  printf "%s\n" "#define HAVE_ATEXIT 1" >>confdefs.h
 
 fi
-done
+ac_fn_c_check_func "$LINENO" "gettimeofday" "ac_cv_func_gettimeofday"
+if test "x$ac_cv_func_gettimeofday" = xyes
+then :
+  printf "%s\n" "#define HAVE_GETTIMEOFDAY 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "getopt_long_only" "ac_cv_func_getopt_long_only"
+if test "x$ac_cv_func_getopt_long_only" = xyes
+then :
+  printf "%s\n" "#define HAVE_GETOPT_LONG_ONLY 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "memmove" "ac_cv_func_memmove"
+if test "x$ac_cv_func_memmove" = xyes
+then :
+  printf "%s\n" "#define HAVE_MEMMOVE 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "memset" "ac_cv_func_memset"
+if test "x$ac_cv_func_memset" = xyes
+then :
+  printf "%s\n" "#define HAVE_MEMSET 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "mkstemps" "ac_cv_func_mkstemps"
+if test "x$ac_cv_func_mkstemps" = xyes
+then :
+  printf "%s\n" "#define HAVE_MKSTEMPS 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "strcasecmp" "ac_cv_func_strcasecmp"
+if test "x$ac_cv_func_strcasecmp" = xyes
+then :
+  printf "%s\n" "#define HAVE_STRCASECMP 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "strchr" "ac_cv_func_strchr"
+if test "x$ac_cv_func_strchr" = xyes
+then :
+  printf "%s\n" "#define HAVE_STRCHR 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "strdup" "ac_cv_func_strdup"
+if test "x$ac_cv_func_strdup" = xyes
+then :
+  printf "%s\n" "#define HAVE_STRDUP 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "strerror" "ac_cv_func_strerror"
+if test "x$ac_cv_func_strerror" = xyes
+then :
+  printf "%s\n" "#define HAVE_STRERROR 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "strncasecmp" "ac_cv_func_strncasecmp"
+if test "x$ac_cv_func_strncasecmp" = xyes
+then :
+  printf "%s\n" "#define HAVE_STRNCASECMP 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "strrchr" "ac_cv_func_strrchr"
+if test "x$ac_cv_func_strrchr" = xyes
+then :
+  printf "%s\n" "#define HAVE_STRRCHR 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "strtol" "ac_cv_func_strtol"
+if test "x$ac_cv_func_strtol" = xyes
+then :
+  printf "%s\n" "#define HAVE_STRTOL 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "strtoul" "ac_cv_func_strtoul"
+if test "x$ac_cv_func_strtoul" = xyes
+then :
+  printf "%s\n" "#define HAVE_STRTOUL 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "strtoull" "ac_cv_func_strtoull"
+if test "x$ac_cv_func_strtoull" = xyes
+then :
+  printf "%s\n" "#define HAVE_STRTOULL 1" >>confdefs.h
+
+fi
 
 
 
@@ -4954,8 +5267,8 @@
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
@@ -4985,15 +5298,15 @@
      /^ac_cv_env_/b end
      t clear
      :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/
      t end
      s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
     if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+printf "%s\n" "$as_me: updating cache $cache_file" >&6;}
       if test ! -f "$cache_file" || test -h "$cache_file"; then
 	cat confcache >"$cache_file"
       else
@@ -5007,8 +5320,8 @@
       fi
     fi
   else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
 rm -f confcache
@@ -5025,7 +5338,7 @@
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+  ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"`
   # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
   #    will be set to the directory where LIBOBJS objects are built.
   as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
@@ -5036,14 +5349,14 @@
 LTLIBOBJS=$ac_ltlibobjs
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
-$as_echo_n "checking that generated files are newer than configure... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+printf %s "checking that generated files are newer than configure... " >&6; }
    if test -n "$am_sleep_pid"; then
      # Hide warnings about reused PIDs.
      wait $am_sleep_pid 2>/dev/null
    fi
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
-$as_echo "done" >&6; }
+   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5
+printf "%s\n" "done" >&6; }
  if test -n "$EXEEXT"; then
   am__EXEEXT_TRUE=
   am__EXEEXT_FALSE='#'
@@ -5069,8 +5382,8 @@
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;}
 as_write_fail=0
 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
 #! $SHELL
@@ -5093,14 +5406,16 @@
 
 # Be more Bourne compatible
 DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+as_nop=:
+if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
   emulate sh
   NULLCMD=:
   # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
-else
+else $as_nop
   case `(set -o) 2>/dev/null` in #(
   *posix*) :
     set -o posix ;; #(
@@ -5110,46 +5425,46 @@
 fi
 
 
+
+# Reset variables that may have inherited troublesome values from
+# the environment.
+
+# IFS needs to be set, to space, tab, and newline, in precisely that order.
+# (If _AS_PATH_WALK were called with IFS unset, it would have the
+# side effect of setting IFS to empty, thus disabling word splitting.)
+# Quoting is to prevent editors from complaining about space-tab.
 as_nl='
 '
 export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-	expr "X$arg" : "X\\(.*\\)$as_nl";
-	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
+IFS=" ""	$as_nl"
+
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# Ensure predictable behavior from utilities with locale-dependent output.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# We cannot yet rely on "unset" to work, but we need these variables
+# to be unset--not just set to an empty or harmless value--now, to
+# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh).  This construct
+# also avoids known problems related to "unset" and subshell syntax
+# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
+for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+do eval test \${$as_var+y} \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+
+# Ensure that fds 0, 1, and 2 are open.
+if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi
+if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
+if (exec 3>&2)            ; then :; else exec 2>/dev/null; fi
 
 # The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
+if ${PATH_SEPARATOR+false} :; then
   PATH_SEPARATOR=:
   (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
     (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
@@ -5158,13 +5473,6 @@
 fi
 
 
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""	$as_nl"
-
 # Find who we are.  Look in the path if we contain no directory separator.
 as_myself=
 case $0 in #((
@@ -5173,8 +5481,12 @@
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    test -r "$as_dir$0" && as_myself=$as_dir$0 && break
   done
 IFS=$as_save_IFS
 
@@ -5186,30 +5498,10 @@
   as_myself=$0
 fi
 if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
   exit 1
 fi
 
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
 # as_fn_error STATUS ERROR [LINENO LOG_FD]
@@ -5222,13 +5514,14 @@
   as_status=$1; test $as_status -eq 0 && as_status=1
   if test "$4"; then
     as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $2" >&2
+  printf "%s\n" "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
 
+
 # as_fn_set_status STATUS
 # -----------------------
 # Set $? to STATUS, without forking.
@@ -5255,18 +5548,20 @@
   { eval $1=; unset $1;}
 }
 as_unset=as_fn_unset
+
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
 # advantage of any shell optimizations that allow amortized linear growth over
 # repeated appends, instead of the typical quadratic growth present in naive
 # implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
+then :
   eval 'as_fn_append ()
   {
     eval $1+=\$2
   }'
-else
+else $as_nop
   as_fn_append ()
   {
     eval $1=\$$1\$2
@@ -5278,12 +5573,13 @@
 # Perform arithmetic evaluation on the ARGs, and store the result in the
 # global $as_val. Take advantage of shells that can avoid forks. The arguments
 # must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
+then :
   eval 'as_fn_arith ()
   {
     as_val=$(( $* ))
   }'
-else
+else $as_nop
   as_fn_arith ()
   {
     as_val=`expr "$@" || test $? -eq 1`
@@ -5314,7 +5610,7 @@
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
 	 X"$0" : 'X\(//\)$' \| \
 	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
+printf "%s\n" X/"$0" |
     sed '/^.*\/\([^/][^/]*\)\/*$/{
 	    s//\1/
 	    q
@@ -5336,6 +5632,10 @@
 as_cr_digits='0123456789'
 as_cr_alnum=$as_cr_Letters$as_cr_digits
 
+
+# Determine whether it's possible to make 'echo' print without a newline.
+# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
+# for compatibility with existing Makefiles.
 ECHO_C= ECHO_N= ECHO_T=
 case `echo -n x` in #(((((
 -n*)
@@ -5349,6 +5649,12 @@
   ECHO_N='-n';;
 esac
 
+# For backward compatibility with old third-party macros, we provide
+# the shell variables $as_echo and $as_echo_n.  New code should use
+# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
+as_echo='printf %s\n'
+as_echo_n='printf %s'
+
 rm -f conf$$ conf$$.exe conf$$.file
 if test -d conf$$.dir; then
   rm -f conf$$.dir/conf$$.file
@@ -5390,7 +5696,7 @@
     as_dirs=
     while :; do
       case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
       *) as_qdir=$as_dir;;
       esac
       as_dirs="'$as_qdir' $as_dirs"
@@ -5399,7 +5705,7 @@
 	 X"$as_dir" : 'X\(//\)[^/]' \| \
 	 X"$as_dir" : 'X\(//\)$' \| \
 	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
+printf "%s\n" X"$as_dir" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
 	    s//\1/
 	    q
@@ -5461,8 +5767,8 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by widl $as_me 6.3, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
+This file was extended by widl $as_me 6.4, which was
+generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -5524,14 +5830,16 @@
 Report bugs to <mingw-w64-public@lists.sourceforge.net>."
 
 _ACEOF
+ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"`
+ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"`
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-widl config.status 6.3
-configured by $0, generated by GNU Autoconf 2.69,
+widl config.status 6.4
+configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2021 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -5571,15 +5879,15 @@
   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
+    printf "%s\n" "$ac_cs_version"; exit ;;
   --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
+    printf "%s\n" "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
     '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
@@ -5587,7 +5895,7 @@
   --header | --heade | --head | --hea )
     $ac_shift
     case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
     as_fn_append CONFIG_HEADERS " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -5596,7 +5904,7 @@
     as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
+    printf "%s\n" "$ac_cs_usage"; exit ;;
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
   | -silent | --silent | --silen | --sile | --sil | --si | --s)
     ac_cs_silent=: ;;
@@ -5624,7 +5932,7 @@
 if \$ac_cs_recheck; then
   set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+  \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
   export CONFIG_SHELL
   exec "\$@"
@@ -5638,7 +5946,7 @@
   sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
 ## Running $as_me. ##
 _ASBOX
-  $as_echo "$ac_log"
+  printf "%s\n" "$ac_log"
 } >&5
 
 _ACEOF
@@ -5670,9 +5978,9 @@
 # We use the long form for the default assignment because of an extremely
 # bizarre bug on SunOS 4.1.3.
 if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+  test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files
+  test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers
+  test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands
 fi
 
 # Have a temporary directory for convenience.  Make it in the build tree
@@ -6008,7 +6316,7 @@
 	   esac ||
 	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+      case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
     done
 
@@ -6016,17 +6324,17 @@
     # use $as_me), people would be surprised to read:
     #    /* config.h.  Generated by config.status.  */
     configure_input='Generated from '`
-	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+	  printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
 	`' by configure.'
     if test x"$ac_file" != x-; then
       configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+printf "%s\n" "$as_me: creating $ac_file" >&6;}
     fi
     # Neutralize special characters interpreted by sed in replacement strings.
     case $configure_input in #(
     *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
+       ac_sed_conf_input=`printf "%s\n" "$configure_input" |
        sed 's/[\\\\&|]/\\\\&/g'`;; #(
     *) ac_sed_conf_input=$configure_input;;
     esac
@@ -6043,7 +6351,7 @@
 	 X"$ac_file" : 'X\(//\)[^/]' \| \
 	 X"$ac_file" : 'X\(//\)$' \| \
 	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
+printf "%s\n" X"$ac_file" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
 	    s//\1/
 	    q
@@ -6067,9 +6375,9 @@
 case "$ac_dir" in
 .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
 *)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
   # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
   case $ac_top_builddir_sub in
   "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
   *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -6131,8 +6439,8 @@
 case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
 *datarootdir*) ac_datarootdir_seen=yes;;
 *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
   ac_datarootdir_hack='
@@ -6176,9 +6484,9 @@
   { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
   { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
       "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
 which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
 which seems to be undefined.  Please make sure it is defined" >&2;}
 
   rm -f "$ac_tmp/stdin"
@@ -6194,20 +6502,20 @@
   #
   if test x"$ac_file" != x-; then
     {
-      $as_echo "/* $configure_input  */" \
+      printf "%s\n" "/* $configure_input  */" >&1 \
       && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
     } >"$ac_tmp/config.h" \
       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
     if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+printf "%s\n" "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
       mv "$ac_tmp/config.h" "$ac_file" \
 	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
-    $as_echo "/* $configure_input  */" \
+    printf "%s\n" "/* $configure_input  */" >&1 \
       && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
       || as_fn_error $? "could not create -" "$LINENO" 5
   fi
@@ -6227,7 +6535,7 @@
 	 X"$_am_arg" : 'X\(//\)[^/]' \| \
 	 X"$_am_arg" : 'X\(//\)$' \| \
 	 X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
+printf "%s\n" X"$_am_arg" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
 	    s//\1/
 	    q
@@ -6247,8 +6555,8 @@
 	  s/.*/./; q'`/stamp-h$_am_stamp_count
  ;;
 
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
+  :C)  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+printf "%s\n" "$as_me: executing $ac_file commands" >&6;}
  ;;
   esac
 
@@ -6274,7 +6582,7 @@
   for am_mf
   do
     # Strip MF so we end up with the name of the file.
-    am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'`
+    am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'`
     # Check whether this is an Automake generated Makefile which includes
     # dependency-tracking related rules and includes.
     # Grep'ing the whole file directly is not great: AIX grep has a line
@@ -6286,7 +6594,7 @@
 	 X"$am_mf" : 'X\(//\)[^/]' \| \
 	 X"$am_mf" : 'X\(//\)$' \| \
 	 X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$am_mf" |
+printf "%s\n" X"$am_mf" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
 	    s//\1/
 	    q
@@ -6308,7 +6616,7 @@
 $as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \
 	 X"$am_mf" : 'X\(//\)$' \| \
 	 X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$am_mf" |
+printf "%s\n" X/"$am_mf" |
     sed '/^.*\/\([^/][^/]*\)\/*$/{
 	    s//\1/
 	    q
@@ -6333,8 +6641,8 @@
    (exit $ac_status); } || am_rc=$?
   done
   if test $am_rc -ne 0; then
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "Something went wrong bootstrapping makefile fragments
     for automatic dependency tracking.  If GNU make was not used, consider
     re-running the configure script with MAKE=\"gmake\" (or whatever is
@@ -6384,7 +6692,8 @@
   $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
 fi
 
+
diff --git a/mingw-w64-tools/widl/include/winbase.h b/mingw-w64-tools/widl/include/winbase.h
index 0262e50..651da6d 100644
--- a/mingw-w64-tools/widl/include/winbase.h
+++ b/mingw-w64-tools/widl/include/winbase.h
@@ -2771,6 +2771,7 @@
 WINBASEAPI BOOL        WINAPI Wow64DisableWow64FsRedirection(PVOID*);
 WINBASEAPI BOOLEAN     WINAPI Wow64EnableWow64FsRedirection(BOOLEAN);
 WINBASEAPI BOOL        WINAPI Wow64GetThreadContext(HANDLE, WOW64_CONTEXT *);
+WINBASEAPI BOOL        WINAPI Wow64GetThreadSelectorEntry(HANDLE,DWORD,WOW64_LDT_ENTRY*);
 WINBASEAPI BOOL        WINAPI Wow64RevertWow64FsRedirection(PVOID);
 WINBASEAPI BOOL        WINAPI Wow64SetThreadContext(HANDLE, const WOW64_CONTEXT *);
 WINADVAPI  DWORD       WINAPI WriteEncryptedFileRaw(PFE_IMPORT_FUNC,PVOID,PVOID);
diff --git a/mingw-w64-tools/widl/include/winnls.h b/mingw-w64-tools/widl/include/winnls.h
index 07a31cf..4b1323c 100644
--- a/mingw-w64-tools/widl/include/winnls.h
+++ b/mingw-w64-tools/widl/include/winnls.h
@@ -946,6 +946,7 @@
 WINBASEAPI INT         WINAPI GetTimeFormatEx(LPCWSTR,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,INT);
 WINBASEAPI INT         WINAPI GetTimeFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,INT);
 #define                       GetTimeFormat WINELIB_NAME_AW(GetTimeFormat)
+WINBASEAPI INT         WINAPI GetUserDefaultGeoName(LPWSTR,int);
 WINBASEAPI LANGID      WINAPI GetUserDefaultLangID(void);
 WINBASEAPI LCID        WINAPI GetUserDefaultLCID(void);
 WINBASEAPI INT         WINAPI GetUserDefaultLocaleName(LPWSTR,int);
@@ -982,6 +983,7 @@
 WINBASEAPI BOOL        WINAPI SetThreadPreferredUILanguages(DWORD,PCZZWSTR,PULONG);
 WINBASEAPI LANGID      WINAPI SetThreadUILanguage(LANGID);
 WINBASEAPI BOOL        WINAPI SetUserGeoID(GEOID);
+WINBASEAPI BOOL        WINAPI SetUserGeoName(PWSTR);
 WINBASEAPI INT         WINAPI WideCharToMultiByte(UINT,DWORD,LPCWSTR,INT,LPSTR,INT,LPCSTR,LPBOOL);
 WINBASEAPI INT         WINAPI FindNLSStringEx(const WCHAR *,DWORD,const WCHAR *,INT,const WCHAR *,INT,INT *,NLSVERSIONINFO *,void *,LPARAM);
 
diff --git a/mingw-w64-tools/widl/include/winnt.h b/mingw-w64-tools/widl/include/winnt.h
index 7973960..9025e96 100644
--- a/mingw-w64-tools/widl/include/winnt.h
+++ b/mingw-w64-tools/widl/include/winnt.h
@@ -676,9 +676,6 @@
 #define	DLL_PROCESS_ATTACH	1	/* attach process (load library) */
 #define	DLL_THREAD_ATTACH	2	/* attach new thread */
 #define	DLL_THREAD_DETACH	3	/* detach thread */
-#ifdef __WINESRC__
-#define DLL_WINE_PREATTACH      8       /* called before process attach for Wine builtins */
-#endif
 
 /* u.x.wProcessorArchitecture (NT) */
 #define PROCESSOR_ARCHITECTURE_INTEL	0
diff --git a/mingw-w64-tools/widl/src/header.c b/mingw-w64-tools/widl/src/header.c
index 16c8b57..a5e5d6c 100644
--- a/mingw-w64-tools/widl/src/header.c
+++ b/mingw-w64-tools/widl/src/header.c
@@ -488,7 +488,7 @@
         fprintf(h, "%s", type_get_qualified_name(t, name_type));
         break;
       case TYPE_RUNTIMECLASS:
-        fprintf(h, "%s", type_get_name(type_runtimeclass_get_default_iface(t), name_type));
+        fprintf(h, "%s", type_get_name(type_runtimeclass_get_default_iface(t, TRUE), name_type));
         break;
       case TYPE_DELEGATE:
         fprintf(h, "%s", type_get_qualified_name(type_delegate_get_iface(t), name_type));
@@ -1534,7 +1534,7 @@
 static void write_parameterized_implementation(FILE *header, type_t *type, int declonly)
 {
     const statement_t *stmt;
-    typeref_list_t *params = params = type->details.parameterized.params;
+    typeref_list_t *params = type->details.parameterized.params;
     typeref_t *ref;
     type_t *iface = type->details.parameterized.type, *base;
     char *args = NULL;
diff --git a/mingw-w64-tools/widl/src/parser.tab.c b/mingw-w64-tools/widl/src/parser.tab.c
index 36f8dcf..d7ba108 100644
--- a/mingw-w64-tools/widl/src/parser.tab.c
+++ b/mingw-w64-tools/widl/src/parser.tab.c
@@ -1,8 +1,8 @@
-/* A Bison parser, made by GNU Bison 3.7.4.  */
+/* A Bison parser, made by GNU Bison 3.7.5.  */
 
 /* Bison implementation for Yacc-like parsers in C
 
-   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -46,10 +46,10 @@
    USER NAME SPACE" below.  */
 
 /* Identify Bison output, and Bison version.  */
-#define YYBISON 30704
+#define YYBISON 30705
 
 /* Bison version string.  */
-#define YYBISON_VERSION "3.7.4"
+#define YYBISON_VERSION "3.7.5"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
@@ -922,6 +922,18 @@
 typedef short yytype_int16;
 #endif
 
+/* Work around bug in HP-UX 11.23, which defines these macros
+   incorrectly for preprocessor constants.  This workaround can likely
+   be removed in 2023, as HPE has promised support for HP-UX 11.23
+   (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
+   <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>.  */
+#ifdef __hpux
+# undef UINT_LEAST8_MAX
+# undef UINT_LEAST16_MAX
+# define UINT_LEAST8_MAX 255
+# define UINT_LEAST16_MAX 65535
+#endif
+
 #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
 typedef __UINT_LEAST8_TYPE__ yytype_uint8;
 #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
@@ -1019,9 +1031,9 @@
 
 /* Suppress unused-variable warnings by "using" E.  */
 #if ! defined lint || defined __GNUC__
-# define YYUSE(E) ((void) (E))
+# define YY_USE(E) ((void) (E))
 #else
-# define YYUSE(E) /* empty */
+# define YY_USE(E) /* empty */
 #endif
 
 #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
@@ -1676,7 +1688,7 @@
   /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,     1,    47,   299,    48,   662,   354,     2,   393,   236,
+       0,     1,    47,   299,    48,   662,   354,     2,   393,   236,
      664,   522,   266,   355,    50,   560,    51,    52,    53,    54,
      356,   245,    55,   357,   539,   540,   541,   542,   633,    57,
      373,   232,   458,   478,   452,   422,   485,   233,   427,   634,
@@ -2700,7 +2712,7 @@
                        yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
 {
   FILE *yyoutput = yyo;
-  YYUSE (yyoutput);
+  YY_USE (yyoutput);
   if (!yyvaluep)
     return;
 # ifdef YYPRINT
@@ -2708,7 +2720,7 @@
     YYPRINT (yyo, yytoknum[yykind], *yyvaluep);
 # endif
   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-  YYUSE (yykind);
+  YY_USE (yykind);
   YY_IGNORE_MAYBE_UNINITIALIZED_END
 }
 
@@ -3089,13 +3101,13 @@
 yydestruct (const char *yymsg,
             yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
 {
-  YYUSE (yyvaluep);
+  YY_USE (yyvaluep);
   if (!yymsg)
     yymsg = "Deleting";
   YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
 
   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-  YYUSE (yykind);
+  YY_USE (yykind);
   YY_IGNORE_MAYBE_UNINITIALIZED_END
 }
 
@@ -3373,13 +3385,13 @@
 						  write_dlldata((yyvsp[-1].stmt_list));
 						  write_local_stubs((yyvsp[-1].stmt_list));
 						}
-#line 3377 "tools/widl/parser.tab.c"
+#line 3389 "tools/widl/parser.tab.c"
     break;
 
   case 5: /* decl_statements: %empty  */
 #line 366 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = NULL; }
-#line 3383 "tools/widl/parser.tab.c"
+#line 3395 "tools/widl/parser.tab.c"
     break;
 
   case 6: /* decl_statements: decl_statements tINTERFACE qualified_type '<' parameterized_type_args '>' ';'  */
@@ -3387,73 +3399,73 @@
                                                 { parameterized_type_stmts = append_statement(parameterized_type_stmts, make_statement_parameterized_type((yyvsp[-4].type), (yyvsp[-2].typeref_list)));
 						  (yyval.stmt_list) = append_statement((yyvsp[-6].stmt_list), make_statement_reference(type_parameterized_type_specialize_declare((yyvsp[-4].type), (yyvsp[-2].typeref_list))));
 						}
-#line 3391 "tools/widl/parser.tab.c"
+#line 3403 "tools/widl/parser.tab.c"
     break;
 
   case 7: /* decl_block: tDECLARE '{' decl_statements '}'  */
 #line 373 "tools/widl/parser.y"
                                              { (yyval.stmt_list) = (yyvsp[-1].stmt_list); }
-#line 3397 "tools/widl/parser.tab.c"
+#line 3409 "tools/widl/parser.tab.c"
     break;
 
   case 8: /* imp_decl_statements: %empty  */
 #line 375 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = NULL; }
-#line 3403 "tools/widl/parser.tab.c"
+#line 3415 "tools/widl/parser.tab.c"
     break;
 
   case 9: /* imp_decl_statements: imp_decl_statements tINTERFACE qualified_type '<' parameterized_type_args '>' ';'  */
 #line 377 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-6].stmt_list), make_statement_reference(type_parameterized_type_specialize_declare((yyvsp[-4].type), (yyvsp[-2].typeref_list)))); }
-#line 3409 "tools/widl/parser.tab.c"
+#line 3421 "tools/widl/parser.tab.c"
     break;
 
   case 10: /* imp_decl_block: tDECLARE '{' imp_decl_statements '}'  */
 #line 380 "tools/widl/parser.y"
                                                      { (yyval.stmt_list) = (yyvsp[-1].stmt_list); }
-#line 3415 "tools/widl/parser.tab.c"
+#line 3427 "tools/widl/parser.tab.c"
     break;
 
   case 11: /* gbl_statements: %empty  */
 #line 382 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = NULL; }
-#line 3421 "tools/widl/parser.tab.c"
+#line 3433 "tools/widl/parser.tab.c"
     break;
 
   case 12: /* $@1: %empty  */
 #line 383 "tools/widl/parser.y"
                                           { push_namespace((yyvsp[-1].str)); }
-#line 3427 "tools/widl/parser.tab.c"
+#line 3439 "tools/widl/parser.tab.c"
     break;
 
   case 13: /* gbl_statements: gbl_statements namespacedef '{' $@1 gbl_statements '}'  */
 #line 384 "tools/widl/parser.y"
                                                 { pop_namespace((yyvsp[-4].str)); (yyval.stmt_list) = append_statements((yyvsp[-5].stmt_list), (yyvsp[-1].stmt_list)); }
-#line 3433 "tools/widl/parser.tab.c"
+#line 3445 "tools/widl/parser.tab.c"
     break;
 
   case 14: /* gbl_statements: gbl_statements interface ';'  */
 #line 385 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-2].stmt_list), make_statement_reference((yyvsp[-1].type))); }
-#line 3439 "tools/widl/parser.tab.c"
+#line 3451 "tools/widl/parser.tab.c"
     break;
 
   case 15: /* gbl_statements: gbl_statements dispinterface ';'  */
 #line 386 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-2].stmt_list), make_statement_reference((yyvsp[-1].type))); }
-#line 3445 "tools/widl/parser.tab.c"
+#line 3457 "tools/widl/parser.tab.c"
     break;
 
   case 16: /* gbl_statements: gbl_statements interfacedef  */
 #line 387 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); }
-#line 3451 "tools/widl/parser.tab.c"
+#line 3463 "tools/widl/parser.tab.c"
     break;
 
   case 17: /* gbl_statements: gbl_statements delegatedef  */
 #line 388 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); }
-#line 3457 "tools/widl/parser.tab.c"
+#line 3469 "tools/widl/parser.tab.c"
     break;
 
   case 18: /* gbl_statements: gbl_statements coclass ';'  */
@@ -3461,7 +3473,7 @@
                                                 { (yyval.stmt_list) = (yyvsp[-2].stmt_list);
 						  reg_type((yyvsp[-1].type), (yyvsp[-1].type)->name, current_namespace, 0);
 						}
-#line 3465 "tools/widl/parser.tab.c"
+#line 3477 "tools/widl/parser.tab.c"
     break;
 
   case 19: /* gbl_statements: gbl_statements coclassdef  */
@@ -3469,105 +3481,105 @@
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type)));
 						  reg_type((yyvsp[0].type), (yyvsp[0].type)->name, current_namespace, 0);
 						}
-#line 3473 "tools/widl/parser.tab.c"
+#line 3485 "tools/widl/parser.tab.c"
     break;
 
   case 20: /* gbl_statements: gbl_statements apicontract ';'  */
 #line 395 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = (yyvsp[-2].stmt_list); reg_type((yyvsp[-1].type), (yyvsp[-1].type)->name, current_namespace, 0); }
-#line 3479 "tools/widl/parser.tab.c"
+#line 3491 "tools/widl/parser.tab.c"
     break;
 
   case 21: /* gbl_statements: gbl_statements apicontract_def  */
 #line 396 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type)));
 						  reg_type((yyvsp[0].type), (yyvsp[0].type)->name, current_namespace, 0); }
-#line 3486 "tools/widl/parser.tab.c"
+#line 3498 "tools/widl/parser.tab.c"
     break;
 
   case 22: /* gbl_statements: gbl_statements runtimeclass ';'  */
 #line 398 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = (yyvsp[-2].stmt_list); reg_type((yyvsp[-1].type), (yyvsp[-1].type)->name, current_namespace, 0); }
-#line 3492 "tools/widl/parser.tab.c"
+#line 3504 "tools/widl/parser.tab.c"
     break;
 
   case 23: /* gbl_statements: gbl_statements runtimeclass_def  */
 #line 399 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type)));
 	                                          reg_type((yyvsp[0].type), (yyvsp[0].type)->name, current_namespace, 0); }
-#line 3499 "tools/widl/parser.tab.c"
+#line 3511 "tools/widl/parser.tab.c"
     break;
 
   case 24: /* gbl_statements: gbl_statements moduledef  */
 #line 401 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_module((yyvsp[0].type))); }
-#line 3505 "tools/widl/parser.tab.c"
+#line 3517 "tools/widl/parser.tab.c"
     break;
 
   case 25: /* gbl_statements: gbl_statements librarydef  */
 #line 402 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_library((yyvsp[0].typelib))); }
-#line 3511 "tools/widl/parser.tab.c"
+#line 3523 "tools/widl/parser.tab.c"
     break;
 
   case 26: /* gbl_statements: gbl_statements statement  */
 #line 403 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); }
-#line 3517 "tools/widl/parser.tab.c"
+#line 3529 "tools/widl/parser.tab.c"
     break;
 
   case 27: /* gbl_statements: gbl_statements decl_block  */
 #line 404 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statements((yyvsp[-1].stmt_list), (yyvsp[0].stmt_list)); }
-#line 3523 "tools/widl/parser.tab.c"
+#line 3535 "tools/widl/parser.tab.c"
     break;
 
   case 28: /* imp_statements: %empty  */
 #line 407 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = NULL; }
-#line 3529 "tools/widl/parser.tab.c"
+#line 3541 "tools/widl/parser.tab.c"
     break;
 
   case 29: /* imp_statements: imp_statements interface ';'  */
 #line 408 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-2].stmt_list), make_statement_reference((yyvsp[-1].type))); }
-#line 3535 "tools/widl/parser.tab.c"
+#line 3547 "tools/widl/parser.tab.c"
     break;
 
   case 30: /* imp_statements: imp_statements dispinterface ';'  */
 #line 409 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-2].stmt_list), make_statement_reference((yyvsp[-1].type))); }
-#line 3541 "tools/widl/parser.tab.c"
+#line 3553 "tools/widl/parser.tab.c"
     break;
 
   case 31: /* $@2: %empty  */
 #line 410 "tools/widl/parser.y"
                                           { push_namespace((yyvsp[-1].str)); }
-#line 3547 "tools/widl/parser.tab.c"
+#line 3559 "tools/widl/parser.tab.c"
     break;
 
   case 32: /* imp_statements: imp_statements namespacedef '{' $@2 imp_statements '}'  */
 #line 411 "tools/widl/parser.y"
                                                 { pop_namespace((yyvsp[-4].str)); (yyval.stmt_list) = append_statements((yyvsp[-5].stmt_list), (yyvsp[-1].stmt_list)); }
-#line 3553 "tools/widl/parser.tab.c"
+#line 3565 "tools/widl/parser.tab.c"
     break;
 
   case 33: /* imp_statements: imp_statements interfacedef  */
 #line 412 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); }
-#line 3559 "tools/widl/parser.tab.c"
+#line 3571 "tools/widl/parser.tab.c"
     break;
 
   case 34: /* imp_statements: imp_statements delegatedef  */
 #line 413 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); }
-#line 3565 "tools/widl/parser.tab.c"
+#line 3577 "tools/widl/parser.tab.c"
     break;
 
   case 35: /* imp_statements: imp_statements coclass ';'  */
 #line 414 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = (yyvsp[-2].stmt_list); reg_type((yyvsp[-1].type), (yyvsp[-1].type)->name, current_namespace, 0); }
-#line 3571 "tools/widl/parser.tab.c"
+#line 3583 "tools/widl/parser.tab.c"
     break;
 
   case 36: /* imp_statements: imp_statements coclassdef  */
@@ -3575,117 +3587,117 @@
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type)));
 						  reg_type((yyvsp[0].type), (yyvsp[0].type)->name, current_namespace, 0);
 						}
-#line 3579 "tools/widl/parser.tab.c"
+#line 3591 "tools/widl/parser.tab.c"
     break;
 
   case 37: /* imp_statements: imp_statements apicontract ';'  */
 #line 418 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = (yyvsp[-2].stmt_list); reg_type((yyvsp[-1].type), (yyvsp[-1].type)->name, current_namespace, 0); }
-#line 3585 "tools/widl/parser.tab.c"
+#line 3597 "tools/widl/parser.tab.c"
     break;
 
   case 38: /* imp_statements: imp_statements apicontract_def  */
 #line 419 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type)));
 						  reg_type((yyvsp[0].type), (yyvsp[0].type)->name, current_namespace, 0); }
-#line 3592 "tools/widl/parser.tab.c"
+#line 3604 "tools/widl/parser.tab.c"
     break;
 
   case 39: /* imp_statements: imp_statements runtimeclass ';'  */
 #line 421 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = (yyvsp[-2].stmt_list); reg_type((yyvsp[-1].type), (yyvsp[-1].type)->name, current_namespace, 0); }
-#line 3598 "tools/widl/parser.tab.c"
+#line 3610 "tools/widl/parser.tab.c"
     break;
 
   case 40: /* imp_statements: imp_statements runtimeclass_def  */
 #line 422 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type)));
 	                                          reg_type((yyvsp[0].type), (yyvsp[0].type)->name, current_namespace, 0); }
-#line 3605 "tools/widl/parser.tab.c"
+#line 3617 "tools/widl/parser.tab.c"
     break;
 
   case 41: /* imp_statements: imp_statements moduledef  */
 #line 424 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_module((yyvsp[0].type))); }
-#line 3611 "tools/widl/parser.tab.c"
+#line 3623 "tools/widl/parser.tab.c"
     break;
 
   case 42: /* imp_statements: imp_statements statement  */
 #line 425 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); }
-#line 3617 "tools/widl/parser.tab.c"
+#line 3629 "tools/widl/parser.tab.c"
     break;
 
   case 43: /* imp_statements: imp_statements importlib  */
 #line 426 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_importlib((yyvsp[0].str))); }
-#line 3623 "tools/widl/parser.tab.c"
+#line 3635 "tools/widl/parser.tab.c"
     break;
 
   case 44: /* imp_statements: imp_statements librarydef  */
 #line 427 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_library((yyvsp[0].typelib))); }
-#line 3629 "tools/widl/parser.tab.c"
+#line 3641 "tools/widl/parser.tab.c"
     break;
 
   case 45: /* imp_statements: imp_statements imp_decl_block  */
 #line 428 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statements((yyvsp[-1].stmt_list), (yyvsp[0].stmt_list)); }
-#line 3635 "tools/widl/parser.tab.c"
+#line 3647 "tools/widl/parser.tab.c"
     break;
 
   case 46: /* int_statements: %empty  */
 #line 431 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = NULL; }
-#line 3641 "tools/widl/parser.tab.c"
+#line 3653 "tools/widl/parser.tab.c"
     break;
 
   case 47: /* int_statements: int_statements statement  */
 #line 432 "tools/widl/parser.y"
                                                 { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); }
-#line 3647 "tools/widl/parser.tab.c"
+#line 3659 "tools/widl/parser.tab.c"
     break;
 
   case 50: /* statement: cppquote  */
 #line 440 "tools/widl/parser.y"
                                                 { (yyval.statement) = make_statement_cppquote((yyvsp[0].str)); }
-#line 3653 "tools/widl/parser.tab.c"
+#line 3665 "tools/widl/parser.tab.c"
     break;
 
   case 51: /* statement: typedecl ';'  */
 #line 441 "tools/widl/parser.y"
                                                 { (yyval.statement) = make_statement_type_decl((yyvsp[-1].type)); }
-#line 3659 "tools/widl/parser.tab.c"
+#line 3671 "tools/widl/parser.tab.c"
     break;
 
   case 52: /* statement: declaration ';'  */
 #line 442 "tools/widl/parser.y"
                                                 { (yyval.statement) = make_statement_declaration((yyvsp[-1].var)); }
-#line 3665 "tools/widl/parser.tab.c"
+#line 3677 "tools/widl/parser.tab.c"
     break;
 
   case 53: /* statement: import  */
 #line 443 "tools/widl/parser.y"
                                                 { (yyval.statement) = make_statement_import((yyvsp[0].str)); }
-#line 3671 "tools/widl/parser.tab.c"
+#line 3683 "tools/widl/parser.tab.c"
     break;
 
   case 54: /* statement: typedef ';'  */
 #line 444 "tools/widl/parser.y"
                                                 { (yyval.statement) = (yyvsp[-1].statement); }
-#line 3677 "tools/widl/parser.tab.c"
+#line 3689 "tools/widl/parser.tab.c"
     break;
 
   case 55: /* statement: aPRAGMA  */
 #line 445 "tools/widl/parser.y"
                                                 { (yyval.statement) = make_statement_pragma((yyvsp[0].str)); }
-#line 3683 "tools/widl/parser.tab.c"
+#line 3695 "tools/widl/parser.tab.c"
     break;
 
   case 56: /* statement: pragma_warning  */
 #line 446 "tools/widl/parser.y"
                          { (yyval.statement) = NULL; }
-#line 3689 "tools/widl/parser.tab.c"
+#line 3701 "tools/widl/parser.tab.c"
     break;
 
   case 57: /* pragma_warning: tPRAGMA_WARNING '(' aIDENTIFIER ':' warnings ')'  */
@@ -3697,7 +3709,7 @@
                       if(!result)
                           error_loc("expected \"disable\", \"enable\" or \"default\"\n");
                   }
-#line 3701 "tools/widl/parser.tab.c"
+#line 3713 "tools/widl/parser.tab.c"
     break;
 
   case 58: /* pragma_warning: tPRAGMA_WARNING '(' tDEFAULT ':' warnings ')'  */
@@ -3706,61 +3718,61 @@
                       (yyval.statement) = NULL;
                       do_warning("default", (yyvsp[-1].warning_list));
                   }
-#line 3710 "tools/widl/parser.tab.c"
+#line 3722 "tools/widl/parser.tab.c"
     break;
 
   case 59: /* warnings: aNUM  */
 #line 465 "tools/widl/parser.y"
                { (yyval.warning_list) = append_warning(NULL, (yyvsp[0].num)); }
-#line 3716 "tools/widl/parser.tab.c"
+#line 3728 "tools/widl/parser.tab.c"
     break;
 
   case 60: /* warnings: warnings aNUM  */
 #line 466 "tools/widl/parser.y"
                         { (yyval.warning_list) = append_warning((yyvsp[-1].warning_list), (yyvsp[0].num)); }
-#line 3722 "tools/widl/parser.tab.c"
+#line 3734 "tools/widl/parser.tab.c"
     break;
 
   case 62: /* typedecl: tENUM aIDENTIFIER  */
 #line 471 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_enum((yyvsp[0].str), current_namespace, FALSE, NULL); }
-#line 3728 "tools/widl/parser.tab.c"
+#line 3740 "tools/widl/parser.tab.c"
     break;
 
   case 64: /* typedecl: tSTRUCT aIDENTIFIER  */
 #line 473 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_struct((yyvsp[0].str), current_namespace, FALSE, NULL); }
-#line 3734 "tools/widl/parser.tab.c"
+#line 3746 "tools/widl/parser.tab.c"
     break;
 
   case 66: /* typedecl: tUNION aIDENTIFIER  */
 #line 475 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_nonencapsulated_union((yyvsp[0].str), FALSE, NULL); }
-#line 3740 "tools/widl/parser.tab.c"
+#line 3752 "tools/widl/parser.tab.c"
     break;
 
   case 67: /* typedecl: attributes enumdef  */
 #line 476 "tools/widl/parser.y"
                                                 { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_enum_attrs((yyvsp[-1].attr_list)); }
-#line 3746 "tools/widl/parser.tab.c"
+#line 3758 "tools/widl/parser.tab.c"
     break;
 
   case 68: /* typedecl: attributes structdef  */
 #line 477 "tools/widl/parser.y"
                                                 { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_struct_attrs((yyvsp[-1].attr_list)); }
-#line 3752 "tools/widl/parser.tab.c"
+#line 3764 "tools/widl/parser.tab.c"
     break;
 
   case 69: /* typedecl: attributes uniondef  */
 #line 478 "tools/widl/parser.y"
                                                 { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_union_attrs((yyvsp[-1].attr_list)); }
-#line 3758 "tools/widl/parser.tab.c"
+#line 3770 "tools/widl/parser.tab.c"
     break;
 
   case 70: /* cppquote: tCPPQUOTE '(' aSTRING ')'  */
 #line 481 "tools/widl/parser.y"
                                                 { (yyval.str) = (yyvsp[-1].str); }
-#line 3764 "tools/widl/parser.tab.c"
+#line 3776 "tools/widl/parser.tab.c"
     break;
 
   case 71: /* import_start: tIMPORT aSTRING ';'  */
@@ -3771,7 +3783,7 @@
 						  (yyval.import)->import_performed = do_import((yyvsp[-1].str));
 						  if (!(yyval.import)->import_performed) yychar = aEOF;
 						}
-#line 3775 "tools/widl/parser.tab.c"
+#line 3787 "tools/widl/parser.tab.c"
     break;
 
   case 72: /* import: import_start imp_statements aEOF  */
@@ -3780,19 +3792,19 @@
 						  if ((yyvsp[-2].import)->import_performed) pop_import();
 						  free((yyvsp[-2].import));
 						}
-#line 3784 "tools/widl/parser.tab.c"
+#line 3796 "tools/widl/parser.tab.c"
     break;
 
   case 73: /* importlib: tIMPORTLIB '(' aSTRING ')' semicolon_opt  */
 #line 498 "tools/widl/parser.y"
                                                 { (yyval.str) = (yyvsp[-2].str); if(!parse_only) add_importlib((yyvsp[-2].str), current_typelib); }
-#line 3790 "tools/widl/parser.tab.c"
+#line 3802 "tools/widl/parser.tab.c"
     break;
 
   case 74: /* libraryhdr: tLIBRARY typename  */
 #line 501 "tools/widl/parser.y"
                                                 { (yyval.str) = (yyvsp[0].str); }
-#line 3796 "tools/widl/parser.tab.c"
+#line 3808 "tools/widl/parser.tab.c"
     break;
 
   case 75: /* library_start: attributes libraryhdr '{'  */
@@ -3800,37 +3812,37 @@
                                                 { (yyval.typelib) = make_library((yyvsp[-1].str), check_library_attrs((yyvsp[-1].str), (yyvsp[-2].attr_list)));
 						  if (!parse_only && do_typelib) current_typelib = (yyval.typelib);
 						}
-#line 3804 "tools/widl/parser.tab.c"
+#line 3816 "tools/widl/parser.tab.c"
     break;
 
   case 76: /* librarydef: library_start imp_statements '}' semicolon_opt  */
 #line 508 "tools/widl/parser.y"
                                                 { (yyval.typelib) = (yyvsp[-3].typelib); (yyval.typelib)->stmts = (yyvsp[-2].stmt_list); }
-#line 3810 "tools/widl/parser.tab.c"
+#line 3822 "tools/widl/parser.tab.c"
     break;
 
   case 77: /* m_args: %empty  */
 #line 511 "tools/widl/parser.y"
                                                 { (yyval.var_list) = NULL; }
-#line 3816 "tools/widl/parser.tab.c"
+#line 3828 "tools/widl/parser.tab.c"
     break;
 
   case 79: /* arg_list: arg  */
 #line 515 "tools/widl/parser.y"
                                                 { check_arg_attrs((yyvsp[0].var)); (yyval.var_list) = append_var( NULL, (yyvsp[0].var) ); }
-#line 3822 "tools/widl/parser.tab.c"
+#line 3834 "tools/widl/parser.tab.c"
     break;
 
   case 80: /* arg_list: arg_list ',' arg  */
 #line 516 "tools/widl/parser.y"
                                                 { check_arg_attrs((yyvsp[0].var)); (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[0].var) ); }
-#line 3828 "tools/widl/parser.tab.c"
+#line 3840 "tools/widl/parser.tab.c"
     break;
 
   case 82: /* args: arg_list ',' ELLIPSIS  */
 #line 520 "tools/widl/parser.y"
                                                 { (yyval.var_list) = append_var( (yyvsp[-2].var_list), make_var(strdup("...")) ); }
-#line 3834 "tools/widl/parser.tab.c"
+#line 3846 "tools/widl/parser.tab.c"
     break;
 
   case 83: /* arg: attributes decl_spec m_any_declarator  */
@@ -3840,7 +3852,7 @@
 						  (yyval.var) = declare_var((yyvsp[-2].attr_list), (yyvsp[-1].declspec), (yyvsp[0].declarator), TRUE);
 						  free((yyvsp[-1].declspec)); free((yyvsp[0].declarator));
 						}
-#line 3844 "tools/widl/parser.tab.c"
+#line 3856 "tools/widl/parser.tab.c"
     break;
 
   case 84: /* arg: decl_spec m_any_declarator  */
@@ -3850,7 +3862,7 @@
 						  (yyval.var) = declare_var(NULL, (yyvsp[-1].declspec), (yyvsp[0].declarator), TRUE);
 						  free((yyvsp[-1].declspec)); free((yyvsp[0].declarator));
 						}
-#line 3854 "tools/widl/parser.tab.c"
+#line 3866 "tools/widl/parser.tab.c"
     break;
 
   case 85: /* array: '[' expr ']'  */
@@ -3859,91 +3871,91 @@
 						  if (!(yyval.expr)->is_const || (yyval.expr)->cval <= 0)
 						      error_loc("array dimension is not a positive integer constant\n");
 						}
-#line 3863 "tools/widl/parser.tab.c"
+#line 3875 "tools/widl/parser.tab.c"
     break;
 
   case 86: /* array: '[' '*' ']'  */
 #line 540 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr(EXPR_VOID); }
-#line 3869 "tools/widl/parser.tab.c"
+#line 3881 "tools/widl/parser.tab.c"
     break;
 
   case 87: /* array: '[' ']'  */
 #line 541 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr(EXPR_VOID); }
-#line 3875 "tools/widl/parser.tab.c"
+#line 3887 "tools/widl/parser.tab.c"
     break;
 
   case 88: /* m_attributes: %empty  */
 #line 544 "tools/widl/parser.y"
                                                 { (yyval.attr_list) = NULL; }
-#line 3881 "tools/widl/parser.tab.c"
+#line 3893 "tools/widl/parser.tab.c"
     break;
 
   case 90: /* attributes: '[' attrib_list ']'  */
 #line 549 "tools/widl/parser.y"
                                                 { (yyval.attr_list) = (yyvsp[-1].attr_list); }
-#line 3887 "tools/widl/parser.tab.c"
+#line 3899 "tools/widl/parser.tab.c"
     break;
 
   case 91: /* attrib_list: attribute  */
 #line 552 "tools/widl/parser.y"
                                                 { (yyval.attr_list) = append_attr( NULL, (yyvsp[0].attr) ); }
-#line 3893 "tools/widl/parser.tab.c"
+#line 3905 "tools/widl/parser.tab.c"
     break;
 
   case 92: /* attrib_list: attrib_list ',' attribute  */
 #line 553 "tools/widl/parser.y"
                                                 { (yyval.attr_list) = append_attr( (yyvsp[-2].attr_list), (yyvsp[0].attr) ); }
-#line 3899 "tools/widl/parser.tab.c"
+#line 3911 "tools/widl/parser.tab.c"
     break;
 
   case 93: /* attrib_list: attrib_list ']' '[' attribute  */
 #line 554 "tools/widl/parser.y"
                                                 { (yyval.attr_list) = append_attr( (yyvsp[-3].attr_list), (yyvsp[0].attr) ); }
-#line 3905 "tools/widl/parser.tab.c"
+#line 3917 "tools/widl/parser.tab.c"
     break;
 
   case 94: /* str_list: aSTRING  */
 #line 557 "tools/widl/parser.y"
                                                 { (yyval.str_list) = append_str( NULL, (yyvsp[0].str) ); }
-#line 3911 "tools/widl/parser.tab.c"
+#line 3923 "tools/widl/parser.tab.c"
     break;
 
   case 95: /* str_list: str_list ',' aSTRING  */
 #line 558 "tools/widl/parser.y"
                                                 { (yyval.str_list) = append_str( (yyvsp[-2].str_list), (yyvsp[0].str) ); }
-#line 3917 "tools/widl/parser.tab.c"
+#line 3929 "tools/widl/parser.tab.c"
     break;
 
   case 96: /* marshaling_behavior: tAGILE  */
 #line 562 "tools/widl/parser.y"
                                                 { (yyval.num) = MARSHALING_AGILE; }
-#line 3923 "tools/widl/parser.tab.c"
+#line 3935 "tools/widl/parser.tab.c"
     break;
 
   case 97: /* marshaling_behavior: tNONE  */
 #line 563 "tools/widl/parser.y"
                                                 { (yyval.num) = MARSHALING_NONE; }
-#line 3929 "tools/widl/parser.tab.c"
+#line 3941 "tools/widl/parser.tab.c"
     break;
 
   case 98: /* marshaling_behavior: tSTANDARD  */
 #line 564 "tools/widl/parser.y"
                                                 { (yyval.num) = MARSHALING_STANDARD; }
-#line 3935 "tools/widl/parser.tab.c"
+#line 3947 "tools/widl/parser.tab.c"
     break;
 
   case 99: /* contract_ver: aNUM  */
 #line 568 "tools/widl/parser.y"
                                                 { (yyval.num) = MAKEVERSION(0, (yyvsp[0].num)); }
-#line 3941 "tools/widl/parser.tab.c"
+#line 3953 "tools/widl/parser.tab.c"
     break;
 
   case 100: /* contract_ver: aNUM '.' aNUM  */
 #line 569 "tools/widl/parser.y"
                                                 { (yyval.num) = MAKEVERSION((yyvsp[0].num), (yyvsp[-2].num)); }
-#line 3947 "tools/widl/parser.tab.c"
+#line 3959 "tools/widl/parser.tab.c"
     break;
 
   case 101: /* contract_req: decl_spec ',' contract_ver  */
@@ -3953,7 +3965,7 @@
 						  (yyval.expr) = make_exprl(EXPR_NUM, (yyvsp[0].num));
 						  (yyval.expr) = make_exprt(EXPR_GTREQL, declare_var(NULL, (yyvsp[-2].declspec), make_declarator(NULL), 0), (yyval.expr));
 						}
-#line 3957 "tools/widl/parser.tab.c"
+#line 3969 "tools/widl/parser.tab.c"
     break;
 
   case 102: /* static_attr: decl_spec ',' contract_req  */
@@ -3962,223 +3974,223 @@
 						      error_loc("type %s is not an interface\n", (yyvsp[-2].declspec)->type->name);
 						  (yyval.expr) = make_exprt(EXPR_MEMBER, declare_var(NULL, (yyvsp[-2].declspec), make_declarator(NULL), 0), (yyvsp[0].expr));
 						}
-#line 3966 "tools/widl/parser.tab.c"
+#line 3978 "tools/widl/parser.tab.c"
     break;
 
   case 103: /* attribute: %empty  */
 #line 583 "tools/widl/parser.y"
                                                 { (yyval.attr) = NULL; }
-#line 3972 "tools/widl/parser.tab.c"
+#line 3984 "tools/widl/parser.tab.c"
     break;
 
   case 104: /* attribute: tACTIVATABLE '(' contract_req ')'  */
 #line 584 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_ACTIVATABLE, (yyvsp[-1].expr)); }
-#line 3978 "tools/widl/parser.tab.c"
+#line 3990 "tools/widl/parser.tab.c"
     break;
 
   case 105: /* attribute: tAGGREGATABLE  */
 #line 585 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_AGGREGATABLE); }
-#line 3984 "tools/widl/parser.tab.c"
+#line 3996 "tools/widl/parser.tab.c"
     break;
 
   case 106: /* attribute: tANNOTATION '(' aSTRING ')'  */
 #line 586 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_ANNOTATION, (yyvsp[-1].str)); }
-#line 3990 "tools/widl/parser.tab.c"
+#line 4002 "tools/widl/parser.tab.c"
     break;
 
   case 107: /* attribute: tAPPOBJECT  */
 #line 587 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_APPOBJECT); }
-#line 3996 "tools/widl/parser.tab.c"
+#line 4008 "tools/widl/parser.tab.c"
     break;
 
   case 108: /* attribute: tASYNC  */
 #line 588 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_ASYNC); }
-#line 4002 "tools/widl/parser.tab.c"
+#line 4014 "tools/widl/parser.tab.c"
     break;
 
   case 109: /* attribute: tAUTOHANDLE  */
 #line 589 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_AUTO_HANDLE); }
-#line 4008 "tools/widl/parser.tab.c"
+#line 4020 "tools/widl/parser.tab.c"
     break;
 
   case 110: /* attribute: tBINDABLE  */
 #line 590 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_BINDABLE); }
-#line 4014 "tools/widl/parser.tab.c"
+#line 4026 "tools/widl/parser.tab.c"
     break;
 
   case 111: /* attribute: tBROADCAST  */
 #line 591 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_BROADCAST); }
-#line 4020 "tools/widl/parser.tab.c"
+#line 4032 "tools/widl/parser.tab.c"
     break;
 
   case 112: /* attribute: tCALLAS '(' ident ')'  */
 #line 592 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_CALLAS, (yyvsp[-1].var)); }
-#line 4026 "tools/widl/parser.tab.c"
+#line 4038 "tools/widl/parser.tab.c"
     break;
 
   case 113: /* attribute: tCASE '(' expr_list_int_const ')'  */
 #line 593 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_CASE, (yyvsp[-1].expr_list)); }
-#line 4032 "tools/widl/parser.tab.c"
+#line 4044 "tools/widl/parser.tab.c"
     break;
 
   case 114: /* attribute: tCODE  */
 #line 594 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_CODE); }
-#line 4038 "tools/widl/parser.tab.c"
+#line 4050 "tools/widl/parser.tab.c"
     break;
 
   case 115: /* attribute: tCOMMSTATUS  */
 #line 595 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_COMMSTATUS); }
-#line 4044 "tools/widl/parser.tab.c"
+#line 4056 "tools/widl/parser.tab.c"
     break;
 
   case 116: /* attribute: tCONTEXTHANDLE  */
 #line 596 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); }
-#line 4050 "tools/widl/parser.tab.c"
+#line 4062 "tools/widl/parser.tab.c"
     break;
 
   case 117: /* attribute: tCONTEXTHANDLENOSERIALIZE  */
 #line 597 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_DONT_SERIALIZE */ }
-#line 4056 "tools/widl/parser.tab.c"
+#line 4068 "tools/widl/parser.tab.c"
     break;
 
   case 118: /* attribute: tCONTEXTHANDLESERIALIZE  */
 #line 598 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_SERIALIZE */ }
-#line 4062 "tools/widl/parser.tab.c"
+#line 4074 "tools/widl/parser.tab.c"
     break;
 
   case 119: /* attribute: tCONTRACT '(' contract_req ')'  */
 #line 599 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_CONTRACT, (yyvsp[-1].expr)); }
-#line 4068 "tools/widl/parser.tab.c"
+#line 4080 "tools/widl/parser.tab.c"
     break;
 
   case 120: /* attribute: tCONTRACTVERSION '(' contract_ver ')'  */
 #line 600 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrv(ATTR_CONTRACTVERSION, (yyvsp[-1].num)); }
-#line 4074 "tools/widl/parser.tab.c"
+#line 4086 "tools/widl/parser.tab.c"
     break;
 
   case 121: /* attribute: tCONTROL  */
 #line 601 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_CONTROL); }
-#line 4080 "tools/widl/parser.tab.c"
+#line 4092 "tools/widl/parser.tab.c"
     break;
 
   case 122: /* attribute: tCUSTOM '(' uuid_string ',' expr_const ')'  */
 #line 602 "tools/widl/parser.y"
                                                      { (yyval.attr) = make_custom_attr((yyvsp[-3].uuid), (yyvsp[-1].expr)); }
-#line 4086 "tools/widl/parser.tab.c"
+#line 4098 "tools/widl/parser.tab.c"
     break;
 
   case 123: /* attribute: tDECODE  */
 #line 603 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_DECODE); }
-#line 4092 "tools/widl/parser.tab.c"
+#line 4104 "tools/widl/parser.tab.c"
     break;
 
   case 124: /* attribute: tDEFAULT  */
 #line 604 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_DEFAULT); }
-#line 4098 "tools/widl/parser.tab.c"
+#line 4110 "tools/widl/parser.tab.c"
     break;
 
   case 125: /* attribute: tDEFAULTBIND  */
 #line 605 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_DEFAULTBIND); }
-#line 4104 "tools/widl/parser.tab.c"
+#line 4116 "tools/widl/parser.tab.c"
     break;
 
   case 126: /* attribute: tDEFAULTCOLLELEM  */
 #line 606 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_DEFAULTCOLLELEM); }
-#line 4110 "tools/widl/parser.tab.c"
+#line 4122 "tools/widl/parser.tab.c"
     break;
 
   case 127: /* attribute: tDEFAULTVALUE '(' expr_const ')'  */
 #line 607 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_DEFAULTVALUE, (yyvsp[-1].expr)); }
-#line 4116 "tools/widl/parser.tab.c"
+#line 4128 "tools/widl/parser.tab.c"
     break;
 
   case 128: /* attribute: tDEFAULTVTABLE  */
 #line 608 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_DEFAULTVTABLE); }
-#line 4122 "tools/widl/parser.tab.c"
+#line 4134 "tools/widl/parser.tab.c"
     break;
 
   case 129: /* attribute: tDISABLECONSISTENCYCHECK  */
 #line 609 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_DISABLECONSISTENCYCHECK); }
-#line 4128 "tools/widl/parser.tab.c"
+#line 4140 "tools/widl/parser.tab.c"
     break;
 
   case 130: /* attribute: tDISPLAYBIND  */
 #line 610 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_DISPLAYBIND); }
-#line 4134 "tools/widl/parser.tab.c"
+#line 4146 "tools/widl/parser.tab.c"
     break;
 
   case 131: /* attribute: tDLLNAME '(' aSTRING ')'  */
 #line 611 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_DLLNAME, (yyvsp[-1].str)); }
-#line 4140 "tools/widl/parser.tab.c"
+#line 4152 "tools/widl/parser.tab.c"
     break;
 
   case 132: /* attribute: tDUAL  */
 #line 612 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_DUAL); }
-#line 4146 "tools/widl/parser.tab.c"
+#line 4158 "tools/widl/parser.tab.c"
     break;
 
   case 133: /* attribute: tENABLEALLOCATE  */
 #line 613 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_ENABLEALLOCATE); }
-#line 4152 "tools/widl/parser.tab.c"
+#line 4164 "tools/widl/parser.tab.c"
     break;
 
   case 134: /* attribute: tENCODE  */
 #line 614 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_ENCODE); }
-#line 4158 "tools/widl/parser.tab.c"
+#line 4170 "tools/widl/parser.tab.c"
     break;
 
   case 135: /* attribute: tENDPOINT '(' str_list ')'  */
 #line 615 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_ENDPOINT, (yyvsp[-1].str_list)); }
-#line 4164 "tools/widl/parser.tab.c"
+#line 4176 "tools/widl/parser.tab.c"
     break;
 
   case 136: /* attribute: tENTRY '(' expr_const ')'  */
 #line 616 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_ENTRY, (yyvsp[-1].expr)); }
-#line 4170 "tools/widl/parser.tab.c"
+#line 4182 "tools/widl/parser.tab.c"
     break;
 
   case 137: /* attribute: tEVENTADD  */
 #line 617 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_EVENTADD); }
-#line 4176 "tools/widl/parser.tab.c"
+#line 4188 "tools/widl/parser.tab.c"
     break;
 
   case 138: /* attribute: tEVENTREMOVE  */
 #line 618 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_EVENTREMOVE); }
-#line 4182 "tools/widl/parser.tab.c"
+#line 4194 "tools/widl/parser.tab.c"
     break;
 
   case 139: /* attribute: tEXCLUSIVETO '(' decl_spec ')'  */
@@ -4186,289 +4198,289 @@
                                                 { if ((yyvsp[-1].declspec)->type->type_type != TYPE_RUNTIMECLASS)
 						      error_loc("type %s is not a runtimeclass\n", (yyvsp[-1].declspec)->type->name);
 						  (yyval.attr) = make_attrp(ATTR_EXCLUSIVETO, (yyvsp[-1].declspec)->type); }
-#line 4190 "tools/widl/parser.tab.c"
+#line 4202 "tools/widl/parser.tab.c"
     break;
 
   case 140: /* attribute: tEXPLICITHANDLE  */
 #line 622 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_EXPLICIT_HANDLE); }
-#line 4196 "tools/widl/parser.tab.c"
+#line 4208 "tools/widl/parser.tab.c"
     break;
 
   case 141: /* attribute: tFAULTSTATUS  */
 #line 623 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_FAULTSTATUS); }
-#line 4202 "tools/widl/parser.tab.c"
+#line 4214 "tools/widl/parser.tab.c"
     break;
 
   case 142: /* attribute: tFLAGS  */
 #line 624 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_FLAGS); }
-#line 4208 "tools/widl/parser.tab.c"
+#line 4220 "tools/widl/parser.tab.c"
     break;
 
   case 143: /* attribute: tFORCEALLOCATE  */
 #line 625 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_FORCEALLOCATE); }
-#line 4214 "tools/widl/parser.tab.c"
+#line 4226 "tools/widl/parser.tab.c"
     break;
 
   case 144: /* attribute: tHANDLE  */
 #line 626 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_HANDLE); }
-#line 4220 "tools/widl/parser.tab.c"
+#line 4232 "tools/widl/parser.tab.c"
     break;
 
   case 145: /* attribute: tHELPCONTEXT '(' expr_int_const ')'  */
 #line 627 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_HELPCONTEXT, (yyvsp[-1].expr)); }
-#line 4226 "tools/widl/parser.tab.c"
+#line 4238 "tools/widl/parser.tab.c"
     break;
 
   case 146: /* attribute: tHELPFILE '(' aSTRING ')'  */
 #line 628 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_HELPFILE, (yyvsp[-1].str)); }
-#line 4232 "tools/widl/parser.tab.c"
+#line 4244 "tools/widl/parser.tab.c"
     break;
 
   case 147: /* attribute: tHELPSTRING '(' aSTRING ')'  */
 #line 629 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_HELPSTRING, (yyvsp[-1].str)); }
-#line 4238 "tools/widl/parser.tab.c"
+#line 4250 "tools/widl/parser.tab.c"
     break;
 
   case 148: /* attribute: tHELPSTRINGCONTEXT '(' expr_int_const ')'  */
 #line 630 "tools/widl/parser.y"
                                                         { (yyval.attr) = make_attrp(ATTR_HELPSTRINGCONTEXT, (yyvsp[-1].expr)); }
-#line 4244 "tools/widl/parser.tab.c"
+#line 4256 "tools/widl/parser.tab.c"
     break;
 
   case 149: /* attribute: tHELPSTRINGDLL '(' aSTRING ')'  */
 #line 631 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_HELPSTRINGDLL, (yyvsp[-1].str)); }
-#line 4250 "tools/widl/parser.tab.c"
+#line 4262 "tools/widl/parser.tab.c"
     break;
 
   case 150: /* attribute: tHIDDEN  */
 #line 632 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_HIDDEN); }
-#line 4256 "tools/widl/parser.tab.c"
+#line 4268 "tools/widl/parser.tab.c"
     break;
 
   case 151: /* attribute: tID '(' expr_int_const ')'  */
 #line 633 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_ID, (yyvsp[-1].expr)); }
-#line 4262 "tools/widl/parser.tab.c"
+#line 4274 "tools/widl/parser.tab.c"
     break;
 
   case 152: /* attribute: tIDEMPOTENT  */
 #line 634 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_IDEMPOTENT); }
-#line 4268 "tools/widl/parser.tab.c"
+#line 4280 "tools/widl/parser.tab.c"
     break;
 
   case 153: /* attribute: tIGNORE  */
 #line 635 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_IGNORE); }
-#line 4274 "tools/widl/parser.tab.c"
+#line 4286 "tools/widl/parser.tab.c"
     break;
 
   case 154: /* attribute: tIIDIS '(' expr ')'  */
 #line 636 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_IIDIS, (yyvsp[-1].expr)); }
-#line 4280 "tools/widl/parser.tab.c"
+#line 4292 "tools/widl/parser.tab.c"
     break;
 
   case 155: /* attribute: tIMMEDIATEBIND  */
 #line 637 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_IMMEDIATEBIND); }
-#line 4286 "tools/widl/parser.tab.c"
+#line 4298 "tools/widl/parser.tab.c"
     break;
 
   case 156: /* attribute: tIMPLICITHANDLE '(' arg ')'  */
 #line 638 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_IMPLICIT_HANDLE, (yyvsp[-1].var)); }
-#line 4292 "tools/widl/parser.tab.c"
+#line 4304 "tools/widl/parser.tab.c"
     break;
 
   case 157: /* attribute: tIN  */
 #line 639 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_IN); }
-#line 4298 "tools/widl/parser.tab.c"
+#line 4310 "tools/widl/parser.tab.c"
     break;
 
   case 158: /* attribute: tINPUTSYNC  */
 #line 640 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_INPUTSYNC); }
-#line 4304 "tools/widl/parser.tab.c"
+#line 4316 "tools/widl/parser.tab.c"
     break;
 
   case 159: /* attribute: tLENGTHIS '(' m_exprs ')'  */
 #line 641 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_LENGTHIS, (yyvsp[-1].expr_list)); }
-#line 4310 "tools/widl/parser.tab.c"
+#line 4322 "tools/widl/parser.tab.c"
     break;
 
   case 160: /* attribute: tLCID '(' expr_int_const ')'  */
 #line 642 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_LIBLCID, (yyvsp[-1].expr)); }
-#line 4316 "tools/widl/parser.tab.c"
+#line 4328 "tools/widl/parser.tab.c"
     break;
 
   case 161: /* attribute: tLCID  */
 #line 643 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_PARAMLCID); }
-#line 4322 "tools/widl/parser.tab.c"
+#line 4334 "tools/widl/parser.tab.c"
     break;
 
   case 162: /* attribute: tLICENSED  */
 #line 644 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_LICENSED); }
-#line 4328 "tools/widl/parser.tab.c"
+#line 4340 "tools/widl/parser.tab.c"
     break;
 
   case 163: /* attribute: tLOCAL  */
 #line 645 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_LOCAL); }
-#line 4334 "tools/widl/parser.tab.c"
+#line 4346 "tools/widl/parser.tab.c"
     break;
 
   case 164: /* attribute: tMARSHALINGBEHAVIOR '(' marshaling_behavior ')'  */
 #line 647 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrv(ATTR_MARSHALING_BEHAVIOR, (yyvsp[-1].num)); }
-#line 4340 "tools/widl/parser.tab.c"
+#line 4352 "tools/widl/parser.tab.c"
     break;
 
   case 165: /* attribute: tMAYBE  */
 #line 648 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_MAYBE); }
-#line 4346 "tools/widl/parser.tab.c"
+#line 4358 "tools/widl/parser.tab.c"
     break;
 
   case 166: /* attribute: tMESSAGE  */
 #line 649 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_MESSAGE); }
-#line 4352 "tools/widl/parser.tab.c"
+#line 4364 "tools/widl/parser.tab.c"
     break;
 
   case 167: /* attribute: tNOCODE  */
 #line 650 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_NOCODE); }
-#line 4358 "tools/widl/parser.tab.c"
+#line 4370 "tools/widl/parser.tab.c"
     break;
 
   case 168: /* attribute: tNONBROWSABLE  */
 #line 651 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_NONBROWSABLE); }
-#line 4364 "tools/widl/parser.tab.c"
+#line 4376 "tools/widl/parser.tab.c"
     break;
 
   case 169: /* attribute: tNONCREATABLE  */
 #line 652 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_NONCREATABLE); }
-#line 4370 "tools/widl/parser.tab.c"
+#line 4382 "tools/widl/parser.tab.c"
     break;
 
   case 170: /* attribute: tNONEXTENSIBLE  */
 #line 653 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_NONEXTENSIBLE); }
-#line 4376 "tools/widl/parser.tab.c"
+#line 4388 "tools/widl/parser.tab.c"
     break;
 
   case 171: /* attribute: tNOTIFY  */
 #line 654 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_NOTIFY); }
-#line 4382 "tools/widl/parser.tab.c"
+#line 4394 "tools/widl/parser.tab.c"
     break;
 
   case 172: /* attribute: tNOTIFYFLAG  */
 #line 655 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_NOTIFYFLAG); }
-#line 4388 "tools/widl/parser.tab.c"
+#line 4400 "tools/widl/parser.tab.c"
     break;
 
   case 173: /* attribute: tOBJECT  */
 #line 656 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_OBJECT); }
-#line 4394 "tools/widl/parser.tab.c"
+#line 4406 "tools/widl/parser.tab.c"
     break;
 
   case 174: /* attribute: tODL  */
 #line 657 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_ODL); }
-#line 4400 "tools/widl/parser.tab.c"
+#line 4412 "tools/widl/parser.tab.c"
     break;
 
   case 175: /* attribute: tOLEAUTOMATION  */
 #line 658 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_OLEAUTOMATION); }
-#line 4406 "tools/widl/parser.tab.c"
+#line 4418 "tools/widl/parser.tab.c"
     break;
 
   case 176: /* attribute: tOPTIMIZE '(' aSTRING ')'  */
 #line 659 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_OPTIMIZE, (yyvsp[-1].str)); }
-#line 4412 "tools/widl/parser.tab.c"
+#line 4424 "tools/widl/parser.tab.c"
     break;
 
   case 177: /* attribute: tOPTIONAL  */
 #line 660 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_OPTIONAL); }
-#line 4418 "tools/widl/parser.tab.c"
+#line 4430 "tools/widl/parser.tab.c"
     break;
 
   case 178: /* attribute: tOUT  */
 #line 661 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_OUT); }
-#line 4424 "tools/widl/parser.tab.c"
+#line 4436 "tools/widl/parser.tab.c"
     break;
 
   case 179: /* attribute: tPARTIALIGNORE  */
 #line 662 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_PARTIALIGNORE); }
-#line 4430 "tools/widl/parser.tab.c"
+#line 4442 "tools/widl/parser.tab.c"
     break;
 
   case 180: /* attribute: tPOINTERDEFAULT '(' pointer_type ')'  */
 #line 663 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrv(ATTR_POINTERDEFAULT, (yyvsp[-1].num)); }
-#line 4436 "tools/widl/parser.tab.c"
+#line 4448 "tools/widl/parser.tab.c"
     break;
 
   case 181: /* attribute: tPROGID '(' aSTRING ')'  */
 #line 664 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_PROGID, (yyvsp[-1].str)); }
-#line 4442 "tools/widl/parser.tab.c"
+#line 4454 "tools/widl/parser.tab.c"
     break;
 
   case 182: /* attribute: tPROPGET  */
 #line 665 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_PROPGET); }
-#line 4448 "tools/widl/parser.tab.c"
+#line 4460 "tools/widl/parser.tab.c"
     break;
 
   case 183: /* attribute: tPROPPUT  */
 #line 666 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_PROPPUT); }
-#line 4454 "tools/widl/parser.tab.c"
+#line 4466 "tools/widl/parser.tab.c"
     break;
 
   case 184: /* attribute: tPROPPUTREF  */
 #line 667 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_PROPPUTREF); }
-#line 4460 "tools/widl/parser.tab.c"
+#line 4472 "tools/widl/parser.tab.c"
     break;
 
   case 185: /* attribute: tPROXY  */
 #line 668 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_PROXY); }
-#line 4466 "tools/widl/parser.tab.c"
+#line 4478 "tools/widl/parser.tab.c"
     break;
 
   case 186: /* attribute: tPUBLIC  */
 #line 669 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_PUBLIC); }
-#line 4472 "tools/widl/parser.tab.c"
+#line 4484 "tools/widl/parser.tab.c"
     break;
 
   case 187: /* attribute: tRANGE '(' expr_int_const ',' expr_int_const ')'  */
@@ -4476,157 +4488,157 @@
                                                 { expr_list_t *list = append_expr( NULL, (yyvsp[-3].expr) );
 						  list = append_expr( list, (yyvsp[-1].expr) );
 						  (yyval.attr) = make_attrp(ATTR_RANGE, list); }
-#line 4480 "tools/widl/parser.tab.c"
+#line 4492 "tools/widl/parser.tab.c"
     break;
 
   case 188: /* attribute: tREADONLY  */
 #line 674 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_READONLY); }
-#line 4486 "tools/widl/parser.tab.c"
+#line 4498 "tools/widl/parser.tab.c"
     break;
 
   case 189: /* attribute: tREPRESENTAS '(' type ')'  */
 #line 675 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_REPRESENTAS, (yyvsp[-1].type)); }
-#line 4492 "tools/widl/parser.tab.c"
+#line 4504 "tools/widl/parser.tab.c"
     break;
 
   case 190: /* attribute: tREQUESTEDIT  */
 #line 676 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_REQUESTEDIT); }
-#line 4498 "tools/widl/parser.tab.c"
+#line 4510 "tools/widl/parser.tab.c"
     break;
 
   case 191: /* attribute: tRESTRICTED  */
 #line 677 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_RESTRICTED); }
-#line 4504 "tools/widl/parser.tab.c"
+#line 4516 "tools/widl/parser.tab.c"
     break;
 
   case 192: /* attribute: tRETVAL  */
 #line 678 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_RETVAL); }
-#line 4510 "tools/widl/parser.tab.c"
+#line 4522 "tools/widl/parser.tab.c"
     break;
 
   case 193: /* attribute: tSIZEIS '(' m_exprs ')'  */
 #line 679 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_SIZEIS, (yyvsp[-1].expr_list)); }
-#line 4516 "tools/widl/parser.tab.c"
+#line 4528 "tools/widl/parser.tab.c"
     break;
 
   case 194: /* attribute: tSOURCE  */
 #line 680 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_SOURCE); }
-#line 4522 "tools/widl/parser.tab.c"
+#line 4534 "tools/widl/parser.tab.c"
     break;
 
   case 195: /* attribute: tSTATIC '(' static_attr ')'  */
 #line 681 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_STATIC, (yyvsp[-1].expr)); }
-#line 4528 "tools/widl/parser.tab.c"
+#line 4540 "tools/widl/parser.tab.c"
     break;
 
   case 196: /* attribute: tSTRICTCONTEXTHANDLE  */
 #line 682 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_STRICTCONTEXTHANDLE); }
-#line 4534 "tools/widl/parser.tab.c"
+#line 4546 "tools/widl/parser.tab.c"
     break;
 
   case 197: /* attribute: tSTRING  */
 #line 683 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_STRING); }
-#line 4540 "tools/widl/parser.tab.c"
+#line 4552 "tools/widl/parser.tab.c"
     break;
 
   case 198: /* attribute: tSWITCHIS '(' expr ')'  */
 #line 684 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_SWITCHIS, (yyvsp[-1].expr)); }
-#line 4546 "tools/widl/parser.tab.c"
+#line 4558 "tools/widl/parser.tab.c"
     break;
 
   case 199: /* attribute: tSWITCHTYPE '(' type ')'  */
 #line 685 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_SWITCHTYPE, (yyvsp[-1].type)); }
-#line 4552 "tools/widl/parser.tab.c"
+#line 4564 "tools/widl/parser.tab.c"
     break;
 
   case 200: /* attribute: tTRANSMITAS '(' type ')'  */
 #line 686 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_TRANSMITAS, (yyvsp[-1].type)); }
-#line 4558 "tools/widl/parser.tab.c"
+#line 4570 "tools/widl/parser.tab.c"
     break;
 
   case 201: /* attribute: tTHREADING '(' threading_type ')'  */
 #line 687 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrv(ATTR_THREADING, (yyvsp[-1].num)); }
-#line 4564 "tools/widl/parser.tab.c"
+#line 4576 "tools/widl/parser.tab.c"
     break;
 
   case 202: /* attribute: tUIDEFAULT  */
 #line 688 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_UIDEFAULT); }
-#line 4570 "tools/widl/parser.tab.c"
+#line 4582 "tools/widl/parser.tab.c"
     break;
 
   case 203: /* attribute: tUSESGETLASTERROR  */
 #line 689 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_USESGETLASTERROR); }
-#line 4576 "tools/widl/parser.tab.c"
+#line 4588 "tools/widl/parser.tab.c"
     break;
 
   case 204: /* attribute: tUSERMARSHAL '(' type ')'  */
 #line 690 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_USERMARSHAL, (yyvsp[-1].type)); }
-#line 4582 "tools/widl/parser.tab.c"
+#line 4594 "tools/widl/parser.tab.c"
     break;
 
   case 205: /* attribute: tUUID '(' uuid_string ')'  */
 #line 691 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_UUID, (yyvsp[-1].uuid)); }
-#line 4588 "tools/widl/parser.tab.c"
+#line 4600 "tools/widl/parser.tab.c"
     break;
 
   case 206: /* attribute: tASYNCUUID '(' uuid_string ')'  */
 #line 692 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_ASYNCUUID, (yyvsp[-1].uuid)); }
-#line 4594 "tools/widl/parser.tab.c"
+#line 4606 "tools/widl/parser.tab.c"
     break;
 
   case 207: /* attribute: tV1ENUM  */
 #line 693 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_V1ENUM); }
-#line 4600 "tools/widl/parser.tab.c"
+#line 4612 "tools/widl/parser.tab.c"
     break;
 
   case 208: /* attribute: tVARARG  */
 #line 694 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_VARARG); }
-#line 4606 "tools/widl/parser.tab.c"
+#line 4618 "tools/widl/parser.tab.c"
     break;
 
   case 209: /* attribute: tVERSION '(' version ')'  */
 #line 695 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrv(ATTR_VERSION, (yyvsp[-1].num)); }
-#line 4612 "tools/widl/parser.tab.c"
+#line 4624 "tools/widl/parser.tab.c"
     break;
 
   case 210: /* attribute: tVIPROGID '(' aSTRING ')'  */
 #line 696 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_VIPROGID, (yyvsp[-1].str)); }
-#line 4618 "tools/widl/parser.tab.c"
+#line 4630 "tools/widl/parser.tab.c"
     break;
 
   case 211: /* attribute: tWIREMARSHAL '(' type ')'  */
 #line 697 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrp(ATTR_WIREMARSHAL, (yyvsp[-1].type)); }
-#line 4624 "tools/widl/parser.tab.c"
+#line 4636 "tools/widl/parser.tab.c"
     break;
 
   case 212: /* attribute: pointer_type  */
 #line 698 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrv(ATTR_POINTERTYPE, (yyvsp[0].num)); }
-#line 4630 "tools/widl/parser.tab.c"
+#line 4642 "tools/widl/parser.tab.c"
     break;
 
   case 214: /* uuid_string: aSTRING  */
@@ -4634,43 +4646,43 @@
                                                 { if (!is_valid_uuid((yyvsp[0].str)))
 						    error_loc("invalid UUID: %s\n", (yyvsp[0].str));
 						  (yyval.uuid) = parse_uuid((yyvsp[0].str)); }
-#line 4638 "tools/widl/parser.tab.c"
+#line 4650 "tools/widl/parser.tab.c"
     break;
 
   case 215: /* callconv: tCDECL  */
 #line 708 "tools/widl/parser.y"
                                                 { (yyval.str) = xstrdup("__cdecl"); }
-#line 4644 "tools/widl/parser.tab.c"
+#line 4656 "tools/widl/parser.tab.c"
     break;
 
   case 216: /* callconv: tFASTCALL  */
 #line 709 "tools/widl/parser.y"
                                                 { (yyval.str) = xstrdup("__fastcall"); }
-#line 4650 "tools/widl/parser.tab.c"
+#line 4662 "tools/widl/parser.tab.c"
     break;
 
   case 217: /* callconv: tPASCAL  */
 #line 710 "tools/widl/parser.y"
                                                 { (yyval.str) = xstrdup("__pascal"); }
-#line 4656 "tools/widl/parser.tab.c"
+#line 4668 "tools/widl/parser.tab.c"
     break;
 
   case 218: /* callconv: tSTDCALL  */
 #line 711 "tools/widl/parser.y"
                                                 { (yyval.str) = xstrdup("__stdcall"); }
-#line 4662 "tools/widl/parser.tab.c"
+#line 4674 "tools/widl/parser.tab.c"
     break;
 
   case 219: /* cases: %empty  */
 #line 714 "tools/widl/parser.y"
                                                 { (yyval.var_list) = NULL; }
-#line 4668 "tools/widl/parser.tab.c"
+#line 4680 "tools/widl/parser.tab.c"
     break;
 
   case 220: /* cases: cases case  */
 #line 715 "tools/widl/parser.y"
                                                 { (yyval.var_list) = append_var( (yyvsp[-1].var_list), (yyvsp[0].var) ); }
-#line 4674 "tools/widl/parser.tab.c"
+#line 4686 "tools/widl/parser.tab.c"
     break;
 
   case 221: /* case: tCASE expr_int_const ':' union_field  */
@@ -4679,7 +4691,7 @@
 						  (yyval.var) = (yyvsp[0].var); if (!(yyval.var)) (yyval.var) = make_var(NULL);
 						  (yyval.var)->attrs = append_attr( (yyval.var)->attrs, a );
 						}
-#line 4683 "tools/widl/parser.tab.c"
+#line 4695 "tools/widl/parser.tab.c"
     break;
 
   case 222: /* case: tDEFAULT ':' union_field  */
@@ -4688,19 +4700,19 @@
 						  (yyval.var) = (yyvsp[0].var); if (!(yyval.var)) (yyval.var) = make_var(NULL);
 						  (yyval.var)->attrs = append_attr( (yyval.var)->attrs, a );
 						}
-#line 4692 "tools/widl/parser.tab.c"
+#line 4704 "tools/widl/parser.tab.c"
     break;
 
   case 223: /* enums: %empty  */
 #line 728 "tools/widl/parser.y"
                                                 { (yyval.var_list) = NULL; }
-#line 4698 "tools/widl/parser.tab.c"
+#line 4710 "tools/widl/parser.tab.c"
     break;
 
   case 224: /* enums: enum_list ','  */
 #line 729 "tools/widl/parser.y"
                                                 { (yyval.var_list) = (yyvsp[-1].var_list); }
-#line 4704 "tools/widl/parser.tab.c"
+#line 4716 "tools/widl/parser.tab.c"
     break;
 
   case 226: /* enum_list: enum  */
@@ -4709,7 +4721,7 @@
 						    (yyvsp[0].var)->eval = make_exprl(EXPR_NUM, 0 /* default for first enum entry */);
                                                   (yyval.var_list) = append_var( NULL, (yyvsp[0].var) );
 						}
-#line 4713 "tools/widl/parser.tab.c"
+#line 4725 "tools/widl/parser.tab.c"
     break;
 
   case 227: /* enum_list: enum_list ',' enum  */
@@ -4724,7 +4736,7 @@
                                                   }
                                                   (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[0].var) );
 						}
-#line 4728 "tools/widl/parser.tab.c"
+#line 4740 "tools/widl/parser.tab.c"
     break;
 
   case 228: /* enum_member: m_attributes ident  */
@@ -4732,7 +4744,7 @@
                                                 { (yyval.var) = (yyvsp[0].var);
 						  (yyval.var)->attrs = check_enum_member_attrs((yyvsp[-1].attr_list));
 						}
-#line 4736 "tools/widl/parser.tab.c"
+#line 4748 "tools/widl/parser.tab.c"
     break;
 
   case 229: /* enum: enum_member '=' expr_int_const  */
@@ -4741,7 +4753,7 @@
 						  (yyval.var)->eval = (yyvsp[0].expr);
                                                   (yyval.var)->declspec.type = type_new_int(TYPE_BASIC_INT, 0);
 						}
-#line 4745 "tools/widl/parser.tab.c"
+#line 4757 "tools/widl/parser.tab.c"
     break;
 
   case 230: /* enum: enum_member  */
@@ -4749,289 +4761,289 @@
                                                 { (yyval.var) = reg_const((yyvsp[0].var));
                                                   (yyval.var)->declspec.type = type_new_int(TYPE_BASIC_INT, 0);
 						}
-#line 4753 "tools/widl/parser.tab.c"
+#line 4765 "tools/widl/parser.tab.c"
     break;
 
   case 231: /* enumdef: tENUM m_typename '{' enums '}'  */
 #line 763 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_enum((yyvsp[-3].str), current_namespace, TRUE, (yyvsp[-1].var_list)); }
-#line 4759 "tools/widl/parser.tab.c"
+#line 4771 "tools/widl/parser.tab.c"
     break;
 
   case 232: /* m_exprs: m_expr  */
 #line 766 "tools/widl/parser.y"
                                                 { (yyval.expr_list) = append_expr( NULL, (yyvsp[0].expr) ); }
-#line 4765 "tools/widl/parser.tab.c"
+#line 4777 "tools/widl/parser.tab.c"
     break;
 
   case 233: /* m_exprs: m_exprs ',' m_expr  */
 #line 767 "tools/widl/parser.y"
                                                 { (yyval.expr_list) = append_expr( (yyvsp[-2].expr_list), (yyvsp[0].expr) ); }
-#line 4771 "tools/widl/parser.tab.c"
+#line 4783 "tools/widl/parser.tab.c"
     break;
 
   case 234: /* m_expr: %empty  */
 #line 770 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr(EXPR_VOID); }
-#line 4777 "tools/widl/parser.tab.c"
+#line 4789 "tools/widl/parser.tab.c"
     break;
 
   case 236: /* expr: aNUM  */
 #line 774 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_exprl(EXPR_NUM, (yyvsp[0].num)); }
-#line 4783 "tools/widl/parser.tab.c"
+#line 4795 "tools/widl/parser.tab.c"
     break;
 
   case 237: /* expr: aHEXNUM  */
 #line 775 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_exprl(EXPR_HEXNUM, (yyvsp[0].num)); }
-#line 4789 "tools/widl/parser.tab.c"
+#line 4801 "tools/widl/parser.tab.c"
     break;
 
   case 238: /* expr: aDOUBLE  */
 #line 776 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_exprd(EXPR_DOUBLE, (yyvsp[0].dbl)); }
-#line 4795 "tools/widl/parser.tab.c"
+#line 4807 "tools/widl/parser.tab.c"
     break;
 
   case 239: /* expr: tFALSE  */
 #line 777 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_exprl(EXPR_TRUEFALSE, 0); }
-#line 4801 "tools/widl/parser.tab.c"
+#line 4813 "tools/widl/parser.tab.c"
     break;
 
   case 240: /* expr: tNULL  */
 #line 778 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_exprl(EXPR_NUM, 0); }
-#line 4807 "tools/widl/parser.tab.c"
+#line 4819 "tools/widl/parser.tab.c"
     break;
 
   case 241: /* expr: tTRUE  */
 #line 779 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_exprl(EXPR_TRUEFALSE, 1); }
-#line 4813 "tools/widl/parser.tab.c"
+#line 4825 "tools/widl/parser.tab.c"
     break;
 
   case 242: /* expr: aSTRING  */
 #line 780 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_exprs(EXPR_STRLIT, (yyvsp[0].str)); }
-#line 4819 "tools/widl/parser.tab.c"
+#line 4831 "tools/widl/parser.tab.c"
     break;
 
   case 243: /* expr: aWSTRING  */
 #line 781 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_exprs(EXPR_WSTRLIT, (yyvsp[0].str)); }
-#line 4825 "tools/widl/parser.tab.c"
+#line 4837 "tools/widl/parser.tab.c"
     break;
 
   case 244: /* expr: aSQSTRING  */
 #line 782 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_exprs(EXPR_CHARCONST, (yyvsp[0].str)); }
-#line 4831 "tools/widl/parser.tab.c"
+#line 4843 "tools/widl/parser.tab.c"
     break;
 
   case 245: /* expr: aIDENTIFIER  */
 #line 783 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str)); }
-#line 4837 "tools/widl/parser.tab.c"
+#line 4849 "tools/widl/parser.tab.c"
     break;
 
   case 246: /* expr: expr '?' expr ':' expr  */
 #line 784 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr3(EXPR_COND, (yyvsp[-4].expr), (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 4843 "tools/widl/parser.tab.c"
+#line 4855 "tools/widl/parser.tab.c"
     break;
 
   case 247: /* expr: expr LOGICALOR expr  */
 #line 785 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr2(EXPR_LOGOR, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 4849 "tools/widl/parser.tab.c"
+#line 4861 "tools/widl/parser.tab.c"
     break;
 
   case 248: /* expr: expr LOGICALAND expr  */
 #line 786 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr2(EXPR_LOGAND, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 4855 "tools/widl/parser.tab.c"
+#line 4867 "tools/widl/parser.tab.c"
     break;
 
   case 249: /* expr: expr '|' expr  */
 #line 787 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr2(EXPR_OR , (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 4861 "tools/widl/parser.tab.c"
+#line 4873 "tools/widl/parser.tab.c"
     break;
 
   case 250: /* expr: expr '^' expr  */
 #line 788 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr2(EXPR_XOR, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 4867 "tools/widl/parser.tab.c"
+#line 4879 "tools/widl/parser.tab.c"
     break;
 
   case 251: /* expr: expr '&' expr  */
 #line 789 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr2(EXPR_AND, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 4873 "tools/widl/parser.tab.c"
+#line 4885 "tools/widl/parser.tab.c"
     break;
 
   case 252: /* expr: expr EQUALITY expr  */
 #line 790 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr2(EXPR_EQUALITY, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 4879 "tools/widl/parser.tab.c"
+#line 4891 "tools/widl/parser.tab.c"
     break;
 
   case 253: /* expr: expr INEQUALITY expr  */
 #line 791 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr2(EXPR_INEQUALITY, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 4885 "tools/widl/parser.tab.c"
+#line 4897 "tools/widl/parser.tab.c"
     break;
 
   case 254: /* expr: expr '>' expr  */
 #line 792 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr2(EXPR_GTR, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 4891 "tools/widl/parser.tab.c"
+#line 4903 "tools/widl/parser.tab.c"
     break;
 
   case 255: /* expr: expr '<' expr  */
 #line 793 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr2(EXPR_LESS, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 4897 "tools/widl/parser.tab.c"
+#line 4909 "tools/widl/parser.tab.c"
     break;
 
   case 256: /* expr: expr GREATEREQUAL expr  */
 #line 794 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr2(EXPR_GTREQL, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 4903 "tools/widl/parser.tab.c"
+#line 4915 "tools/widl/parser.tab.c"
     break;
 
   case 257: /* expr: expr LESSEQUAL expr  */
 #line 795 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr2(EXPR_LESSEQL, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 4909 "tools/widl/parser.tab.c"
+#line 4921 "tools/widl/parser.tab.c"
     break;
 
   case 258: /* expr: expr SHL expr  */
 #line 796 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr2(EXPR_SHL, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 4915 "tools/widl/parser.tab.c"
+#line 4927 "tools/widl/parser.tab.c"
     break;
 
   case 259: /* expr: expr SHR expr  */
 #line 797 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr2(EXPR_SHR, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 4921 "tools/widl/parser.tab.c"
+#line 4933 "tools/widl/parser.tab.c"
     break;
 
   case 260: /* expr: expr '+' expr  */
 #line 798 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr2(EXPR_ADD, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 4927 "tools/widl/parser.tab.c"
+#line 4939 "tools/widl/parser.tab.c"
     break;
 
   case 261: /* expr: expr '-' expr  */
 #line 799 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr2(EXPR_SUB, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 4933 "tools/widl/parser.tab.c"
+#line 4945 "tools/widl/parser.tab.c"
     break;
 
   case 262: /* expr: expr '%' expr  */
 #line 800 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr2(EXPR_MOD, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 4939 "tools/widl/parser.tab.c"
+#line 4951 "tools/widl/parser.tab.c"
     break;
 
   case 263: /* expr: expr '*' expr  */
 #line 801 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr2(EXPR_MUL, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 4945 "tools/widl/parser.tab.c"
+#line 4957 "tools/widl/parser.tab.c"
     break;
 
   case 264: /* expr: expr '/' expr  */
 #line 802 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr2(EXPR_DIV, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 4951 "tools/widl/parser.tab.c"
+#line 4963 "tools/widl/parser.tab.c"
     break;
 
   case 265: /* expr: '!' expr  */
 #line 803 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr1(EXPR_LOGNOT, (yyvsp[0].expr)); }
-#line 4957 "tools/widl/parser.tab.c"
+#line 4969 "tools/widl/parser.tab.c"
     break;
 
   case 266: /* expr: '~' expr  */
 #line 804 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr1(EXPR_NOT, (yyvsp[0].expr)); }
-#line 4963 "tools/widl/parser.tab.c"
+#line 4975 "tools/widl/parser.tab.c"
     break;
 
   case 267: /* expr: '+' expr  */
 #line 805 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr1(EXPR_POS, (yyvsp[0].expr)); }
-#line 4969 "tools/widl/parser.tab.c"
+#line 4981 "tools/widl/parser.tab.c"
     break;
 
   case 268: /* expr: '-' expr  */
 #line 806 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr1(EXPR_NEG, (yyvsp[0].expr)); }
-#line 4975 "tools/widl/parser.tab.c"
+#line 4987 "tools/widl/parser.tab.c"
     break;
 
   case 269: /* expr: '&' expr  */
 #line 807 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr1(EXPR_ADDRESSOF, (yyvsp[0].expr)); }
-#line 4981 "tools/widl/parser.tab.c"
+#line 4993 "tools/widl/parser.tab.c"
     break;
 
   case 270: /* expr: '*' expr  */
 #line 808 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr1(EXPR_PPTR, (yyvsp[0].expr)); }
-#line 4987 "tools/widl/parser.tab.c"
+#line 4999 "tools/widl/parser.tab.c"
     break;
 
   case 271: /* expr: expr MEMBERPTR aIDENTIFIER  */
 #line 809 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr2(EXPR_MEMBER, make_expr1(EXPR_PPTR, (yyvsp[-2].expr)), make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str))); }
-#line 4993 "tools/widl/parser.tab.c"
+#line 5005 "tools/widl/parser.tab.c"
     break;
 
   case 272: /* expr: expr '.' aIDENTIFIER  */
 #line 810 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr2(EXPR_MEMBER, (yyvsp[-2].expr), make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str))); }
-#line 4999 "tools/widl/parser.tab.c"
+#line 5011 "tools/widl/parser.tab.c"
     break;
 
   case 273: /* expr: '(' unqualified_decl_spec m_abstract_declarator ')' expr  */
 #line 812 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_exprt(EXPR_CAST, declare_var(NULL, (yyvsp[-3].declspec), (yyvsp[-2].declarator), 0), (yyvsp[0].expr)); free((yyvsp[-3].declspec)); free((yyvsp[-2].declarator)); }
-#line 5005 "tools/widl/parser.tab.c"
+#line 5017 "tools/widl/parser.tab.c"
     break;
 
   case 274: /* expr: tSIZEOF '(' unqualified_decl_spec m_abstract_declarator ')'  */
 #line 814 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_exprt(EXPR_SIZEOF, declare_var(NULL, (yyvsp[-2].declspec), (yyvsp[-1].declarator), 0), NULL); free((yyvsp[-2].declspec)); free((yyvsp[-1].declarator)); }
-#line 5011 "tools/widl/parser.tab.c"
+#line 5023 "tools/widl/parser.tab.c"
     break;
 
   case 275: /* expr: expr '[' expr ']'  */
 #line 815 "tools/widl/parser.y"
                                                 { (yyval.expr) = make_expr2(EXPR_ARRAY, (yyvsp[-3].expr), (yyvsp[-1].expr)); }
-#line 5017 "tools/widl/parser.tab.c"
+#line 5029 "tools/widl/parser.tab.c"
     break;
 
   case 276: /* expr: '(' expr ')'  */
 #line 816 "tools/widl/parser.y"
                                                 { (yyval.expr) = (yyvsp[-1].expr); }
-#line 5023 "tools/widl/parser.tab.c"
+#line 5035 "tools/widl/parser.tab.c"
     break;
 
   case 277: /* expr_list_int_const: expr_int_const  */
 #line 819 "tools/widl/parser.y"
                                                 { (yyval.expr_list) = append_expr( NULL, (yyvsp[0].expr) ); }
-#line 5029 "tools/widl/parser.tab.c"
+#line 5041 "tools/widl/parser.tab.c"
     break;
 
   case 278: /* expr_list_int_const: expr_list_int_const ',' expr_int_const  */
 #line 820 "tools/widl/parser.y"
                                                         { (yyval.expr_list) = append_expr( (yyvsp[-2].expr_list), (yyvsp[0].expr) ); }
-#line 5035 "tools/widl/parser.tab.c"
+#line 5047 "tools/widl/parser.tab.c"
     break;
 
   case 279: /* expr_int_const: expr  */
@@ -5040,7 +5052,7 @@
 						  if (!(yyval.expr)->is_const)
 						      error_loc("expression is not an integer constant\n");
 						}
-#line 5044 "tools/widl/parser.tab.c"
+#line 5056 "tools/widl/parser.tab.c"
     break;
 
   case 280: /* expr_const: expr  */
@@ -5049,19 +5061,19 @@
 						  if (!(yyval.expr)->is_const && (yyval.expr)->type != EXPR_STRLIT && (yyval.expr)->type != EXPR_WSTRLIT)
 						      error_loc("expression is not constant\n");
 						}
-#line 5053 "tools/widl/parser.tab.c"
+#line 5065 "tools/widl/parser.tab.c"
     break;
 
   case 281: /* fields: %empty  */
 #line 835 "tools/widl/parser.y"
                                                 { (yyval.var_list) = NULL; }
-#line 5059 "tools/widl/parser.tab.c"
+#line 5071 "tools/widl/parser.tab.c"
     break;
 
   case 282: /* fields: fields field  */
 #line 836 "tools/widl/parser.y"
                                                 { (yyval.var_list) = append_var_list((yyvsp[-1].var_list), (yyvsp[0].var_list)); }
-#line 5065 "tools/widl/parser.tab.c"
+#line 5077 "tools/widl/parser.tab.c"
     break;
 
   case 283: /* field: m_attributes decl_spec struct_declarator_list ';'  */
@@ -5070,7 +5082,7 @@
 						  check_field_attrs(first, (yyvsp[-3].attr_list));
 						  (yyval.var_list) = set_var_types((yyvsp[-3].attr_list), (yyvsp[-2].declspec), (yyvsp[-1].declarator_list));
 						}
-#line 5074 "tools/widl/parser.tab.c"
+#line 5086 "tools/widl/parser.tab.c"
     break;
 
   case 284: /* field: m_attributes uniondef ';'  */
@@ -5079,43 +5091,43 @@
 						  v->declspec.type = (yyvsp[-1].type); v->attrs = (yyvsp[-2].attr_list);
 						  (yyval.var_list) = append_var(NULL, v);
 						}
-#line 5083 "tools/widl/parser.tab.c"
+#line 5095 "tools/widl/parser.tab.c"
     break;
 
   case 285: /* ne_union_field: s_field ';'  */
 #line 851 "tools/widl/parser.y"
                                                 { (yyval.var) = (yyvsp[-1].var); }
-#line 5089 "tools/widl/parser.tab.c"
+#line 5101 "tools/widl/parser.tab.c"
     break;
 
   case 286: /* ne_union_field: attributes ';'  */
 #line 852 "tools/widl/parser.y"
                                                 { (yyval.var) = make_var(NULL); (yyval.var)->attrs = (yyvsp[-1].attr_list); }
-#line 5095 "tools/widl/parser.tab.c"
+#line 5107 "tools/widl/parser.tab.c"
     break;
 
   case 287: /* ne_union_fields: %empty  */
 #line 855 "tools/widl/parser.y"
                                                 { (yyval.var_list) = NULL; }
-#line 5101 "tools/widl/parser.tab.c"
+#line 5113 "tools/widl/parser.tab.c"
     break;
 
   case 288: /* ne_union_fields: ne_union_fields ne_union_field  */
 #line 856 "tools/widl/parser.y"
                                                 { (yyval.var_list) = append_var( (yyvsp[-1].var_list), (yyvsp[0].var) ); }
-#line 5107 "tools/widl/parser.tab.c"
+#line 5119 "tools/widl/parser.tab.c"
     break;
 
   case 289: /* union_field: s_field ';'  */
 #line 860 "tools/widl/parser.y"
                                                 { (yyval.var) = (yyvsp[-1].var); }
-#line 5113 "tools/widl/parser.tab.c"
+#line 5125 "tools/widl/parser.tab.c"
     break;
 
   case 290: /* union_field: ';'  */
 #line 861 "tools/widl/parser.y"
                                                 { (yyval.var) = NULL; }
-#line 5119 "tools/widl/parser.tab.c"
+#line 5131 "tools/widl/parser.tab.c"
     break;
 
   case 291: /* s_field: m_attributes decl_spec declarator  */
@@ -5124,7 +5136,7 @@
 						                (yyvsp[-1].declspec), (yyvsp[0].declarator), FALSE);
 						  free((yyvsp[0].declarator));
 						}
-#line 5128 "tools/widl/parser.tab.c"
+#line 5140 "tools/widl/parser.tab.c"
     break;
 
   case 292: /* s_field: m_attributes structdef  */
@@ -5133,7 +5145,7 @@
 						  v->declspec.type = (yyvsp[0].type); v->attrs = (yyvsp[-1].attr_list);
 						  (yyval.var) = v;
 						}
-#line 5137 "tools/widl/parser.tab.c"
+#line 5149 "tools/widl/parser.tab.c"
     break;
 
   case 293: /* funcdef: declaration  */
@@ -5143,7 +5155,7 @@
 						    error_loc("only methods may be declared inside the methods section of a dispinterface\n");
 						  check_function_attrs((yyval.var)->name, (yyval.var)->attrs);
 						}
-#line 5147 "tools/widl/parser.tab.c"
+#line 5159 "tools/widl/parser.tab.c"
     break;
 
   case 294: /* declaration: attributes decl_spec init_declarator  */
@@ -5151,7 +5163,7 @@
                                                 { (yyval.var) = declare_var((yyvsp[-2].attr_list), (yyvsp[-1].declspec), (yyvsp[0].declarator), FALSE);
 						  free((yyvsp[0].declarator));
 						}
-#line 5155 "tools/widl/parser.tab.c"
+#line 5167 "tools/widl/parser.tab.c"
     break;
 
   case 295: /* declaration: decl_spec init_declarator  */
@@ -5159,385 +5171,385 @@
                                                 { (yyval.var) = declare_var(NULL, (yyvsp[-1].declspec), (yyvsp[0].declarator), FALSE);
 						  free((yyvsp[0].declarator));
 						}
-#line 5163 "tools/widl/parser.tab.c"
+#line 5175 "tools/widl/parser.tab.c"
     break;
 
   case 296: /* m_ident: %empty  */
 #line 891 "tools/widl/parser.y"
                                                 { (yyval.var) = NULL; }
-#line 5169 "tools/widl/parser.tab.c"
+#line 5181 "tools/widl/parser.tab.c"
     break;
 
   case 298: /* m_typename: %empty  */
 #line 895 "tools/widl/parser.y"
                                                 { (yyval.str) = NULL; }
-#line 5175 "tools/widl/parser.tab.c"
+#line 5187 "tools/widl/parser.tab.c"
     break;
 
   case 302: /* ident: typename  */
 #line 903 "tools/widl/parser.y"
                                                 { (yyval.var) = make_var((yyvsp[0].str)); }
-#line 5181 "tools/widl/parser.tab.c"
+#line 5193 "tools/widl/parser.tab.c"
     break;
 
   case 303: /* base_type: tBYTE  */
 #line 906 "tools/widl/parser.y"
                                                 { (yyval.type) = find_type_or_error(NULL, (yyvsp[0].str)); }
-#line 5187 "tools/widl/parser.tab.c"
+#line 5199 "tools/widl/parser.tab.c"
     break;
 
   case 304: /* base_type: tWCHAR  */
 #line 907 "tools/widl/parser.y"
                                                 { (yyval.type) = find_type_or_error(NULL, (yyvsp[0].str)); }
-#line 5193 "tools/widl/parser.tab.c"
+#line 5205 "tools/widl/parser.tab.c"
     break;
 
   case 306: /* base_type: tSIGNED int_std  */
 #line 909 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_int(type_basic_get_type((yyvsp[0].type)), -1); }
-#line 5199 "tools/widl/parser.tab.c"
+#line 5211 "tools/widl/parser.tab.c"
     break;
 
   case 307: /* base_type: tUNSIGNED int_std  */
 #line 910 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_int(type_basic_get_type((yyvsp[0].type)), 1); }
-#line 5205 "tools/widl/parser.tab.c"
+#line 5217 "tools/widl/parser.tab.c"
     break;
 
   case 308: /* base_type: tUNSIGNED  */
 #line 911 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_int(TYPE_BASIC_INT, 1); }
-#line 5211 "tools/widl/parser.tab.c"
+#line 5223 "tools/widl/parser.tab.c"
     break;
 
   case 309: /* base_type: tFLOAT  */
 #line 912 "tools/widl/parser.y"
                                                 { (yyval.type) = find_type_or_error(NULL, (yyvsp[0].str)); }
-#line 5217 "tools/widl/parser.tab.c"
+#line 5229 "tools/widl/parser.tab.c"
     break;
 
   case 310: /* base_type: tDOUBLE  */
 #line 913 "tools/widl/parser.y"
                                                 { (yyval.type) = find_type_or_error(NULL, (yyvsp[0].str)); }
-#line 5223 "tools/widl/parser.tab.c"
+#line 5235 "tools/widl/parser.tab.c"
     break;
 
   case 311: /* base_type: tBOOLEAN  */
 #line 914 "tools/widl/parser.y"
                                                 { (yyval.type) = find_type_or_error(NULL, (yyvsp[0].str)); }
-#line 5229 "tools/widl/parser.tab.c"
+#line 5241 "tools/widl/parser.tab.c"
     break;
 
   case 312: /* base_type: tERRORSTATUST  */
 #line 915 "tools/widl/parser.y"
                                                 { (yyval.type) = find_type_or_error(NULL, (yyvsp[0].str)); }
-#line 5235 "tools/widl/parser.tab.c"
+#line 5247 "tools/widl/parser.tab.c"
     break;
 
   case 313: /* base_type: tHANDLET  */
 #line 916 "tools/widl/parser.y"
                                                 { (yyval.type) = find_type_or_error(NULL, (yyvsp[0].str)); }
-#line 5241 "tools/widl/parser.tab.c"
+#line 5253 "tools/widl/parser.tab.c"
     break;
 
   case 316: /* int_std: tINT  */
 #line 923 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_int(TYPE_BASIC_INT, 0); }
-#line 5247 "tools/widl/parser.tab.c"
+#line 5259 "tools/widl/parser.tab.c"
     break;
 
   case 317: /* int_std: tSHORT m_int  */
 #line 924 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_int(TYPE_BASIC_INT16, 0); }
-#line 5253 "tools/widl/parser.tab.c"
+#line 5265 "tools/widl/parser.tab.c"
     break;
 
   case 318: /* int_std: tSMALL  */
 #line 925 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_int(TYPE_BASIC_INT8, 0); }
-#line 5259 "tools/widl/parser.tab.c"
+#line 5271 "tools/widl/parser.tab.c"
     break;
 
   case 319: /* int_std: tLONG m_int  */
 #line 926 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_int(TYPE_BASIC_LONG, 0); }
-#line 5265 "tools/widl/parser.tab.c"
+#line 5277 "tools/widl/parser.tab.c"
     break;
 
   case 320: /* int_std: tHYPER m_int  */
 #line 927 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_int(TYPE_BASIC_HYPER, 0); }
-#line 5271 "tools/widl/parser.tab.c"
+#line 5283 "tools/widl/parser.tab.c"
     break;
 
   case 321: /* int_std: tINT64  */
 #line 928 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_int(TYPE_BASIC_INT64, 0); }
-#line 5277 "tools/widl/parser.tab.c"
+#line 5289 "tools/widl/parser.tab.c"
     break;
 
   case 322: /* int_std: tCHAR  */
 #line 929 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_int(TYPE_BASIC_CHAR, 0); }
-#line 5283 "tools/widl/parser.tab.c"
+#line 5295 "tools/widl/parser.tab.c"
     break;
 
   case 323: /* int_std: tINT32  */
 #line 930 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_int(TYPE_BASIC_INT32, 0); }
-#line 5289 "tools/widl/parser.tab.c"
+#line 5301 "tools/widl/parser.tab.c"
     break;
 
   case 324: /* int_std: tINT3264  */
 #line 931 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_int(TYPE_BASIC_INT3264, 0); }
-#line 5295 "tools/widl/parser.tab.c"
+#line 5307 "tools/widl/parser.tab.c"
     break;
 
   case 325: /* namespace_pfx: aIDENTIFIER '.'  */
 #line 935 "tools/widl/parser.y"
                                                 { (yyval.namespace) = find_namespace_or_error(&global_namespace, (yyvsp[-1].str)); }
-#line 5301 "tools/widl/parser.tab.c"
+#line 5313 "tools/widl/parser.tab.c"
     break;
 
   case 326: /* namespace_pfx: namespace_pfx aIDENTIFIER '.'  */
 #line 936 "tools/widl/parser.y"
                                                 { (yyval.namespace) = find_namespace_or_error((yyvsp[-2].namespace), (yyvsp[-1].str)); }
-#line 5307 "tools/widl/parser.tab.c"
+#line 5319 "tools/widl/parser.tab.c"
     break;
 
   case 327: /* qualified_type: typename  */
 #line 940 "tools/widl/parser.y"
                                                 { (yyval.type) = find_type_or_error(current_namespace, (yyvsp[0].str)); }
-#line 5313 "tools/widl/parser.tab.c"
+#line 5325 "tools/widl/parser.tab.c"
     break;
 
   case 328: /* qualified_type: namespace_pfx typename  */
 #line 941 "tools/widl/parser.y"
                                                 { (yyval.type) = find_type_or_error((yyvsp[-1].namespace), (yyvsp[0].str)); }
-#line 5319 "tools/widl/parser.tab.c"
+#line 5331 "tools/widl/parser.tab.c"
     break;
 
   case 329: /* parameterized_type: qualified_type '<' parameterized_type_args '>'  */
 #line 945 "tools/widl/parser.y"
                                                 { (yyval.type) = find_parameterized_type((yyvsp[-3].type), (yyvsp[-1].typeref_list)); }
-#line 5325 "tools/widl/parser.tab.c"
+#line 5337 "tools/widl/parser.tab.c"
     break;
 
   case 330: /* parameterized_type_arg: base_type  */
 #line 949 "tools/widl/parser.y"
                                                 { (yyval.type) = (yyvsp[0].type); }
-#line 5331 "tools/widl/parser.tab.c"
+#line 5343 "tools/widl/parser.tab.c"
     break;
 
   case 331: /* parameterized_type_arg: qualified_type  */
 #line 950 "tools/widl/parser.y"
                                                 { (yyval.type) = (yyvsp[0].type); }
-#line 5337 "tools/widl/parser.tab.c"
+#line 5349 "tools/widl/parser.tab.c"
     break;
 
   case 332: /* parameterized_type_arg: qualified_type '*'  */
 #line 951 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_pointer((yyvsp[-1].type)); }
-#line 5343 "tools/widl/parser.tab.c"
+#line 5355 "tools/widl/parser.tab.c"
     break;
 
   case 333: /* parameterized_type_arg: parameterized_type  */
 #line 952 "tools/widl/parser.y"
                                                 { (yyval.type) = (yyvsp[0].type); }
-#line 5349 "tools/widl/parser.tab.c"
+#line 5361 "tools/widl/parser.tab.c"
     break;
 
   case 334: /* parameterized_type_arg: parameterized_type '*'  */
 #line 953 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_pointer((yyvsp[-1].type)); }
-#line 5355 "tools/widl/parser.tab.c"
+#line 5367 "tools/widl/parser.tab.c"
     break;
 
   case 335: /* parameterized_type_args: parameterized_type_arg  */
 #line 957 "tools/widl/parser.y"
                                                 { (yyval.typeref_list) = append_typeref(NULL, make_typeref((yyvsp[0].type))); }
-#line 5361 "tools/widl/parser.tab.c"
+#line 5373 "tools/widl/parser.tab.c"
     break;
 
   case 336: /* parameterized_type_args: parameterized_type_args ',' parameterized_type_arg  */
 #line 959 "tools/widl/parser.y"
                                                 { (yyval.typeref_list) = append_typeref((yyvsp[-2].typeref_list), make_typeref((yyvsp[0].type))); }
-#line 5367 "tools/widl/parser.tab.c"
+#line 5379 "tools/widl/parser.tab.c"
     break;
 
   case 337: /* coclass: tCOCLASS typename  */
 #line 962 "tools/widl/parser.y"
                                                 { (yyval.type) = type_coclass_declare((yyvsp[0].str)); }
-#line 5373 "tools/widl/parser.tab.c"
+#line 5385 "tools/widl/parser.tab.c"
     break;
 
   case 338: /* coclassdef: attributes coclass '{' class_interfaces '}' semicolon_opt  */
 #line 966 "tools/widl/parser.y"
                                                 { (yyval.type) = type_coclass_define((yyvsp[-4].type), (yyvsp[-5].attr_list), (yyvsp[-2].typeref_list)); }
-#line 5379 "tools/widl/parser.tab.c"
+#line 5391 "tools/widl/parser.tab.c"
     break;
 
   case 339: /* runtimeclass: tRUNTIMECLASS typename  */
 #line 969 "tools/widl/parser.y"
                                                 { (yyval.type) = type_runtimeclass_declare((yyvsp[0].str), current_namespace); }
-#line 5385 "tools/widl/parser.tab.c"
+#line 5397 "tools/widl/parser.tab.c"
     break;
 
   case 340: /* runtimeclass_def: attributes runtimeclass '{' class_interfaces '}' semicolon_opt  */
 #line 973 "tools/widl/parser.y"
                                                 { (yyval.type) = type_runtimeclass_define((yyvsp[-4].type), (yyvsp[-5].attr_list), (yyvsp[-2].typeref_list)); }
-#line 5391 "tools/widl/parser.tab.c"
+#line 5403 "tools/widl/parser.tab.c"
     break;
 
   case 341: /* apicontract: tAPICONTRACT typename  */
 #line 976 "tools/widl/parser.y"
                                                 { (yyval.type) = type_apicontract_declare((yyvsp[0].str), current_namespace); }
-#line 5397 "tools/widl/parser.tab.c"
+#line 5409 "tools/widl/parser.tab.c"
     break;
 
   case 342: /* apicontract_def: attributes apicontract '{' '}' semicolon_opt  */
 #line 980 "tools/widl/parser.y"
                                                 { (yyval.type) = type_apicontract_define((yyvsp[-3].type), (yyvsp[-4].attr_list)); }
-#line 5403 "tools/widl/parser.tab.c"
+#line 5415 "tools/widl/parser.tab.c"
     break;
 
   case 343: /* namespacedef: tNAMESPACE aIDENTIFIER  */
 #line 983 "tools/widl/parser.y"
                                                 { (yyval.str) = (yyvsp[0].str); }
-#line 5409 "tools/widl/parser.tab.c"
+#line 5421 "tools/widl/parser.tab.c"
     break;
 
   case 344: /* class_interfaces: %empty  */
 #line 986 "tools/widl/parser.y"
                                                 { (yyval.typeref_list) = NULL; }
-#line 5415 "tools/widl/parser.tab.c"
+#line 5427 "tools/widl/parser.tab.c"
     break;
 
   case 345: /* class_interfaces: class_interfaces class_interface  */
 #line 987 "tools/widl/parser.y"
                                                 { (yyval.typeref_list) = append_typeref( (yyvsp[-1].typeref_list), (yyvsp[0].typeref) ); }
-#line 5421 "tools/widl/parser.tab.c"
+#line 5433 "tools/widl/parser.tab.c"
     break;
 
   case 346: /* class_interface: m_attributes interfaceref ';'  */
 #line 991 "tools/widl/parser.y"
                                                 { (yyval.typeref) = make_typeref((yyvsp[-1].type)); (yyval.typeref)->attrs = (yyvsp[-2].attr_list); }
-#line 5427 "tools/widl/parser.tab.c"
+#line 5439 "tools/widl/parser.tab.c"
     break;
 
   case 347: /* class_interface: m_attributes dispinterfaceref ';'  */
 #line 992 "tools/widl/parser.y"
                                                 { (yyval.typeref) = make_typeref((yyvsp[-1].type)); (yyval.typeref)->attrs = (yyvsp[-2].attr_list); }
-#line 5433 "tools/widl/parser.tab.c"
+#line 5445 "tools/widl/parser.tab.c"
     break;
 
   case 348: /* dispinterface: tDISPINTERFACE typename  */
 #line 995 "tools/widl/parser.y"
                                                 { (yyval.type) = type_dispinterface_declare((yyvsp[0].str)); }
-#line 5439 "tools/widl/parser.tab.c"
+#line 5451 "tools/widl/parser.tab.c"
     break;
 
   case 349: /* dispattributes: attributes  */
 #line 998 "tools/widl/parser.y"
                                                 { (yyval.attr_list) = append_attr((yyvsp[0].attr_list), make_attr(ATTR_DISPINTERFACE)); }
-#line 5445 "tools/widl/parser.tab.c"
+#line 5457 "tools/widl/parser.tab.c"
     break;
 
   case 350: /* dispint_props: tPROPERTIES ':'  */
 #line 1001 "tools/widl/parser.y"
                                                 { (yyval.var_list) = NULL; }
-#line 5451 "tools/widl/parser.tab.c"
+#line 5463 "tools/widl/parser.tab.c"
     break;
 
   case 351: /* dispint_props: dispint_props s_field ';'  */
 #line 1002 "tools/widl/parser.y"
                                                 { (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[-1].var) ); }
-#line 5457 "tools/widl/parser.tab.c"
+#line 5469 "tools/widl/parser.tab.c"
     break;
 
   case 352: /* dispint_meths: tMETHODS ':'  */
 #line 1005 "tools/widl/parser.y"
                                                 { (yyval.var_list) = NULL; }
-#line 5463 "tools/widl/parser.tab.c"
+#line 5475 "tools/widl/parser.tab.c"
     break;
 
   case 353: /* dispint_meths: dispint_meths funcdef ';'  */
 #line 1006 "tools/widl/parser.y"
                                                 { (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[-1].var) ); }
-#line 5469 "tools/widl/parser.tab.c"
+#line 5481 "tools/widl/parser.tab.c"
     break;
 
   case 354: /* dispinterfacedef: dispattributes dispinterface '{' dispint_props dispint_meths '}'  */
 #line 1011 "tools/widl/parser.y"
                                                 { (yyval.type) = type_dispinterface_define((yyvsp[-4].type), (yyvsp[-5].attr_list), (yyvsp[-2].var_list), (yyvsp[-1].var_list)); }
-#line 5475 "tools/widl/parser.tab.c"
+#line 5487 "tools/widl/parser.tab.c"
     break;
 
   case 355: /* dispinterfacedef: dispattributes dispinterface '{' interface ';' '}'  */
 #line 1013 "tools/widl/parser.y"
                                                 { (yyval.type) = type_dispinterface_define_from_iface((yyvsp[-4].type), (yyvsp[-5].attr_list), (yyvsp[-2].type)); }
-#line 5481 "tools/widl/parser.tab.c"
+#line 5493 "tools/widl/parser.tab.c"
     break;
 
   case 356: /* inherit: %empty  */
 #line 1016 "tools/widl/parser.y"
                                                 { (yyval.type) = NULL; }
-#line 5487 "tools/widl/parser.tab.c"
+#line 5499 "tools/widl/parser.tab.c"
     break;
 
   case 357: /* inherit: ':' qualified_type  */
 #line 1017 "tools/widl/parser.y"
                                                 { (yyval.type) = (yyvsp[0].type); }
-#line 5493 "tools/widl/parser.tab.c"
+#line 5505 "tools/widl/parser.tab.c"
     break;
 
   case 358: /* inherit: ':' parameterized_type  */
 #line 1018 "tools/widl/parser.y"
                                                 { (yyval.type) = (yyvsp[0].type); }
-#line 5499 "tools/widl/parser.tab.c"
+#line 5511 "tools/widl/parser.tab.c"
     break;
 
   case 359: /* type_parameter: typename  */
 #line 1021 "tools/widl/parser.y"
                                                 { (yyval.type) = get_type(TYPE_PARAMETER, (yyvsp[0].str), parameters_namespace, 0); }
-#line 5505 "tools/widl/parser.tab.c"
+#line 5517 "tools/widl/parser.tab.c"
     break;
 
   case 360: /* type_parameters: type_parameter  */
 #line 1025 "tools/widl/parser.y"
                                                 { (yyval.typeref_list) = append_typeref(NULL, make_typeref((yyvsp[0].type))); }
-#line 5511 "tools/widl/parser.tab.c"
+#line 5523 "tools/widl/parser.tab.c"
     break;
 
   case 361: /* type_parameters: type_parameters ',' type_parameter  */
 #line 1026 "tools/widl/parser.y"
                                                 { (yyval.typeref_list) = append_typeref((yyvsp[-2].typeref_list), make_typeref((yyvsp[0].type))); }
-#line 5517 "tools/widl/parser.tab.c"
+#line 5529 "tools/widl/parser.tab.c"
     break;
 
   case 362: /* interface: tINTERFACE typename  */
 #line 1030 "tools/widl/parser.y"
                                                 { (yyval.type) = type_interface_declare((yyvsp[0].str), current_namespace); }
-#line 5523 "tools/widl/parser.tab.c"
+#line 5535 "tools/widl/parser.tab.c"
     break;
 
   case 363: /* $@3: %empty  */
 #line 1031 "tools/widl/parser.y"
                                   { push_parameters_namespace((yyvsp[-1].str)); }
-#line 5529 "tools/widl/parser.tab.c"
+#line 5541 "tools/widl/parser.tab.c"
     break;
 
   case 364: /* $@4: %empty  */
 #line 1031 "tools/widl/parser.y"
                                                                                      { pop_parameters_namespace((yyvsp[-3].str)); }
-#line 5535 "tools/widl/parser.tab.c"
+#line 5547 "tools/widl/parser.tab.c"
     break;
 
   case 365: /* interface: tINTERFACE typename '<' $@3 type_parameters $@4 '>'  */
 #line 1032 "tools/widl/parser.y"
                                                 { (yyval.type) = type_parameterized_interface_declare((yyvsp[-5].str), current_namespace, (yyvsp[-2].typeref_list)); }
-#line 5541 "tools/widl/parser.tab.c"
+#line 5553 "tools/widl/parser.tab.c"
     break;
 
   case 366: /* delegatedef: m_attributes tDELEGATE type ident '(' m_args ')' semicolon_opt  */
@@ -5545,19 +5557,19 @@
                                                 { (yyval.type) = type_delegate_declare((yyvsp[-4].var)->name, current_namespace);
 						  (yyval.type) = type_delegate_define((yyval.type), (yyvsp[-7].attr_list), append_statement(NULL, make_statement_delegate((yyvsp[-5].type), (yyvsp[-2].var_list))));
 						}
-#line 5549 "tools/widl/parser.tab.c"
+#line 5561 "tools/widl/parser.tab.c"
     break;
 
   case 367: /* $@5: %empty  */
 #line 1040 "tools/widl/parser.y"
               { push_parameters_namespace((yyvsp[-1].var)->name); }
-#line 5555 "tools/widl/parser.tab.c"
+#line 5567 "tools/widl/parser.tab.c"
     break;
 
   case 368: /* $@6: %empty  */
 #line 1041 "tools/widl/parser.y"
                          { pop_parameters_namespace((yyvsp[-7].var)->name); }
-#line 5561 "tools/widl/parser.tab.c"
+#line 5573 "tools/widl/parser.tab.c"
     break;
 
   case 369: /* delegatedef: m_attributes tDELEGATE type ident '<' $@5 type_parameters '>' '(' m_args ')' $@6 semicolon_opt  */
@@ -5565,49 +5577,49 @@
                                                 { (yyval.type) = type_parameterized_delegate_declare((yyvsp[-9].var)->name, current_namespace, (yyvsp[-6].typeref_list));
 						  (yyval.type) = type_parameterized_delegate_define((yyval.type), (yyvsp[-12].attr_list), append_statement(NULL, make_statement_delegate((yyvsp[-10].type), (yyvsp[-3].var_list))));
 						}
-#line 5569 "tools/widl/parser.tab.c"
+#line 5581 "tools/widl/parser.tab.c"
     break;
 
   case 370: /* required_types: qualified_type  */
 #line 1048 "tools/widl/parser.y"
                                                 { (yyval.typeref_list) = append_typeref(NULL, make_typeref((yyvsp[0].type))); }
-#line 5575 "tools/widl/parser.tab.c"
+#line 5587 "tools/widl/parser.tab.c"
     break;
 
   case 371: /* required_types: parameterized_type  */
 #line 1049 "tools/widl/parser.y"
                                                 { (yyval.typeref_list) = append_typeref(NULL, make_typeref((yyvsp[0].type))); }
-#line 5581 "tools/widl/parser.tab.c"
+#line 5593 "tools/widl/parser.tab.c"
     break;
 
   case 372: /* required_types: required_types ',' qualified_type  */
 #line 1050 "tools/widl/parser.y"
                                                 { (yyval.typeref_list) = append_typeref((yyvsp[-2].typeref_list), make_typeref((yyvsp[0].type))); }
-#line 5587 "tools/widl/parser.tab.c"
+#line 5599 "tools/widl/parser.tab.c"
     break;
 
   case 373: /* required_types: required_types ',' parameterized_type  */
 #line 1051 "tools/widl/parser.y"
                                                 { (yyval.typeref_list) = append_typeref((yyvsp[-2].typeref_list), make_typeref((yyvsp[0].type))); }
-#line 5593 "tools/widl/parser.tab.c"
+#line 5605 "tools/widl/parser.tab.c"
     break;
 
   case 374: /* requires: %empty  */
 #line 1053 "tools/widl/parser.y"
                                                 { (yyval.typeref_list) = NULL; }
-#line 5599 "tools/widl/parser.tab.c"
+#line 5611 "tools/widl/parser.tab.c"
     break;
 
   case 375: /* requires: tREQUIRES required_types  */
 #line 1054 "tools/widl/parser.y"
                                                 { (yyval.typeref_list) = (yyvsp[0].typeref_list); }
-#line 5605 "tools/widl/parser.tab.c"
+#line 5617 "tools/widl/parser.tab.c"
     break;
 
   case 376: /* $@7: %empty  */
 #line 1057 "tools/widl/parser.y"
                                                 { if ((yyvsp[0].type)->type_type == TYPE_PARAMETERIZED_TYPE) push_parameters_namespace((yyvsp[0].type)->name); }
-#line 5611 "tools/widl/parser.tab.c"
+#line 5623 "tools/widl/parser.tab.c"
     break;
 
   case 377: /* interfacedef: attributes interface $@7 inherit requires '{' int_statements '}' semicolon_opt  */
@@ -5623,217 +5635,217 @@
 						      check_async_uuid((yyval.type));
 						  }
 						}
-#line 5627 "tools/widl/parser.tab.c"
+#line 5639 "tools/widl/parser.tab.c"
     break;
 
   case 378: /* interfacedef: dispinterfacedef semicolon_opt  */
 #line 1070 "tools/widl/parser.y"
                                                 { (yyval.type) = (yyvsp[-1].type); }
-#line 5633 "tools/widl/parser.tab.c"
+#line 5645 "tools/widl/parser.tab.c"
     break;
 
   case 379: /* interfaceref: tINTERFACE typename  */
 #line 1074 "tools/widl/parser.y"
                                                 { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), current_namespace, 0); }
-#line 5639 "tools/widl/parser.tab.c"
+#line 5651 "tools/widl/parser.tab.c"
     break;
 
   case 380: /* interfaceref: tINTERFACE namespace_pfx typename  */
 #line 1075 "tools/widl/parser.y"
                                                 { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), (yyvsp[-1].namespace), 0); }
-#line 5645 "tools/widl/parser.tab.c"
+#line 5657 "tools/widl/parser.tab.c"
     break;
 
   case 381: /* dispinterfaceref: tDISPINTERFACE typename  */
 #line 1079 "tools/widl/parser.y"
                                                 { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), current_namespace, 0); }
-#line 5651 "tools/widl/parser.tab.c"
+#line 5663 "tools/widl/parser.tab.c"
     break;
 
   case 382: /* module: tMODULE typename  */
 #line 1082 "tools/widl/parser.y"
                                                 { (yyval.type) = type_module_declare((yyvsp[0].str)); }
-#line 5657 "tools/widl/parser.tab.c"
+#line 5669 "tools/widl/parser.tab.c"
     break;
 
   case 383: /* moduledef: attributes module '{' int_statements '}' semicolon_opt  */
 #line 1086 "tools/widl/parser.y"
                                                 { (yyval.type) = type_module_define((yyvsp[-4].type), (yyvsp[-5].attr_list), (yyvsp[-2].stmt_list)); }
-#line 5663 "tools/widl/parser.tab.c"
+#line 5675 "tools/widl/parser.tab.c"
     break;
 
   case 384: /* storage_cls_spec: tEXTERN  */
 #line 1090 "tools/widl/parser.y"
                                                 { (yyval.stgclass) = STG_EXTERN; }
-#line 5669 "tools/widl/parser.tab.c"
+#line 5681 "tools/widl/parser.tab.c"
     break;
 
   case 385: /* storage_cls_spec: tSTATIC  */
 #line 1091 "tools/widl/parser.y"
                                                 { (yyval.stgclass) = STG_STATIC; }
-#line 5675 "tools/widl/parser.tab.c"
+#line 5687 "tools/widl/parser.tab.c"
     break;
 
   case 386: /* storage_cls_spec: tREGISTER  */
 #line 1092 "tools/widl/parser.y"
                                                 { (yyval.stgclass) = STG_REGISTER; }
-#line 5681 "tools/widl/parser.tab.c"
+#line 5693 "tools/widl/parser.tab.c"
     break;
 
   case 387: /* function_specifier: tINLINE  */
 #line 1096 "tools/widl/parser.y"
                                                 { (yyval.function_specifier) = FUNCTION_SPECIFIER_INLINE; }
-#line 5687 "tools/widl/parser.tab.c"
+#line 5699 "tools/widl/parser.tab.c"
     break;
 
   case 388: /* type_qualifier: tCONST  */
 #line 1100 "tools/widl/parser.y"
                                                 { (yyval.type_qualifier) = TYPE_QUALIFIER_CONST; }
-#line 5693 "tools/widl/parser.tab.c"
+#line 5705 "tools/widl/parser.tab.c"
     break;
 
   case 389: /* m_type_qual_list: %empty  */
 #line 1103 "tools/widl/parser.y"
                                                 { (yyval.type_qualifier) = 0; }
-#line 5699 "tools/widl/parser.tab.c"
+#line 5711 "tools/widl/parser.tab.c"
     break;
 
   case 390: /* m_type_qual_list: m_type_qual_list type_qualifier  */
 #line 1104 "tools/widl/parser.y"
                                                 { (yyval.type_qualifier) = (yyvsp[-1].type_qualifier) | (yyvsp[0].type_qualifier); }
-#line 5705 "tools/widl/parser.tab.c"
+#line 5717 "tools/widl/parser.tab.c"
     break;
 
   case 391: /* decl_spec: type m_decl_spec_no_type  */
 #line 1107 "tools/widl/parser.y"
                                                 { (yyval.declspec) = make_decl_spec((yyvsp[-1].type), (yyvsp[0].declspec), NULL, STG_NONE, 0, 0); }
-#line 5711 "tools/widl/parser.tab.c"
+#line 5723 "tools/widl/parser.tab.c"
     break;
 
   case 392: /* decl_spec: decl_spec_no_type type m_decl_spec_no_type  */
 #line 1109 "tools/widl/parser.y"
                                                 { (yyval.declspec) = make_decl_spec((yyvsp[-1].type), (yyvsp[-2].declspec), (yyvsp[0].declspec), STG_NONE, 0, 0); }
-#line 5717 "tools/widl/parser.tab.c"
+#line 5729 "tools/widl/parser.tab.c"
     break;
 
   case 393: /* unqualified_decl_spec: unqualified_type m_decl_spec_no_type  */
 #line 1113 "tools/widl/parser.y"
                                                 { (yyval.declspec) = make_decl_spec((yyvsp[-1].type), (yyvsp[0].declspec), NULL, STG_NONE, 0, 0); }
-#line 5723 "tools/widl/parser.tab.c"
+#line 5735 "tools/widl/parser.tab.c"
     break;
 
   case 394: /* unqualified_decl_spec: decl_spec_no_type unqualified_type m_decl_spec_no_type  */
 #line 1115 "tools/widl/parser.y"
                                                 { (yyval.declspec) = make_decl_spec((yyvsp[-1].type), (yyvsp[-2].declspec), (yyvsp[0].declspec), STG_NONE, 0, 0); }
-#line 5729 "tools/widl/parser.tab.c"
+#line 5741 "tools/widl/parser.tab.c"
     break;
 
   case 395: /* m_decl_spec_no_type: %empty  */
 #line 1118 "tools/widl/parser.y"
                                                 { (yyval.declspec) = NULL; }
-#line 5735 "tools/widl/parser.tab.c"
+#line 5747 "tools/widl/parser.tab.c"
     break;
 
   case 397: /* decl_spec_no_type: type_qualifier m_decl_spec_no_type  */
 #line 1123 "tools/widl/parser.y"
                                                 { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, STG_NONE, (yyvsp[-1].type_qualifier), 0); }
-#line 5741 "tools/widl/parser.tab.c"
+#line 5753 "tools/widl/parser.tab.c"
     break;
 
   case 398: /* decl_spec_no_type: function_specifier m_decl_spec_no_type  */
 #line 1124 "tools/widl/parser.y"
                                                   { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, STG_NONE, 0, (yyvsp[-1].function_specifier)); }
-#line 5747 "tools/widl/parser.tab.c"
+#line 5759 "tools/widl/parser.tab.c"
     break;
 
   case 399: /* decl_spec_no_type: storage_cls_spec m_decl_spec_no_type  */
 #line 1125 "tools/widl/parser.y"
                                                 { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, (yyvsp[-1].stgclass), 0, 0); }
-#line 5753 "tools/widl/parser.tab.c"
+#line 5765 "tools/widl/parser.tab.c"
     break;
 
   case 400: /* declarator: '*' m_type_qual_list declarator  */
 #line 1130 "tools/widl/parser.y"
                                                 { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); }
-#line 5759 "tools/widl/parser.tab.c"
+#line 5771 "tools/widl/parser.tab.c"
     break;
 
   case 401: /* declarator: callconv declarator  */
 #line 1131 "tools/widl/parser.y"
                                                 { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv((yyval.declarator)->type, (yyvsp[-1].str)); }
-#line 5765 "tools/widl/parser.tab.c"
+#line 5777 "tools/widl/parser.tab.c"
     break;
 
   case 403: /* direct_declarator: ident  */
 #line 1136 "tools/widl/parser.y"
                                                 { (yyval.declarator) = make_declarator((yyvsp[0].var)); }
-#line 5771 "tools/widl/parser.tab.c"
+#line 5783 "tools/widl/parser.tab.c"
     break;
 
   case 404: /* direct_declarator: '(' declarator ')'  */
 #line 1137 "tools/widl/parser.y"
                                                 { (yyval.declarator) = (yyvsp[-1].declarator); }
-#line 5777 "tools/widl/parser.tab.c"
+#line 5789 "tools/widl/parser.tab.c"
     break;
 
   case 405: /* direct_declarator: direct_declarator array  */
 #line 1138 "tools/widl/parser.y"
                                                 { (yyval.declarator) = (yyvsp[-1].declarator); append_array((yyval.declarator), (yyvsp[0].expr)); }
-#line 5783 "tools/widl/parser.tab.c"
+#line 5795 "tools/widl/parser.tab.c"
     break;
 
   case 406: /* direct_declarator: direct_declarator '(' m_args ')'  */
 #line 1139 "tools/widl/parser.y"
                                                 { (yyval.declarator) = (yyvsp[-3].declarator); append_chain_type((yyval.declarator), type_new_function((yyvsp[-1].var_list)), 0); }
-#line 5789 "tools/widl/parser.tab.c"
+#line 5801 "tools/widl/parser.tab.c"
     break;
 
   case 407: /* abstract_declarator: '*' m_type_qual_list m_abstract_declarator  */
 #line 1145 "tools/widl/parser.y"
                                                 { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); }
-#line 5795 "tools/widl/parser.tab.c"
+#line 5807 "tools/widl/parser.tab.c"
     break;
 
   case 408: /* abstract_declarator: callconv m_abstract_declarator  */
 #line 1146 "tools/widl/parser.y"
                                                 { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv((yyval.declarator)->type, (yyvsp[-1].str)); }
-#line 5801 "tools/widl/parser.tab.c"
+#line 5813 "tools/widl/parser.tab.c"
     break;
 
   case 410: /* abstract_declarator_no_direct: '*' m_type_qual_list m_any_declarator  */
 #line 1153 "tools/widl/parser.y"
                                                 { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); }
-#line 5807 "tools/widl/parser.tab.c"
+#line 5819 "tools/widl/parser.tab.c"
     break;
 
   case 411: /* abstract_declarator_no_direct: callconv m_any_declarator  */
 #line 1154 "tools/widl/parser.y"
                                                 { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv((yyval.declarator)->type, (yyvsp[-1].str)); }
-#line 5813 "tools/widl/parser.tab.c"
+#line 5825 "tools/widl/parser.tab.c"
     break;
 
   case 412: /* m_abstract_declarator: %empty  */
 #line 1158 "tools/widl/parser.y"
                                                 { (yyval.declarator) = make_declarator(NULL); }
-#line 5819 "tools/widl/parser.tab.c"
+#line 5831 "tools/widl/parser.tab.c"
     break;
 
   case 414: /* abstract_direct_declarator: '(' abstract_declarator_no_direct ')'  */
 #line 1164 "tools/widl/parser.y"
                                                 { (yyval.declarator) = (yyvsp[-1].declarator); }
-#line 5825 "tools/widl/parser.tab.c"
+#line 5837 "tools/widl/parser.tab.c"
     break;
 
   case 415: /* abstract_direct_declarator: abstract_direct_declarator array  */
 #line 1165 "tools/widl/parser.y"
                                                 { (yyval.declarator) = (yyvsp[-1].declarator); append_array((yyval.declarator), (yyvsp[0].expr)); }
-#line 5831 "tools/widl/parser.tab.c"
+#line 5843 "tools/widl/parser.tab.c"
     break;
 
   case 416: /* abstract_direct_declarator: array  */
 #line 1166 "tools/widl/parser.y"
                                                 { (yyval.declarator) = make_declarator(NULL); append_array((yyval.declarator), (yyvsp[0].expr)); }
-#line 5837 "tools/widl/parser.tab.c"
+#line 5849 "tools/widl/parser.tab.c"
     break;
 
   case 417: /* abstract_direct_declarator: '(' m_args ')'  */
@@ -5841,7 +5853,7 @@
                                                 { (yyval.declarator) = make_declarator(NULL);
 						  append_chain_type((yyval.declarator), type_new_function((yyvsp[-1].var_list)), 0);
 						}
-#line 5845 "tools/widl/parser.tab.c"
+#line 5857 "tools/widl/parser.tab.c"
     break;
 
   case 418: /* abstract_direct_declarator: abstract_direct_declarator '(' m_args ')'  */
@@ -5849,61 +5861,61 @@
                                                 { (yyval.declarator) = (yyvsp[-3].declarator);
 						  append_chain_type((yyval.declarator), type_new_function((yyvsp[-1].var_list)), 0);
 						}
-#line 5853 "tools/widl/parser.tab.c"
+#line 5865 "tools/widl/parser.tab.c"
     break;
 
   case 419: /* any_declarator: '*' m_type_qual_list m_any_declarator  */
 #line 1180 "tools/widl/parser.y"
                                                 { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); }
-#line 5859 "tools/widl/parser.tab.c"
+#line 5871 "tools/widl/parser.tab.c"
     break;
 
   case 420: /* any_declarator: callconv m_any_declarator  */
 #line 1181 "tools/widl/parser.y"
                                                 { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv((yyval.declarator)->type, (yyvsp[-1].str)); }
-#line 5865 "tools/widl/parser.tab.c"
+#line 5877 "tools/widl/parser.tab.c"
     break;
 
   case 422: /* any_declarator_no_direct: '*' m_type_qual_list m_any_declarator  */
 #line 1188 "tools/widl/parser.y"
                                                 { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); }
-#line 5871 "tools/widl/parser.tab.c"
+#line 5883 "tools/widl/parser.tab.c"
     break;
 
   case 423: /* any_declarator_no_direct: callconv m_any_declarator  */
 #line 1189 "tools/widl/parser.y"
                                                 { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv((yyval.declarator)->type, (yyvsp[-1].str)); }
-#line 5877 "tools/widl/parser.tab.c"
+#line 5889 "tools/widl/parser.tab.c"
     break;
 
   case 424: /* m_any_declarator: %empty  */
 #line 1193 "tools/widl/parser.y"
                                                 { (yyval.declarator) = make_declarator(NULL); }
-#line 5883 "tools/widl/parser.tab.c"
+#line 5895 "tools/widl/parser.tab.c"
     break;
 
   case 426: /* any_direct_declarator: ident  */
 #line 1201 "tools/widl/parser.y"
                                                 { (yyval.declarator) = make_declarator((yyvsp[0].var)); }
-#line 5889 "tools/widl/parser.tab.c"
+#line 5901 "tools/widl/parser.tab.c"
     break;
 
   case 427: /* any_direct_declarator: '(' any_declarator_no_direct ')'  */
 #line 1202 "tools/widl/parser.y"
                                                 { (yyval.declarator) = (yyvsp[-1].declarator); }
-#line 5895 "tools/widl/parser.tab.c"
+#line 5907 "tools/widl/parser.tab.c"
     break;
 
   case 428: /* any_direct_declarator: any_direct_declarator array  */
 #line 1203 "tools/widl/parser.y"
                                                 { (yyval.declarator) = (yyvsp[-1].declarator); append_array((yyval.declarator), (yyvsp[0].expr)); }
-#line 5901 "tools/widl/parser.tab.c"
+#line 5913 "tools/widl/parser.tab.c"
     break;
 
   case 429: /* any_direct_declarator: array  */
 #line 1204 "tools/widl/parser.y"
                                                 { (yyval.declarator) = make_declarator(NULL); append_array((yyval.declarator), (yyvsp[0].expr)); }
-#line 5907 "tools/widl/parser.tab.c"
+#line 5919 "tools/widl/parser.tab.c"
     break;
 
   case 430: /* any_direct_declarator: '(' m_args ')'  */
@@ -5911,7 +5923,7 @@
                                                 { (yyval.declarator) = make_declarator(NULL);
 						  append_chain_type((yyval.declarator), type_new_function((yyvsp[-1].var_list)), 0);
 						}
-#line 5915 "tools/widl/parser.tab.c"
+#line 5927 "tools/widl/parser.tab.c"
     break;
 
   case 431: /* any_direct_declarator: any_direct_declarator '(' m_args ')'  */
@@ -5919,31 +5931,31 @@
                                                 { (yyval.declarator) = (yyvsp[-3].declarator);
 						  append_chain_type((yyval.declarator), type_new_function((yyvsp[-1].var_list)), 0);
 						}
-#line 5923 "tools/widl/parser.tab.c"
+#line 5935 "tools/widl/parser.tab.c"
     break;
 
   case 432: /* declarator_list: declarator  */
 #line 1216 "tools/widl/parser.y"
                                                 { (yyval.declarator_list) = append_declarator( NULL, (yyvsp[0].declarator) ); }
-#line 5929 "tools/widl/parser.tab.c"
+#line 5941 "tools/widl/parser.tab.c"
     break;
 
   case 433: /* declarator_list: declarator_list ',' declarator  */
 #line 1217 "tools/widl/parser.y"
                                                 { (yyval.declarator_list) = append_declarator( (yyvsp[-2].declarator_list), (yyvsp[0].declarator) ); }
-#line 5935 "tools/widl/parser.tab.c"
+#line 5947 "tools/widl/parser.tab.c"
     break;
 
   case 434: /* m_bitfield: %empty  */
 #line 1220 "tools/widl/parser.y"
                                                 { (yyval.expr) = NULL; }
-#line 5941 "tools/widl/parser.tab.c"
+#line 5953 "tools/widl/parser.tab.c"
     break;
 
   case 435: /* m_bitfield: ':' expr_const  */
 #line 1221 "tools/widl/parser.y"
                                                 { (yyval.expr) = (yyvsp[0].expr); }
-#line 5947 "tools/widl/parser.tab.c"
+#line 5959 "tools/widl/parser.tab.c"
     break;
 
   case 436: /* struct_declarator: any_declarator m_bitfield  */
@@ -5952,163 +5964,163 @@
 						  if (!(yyval.declarator)->bits && !(yyval.declarator)->var->name)
 						    error_loc("unnamed fields are not allowed\n");
 						}
-#line 5956 "tools/widl/parser.tab.c"
+#line 5968 "tools/widl/parser.tab.c"
     break;
 
   case 437: /* struct_declarator_list: struct_declarator  */
 #line 1231 "tools/widl/parser.y"
                                                 { (yyval.declarator_list) = append_declarator( NULL, (yyvsp[0].declarator) ); }
-#line 5962 "tools/widl/parser.tab.c"
+#line 5974 "tools/widl/parser.tab.c"
     break;
 
   case 438: /* struct_declarator_list: struct_declarator_list ',' struct_declarator  */
 #line 1233 "tools/widl/parser.y"
                                                 { (yyval.declarator_list) = append_declarator( (yyvsp[-2].declarator_list), (yyvsp[0].declarator) ); }
-#line 5968 "tools/widl/parser.tab.c"
+#line 5980 "tools/widl/parser.tab.c"
     break;
 
   case 439: /* init_declarator: declarator  */
 #line 1237 "tools/widl/parser.y"
                                                 { (yyval.declarator) = (yyvsp[0].declarator); }
-#line 5974 "tools/widl/parser.tab.c"
+#line 5986 "tools/widl/parser.tab.c"
     break;
 
   case 440: /* init_declarator: declarator '=' expr_const  */
 #line 1238 "tools/widl/parser.y"
                                                 { (yyval.declarator) = (yyvsp[-2].declarator); (yyvsp[-2].declarator)->var->eval = (yyvsp[0].expr); }
-#line 5980 "tools/widl/parser.tab.c"
+#line 5992 "tools/widl/parser.tab.c"
     break;
 
   case 441: /* threading_type: tAPARTMENT  */
 #line 1242 "tools/widl/parser.y"
                                                 { (yyval.num) = THREADING_APARTMENT; }
-#line 5986 "tools/widl/parser.tab.c"
+#line 5998 "tools/widl/parser.tab.c"
     break;
 
   case 442: /* threading_type: tNEUTRAL  */
 #line 1243 "tools/widl/parser.y"
                                                 { (yyval.num) = THREADING_NEUTRAL; }
-#line 5992 "tools/widl/parser.tab.c"
+#line 6004 "tools/widl/parser.tab.c"
     break;
 
   case 443: /* threading_type: tSINGLE  */
 #line 1244 "tools/widl/parser.y"
                                                 { (yyval.num) = THREADING_SINGLE; }
-#line 5998 "tools/widl/parser.tab.c"
+#line 6010 "tools/widl/parser.tab.c"
     break;
 
   case 444: /* threading_type: tFREE  */
 #line 1245 "tools/widl/parser.y"
                                                 { (yyval.num) = THREADING_FREE; }
-#line 6004 "tools/widl/parser.tab.c"
+#line 6016 "tools/widl/parser.tab.c"
     break;
 
   case 445: /* threading_type: tBOTH  */
 #line 1246 "tools/widl/parser.y"
                                                 { (yyval.num) = THREADING_BOTH; }
-#line 6010 "tools/widl/parser.tab.c"
+#line 6022 "tools/widl/parser.tab.c"
     break;
 
   case 446: /* threading_type: tMTA  */
 #line 1247 "tools/widl/parser.y"
                                                 { (yyval.num) = THREADING_FREE; }
-#line 6016 "tools/widl/parser.tab.c"
+#line 6028 "tools/widl/parser.tab.c"
     break;
 
   case 447: /* pointer_type: tREF  */
 #line 1251 "tools/widl/parser.y"
                                                 { (yyval.num) = FC_RP; }
-#line 6022 "tools/widl/parser.tab.c"
+#line 6034 "tools/widl/parser.tab.c"
     break;
 
   case 448: /* pointer_type: tUNIQUE  */
 #line 1252 "tools/widl/parser.y"
                                                 { (yyval.num) = FC_UP; }
-#line 6028 "tools/widl/parser.tab.c"
+#line 6040 "tools/widl/parser.tab.c"
     break;
 
   case 449: /* pointer_type: tPTR  */
 #line 1253 "tools/widl/parser.y"
                                                 { (yyval.num) = FC_FP; }
-#line 6034 "tools/widl/parser.tab.c"
+#line 6046 "tools/widl/parser.tab.c"
     break;
 
   case 450: /* structdef: tSTRUCT m_typename '{' fields '}'  */
 #line 1256 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_struct((yyvsp[-3].str), current_namespace, TRUE, (yyvsp[-1].var_list)); }
-#line 6040 "tools/widl/parser.tab.c"
+#line 6052 "tools/widl/parser.tab.c"
     break;
 
   case 451: /* unqualified_type: tVOID  */
 #line 1260 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_void(); }
-#line 6046 "tools/widl/parser.tab.c"
+#line 6058 "tools/widl/parser.tab.c"
     break;
 
   case 452: /* unqualified_type: base_type  */
 #line 1261 "tools/widl/parser.y"
                                                 { (yyval.type) = (yyvsp[0].type); }
-#line 6052 "tools/widl/parser.tab.c"
+#line 6064 "tools/widl/parser.tab.c"
     break;
 
   case 453: /* unqualified_type: enumdef  */
 #line 1262 "tools/widl/parser.y"
                                                 { (yyval.type) = (yyvsp[0].type); }
-#line 6058 "tools/widl/parser.tab.c"
+#line 6070 "tools/widl/parser.tab.c"
     break;
 
   case 454: /* unqualified_type: tENUM aIDENTIFIER  */
 #line 1263 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_enum((yyvsp[0].str), current_namespace, FALSE, NULL); }
-#line 6064 "tools/widl/parser.tab.c"
+#line 6076 "tools/widl/parser.tab.c"
     break;
 
   case 455: /* unqualified_type: structdef  */
 #line 1264 "tools/widl/parser.y"
                                                 { (yyval.type) = (yyvsp[0].type); }
-#line 6070 "tools/widl/parser.tab.c"
+#line 6082 "tools/widl/parser.tab.c"
     break;
 
   case 456: /* unqualified_type: tSTRUCT aIDENTIFIER  */
 #line 1265 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_struct((yyvsp[0].str), current_namespace, FALSE, NULL); }
-#line 6076 "tools/widl/parser.tab.c"
+#line 6088 "tools/widl/parser.tab.c"
     break;
 
   case 457: /* unqualified_type: uniondef  */
 #line 1266 "tools/widl/parser.y"
                                                 { (yyval.type) = (yyvsp[0].type); }
-#line 6082 "tools/widl/parser.tab.c"
+#line 6094 "tools/widl/parser.tab.c"
     break;
 
   case 458: /* unqualified_type: tUNION aIDENTIFIER  */
 #line 1267 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_nonencapsulated_union((yyvsp[0].str), FALSE, NULL); }
-#line 6088 "tools/widl/parser.tab.c"
+#line 6100 "tools/widl/parser.tab.c"
     break;
 
   case 459: /* unqualified_type: tSAFEARRAY '(' type ')'  */
 #line 1268 "tools/widl/parser.y"
                                                 { (yyval.type) = make_safearray((yyvsp[-1].type)); }
-#line 6094 "tools/widl/parser.tab.c"
+#line 6106 "tools/widl/parser.tab.c"
     break;
 
   case 460: /* unqualified_type: aKNOWNTYPE  */
 #line 1269 "tools/widl/parser.y"
                                                 { (yyval.type) = find_type_or_error(current_namespace, (yyvsp[0].str)); }
-#line 6100 "tools/widl/parser.tab.c"
+#line 6112 "tools/widl/parser.tab.c"
     break;
 
   case 462: /* type: namespace_pfx typename  */
 #line 1274 "tools/widl/parser.y"
                                                 { (yyval.type) = find_type_or_error((yyvsp[-1].namespace), (yyvsp[0].str)); }
-#line 6106 "tools/widl/parser.tab.c"
+#line 6118 "tools/widl/parser.tab.c"
     break;
 
   case 463: /* type: parameterized_type  */
 #line 1275 "tools/widl/parser.y"
                                                 { (yyval.type) = (yyvsp[0].type); }
-#line 6112 "tools/widl/parser.tab.c"
+#line 6124 "tools/widl/parser.tab.c"
     break;
 
   case 464: /* typedef: m_attributes tTYPEDEF m_attributes decl_spec declarator_list  */
@@ -6117,37 +6129,37 @@
 						  reg_typedefs((yyvsp[-1].declspec), (yyvsp[0].declarator_list), check_typedef_attrs((yyvsp[-4].attr_list)));
 						  (yyval.statement) = make_statement_typedef((yyvsp[0].declarator_list), !(yyvsp[-1].declspec)->type->defined);
 						}
-#line 6121 "tools/widl/parser.tab.c"
+#line 6133 "tools/widl/parser.tab.c"
     break;
 
   case 465: /* uniondef: tUNION m_typename '{' ne_union_fields '}'  */
 #line 1286 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_nonencapsulated_union((yyvsp[-3].str), TRUE, (yyvsp[-1].var_list)); }
-#line 6127 "tools/widl/parser.tab.c"
+#line 6139 "tools/widl/parser.tab.c"
     break;
 
   case 466: /* uniondef: tUNION m_typename tSWITCH '(' s_field ')' m_ident '{' cases '}'  */
 #line 1289 "tools/widl/parser.y"
                                                 { (yyval.type) = type_new_encapsulated_union((yyvsp[-8].str), (yyvsp[-5].var), (yyvsp[-3].var), (yyvsp[-1].var_list)); }
-#line 6133 "tools/widl/parser.tab.c"
+#line 6145 "tools/widl/parser.tab.c"
     break;
 
   case 467: /* version: aNUM  */
 #line 1293 "tools/widl/parser.y"
                                                 { (yyval.num) = MAKEVERSION((yyvsp[0].num), 0); }
-#line 6139 "tools/widl/parser.tab.c"
+#line 6151 "tools/widl/parser.tab.c"
     break;
 
   case 468: /* version: aNUM '.' aNUM  */
 #line 1294 "tools/widl/parser.y"
                                                 { (yyval.num) = MAKEVERSION((yyvsp[-2].num), (yyvsp[0].num)); }
-#line 6145 "tools/widl/parser.tab.c"
+#line 6157 "tools/widl/parser.tab.c"
     break;
 
   case 469: /* version: aHEXNUM  */
 #line 1295 "tools/widl/parser.y"
                                                 { (yyval.num) = (yyvsp[0].num); }
-#line 6151 "tools/widl/parser.tab.c"
+#line 6163 "tools/widl/parser.tab.c"
     break;
 
   case 474: /* acf_int_statement: tTYPEDEF acf_attributes aKNOWNTYPE ';'  */
@@ -6155,7 +6167,7 @@
                                                 { type_t *type = find_type_or_error(current_namespace, (yyvsp[-1].str));
                                                   type->attrs = append_attr_list(type->attrs, (yyvsp[-2].attr_list));
                                                 }
-#line 6159 "tools/widl/parser.tab.c"
+#line 6171 "tools/widl/parser.tab.c"
     break;
 
   case 475: /* acf_interface: acf_attributes tINTERFACE aKNOWNTYPE '{' acf_int_statements '}'  */
@@ -6165,95 +6177,95 @@
                                                        error_loc("%s is not an interface\n", iface->name);
                                                    iface->attrs = append_attr_list(iface->attrs, (yyvsp[-5].attr_list));
                                                 }
-#line 6169 "tools/widl/parser.tab.c"
+#line 6181 "tools/widl/parser.tab.c"
     break;
 
   case 476: /* acf_attributes: %empty  */
 #line 1325 "tools/widl/parser.y"
                                                 { (yyval.attr_list) = NULL; }
-#line 6175 "tools/widl/parser.tab.c"
+#line 6187 "tools/widl/parser.tab.c"
     break;
 
   case 477: /* acf_attributes: '[' acf_attribute_list ']'  */
 #line 1326 "tools/widl/parser.y"
                                                 { (yyval.attr_list) = (yyvsp[-1].attr_list); }
-#line 6181 "tools/widl/parser.tab.c"
+#line 6193 "tools/widl/parser.tab.c"
     break;
 
   case 478: /* acf_attribute_list: acf_attribute  */
 #line 1330 "tools/widl/parser.y"
                                                 { (yyval.attr_list) = append_attr(NULL, (yyvsp[0].attr)); }
-#line 6187 "tools/widl/parser.tab.c"
+#line 6199 "tools/widl/parser.tab.c"
     break;
 
   case 479: /* acf_attribute_list: acf_attribute_list ',' acf_attribute  */
 #line 1331 "tools/widl/parser.y"
                                                 { (yyval.attr_list) = append_attr((yyvsp[-2].attr_list), (yyvsp[0].attr)); }
-#line 6193 "tools/widl/parser.tab.c"
+#line 6205 "tools/widl/parser.tab.c"
     break;
 
   case 480: /* acf_attribute: tALLOCATE '(' allocate_option_list ')'  */
 #line 1336 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attrv(ATTR_ALLOCATE, (yyvsp[-1].num)); }
-#line 6199 "tools/widl/parser.tab.c"
+#line 6211 "tools/widl/parser.tab.c"
     break;
 
   case 481: /* acf_attribute: tENCODE  */
 #line 1337 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_ENCODE); }
-#line 6205 "tools/widl/parser.tab.c"
+#line 6217 "tools/widl/parser.tab.c"
     break;
 
   case 482: /* acf_attribute: tDECODE  */
 #line 1338 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_DECODE); }
-#line 6211 "tools/widl/parser.tab.c"
+#line 6223 "tools/widl/parser.tab.c"
     break;
 
   case 483: /* acf_attribute: tEXPLICITHANDLE  */
 #line 1339 "tools/widl/parser.y"
                                                 { (yyval.attr) = make_attr(ATTR_EXPLICIT_HANDLE); }
-#line 6217 "tools/widl/parser.tab.c"
+#line 6229 "tools/widl/parser.tab.c"
     break;
 
   case 484: /* allocate_option_list: allocate_option  */
 #line 1343 "tools/widl/parser.y"
                                                 { (yyval.num) = (yyvsp[0].num); }
-#line 6223 "tools/widl/parser.tab.c"
+#line 6235 "tools/widl/parser.tab.c"
     break;
 
   case 485: /* allocate_option_list: allocate_option_list ',' allocate_option  */
 #line 1345 "tools/widl/parser.y"
                                                 { (yyval.num) = (yyvsp[-2].num) | (yyvsp[0].num); }
-#line 6229 "tools/widl/parser.tab.c"
+#line 6241 "tools/widl/parser.tab.c"
     break;
 
   case 486: /* allocate_option: tDONTFREE  */
 #line 1349 "tools/widl/parser.y"
                                                 { (yyval.num) = FC_DONT_FREE; }
-#line 6235 "tools/widl/parser.tab.c"
+#line 6247 "tools/widl/parser.tab.c"
     break;
 
   case 487: /* allocate_option: tFREE  */
 #line 1350 "tools/widl/parser.y"
                                                 { (yyval.num) = 0; }
-#line 6241 "tools/widl/parser.tab.c"
+#line 6253 "tools/widl/parser.tab.c"
     break;
 
   case 488: /* allocate_option: tALLNODES  */
 #line 1351 "tools/widl/parser.y"
                                                 { (yyval.num) = FC_ALLOCATE_ALL_NODES; }
-#line 6247 "tools/widl/parser.tab.c"
+#line 6259 "tools/widl/parser.tab.c"
     break;
 
   case 489: /* allocate_option: tSINGLENODE  */
 #line 1352 "tools/widl/parser.y"
                                                 { (yyval.num) = 0; }
-#line 6253 "tools/widl/parser.tab.c"
+#line 6265 "tools/widl/parser.tab.c"
     break;
 
 
-#line 6257 "tools/widl/parser.tab.c"
+#line 6269 "tools/widl/parser.tab.c"
 
       default: break;
     }
diff --git a/mingw-w64-tools/widl/src/parser.tab.h b/mingw-w64-tools/widl/src/parser.tab.h
index 36d0920..edca8f6 100644
--- a/mingw-w64-tools/widl/src/parser.tab.h
+++ b/mingw-w64-tools/widl/src/parser.tab.h
@@ -1,8 +1,8 @@
-/* A Bison parser, made by GNU Bison 3.7.4.  */
+/* A Bison parser, made by GNU Bison 3.7.5.  */
 
 /* Bison interface for Yacc-like parsers in C
 
-   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/mingw-w64-tools/widl/src/register.c b/mingw-w64-tools/widl/src/register.c
index c03ab3c..e13d845 100644
--- a/mingw-w64-tools/widl/src/register.c
+++ b/mingw-w64-tools/widl/src/register.c
@@ -185,6 +185,23 @@
     }
 }
 
+static void write_runtimeclasses_registry( const statement_list_t *stmts )
+{
+    const statement_t *stmt;
+    const type_t *type;
+
+    if (stmts) LIST_FOR_EACH_ENTRY( stmt, stmts, const statement_t, entry )
+    {
+        if (stmt->type != STMT_TYPE) continue;
+        if (type_get_type((type = stmt->u.type)) != TYPE_RUNTIMECLASS) continue;
+        if (!get_attrp(type->attrs, ATTR_ACTIVATABLE) && !get_attrp(type->attrs, ATTR_STATIC)) continue;
+        put_str( indent, "ForceRemove %s\n", format_namespace( type->namespace, "", ".", type->name, NULL ) );
+        put_str( indent++, "{\n" );
+        put_str( indent, "val 'DllPath' = s '%%MODULE%%'\n" );
+        put_str( --indent, "}\n" );
+    }
+}
+
 static int write_progid( const type_t *class )
 {
     const UUID *uuid = get_attrp( class->attrs, ATTR_UUID );
@@ -236,22 +253,44 @@
 
     init_output_buffer();
 
-    put_str( indent, "HKCR\n" );
-    put_str( indent++, "{\n" );
+    if (winrt_mode)
+    {
+        put_str( indent, "HKLM\n" );
+        put_str( indent++, "{\n" );
+        put_str( indent, "NoRemove Software\n" );
+        put_str( indent++, "{\n" );
+        put_str( indent, "NoRemove Microsoft\n" );
+        put_str( indent++, "{\n" );
+        put_str( indent, "NoRemove WindowsRuntime\n" );
+        put_str( indent++, "{\n" );
+        put_str( indent, "NoRemove ActivatableClassId\n" );
+        put_str( indent++, "{\n" );
+        write_runtimeclasses_registry( stmts );
+        put_str( --indent, "}\n" );
+        put_str( --indent, "}\n" );
+        put_str( --indent, "}\n" );
+        put_str( --indent, "}\n" );
+        put_str( --indent, "}\n" );
+    }
+    else
+    {
+        put_str( indent, "HKCR\n" );
+        put_str( indent++, "{\n" );
 
-    put_str( indent, "NoRemove Interface\n" );
-    put_str( indent++, "{\n" );
-    ps_factory = find_ps_factory( stmts );
-    if (ps_factory) write_interfaces( stmts, ps_factory );
-    put_str( --indent, "}\n" );
+        put_str( indent, "NoRemove Interface\n" );
+        put_str( indent++, "{\n" );
+        ps_factory = find_ps_factory( stmts );
+        if (ps_factory) write_interfaces( stmts, ps_factory );
+        put_str( --indent, "}\n" );
 
-    put_str( indent, "NoRemove CLSID\n" );
-    put_str( indent++, "{\n" );
-    write_coclasses( stmts, NULL );
-    put_str( --indent, "}\n" );
+        put_str( indent, "NoRemove CLSID\n" );
+        put_str( indent++, "{\n" );
+        write_coclasses( stmts, NULL );
+        put_str( --indent, "}\n" );
 
-    write_progids( stmts );
-    put_str( --indent, "}\n" );
+        write_progids( stmts );
+        put_str( --indent, "}\n" );
+    }
 
     if (strendswith( regscript_name, ".res" ))  /* create a binary resource file */
     {
diff --git a/mingw-w64-tools/widl/src/typetree.c b/mingw-w64-tools/widl/src/typetree.c
index a1e7abc..a4e1696 100644
--- a/mingw-w64-tools/widl/src/typetree.c
+++ b/mingw-w64-tools/widl/src/typetree.c
@@ -188,7 +188,7 @@
         n += strappend(buf, len, pos + n, "rc(");
         n += append_namespaces(buf, len, pos + n, type->namespace, "", ".", type->name, NULL);
         n += strappend(buf, len, pos + n, ";");
-        n += append_type_signature(buf, len, pos + n, type_runtimeclass_get_default_iface(type));
+        n += append_type_signature(buf, len, pos + n, type_runtimeclass_get_default_iface(type, TRUE));
         n += strappend(buf, len, pos + n, ")");
         return n;
     case TYPE_POINTER:
@@ -379,7 +379,7 @@
         {
             pos += strappend(&buf, &len, pos, "ABI::Windows::Foundation::Internal::AggregateType<%s", type->qualified_name);
             pos += append_pointer_stars(&buf, &len, pos, ref->type);
-            iface = type_runtimeclass_get_default_iface(type);
+            iface = type_runtimeclass_get_default_iface(type, TRUE);
             pos += strappend(&buf, &len, pos, ", %s", iface->qualified_name);
             pos += append_pointer_stars(&buf, &len, pos, ref->type);
             pos += strappend(&buf, &len, pos, " >");
@@ -843,10 +843,11 @@
     runtimeclass->attrs = check_runtimeclass_attrs(runtimeclass->name, attrs);
     runtimeclass->details.runtimeclass.ifaces = ifaces;
     runtimeclass->defined = TRUE;
-    if (!type_runtimeclass_get_default_iface(runtimeclass))
-        error_loc("missing default interface on runtimeclass %s\n", runtimeclass->name);
+    if (!type_runtimeclass_get_default_iface(runtimeclass, FALSE) &&
+        !get_attrp(runtimeclass->attrs, ATTR_STATIC))
+        error_loc("runtimeclass %s must have a default interface or static factory\n", runtimeclass->name);
 
-    LIST_FOR_EACH_ENTRY(ref, ifaces, typeref_t, entry)
+    if (ifaces) LIST_FOR_EACH_ENTRY(ref, ifaces, typeref_t, entry)
     {
         /* FIXME: this should probably not be allowed, here or in coclass, */
         /* but for now there's too many places in Wine IDL where it is to */
@@ -901,7 +902,7 @@
 
 type_t *type_delegate_declare(char *name, struct namespace *namespace)
 {
-    type_t *type = get_type(TYPE_DELEGATE, name, NULL, 0);
+    type_t *type = get_type(TYPE_DELEGATE, name, namespace, 0);
     if (type_get_type_detect_alias(type) != TYPE_DELEGATE)
         error_loc("delegate %s previously not declared a delegate at %s:%d\n",
                   type->name, type->loc_info.input_name, type->loc_info.line_number);
diff --git a/mingw-w64-tools/widl/src/typetree.h b/mingw-w64-tools/widl/src/typetree.h
index b9833dc..db72381 100644
--- a/mingw-w64-tools/widl/src/typetree.h
+++ b/mingw-w64-tools/widl/src/typetree.h
@@ -20,6 +20,9 @@
 
 #include "widltypes.h"
 #include <assert.h>
+#include <stdio.h>
+
+#include "utils.h"
 
 #ifndef WIDL_TYPE_TREE_H
 #define WIDL_TYPE_TREE_H
@@ -379,17 +382,17 @@
     return type->details.runtimeclass.ifaces;
 }
 
-static inline type_t *type_runtimeclass_get_default_iface(const type_t *type)
+static inline type_t *type_runtimeclass_get_default_iface(const type_t *type, int check)
 {
     typeref_list_t *ifaces = type_runtimeclass_get_ifaces(type);
     typeref_t *ref;
 
-    if (!ifaces) return NULL;
-    LIST_FOR_EACH_ENTRY(ref, ifaces, typeref_t, entry)
+    if (ifaces) LIST_FOR_EACH_ENTRY(ref, ifaces, typeref_t, entry)
         if (is_attr(ref->attrs, ATTR_DEFAULT))
             return ref->type;
 
-    return NULL;
+    if (!check) return NULL;
+    error_loc_info(&type->loc_info, "runtimeclass %s needs a default interface\n", type->name);
 }
 
 static inline type_t *type_delegate_get_iface(const type_t *type)
diff --git a/mingw-w64-tools/widl/src/wpp/ppy.tab.c b/mingw-w64-tools/widl/src/wpp/ppy.tab.c
index fdc9a06..6da909e 100644
--- a/mingw-w64-tools/widl/src/wpp/ppy.tab.c
+++ b/mingw-w64-tools/widl/src/wpp/ppy.tab.c
@@ -1,8 +1,8 @@
-/* A Bison parser, made by GNU Bison 3.7.4.  */
+/* A Bison parser, made by GNU Bison 3.7.5.  */
 
 /* Bison implementation for Yacc-like parsers in C
 
-   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -46,10 +46,10 @@
    USER NAME SPACE" below.  */
 
 /* Identify Bison output, and Bison version.  */
-#define YYBISON 30704
+#define YYBISON 30705
 
 /* Bison version string.  */
-#define YYBISON_VERSION "3.7.4"
+#define YYBISON_VERSION "3.7.5"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
@@ -411,6 +411,18 @@
 typedef short yytype_int16;
 #endif
 
+/* Work around bug in HP-UX 11.23, which defines these macros
+   incorrectly for preprocessor constants.  This workaround can likely
+   be removed in 2023, as HPE has promised support for HP-UX 11.23
+   (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
+   <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>.  */
+#ifdef __hpux
+# undef UINT_LEAST8_MAX
+# undef UINT_LEAST16_MAX
+# define UINT_LEAST8_MAX 255
+# define UINT_LEAST16_MAX 65535
+#endif
+
 #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
 typedef __UINT_LEAST8_TYPE__ yytype_uint8;
 #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
@@ -508,9 +520,9 @@
 
 /* Suppress unused-variable warnings by "using" E.  */
 #if ! defined lint || defined __GNUC__
-# define YYUSE(E) ((void) (E))
+# define YY_USE(E) ((void) (E))
 #else
-# define YYUSE(E) /* empty */
+# define YY_USE(E) /* empty */
 #endif
 
 #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
@@ -863,9 +875,9 @@
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
-static const yytype_int16 yydefgoto[] =
+static const yytype_uint8 yydefgoto[] =
 {
-      -1,     1,    20,    50,    51,    56,   100,   101,   102,   139,
+       0,     1,    20,    50,    51,    56,   100,   101,   102,   139,
      140,   141,    36
 };
 
@@ -1068,7 +1080,7 @@
                        yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
 {
   FILE *yyoutput = yyo;
-  YYUSE (yyoutput);
+  YY_USE (yyoutput);
   if (!yyvaluep)
     return;
 # ifdef YYPRINT
@@ -1076,7 +1088,7 @@
     YYPRINT (yyo, yytoknum[yykind], *yyvaluep);
 # endif
   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-  YYUSE (yykind);
+  YY_USE (yykind);
   YY_IGNORE_MAYBE_UNINITIALIZED_END
 }
 
@@ -1190,13 +1202,13 @@
 yydestruct (const char *yymsg,
             yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
 {
-  YYUSE (yyvaluep);
+  YY_USE (yyvaluep);
   if (!yymsg)
     yymsg = "Deleting";
   YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
 
   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-  YYUSE (yykind);
+  YY_USE (yykind);
   YY_IGNORE_MAYBE_UNINITIALIZED_END
 }
 
@@ -1459,25 +1471,25 @@
   case 4: /* preprocessor: tINCLUDE tDQSTRING tNL  */
 #line 185 "libs/wpp/ppy.y"
                                         { pp_do_include((yyvsp[-1].cptr), 1); }
-#line 1463 "libs/wpp/ppy.tab.c"
+#line 1475 "libs/wpp/ppy.tab.c"
     break;
 
   case 5: /* preprocessor: tINCLUDE tIQSTRING tNL  */
 #line 186 "libs/wpp/ppy.y"
                                         { pp_do_include((yyvsp[-1].cptr), 0); }
-#line 1469 "libs/wpp/ppy.tab.c"
+#line 1481 "libs/wpp/ppy.tab.c"
     break;
 
   case 6: /* preprocessor: tIF pp_expr tNL  */
 #line 187 "libs/wpp/ppy.y"
                                 { pp_next_if_state(boolean(&(yyvsp[-1].cval))); }
-#line 1475 "libs/wpp/ppy.tab.c"
+#line 1487 "libs/wpp/ppy.tab.c"
     break;
 
   case 7: /* preprocessor: tIFDEF tIDENT tNL  */
 #line 188 "libs/wpp/ppy.y"
                                 { pp_next_if_state(pplookup((yyvsp[-1].cptr)) != NULL); free((yyvsp[-1].cptr)); }
-#line 1481 "libs/wpp/ppy.tab.c"
+#line 1493 "libs/wpp/ppy.tab.c"
     break;
 
   case 8: /* preprocessor: tIFNDEF tIDENT tNL  */
@@ -1502,7 +1514,7 @@
 			fprintf(stderr, "tIFNDEF: %s:%d: include_state=%d, include_ppp='%s', include_ifdepth=%d\n",
                                 pp_status.input, pp_status.line_number, pp_incl_state.state, pp_incl_state.ppp, pp_incl_state.ifdepth);
 		}
-#line 1506 "libs/wpp/ppy.tab.c"
+#line 1518 "libs/wpp/ppy.tab.c"
     break;
 
   case 9: /* preprocessor: tELIF pp_expr tNL  */
@@ -1531,7 +1543,7 @@
 			pp_internal_error(__FILE__, __LINE__, "Invalid pp_if_state (%d) in #elif directive", s);
 		}
 		}
-#line 1535 "libs/wpp/ppy.tab.c"
+#line 1547 "libs/wpp/ppy.tab.c"
     break;
 
   case 10: /* preprocessor: tELSE tNL  */
@@ -1562,7 +1574,7 @@
 			pp_internal_error(__FILE__, __LINE__, "Invalid pp_if_state (%d) in #else directive", s);
 		}
 		}
-#line 1566 "libs/wpp/ppy.tab.c"
+#line 1578 "libs/wpp/ppy.tab.c"
     break;
 
   case 11: /* preprocessor: tENDIF tNL  */
@@ -1584,19 +1596,19 @@
 					pp_status.input, pp_status.line_number, pp_incl_state.state, pp_incl_state.ppp, pp_incl_state.ifdepth);
 		}
 		}
-#line 1588 "libs/wpp/ppy.tab.c"
+#line 1600 "libs/wpp/ppy.tab.c"
     break;
 
   case 12: /* preprocessor: tUNDEF tIDENT tNL  */
 #line 276 "libs/wpp/ppy.y"
                                 { pp_del_define((yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
-#line 1594 "libs/wpp/ppy.tab.c"
+#line 1606 "libs/wpp/ppy.tab.c"
     break;
 
   case 13: /* preprocessor: tDEFINE opt_text tNL  */
 #line 277 "libs/wpp/ppy.y"
                                 { pp_add_define((yyvsp[-2].cptr), (yyvsp[-1].cptr)); free((yyvsp[-2].cptr)); free((yyvsp[-1].cptr)); }
-#line 1600 "libs/wpp/ppy.tab.c"
+#line 1612 "libs/wpp/ppy.tab.c"
     break;
 
   case 14: /* preprocessor: tMACRO res_arg allmargs tMACROEND opt_mtexts tNL  */
@@ -1604,67 +1616,67 @@
                                                                 {
 		pp_add_macro((yyvsp[-5].cptr), macro_args, nmacro_args, (yyvsp[-1].mtext));
 		}
-#line 1608 "libs/wpp/ppy.tab.c"
+#line 1620 "libs/wpp/ppy.tab.c"
     break;
 
   case 15: /* preprocessor: tLINE tSINT tDQSTRING tNL  */
 #line 281 "libs/wpp/ppy.y"
                                         { if((yyvsp[-1].cptr)) pp_writestring("# %d %s\n", (yyvsp[-2].sint) , (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
-#line 1614 "libs/wpp/ppy.tab.c"
+#line 1626 "libs/wpp/ppy.tab.c"
     break;
 
   case 16: /* preprocessor: tGCCLINE tSINT tDQSTRING tNL  */
 #line 282 "libs/wpp/ppy.y"
                                         { if((yyvsp[-1].cptr)) pp_writestring("# %d %s\n", (yyvsp[-2].sint) , (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
-#line 1620 "libs/wpp/ppy.tab.c"
+#line 1632 "libs/wpp/ppy.tab.c"
     break;
 
   case 17: /* preprocessor: tGCCLINE tSINT tDQSTRING tSINT tNL  */
 #line 284 "libs/wpp/ppy.y"
                 { if((yyvsp[-2].cptr)) pp_writestring("# %d %s %d\n", (yyvsp[-3].sint), (yyvsp[-2].cptr), (yyvsp[-1].sint)); free((yyvsp[-2].cptr)); }
-#line 1626 "libs/wpp/ppy.tab.c"
+#line 1638 "libs/wpp/ppy.tab.c"
     break;
 
   case 18: /* preprocessor: tGCCLINE tSINT tDQSTRING tSINT tSINT tNL  */
 #line 286 "libs/wpp/ppy.y"
                 { if((yyvsp[-3].cptr)) pp_writestring("# %d %s %d %d\n", (yyvsp[-4].sint) ,(yyvsp[-3].cptr), (yyvsp[-2].sint), (yyvsp[-1].sint)); free((yyvsp[-3].cptr)); }
-#line 1632 "libs/wpp/ppy.tab.c"
+#line 1644 "libs/wpp/ppy.tab.c"
     break;
 
   case 19: /* preprocessor: tGCCLINE tSINT tDQSTRING tSINT tSINT tSINT tNL  */
 #line 288 "libs/wpp/ppy.y"
                 { if((yyvsp[-4].cptr)) pp_writestring("# %d %s %d %d %d\n", (yyvsp[-5].sint) ,(yyvsp[-4].cptr) ,(yyvsp[-3].sint) ,(yyvsp[-2].sint), (yyvsp[-1].sint)); free((yyvsp[-4].cptr)); }
-#line 1638 "libs/wpp/ppy.tab.c"
+#line 1650 "libs/wpp/ppy.tab.c"
     break;
 
   case 20: /* preprocessor: tGCCLINE tSINT tDQSTRING tSINT tSINT tSINT tSINT tNL  */
 #line 290 "libs/wpp/ppy.y"
                 { if((yyvsp[-5].cptr)) pp_writestring("# %d %s %d %d %d %d\n", (yyvsp[-6].sint) ,(yyvsp[-5].cptr) ,(yyvsp[-4].sint) ,(yyvsp[-3].sint), (yyvsp[-2].sint), (yyvsp[-1].sint)); free((yyvsp[-5].cptr)); }
-#line 1644 "libs/wpp/ppy.tab.c"
+#line 1656 "libs/wpp/ppy.tab.c"
     break;
 
   case 22: /* preprocessor: tERROR opt_text tNL  */
 #line 292 "libs/wpp/ppy.y"
                                 { ppy_error("#error directive: '%s'", (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
-#line 1650 "libs/wpp/ppy.tab.c"
+#line 1662 "libs/wpp/ppy.tab.c"
     break;
 
   case 23: /* preprocessor: tWARNING opt_text tNL  */
 #line 293 "libs/wpp/ppy.y"
                                 { ppy_warning("#warning directive: '%s'", (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
-#line 1656 "libs/wpp/ppy.tab.c"
+#line 1668 "libs/wpp/ppy.tab.c"
     break;
 
   case 24: /* preprocessor: tPRAGMA opt_text tNL  */
 #line 294 "libs/wpp/ppy.y"
                                 { pp_writestring("#pragma %s\n", (yyvsp[-1].cptr) ? (yyvsp[-1].cptr) : ""); free((yyvsp[-1].cptr)); }
-#line 1662 "libs/wpp/ppy.tab.c"
+#line 1674 "libs/wpp/ppy.tab.c"
     break;
 
   case 25: /* preprocessor: tPPIDENT opt_text tNL  */
 #line 295 "libs/wpp/ppy.y"
                                 { if(pp_status.pedantic) ppy_warning("#ident ignored (arg: '%s')", (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
-#line 1668 "libs/wpp/ppy.tab.c"
+#line 1680 "libs/wpp/ppy.tab.c"
     break;
 
   case 26: /* preprocessor: tRCINCLUDE tRCINCLUDEPATH  */
@@ -1676,7 +1688,7 @@
                 pp_do_include(fn,1);
                 free((yyvsp[0].cptr));
 	}
-#line 1680 "libs/wpp/ppy.tab.c"
+#line 1692 "libs/wpp/ppy.tab.c"
     break;
 
   case 27: /* preprocessor: tRCINCLUDE tDQSTRING  */
@@ -1684,103 +1696,103 @@
                                {
 		pp_do_include((yyvsp[0].cptr),1);
 	}
-#line 1688 "libs/wpp/ppy.tab.c"
+#line 1700 "libs/wpp/ppy.tab.c"
     break;
 
   case 28: /* opt_text: %empty  */
 #line 309 "libs/wpp/ppy.y"
                         { (yyval.cptr) = NULL; }
-#line 1694 "libs/wpp/ppy.tab.c"
+#line 1706 "libs/wpp/ppy.tab.c"
     break;
 
   case 29: /* opt_text: text  */
 #line 310 "libs/wpp/ppy.y"
                         { (yyval.cptr) = (yyvsp[0].cptr); }
-#line 1700 "libs/wpp/ppy.tab.c"
+#line 1712 "libs/wpp/ppy.tab.c"
     break;
 
   case 30: /* text: tLITERAL  */
 #line 313 "libs/wpp/ppy.y"
                                 { (yyval.cptr) = (yyvsp[0].cptr); }
-#line 1706 "libs/wpp/ppy.tab.c"
+#line 1718 "libs/wpp/ppy.tab.c"
     break;
 
   case 31: /* text: tDQSTRING  */
 #line 314 "libs/wpp/ppy.y"
                                 { (yyval.cptr) = (yyvsp[0].cptr); }
-#line 1712 "libs/wpp/ppy.tab.c"
+#line 1724 "libs/wpp/ppy.tab.c"
     break;
 
   case 32: /* text: tSQSTRING  */
 #line 315 "libs/wpp/ppy.y"
                                 { (yyval.cptr) = (yyvsp[0].cptr); }
-#line 1718 "libs/wpp/ppy.tab.c"
+#line 1730 "libs/wpp/ppy.tab.c"
     break;
 
   case 33: /* text: text tLITERAL  */
 #line 316 "libs/wpp/ppy.y"
                                 { (yyval.cptr) = merge_text((yyvsp[-1].cptr), (yyvsp[0].cptr)); }
-#line 1724 "libs/wpp/ppy.tab.c"
+#line 1736 "libs/wpp/ppy.tab.c"
     break;
 
   case 34: /* text: text tDQSTRING  */
 #line 317 "libs/wpp/ppy.y"
                                 { (yyval.cptr) = merge_text((yyvsp[-1].cptr), (yyvsp[0].cptr)); }
-#line 1730 "libs/wpp/ppy.tab.c"
+#line 1742 "libs/wpp/ppy.tab.c"
     break;
 
   case 35: /* text: text tSQSTRING  */
 #line 318 "libs/wpp/ppy.y"
                                 { (yyval.cptr) = merge_text((yyvsp[-1].cptr), (yyvsp[0].cptr)); }
-#line 1736 "libs/wpp/ppy.tab.c"
+#line 1748 "libs/wpp/ppy.tab.c"
     break;
 
   case 36: /* res_arg: %empty  */
 #line 321 "libs/wpp/ppy.y"
                         { macro_args = NULL; nmacro_args = 0; }
-#line 1742 "libs/wpp/ppy.tab.c"
+#line 1754 "libs/wpp/ppy.tab.c"
     break;
 
   case 37: /* allmargs: %empty  */
 #line 324 "libs/wpp/ppy.y"
                                 { (yyval.sint) = 0; macro_args = NULL; nmacro_args = 0; }
-#line 1748 "libs/wpp/ppy.tab.c"
+#line 1760 "libs/wpp/ppy.tab.c"
     break;
 
   case 38: /* allmargs: emargs  */
 #line 325 "libs/wpp/ppy.y"
                                 { (yyval.sint) = nmacro_args; }
-#line 1754 "libs/wpp/ppy.tab.c"
+#line 1766 "libs/wpp/ppy.tab.c"
     break;
 
   case 39: /* emargs: margs  */
 #line 328 "libs/wpp/ppy.y"
                                 { (yyval.marg) = (yyvsp[0].marg); }
-#line 1760 "libs/wpp/ppy.tab.c"
+#line 1772 "libs/wpp/ppy.tab.c"
     break;
 
   case 40: /* emargs: margs ',' tELLIPSIS  */
 #line 329 "libs/wpp/ppy.y"
                                 { nmacro_args *= -1; }
-#line 1766 "libs/wpp/ppy.tab.c"
+#line 1778 "libs/wpp/ppy.tab.c"
     break;
 
   case 41: /* margs: margs ',' tIDENT  */
 #line 332 "libs/wpp/ppy.y"
                                 { (yyval.marg) = add_new_marg((yyvsp[0].cptr)); }
-#line 1772 "libs/wpp/ppy.tab.c"
+#line 1784 "libs/wpp/ppy.tab.c"
     break;
 
   case 42: /* margs: tIDENT  */
 #line 333 "libs/wpp/ppy.y"
                                 { (yyval.marg) = add_new_marg((yyvsp[0].cptr)); }
-#line 1778 "libs/wpp/ppy.tab.c"
+#line 1790 "libs/wpp/ppy.tab.c"
     break;
 
   case 43: /* opt_mtexts: %empty  */
 #line 337 "libs/wpp/ppy.y"
                         { (yyval.mtext) = NULL; }
-#line 1784 "libs/wpp/ppy.tab.c"
+#line 1796 "libs/wpp/ppy.tab.c"
     break;
 
   case 44: /* opt_mtexts: mtexts  */
@@ -1789,43 +1801,43 @@
 		for((yyval.mtext) = (yyvsp[0].mtext); (yyval.mtext) && (yyval.mtext)->prev; (yyval.mtext) = (yyval.mtext)->prev)
 			;
 		}
-#line 1793 "libs/wpp/ppy.tab.c"
+#line 1805 "libs/wpp/ppy.tab.c"
     break;
 
   case 45: /* mtexts: mtext  */
 #line 344 "libs/wpp/ppy.y"
                         { (yyval.mtext) = (yyvsp[0].mtext); }
-#line 1799 "libs/wpp/ppy.tab.c"
+#line 1811 "libs/wpp/ppy.tab.c"
     break;
 
   case 46: /* mtexts: mtexts mtext  */
 #line 345 "libs/wpp/ppy.y"
                         { (yyval.mtext) = combine_mtext((yyvsp[-1].mtext), (yyvsp[0].mtext)); }
-#line 1805 "libs/wpp/ppy.tab.c"
+#line 1817 "libs/wpp/ppy.tab.c"
     break;
 
   case 47: /* mtext: tLITERAL  */
 #line 348 "libs/wpp/ppy.y"
                         { (yyval.mtext) = new_mtext((yyvsp[0].cptr), 0, exp_text); }
-#line 1811 "libs/wpp/ppy.tab.c"
+#line 1823 "libs/wpp/ppy.tab.c"
     break;
 
   case 48: /* mtext: tDQSTRING  */
 #line 349 "libs/wpp/ppy.y"
                         { (yyval.mtext) = new_mtext((yyvsp[0].cptr), 0, exp_text); }
-#line 1817 "libs/wpp/ppy.tab.c"
+#line 1829 "libs/wpp/ppy.tab.c"
     break;
 
   case 49: /* mtext: tSQSTRING  */
 #line 350 "libs/wpp/ppy.y"
                         { (yyval.mtext) = new_mtext((yyvsp[0].cptr), 0, exp_text); }
-#line 1823 "libs/wpp/ppy.tab.c"
+#line 1835 "libs/wpp/ppy.tab.c"
     break;
 
   case 50: /* mtext: tCONCAT  */
 #line 351 "libs/wpp/ppy.y"
                         { (yyval.mtext) = new_mtext(NULL, 0, exp_concat); }
-#line 1829 "libs/wpp/ppy.tab.c"
+#line 1841 "libs/wpp/ppy.tab.c"
     break;
 
   case 51: /* mtext: tSTRINGIZE tIDENT  */
@@ -1837,7 +1849,7 @@
 		else
 			(yyval.mtext) = new_mtext(NULL, mat, exp_stringize);
 		}
-#line 1841 "libs/wpp/ppy.tab.c"
+#line 1853 "libs/wpp/ppy.tab.c"
     break;
 
   case 52: /* mtext: tIDENT  */
@@ -1849,203 +1861,203 @@
 		else if((yyvsp[0].cptr))
 			(yyval.mtext) = new_mtext((yyvsp[0].cptr), 0, exp_text);
 		}
-#line 1853 "libs/wpp/ppy.tab.c"
+#line 1865 "libs/wpp/ppy.tab.c"
     break;
 
   case 53: /* pp_expr: tSINT  */
 #line 368 "libs/wpp/ppy.y"
                                         { (yyval.cval).type = cv_sint;  (yyval.cval).val.si = (yyvsp[0].sint); }
-#line 1859 "libs/wpp/ppy.tab.c"
+#line 1871 "libs/wpp/ppy.tab.c"
     break;
 
   case 54: /* pp_expr: tUINT  */
 #line 369 "libs/wpp/ppy.y"
                                         { (yyval.cval).type = cv_uint;  (yyval.cval).val.ui = (yyvsp[0].uint); }
-#line 1865 "libs/wpp/ppy.tab.c"
+#line 1877 "libs/wpp/ppy.tab.c"
     break;
 
   case 55: /* pp_expr: tSLONG  */
 #line 370 "libs/wpp/ppy.y"
                                         { (yyval.cval).type = cv_slong; (yyval.cval).val.sl = (yyvsp[0].slong); }
-#line 1871 "libs/wpp/ppy.tab.c"
+#line 1883 "libs/wpp/ppy.tab.c"
     break;
 
   case 56: /* pp_expr: tULONG  */
 #line 371 "libs/wpp/ppy.y"
                                         { (yyval.cval).type = cv_ulong; (yyval.cval).val.ul = (yyvsp[0].ulong); }
-#line 1877 "libs/wpp/ppy.tab.c"
+#line 1889 "libs/wpp/ppy.tab.c"
     break;
 
   case 57: /* pp_expr: tSLONGLONG  */
 #line 372 "libs/wpp/ppy.y"
                                         { (yyval.cval).type = cv_sll;   (yyval.cval).val.sll = (yyvsp[0].sll); }
-#line 1883 "libs/wpp/ppy.tab.c"
+#line 1895 "libs/wpp/ppy.tab.c"
     break;
 
   case 58: /* pp_expr: tULONGLONG  */
 #line 373 "libs/wpp/ppy.y"
                                         { (yyval.cval).type = cv_ull;   (yyval.cval).val.ull = (yyvsp[0].ull); }
-#line 1889 "libs/wpp/ppy.tab.c"
+#line 1901 "libs/wpp/ppy.tab.c"
     break;
 
   case 59: /* pp_expr: tDEFINED tIDENT  */
 #line 374 "libs/wpp/ppy.y"
                                         { (yyval.cval).type = cv_sint;  (yyval.cval).val.si = pplookup((yyvsp[0].cptr)) != NULL; }
-#line 1895 "libs/wpp/ppy.tab.c"
+#line 1907 "libs/wpp/ppy.tab.c"
     break;
 
   case 60: /* pp_expr: tDEFINED '(' tIDENT ')'  */
 #line 375 "libs/wpp/ppy.y"
                                         { (yyval.cval).type = cv_sint;  (yyval.cval).val.si = pplookup((yyvsp[-1].cptr)) != NULL; }
-#line 1901 "libs/wpp/ppy.tab.c"
+#line 1913 "libs/wpp/ppy.tab.c"
     break;
 
   case 61: /* pp_expr: tIDENT  */
 #line 376 "libs/wpp/ppy.y"
                                         { (yyval.cval).type = cv_sint;  (yyval.cval).val.si = 0; }
-#line 1907 "libs/wpp/ppy.tab.c"
+#line 1919 "libs/wpp/ppy.tab.c"
     break;
 
   case 62: /* pp_expr: pp_expr tLOGOR pp_expr  */
 #line 377 "libs/wpp/ppy.y"
                                         { (yyval.cval).type = cv_sint; (yyval.cval).val.si = boolean(&(yyvsp[-2].cval)) || boolean(&(yyvsp[0].cval)); }
-#line 1913 "libs/wpp/ppy.tab.c"
+#line 1925 "libs/wpp/ppy.tab.c"
     break;
 
   case 63: /* pp_expr: pp_expr tLOGAND pp_expr  */
 #line 378 "libs/wpp/ppy.y"
                                         { (yyval.cval).type = cv_sint; (yyval.cval).val.si = boolean(&(yyvsp[-2].cval)) && boolean(&(yyvsp[0].cval)); }
-#line 1919 "libs/wpp/ppy.tab.c"
+#line 1931 "libs/wpp/ppy.tab.c"
     break;
 
   case 64: /* pp_expr: pp_expr tEQ pp_expr  */
 #line 379 "libs/wpp/ppy.y"
                                         { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), ==); }
-#line 1925 "libs/wpp/ppy.tab.c"
+#line 1937 "libs/wpp/ppy.tab.c"
     break;
 
   case 65: /* pp_expr: pp_expr tNE pp_expr  */
 #line 380 "libs/wpp/ppy.y"
                                         { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), !=); }
-#line 1931 "libs/wpp/ppy.tab.c"
+#line 1943 "libs/wpp/ppy.tab.c"
     break;
 
   case 66: /* pp_expr: pp_expr '<' pp_expr  */
 #line 381 "libs/wpp/ppy.y"
                                         { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval),  <); }
-#line 1937 "libs/wpp/ppy.tab.c"
+#line 1949 "libs/wpp/ppy.tab.c"
     break;
 
   case 67: /* pp_expr: pp_expr '>' pp_expr  */
 #line 382 "libs/wpp/ppy.y"
                                         { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval),  >); }
-#line 1943 "libs/wpp/ppy.tab.c"
+#line 1955 "libs/wpp/ppy.tab.c"
     break;
 
   case 68: /* pp_expr: pp_expr tLTE pp_expr  */
 #line 383 "libs/wpp/ppy.y"
                                         { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), <=); }
-#line 1949 "libs/wpp/ppy.tab.c"
+#line 1961 "libs/wpp/ppy.tab.c"
     break;
 
   case 69: /* pp_expr: pp_expr tGTE pp_expr  */
 #line 384 "libs/wpp/ppy.y"
                                         { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), >=); }
-#line 1955 "libs/wpp/ppy.tab.c"
+#line 1967 "libs/wpp/ppy.tab.c"
     break;
 
   case 70: /* pp_expr: pp_expr '+' pp_expr  */
 #line 385 "libs/wpp/ppy.y"
                                         { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval),  +); }
-#line 1961 "libs/wpp/ppy.tab.c"
+#line 1973 "libs/wpp/ppy.tab.c"
     break;
 
   case 71: /* pp_expr: pp_expr '-' pp_expr  */
 #line 386 "libs/wpp/ppy.y"
                                         { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval),  -); }
-#line 1967 "libs/wpp/ppy.tab.c"
+#line 1979 "libs/wpp/ppy.tab.c"
     break;
 
   case 72: /* pp_expr: pp_expr '^' pp_expr  */
 #line 387 "libs/wpp/ppy.y"
                                         { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval),  ^); }
-#line 1973 "libs/wpp/ppy.tab.c"
+#line 1985 "libs/wpp/ppy.tab.c"
     break;
 
   case 73: /* pp_expr: pp_expr '&' pp_expr  */
 #line 388 "libs/wpp/ppy.y"
                                         { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval),  &); }
-#line 1979 "libs/wpp/ppy.tab.c"
+#line 1991 "libs/wpp/ppy.tab.c"
     break;
 
   case 74: /* pp_expr: pp_expr '|' pp_expr  */
 #line 389 "libs/wpp/ppy.y"
                                         { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval),  |); }
-#line 1985 "libs/wpp/ppy.tab.c"
+#line 1997 "libs/wpp/ppy.tab.c"
     break;
 
   case 75: /* pp_expr: pp_expr '*' pp_expr  */
 #line 390 "libs/wpp/ppy.y"
                                         { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval),  *); }
-#line 1991 "libs/wpp/ppy.tab.c"
+#line 2003 "libs/wpp/ppy.tab.c"
     break;
 
   case 76: /* pp_expr: pp_expr '/' pp_expr  */
 #line 391 "libs/wpp/ppy.y"
                                         { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval),  /); }
-#line 1997 "libs/wpp/ppy.tab.c"
+#line 2009 "libs/wpp/ppy.tab.c"
     break;
 
   case 77: /* pp_expr: pp_expr tLSHIFT pp_expr  */
 #line 392 "libs/wpp/ppy.y"
                                         { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), <<); }
-#line 2003 "libs/wpp/ppy.tab.c"
+#line 2015 "libs/wpp/ppy.tab.c"
     break;
 
   case 78: /* pp_expr: pp_expr tRSHIFT pp_expr  */
 #line 393 "libs/wpp/ppy.y"
                                         { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), >>); }
-#line 2009 "libs/wpp/ppy.tab.c"
+#line 2021 "libs/wpp/ppy.tab.c"
     break;
 
   case 79: /* pp_expr: '+' pp_expr  */
 #line 394 "libs/wpp/ppy.y"
                                         { (yyval.cval) =  (yyvsp[0].cval); }
-#line 2015 "libs/wpp/ppy.tab.c"
+#line 2027 "libs/wpp/ppy.tab.c"
     break;
 
   case 80: /* pp_expr: '-' pp_expr  */
 #line 395 "libs/wpp/ppy.y"
                                         { UNARY_OP((yyval.cval), (yyvsp[0].cval), -); }
-#line 2021 "libs/wpp/ppy.tab.c"
+#line 2033 "libs/wpp/ppy.tab.c"
     break;
 
   case 81: /* pp_expr: '~' pp_expr  */
 #line 396 "libs/wpp/ppy.y"
                                         { UNARY_OP((yyval.cval), (yyvsp[0].cval), ~); }
-#line 2027 "libs/wpp/ppy.tab.c"
+#line 2039 "libs/wpp/ppy.tab.c"
     break;
 
   case 82: /* pp_expr: '!' pp_expr  */
 #line 397 "libs/wpp/ppy.y"
                                         { (yyval.cval).type = cv_sint; (yyval.cval).val.si = !boolean(&(yyvsp[0].cval)); }
-#line 2033 "libs/wpp/ppy.tab.c"
+#line 2045 "libs/wpp/ppy.tab.c"
     break;
 
   case 83: /* pp_expr: '(' pp_expr ')'  */
 #line 398 "libs/wpp/ppy.y"
                                         { (yyval.cval) =  (yyvsp[-1].cval); }
-#line 2039 "libs/wpp/ppy.tab.c"
+#line 2051 "libs/wpp/ppy.tab.c"
     break;
 
   case 84: /* pp_expr: pp_expr '?' pp_expr ':' pp_expr  */
 #line 399 "libs/wpp/ppy.y"
                                           { (yyval.cval) = boolean(&(yyvsp[-4].cval)) ? (yyvsp[-2].cval) : (yyvsp[0].cval); }
-#line 2045 "libs/wpp/ppy.tab.c"
+#line 2057 "libs/wpp/ppy.tab.c"
     break;
 
 
-#line 2049 "libs/wpp/ppy.tab.c"
+#line 2061 "libs/wpp/ppy.tab.c"
 
       default: break;
     }
diff --git a/mingw-w64-tools/widl/src/wpp/ppy.tab.h b/mingw-w64-tools/widl/src/wpp/ppy.tab.h
index 808deaa..1a63c6f 100644
--- a/mingw-w64-tools/widl/src/wpp/ppy.tab.h
+++ b/mingw-w64-tools/widl/src/wpp/ppy.tab.h
@@ -1,8 +1,8 @@
-/* A Bison parser, made by GNU Bison 3.7.4.  */
+/* A Bison parser, made by GNU Bison 3.7.5.  */
 
 /* Bison interface for Yacc-like parsers in C
 
-   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify