widl: Updated to Wine version 3bb824f98891e8.
diff --git a/mingw-w64-tools/widl/VERSION b/mingw-w64-tools/widl/VERSION
index dd1b8cd..43ffe70 100644
--- a/mingw-w64-tools/widl/VERSION
+++ b/mingw-w64-tools/widl/VERSION
@@ -1 +1 @@
-WIDL version 5.0-rc1
+WIDL version 5.8
diff --git a/mingw-w64-tools/widl/configure b/mingw-w64-tools/widl/configure
index 92c8f45..594a877 100755
--- a/mingw-w64-tools/widl/configure
+++ b/mingw-w64-tools/widl/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for widl 5.0-rc1.
+# Generated by GNU Autoconf 2.69 for widl 5.8.
#
# Report bugs to <mingw-w64-public@lists.sourceforge.net>.
#
@@ -580,8 +580,8 @@
# Identity of this package.
PACKAGE_NAME='widl'
PACKAGE_TARNAME='widl'
-PACKAGE_VERSION='5.0-rc1'
-PACKAGE_STRING='widl 5.0-rc1'
+PACKAGE_VERSION='5.8'
+PACKAGE_STRING='widl 5.8'
PACKAGE_BUGREPORT='mingw-w64-public@lists.sourceforge.net'
PACKAGE_URL=''
@@ -1296,7 +1296,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 5.0-rc1 to adapt to many kinds of systems.
+\`configure' configures widl 5.8 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1368,7 +1368,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of widl 5.0-rc1:";;
+ short | recursive ) echo "Configuration of widl 5.8:";;
esac
cat <<\_ACEOF
@@ -1470,7 +1470,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-widl configure 5.0-rc1
+widl configure 5.8
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2023,7 +2023,7 @@
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 5.0-rc1, which was
+It was created by widl $as_me 5.8, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3002,7 +3002,7 @@
# Define the identity of the package.
PACKAGE='widl'
- VERSION='5.0-rc1'
+ VERSION='5.8'
cat >>confdefs.h <<_ACEOF
@@ -5466,7 +5466,7 @@
# 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 5.0-rc1, which was
+This file was extended by widl $as_me 5.8, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -5532,7 +5532,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-widl config.status 5.0-rc1
+widl config.status 5.8
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/mingw-w64-tools/widl/include/basetsd.h b/mingw-w64-tools/widl/include/basetsd.h
index 96ea3f0..c9f5c90 100644
--- a/mingw-w64-tools/widl/include/basetsd.h
+++ b/mingw-w64-tools/widl/include/basetsd.h
@@ -271,44 +271,24 @@
/* These are hardcoded to avoid dependencies on config.h in Winelib apps. */
#if defined(__i386__)
# undef WORDS_BIGENDIAN
-# undef BITFIELDS_BIGENDIAN
-# define ALLOW_UNALIGNED_ACCESS
#elif defined(__x86_64__)
# undef WORDS_BIGENDIAN
-# undef BITFIELDS_BIGENDIAN
-# define ALLOW_UNALIGNED_ACCESS
#elif defined(__powerpc__)
# define WORDS_BIGENDIAN
-# define BITFIELDS_BIGENDIAN
-# undef ALLOW_UNALIGNED_ACCESS
#elif defined(__ALPHA__)
# undef WORDS_BIGENDIAN
-# undef BITFIELDS_BIGENDIAN
-# undef ALLOW_UNALIGNED_ACCESS
#elif defined(__ARMEB__)
# define WORDS_BIGENDIAN
-# define BITFIELDS_BIGENDIAN
-# undef ALLOW_UNALIGNED_ACCESS
#elif defined(__ARMEL__) || defined(__arm__)
# undef WORDS_BIGENDIAN
-# undef BITFIELDS_BIGENDIAN
-# undef ALLOW_UNALIGNED_ACCESS
#elif defined(__AARCH64EB__)
# define WORDS_BIGENDIAN
-# define BITFIELDS_BIGENDIAN
-# undef ALLOW_UNALIGNED_ACCESS
#elif defined(__AARCH64EL__) || defined(__aarch64__)
# undef WORDS_BIGENDIAN
-# undef BITFIELDS_BIGENDIAN
-# undef ALLOW_UNALIGNED_ACCESS
#elif defined(__MIPSEB__)
# define WORDS_BIGENDIAN
-# define BITFIELDS_BIGENDIAN
-# undef ALLOW_UNALIGNED_ACCESS
#elif defined(__MIPSEL__)
# undef WORDS_BIGENDIAN
-# undef BITFIELDS_BIGENDIAN
-# undef ALLOW_UNALIGNED_ACCESS
#elif !defined(RC_INVOKED) && !defined(__WIDL__) && !defined(__midl)
# error Unknown CPU architecture!
#endif
diff --git a/mingw-w64-tools/widl/include/guiddef.h b/mingw-w64-tools/widl/include/guiddef.h
index ba39dd8..546c450 100644
--- a/mingw-w64-tools/widl/include/guiddef.h
+++ b/mingw-w64-tools/widl/include/guiddef.h
@@ -30,7 +30,7 @@
#else
typedef struct _GUID
{
-#ifdef _MSC_VER
+#ifdef WINE_USE_LONG
unsigned long Data1;
#else
unsigned int Data1;
@@ -42,30 +42,45 @@
#endif
/* Macros for __uuidof emulation */
-#if defined(__cplusplus) && !defined(_MSC_VER)
+#ifdef __cplusplus
+# if defined(__MINGW32__)
+# define __WINE_UUID_ATTR __attribute__((selectany))
+# elif defined(__GNUC__)
+# define __WINE_UUID_ATTR __attribute__((visibility("hidden"),weak))
+# endif
+#endif
+
+#ifdef __WINE_UUID_ATTR
extern "C++" {
- template<typename T> const GUID &__wine_uuidof();
+ template<typename T> struct __wine_uuidof;
+
+ template<typename T> struct __wine_uuidof_type {
+ typedef __wine_uuidof<T> inst;
+ };
+ template<typename T> struct __wine_uuidof_type<T *> {
+ typedef __wine_uuidof<T> inst;
+ };
+ template<typename T> struct __wine_uuidof_type<T * const> {
+ typedef __wine_uuidof<T> inst;
+ };
}
#define __CRT_UUID_DECL(type,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
extern "C++" { \
- template<> inline const GUID &__wine_uuidof<type>() { \
- static const IID __uuid_inst = {l,w1,w2, {b1,b2,b3,b4,b5,b6,b7,b8}}; \
- return __uuid_inst; \
- } \
- template<> inline const GUID &__wine_uuidof<type*>() { \
- return __wine_uuidof<type>(); \
- } \
+ template<> struct __wine_uuidof<type> { \
+ static const GUID uuid; \
+ }; \
+ __WINE_UUID_ATTR const GUID __wine_uuidof<type>::uuid = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}; \
}
-#define __uuidof(type) __wine_uuidof<typeof(type)>()
+#define __uuidof(type) __wine_uuidof_type<typeof(type)>::inst::uuid
-#else
+#else /* __WINE_UUID_ATTR */
#define __CRT_UUID_DECL(type,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-#endif
+#endif /* __WINE_UUID_ATTR */
#endif
@@ -130,14 +145,14 @@
#define REFCLSID const CLSID &
#define REFIID const IID &
#define REFFMTID const FMTID &
-#else /* !defined(__cplusplus) */
+#else
#define REFGUID const GUID* __MIDL_CONST
#define REFCLSID const CLSID* __MIDL_CONST
#define REFIID const IID* __MIDL_CONST
#define REFFMTID const FMTID* __MIDL_CONST
-#endif /* !defined(__cplusplus) */
+#endif
-#if defined(__cplusplus) && !defined(CINTERFACE)
+#ifdef __cplusplus
#define IsEqualGUID(rguid1, rguid2) (!memcmp(&(rguid1), &(rguid2), sizeof(GUID)))
inline int InlineIsEqualGUID(REFGUID rguid1, REFGUID rguid2)
{
@@ -146,16 +161,16 @@
((ULONG *)&rguid1)[2] == ((ULONG *)&rguid2)[2] &&
((ULONG *)&rguid1)[3] == ((ULONG *)&rguid2)[3]);
}
-#else /* defined(__cplusplus) && !defined(CINTERFACE) */
+#else
#define IsEqualGUID(rguid1, rguid2) (!memcmp(rguid1, rguid2, sizeof(GUID)))
#define InlineIsEqualGUID(rguid1, rguid2) \
(((ULONG *)rguid1)[0] == ((ULONG *)rguid2)[0] && \
((ULONG *)rguid1)[1] == ((ULONG *)rguid2)[1] && \
((ULONG *)rguid1)[2] == ((ULONG *)rguid2)[2] && \
((ULONG *)rguid1)[3] == ((ULONG *)rguid2)[3])
-#endif /* defined(__cplusplus) && !defined(CINTERFACE) */
+#endif
-#if defined(__cplusplus) && !defined(CINTERFACE)
+#ifdef __cplusplus
#include <string.h>
inline bool operator==(const GUID& guidOne, const GUID& guidOther)
{
@@ -167,6 +182,4 @@
}
#endif
-extern const IID GUID_NULL;
-
#endif /* _GUIDDEF_H_ */
diff --git a/mingw-w64-tools/widl/include/threadpoolapiset.h b/mingw-w64-tools/widl/include/threadpoolapiset.h
index 010ee3a..e218834 100644
--- a/mingw-w64-tools/widl/include/threadpoolapiset.h
+++ b/mingw-w64-tools/widl/include/threadpoolapiset.h
@@ -43,9 +43,11 @@
WINBASEAPI void WINAPI FreeLibraryWhenCallbackReturns(PTP_CALLBACK_INSTANCE,HMODULE);
WINBASEAPI BOOL WINAPI IsThreadpoolTimerSet(PTP_TIMER);
WINBASEAPI void WINAPI LeaveCriticalSectionWhenCallbackReturns(PTP_CALLBACK_INSTANCE,RTL_CRITICAL_SECTION*);
+WINBASEAPI BOOL WINAPI QueryThreadpoolStackInformation(PTP_POOL,PTP_POOL_STACK_INFORMATION);
WINBASEAPI void WINAPI ReleaseMutexWhenCallbackReturns(PTP_CALLBACK_INSTANCE,HANDLE);
WINBASEAPI void WINAPI ReleaseSemaphoreWhenCallbackReturns(PTP_CALLBACK_INSTANCE,HANDLE,DWORD);
WINBASEAPI void WINAPI SetEventWhenCallbackReturns(PTP_CALLBACK_INSTANCE,HANDLE);
+WINBASEAPI BOOL WINAPI SetThreadpoolStackInformation(PTP_POOL,PTP_POOL_STACK_INFORMATION);
WINBASEAPI void WINAPI SetThreadpoolThreadMaximum(PTP_POOL,DWORD);
WINBASEAPI BOOL WINAPI SetThreadpoolThreadMinimum(PTP_POOL,DWORD);
WINBASEAPI void WINAPI SetThreadpoolTimer(PTP_TIMER,FILETIME*,DWORD,DWORD);
diff --git a/mingw-w64-tools/widl/include/winbase.h b/mingw-w64-tools/widl/include/winbase.h
index 655eb48..78ed660 100644
--- a/mingw-w64-tools/widl/include/winbase.h
+++ b/mingw-w64-tools/widl/include/winbase.h
@@ -1409,7 +1409,7 @@
DWORD dwProviderSubType;
DWORD dwProviderOffset;
DWORD dwProviderSize;
- DWORD wcProviderData[1];
+ WCHAR wcProviderData[1];
} COMMCONFIG, *LPCOMMCONFIG;
typedef struct tagCOMMPROP {
@@ -2418,6 +2418,7 @@
WINBASEAPI HMODULE WINAPI LoadLibraryExW(LPCWSTR,HANDLE,DWORD);
#define LoadLibraryEx WINELIB_NAME_AW(LoadLibraryEx)
WINBASEAPI DWORD WINAPI LoadModule(LPCSTR,LPVOID);
+WINBASEAPI HMODULE WINAPI LoadPackagedLibrary(LPCWSTR,DWORD);
WINBASEAPI HGLOBAL WINAPI LoadResource(HMODULE,HRSRC);
WINBASEAPI HLOCAL WINAPI LocalAlloc(UINT,SIZE_T) __WINE_ALLOC_SIZE(2);
WINBASEAPI SIZE_T WINAPI LocalCompact(UINT);
@@ -2618,6 +2619,9 @@
WINBASEAPI BOOL WINAPI SetDllDirectoryW(LPCWSTR);
#define SetDllDirectory WINELIB_NAME_AW(SetDllDirectory)
WINBASEAPI BOOL WINAPI SetEndOfFile(HANDLE);
+WINBASEAPI BOOL WINAPI SetEnvironmentStringsA(char *);
+WINBASEAPI BOOL WINAPI SetEnvironmentStringsW(WCHAR *);
+#define SetEnvironmentStrings WINELIB_NAME_AW(SetEnvironmentStrings)
WINBASEAPI BOOL WINAPI SetEnvironmentVariableA(LPCSTR,LPCSTR);
WINBASEAPI BOOL WINAPI SetEnvironmentVariableW(LPCWSTR,LPCWSTR);
#define SetEnvironmentVariable WINELIB_NAME_AW(SetEnvironmentVariable)
@@ -2903,123 +2907,135 @@
/* Interlocked functions */
-#ifdef __i386__
-# if defined(__GNUC__) && !defined(_NTSYSTEM_) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 2)))
-
-static FORCEINLINE LONG WINAPI InterlockedCompareExchange( LONG volatile *dest, LONG xchg, LONG compare )
-{
- LONG ret;
- __asm__ __volatile__( "lock; cmpxchgl %2,(%1)"
- : "=a" (ret) : "r" (dest), "r" (xchg), "0" (compare) : "memory" );
- return ret;
-}
-
-static FORCEINLINE LONG WINAPI InterlockedExchange( LONG volatile *dest, LONG val )
-{
- LONG ret;
- __asm__ __volatile__( "lock; xchgl %0,(%1)"
- : "=r" (ret) :"r" (dest), "0" (val) : "memory" );
- return ret;
-}
-
-static FORCEINLINE LONG WINAPI InterlockedExchangeAdd( LONG volatile *dest, LONG incr )
-{
- LONG ret;
- __asm__ __volatile__( "lock; xaddl %0,(%1)"
- : "=r" (ret) : "r" (dest), "0" (incr) : "memory" );
- return ret;
-}
-
-static FORCEINLINE LONG WINAPI InterlockedIncrement( LONG volatile *dest )
-{
- return InterlockedExchangeAdd( dest, 1 ) + 1;
-}
-
-static FORCEINLINE LONG WINAPI InterlockedDecrement( LONG volatile *dest )
-{
- return InterlockedExchangeAdd( dest, -1 ) - 1;
-}
-
-# else /* __GNUC__ */
-
-WINBASEAPI LONG WINAPI InterlockedCompareExchange(LONG volatile*,LONG,LONG);
-WINBASEAPI LONG WINAPI InterlockedDecrement(LONG volatile*);
-WINBASEAPI LONG WINAPI InterlockedExchange(LONG volatile*,LONG);
-WINBASEAPI LONG WINAPI InterlockedExchangeAdd(LONG volatile*,LONG);
-WINBASEAPI LONG WINAPI InterlockedIncrement(LONG volatile*);
-
-# endif /* __GNUC__ */
-
-static FORCEINLINE PVOID WINAPI InterlockedCompareExchangePointer( PVOID volatile *dest, PVOID xchg, PVOID compare )
-{
- return (PVOID)InterlockedCompareExchange( (LONG volatile*)dest, (LONG)xchg, (LONG)compare );
-}
-
-static FORCEINLINE PVOID WINAPI InterlockedExchangePointer( PVOID volatile *dest, PVOID val )
-{
- return (PVOID)InterlockedExchange( (LONG volatile*)dest, (LONG)val );
-}
-
-WINBASEAPI LONGLONG WINAPI InterlockedCompareExchange64(LONGLONG volatile*,LONGLONG,LONGLONG);
-
-#elif defined(_MSC_VER)
+#ifdef _MSC_VER
#pragma intrinsic(_InterlockedCompareExchange)
-#pragma intrinsic(_InterlockedCompareExchangePointer)
#pragma intrinsic(_InterlockedCompareExchange64)
#pragma intrinsic(_InterlockedExchange)
-#pragma intrinsic(_InterlockedExchangePointer)
#pragma intrinsic(_InterlockedExchangeAdd)
#pragma intrinsic(_InterlockedIncrement)
#pragma intrinsic(_InterlockedDecrement)
+long _InterlockedCompareExchange(long volatile*,long,long);
+long long _InterlockedCompareExchange64(long long volatile*,long long,long long);
+long _InterlockedDecrement(long volatile*);
+long _InterlockedExchange(long volatile*,long);
+long _InterlockedExchangeAdd(long volatile*,long);
+long _InterlockedIncrement(long volatile*);
+
static FORCEINLINE LONG WINAPI InterlockedCompareExchange( LONG volatile *dest, LONG xchg, LONG compare )
{
- return _InterlockedCompareExchange( dest, xchg, compare );
-}
-
-static FORCEINLINE PVOID WINAPI InterlockedCompareExchangePointer( PVOID volatile *dest, PVOID xchg, PVOID compare )
-{
- return _InterlockedCompareExchangePointer( dest, xchg, compare );
+ return _InterlockedCompareExchange( (long volatile *)dest, xchg, compare );
}
static FORCEINLINE LONGLONG WINAPI InterlockedCompareExchange64( LONGLONG volatile *dest, LONGLONG xchg, LONGLONG compare )
{
- return _InterlockedCompareExchange64( dest, xchg, compare );
+ return _InterlockedCompareExchange64( (long long volatile *)dest, compare, xchg );
}
static FORCEINLINE LONG WINAPI InterlockedExchange( LONG volatile *dest, LONG val )
{
- return _InterlockedExchange( dest, val );
-}
-
-static FORCEINLINE PVOID WINAPI InterlockedExchangePointer( PVOID volatile *dest, PVOID val )
-{
- return _InterlockedExchangePointer( dest, val );
+ return _InterlockedExchange( (long volatile *)dest, val );
}
static FORCEINLINE LONG WINAPI InterlockedExchangeAdd( LONG volatile *dest, LONG incr )
{
- return _InterlockedExchangeAdd( dest, incr );
+ return _InterlockedExchangeAdd( (long volatile *)dest, incr );
}
static FORCEINLINE LONG WINAPI InterlockedIncrement( LONG volatile *dest )
{
- return _InterlockedIncrement( dest );
+ return _InterlockedIncrement( (long volatile *)dest );
}
static FORCEINLINE LONG WINAPI InterlockedDecrement( LONG volatile *dest )
{
- return _InterlockedDecrement( dest );
+ return _InterlockedDecrement( (long volatile *)dest );
}
+#ifndef __i386__
+
+#pragma intrinsic(_InterlockedCompareExchangePointer)
+#pragma intrinsic(_InterlockedExchangePointer)
+
+#define InterlockedCompareExchangePointer _InterlockedCompareExchangePointer
+#define InterlockedExchangePointer _InterlockedExchangePointer
+
+void *InterlockedCompareExchangePointer(void *volatile*,void*,void*);
+void *InterlockedExchangePointer(void *volatile*,void*);
+
+#else
+
+static FORCEINLINE void *WINAPI InterlockedCompareExchangePointer( void *volatile *dest, void *xchg, void *compare )
+{
+ return (void *)_InterlockedCompareExchange( (long volatile*)dest, (long)xchg, (long)compare );
+}
+
+static FORCEINLINE void *WINAPI InterlockedExchangePointer( void *volatile *dest, void *val )
+{
+ return (void *)_InterlockedExchange( (long volatile*)dest, (long)val );
+}
+
+#endif
+
#elif defined(__GNUC__)
static FORCEINLINE LONG WINAPI InterlockedCompareExchange( LONG volatile *dest, LONG xchg, LONG compare )
{
+#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
return __sync_val_compare_and_swap( dest, compare, xchg );
+#else
+ LONG ret;
+ __asm__ __volatile__( "lock; cmpxchgl %2,(%1)"
+ : "=a" (ret) : "r" (dest), "r" (xchg), "0" (compare) : "memory" );
+ return ret;
+#endif
}
+static FORCEINLINE LONG WINAPI InterlockedExchange( LONG volatile *dest, LONG val )
+{
+ LONG ret;
+#if defined(__i386__) || defined(__x86_64__)
+ __asm__ __volatile__( "lock; xchgl %0,(%1)"
+ : "=r" (ret) :"r" (dest), "0" (val) : "memory" );
+#else
+ do ret = *dest; while (!__sync_bool_compare_and_swap( dest, ret, val ));
+#endif
+ return ret;
+}
+
+static FORCEINLINE LONG WINAPI InterlockedExchangeAdd( LONG volatile *dest, LONG incr )
+{
+#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
+ return __sync_fetch_and_add( dest, incr );
+#else
+ LONG ret;
+ __asm__ __volatile__( "lock; xaddl %0,(%1)"
+ : "=r" (ret) : "r" (dest), "0" (incr) : "memory" );
+ return ret;
+#endif
+}
+
+static FORCEINLINE LONG WINAPI InterlockedIncrement( LONG volatile *dest )
+{
+#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
+ return __sync_add_and_fetch( dest, 1 );
+#else
+ return InterlockedExchangeAdd( dest, 1 ) + 1;
+#endif
+}
+
+static FORCEINLINE LONG WINAPI InterlockedDecrement( LONG volatile *dest )
+{
+#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
+ return __sync_add_and_fetch( dest, -1 );
+#else
+ return InterlockedExchangeAdd( dest, -1 ) - 1;
+#endif
+}
+
+#ifdef _WIN64
+
static FORCEINLINE PVOID WINAPI InterlockedCompareExchangePointer( PVOID volatile *dest, PVOID xchg, PVOID compare )
{
return __sync_val_compare_and_swap( dest, compare, xchg );
@@ -3030,17 +3046,6 @@
return __sync_val_compare_and_swap( dest, compare, xchg );
}
-static FORCEINLINE LONG WINAPI InterlockedExchange( LONG volatile *dest, LONG val )
-{
- LONG ret;
-#ifdef __x86_64__
- __asm__ __volatile__( "lock; xchgl %0,(%1)" : "=r" (ret) :"r" (dest), "0" (val) : "memory" );
-#else
- do ret = *dest; while (!__sync_bool_compare_and_swap( dest, ret, val ));
-#endif
- return ret;
-}
-
static FORCEINLINE PVOID WINAPI InterlockedExchangePointer( PVOID volatile *dest, PVOID val )
{
PVOID ret;
@@ -3052,22 +3057,30 @@
return ret;
}
-static FORCEINLINE LONG WINAPI InterlockedExchangeAdd( LONG volatile *dest, LONG incr )
+#else
+
+static FORCEINLINE PVOID WINAPI InterlockedCompareExchangePointer( PVOID volatile *dest, PVOID xchg, PVOID compare )
{
- return __sync_fetch_and_add( dest, incr );
+ return (PVOID)InterlockedCompareExchange( (LONG volatile*)dest, (LONG)xchg, (LONG)compare );
}
-static FORCEINLINE LONG WINAPI InterlockedIncrement( LONG volatile *dest )
+static FORCEINLINE PVOID WINAPI InterlockedExchangePointer( PVOID volatile *dest, PVOID val )
{
- return __sync_add_and_fetch( dest, 1 );
+ return (PVOID)InterlockedExchange( (LONG volatile*)dest, (LONG)val );
}
-static FORCEINLINE LONG WINAPI InterlockedDecrement( LONG volatile *dest )
+#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8
+static FORCEINLINE LONGLONG WINAPI InterlockedCompareExchange64( LONGLONG volatile *dest, LONGLONG xchg, LONGLONG compare )
{
- return __sync_add_and_fetch( dest, -1 );
+ return __sync_val_compare_and_swap( dest, compare, xchg );
}
+#else
+WINBASEAPI LONGLONG WINAPI InterlockedCompareExchange64(LONGLONG volatile*,LONGLONG,LONGLONG);
+#endif
-#endif /* __i386__ */
+#endif
+
+#endif /* __GNUC__ */
#ifdef __WINESRC__
@@ -3136,6 +3149,7 @@
/* WinMain(entry point) must be declared in winbase.h. */
/* If this is not declared, we cannot compile many sources written with C++. */
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int);
+int WINAPI wWinMain(HINSTANCE,HINSTANCE,LPWSTR,int);
#ifdef __WINESRC__
/* shouldn't be here, but is nice for type checking */
diff --git a/mingw-w64-tools/widl/include/windef.h b/mingw-w64-tools/widl/include/windef.h
index 0074d5c..7ece7c8 100644
--- a/mingw-w64-tools/widl/include/windef.h
+++ b/mingw-w64-tools/widl/include/windef.h
@@ -50,7 +50,7 @@
# endif
#endif
-#ifndef __stdcall
+#if !defined(_MSC_VER) && !defined(__stdcall)
# ifdef __i386__
# ifdef __GNUC__
# if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 2)) || defined(__APPLE__)
@@ -58,8 +58,6 @@
# else
# define __stdcall __attribute__((__stdcall__))
# endif
-# elif defined(_MSC_VER)
- /* Nothing needs to be done. __stdcall already exists */
# else
# error You need to define __stdcall for your compiler
# endif
@@ -78,7 +76,7 @@
# endif /* __i386__ */
#endif /* __stdcall */
-#ifndef __cdecl
+#if !defined(_MSC_VER) && !defined(__cdecl)
# if defined(__i386__) && defined(__GNUC__)
# if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 2)) || defined(__APPLE__)
# define __cdecl __attribute__((__cdecl__)) __attribute__((__force_align_arg_pointer__))
@@ -100,13 +98,11 @@
# endif
#endif /* __cdecl */
-#ifndef __fastcall
-# ifndef _MSC_VER
-# define __fastcall __stdcall
-# endif
+#if !defined(_MSC_VER) && !defined(__fastcall)
+# define __fastcall __stdcall
#endif
-#ifndef __thiscall
+#if (!defined(_MSC_VER) || !defined(__clang__)) && !defined(__thiscall)
# define __thiscall __stdcall
#endif
@@ -140,12 +136,7 @@
#define __ONLY_IN_WINELIB(x) x
#endif
-#ifndef pascal
-#define pascal __ONLY_IN_WINELIB(__stdcall)
-#endif
-#ifndef _pascal
-#define _pascal __ONLY_IN_WINELIB(__stdcall)
-#endif
+#ifndef _MSC_VER
#ifndef _stdcall
#define _stdcall __ONLY_IN_WINELIB(__stdcall)
#endif
@@ -155,16 +146,23 @@
#ifndef __fastcall
#define __fastcall __ONLY_IN_WINELIB(__stdcall)
#endif
-#ifndef __export
-#define __export __ONLY_IN_WINELIB(__stdcall)
-#endif
#ifndef cdecl
#define cdecl __ONLY_IN_WINELIB(__cdecl)
#endif
#ifndef _cdecl
#define _cdecl __ONLY_IN_WINELIB(__cdecl)
#endif
+#endif /* _MSC_VER */
+#ifndef pascal
+#define pascal __ONLY_IN_WINELIB(__stdcall)
+#endif
+#ifndef _pascal
+#define _pascal __ONLY_IN_WINELIB(__stdcall)
+#endif
+#ifndef __export
+#define __export __ONLY_IN_WINELIB(__stdcall)
+#endif
#ifndef near
#define near __ONLY_IN_WINELIB(/* nothing */)
#endif
@@ -239,25 +237,32 @@
/* Standard data types */
+#ifndef BASETYPES
+#define BASETYPES
+typedef unsigned char UCHAR, *PUCHAR;
+typedef unsigned short USHORT, *PUSHORT;
+#ifdef WINE_USE_LONG
+typedef unsigned long ULONG, *PULONG;
+#else
+typedef unsigned int ULONG, *PULONG;
+#endif
+#endif
+
typedef void *LPVOID;
typedef const void *LPCVOID;
typedef int BOOL, *PBOOL, *LPBOOL;
typedef unsigned char BYTE, *PBYTE, *LPBYTE;
-typedef unsigned char UCHAR, *PUCHAR;
typedef unsigned short WORD, *PWORD, *LPWORD;
-typedef unsigned short USHORT, *PUSHORT;
typedef int INT, *PINT, *LPINT;
typedef unsigned int UINT, *PUINT;
typedef float FLOAT, *PFLOAT;
typedef char *PSZ;
-#ifdef _MSC_VER
+#ifdef WINE_USE_LONG
typedef long *LPLONG;
typedef unsigned long DWORD, *PDWORD, *LPDWORD;
-typedef unsigned long ULONG, *PULONG;
#else
typedef int *LPLONG;
typedef unsigned int DWORD, *PDWORD, *LPDWORD;
-typedef unsigned int ULONG, *PULONG;
#endif
/* Macros to map Winelib names to the correct implementation name */
diff --git a/mingw-w64-tools/widl/include/winerror.h b/mingw-w64-tools/widl/include/winerror.h
index 73027c4..4ebb48c 100644
--- a/mingw-w64-tools/widl/include/winerror.h
+++ b/mingw-w64-tools/widl/include/winerror.h
@@ -348,15 +348,101 @@
#define ERROR_FT_DI_SCAN_REQUIRED 339
#define ERROR_INVALID_KERNEL_INFO_VERSION 340
#define ERROR_INVALID_PEP_INFO_VERSION 341
+#define ERROR_OBJECT_NOT_EXTERNALLY_BACKED 342
+#define ERROR_EXTERNAL_BACKING_PROVIDER_UNKNOWN 343
+#define ERROR_COMPRESSION_NOT_BENEFICIAL 344
+#define ERROR_STORAGE_TOPOLOGY_ID_MISMATCH 345
+#define ERROR_BLOCKED_BY_PARENTAL_CONTROLS 346
+#define ERROR_BLOCK_TOO_MANY_REFERENCES 347
+#define ERROR_MARKED_TO_DISALLOW_WRITES 348
+#define ERROR_ENCLAVE_FAILURE 349
#define ERROR_FAIL_NOACTION_REBOOT 350
#define ERROR_FAIL_SHUTDOWN 351
#define ERROR_FAIL_RESTART 352
#define ERROR_MAX_SESSIONS_REACHED 353
+#define ERROR_NETWORK_ACCESS_DENIED_EDP 354
+#define ERROR_DEVICE_HINT_NAME_BUFFER_TOO_SMALL 355
+#define ERROR_EDP_POLICY_DENIES_OPERATION 356
+#define ERROR_EDP_DPL_POLICY_CANT_BE_SATISFIED 357
+#define ERROR_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT 358
+#define ERROR_DEVICE_IN_MAINTENANCE 359
+#define ERROR_NOT_SUPPORTED_ON_DAX 360
+#define ERROR_DAX_MAPPING_EXISTS 361
+#define ERROR_CLOUD_FILE_PROVIDER_NOT_RUNNING 362
+#define ERROR_CLOUD_FILE_METADATA_CORRUPT 363
+#define ERROR_CLOUD_FILE_METADATA_TOO_LARGE 364
+#define ERROR_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE 365
+#define ERROR_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH 366
+#define ERROR_CHILD_PROCESS_BLOCKED 367
+#define ERROR_STORAGE_LOST_DATA_PERSISTENCE 368
+#define ERROR_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE 369
+#define ERROR_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT 370
+#define ERROR_FILE_SYSTEM_VIRTUALIZATION_BUSY 371
+#define ERROR_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN 372
+#define ERROR_GDI_HANDLE_LEAK 373
+#define ERROR_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS 374
+#define ERROR_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED 375
+#define ERROR_NOT_A_CLOUD_FILE 376
+#define ERROR_CLOUD_FILE_NOT_IN_SYNC 377
+#define ERROR_CLOUD_FILE_ALREADY_CONNECTED 378
+#define ERROR_CLOUD_FILE_NOT_SUPPORTED 379
+#define ERROR_CLOUD_FILE_INVALID_REQUEST 380
+#define ERROR_CLOUD_FILE_READ_ONLY_VOLUME 381
+#define ERROR_CLOUD_FILE_CONNECTED_PROVIDER_ONLY 382
+#define ERROR_CLOUD_FILE_VALIDATION_FAILED 383
+#define ERROR_SMB1_NOT_AVAILABLE 384
+#define ERROR_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION 385
+#define ERROR_CLOUD_FILE_AUTHENTICATION_FAILED 386
+#define ERROR_CLOUD_FILE_INSUFFICIENT_RESOURCES 387
+#define ERROR_CLOUD_FILE_NETWORK_UNAVAILABLE 388
+#define ERROR_CLOUD_FILE_UNSUCCESSFUL 389
+#define ERROR_CLOUD_FILE_NOT_UNDER_SYNC_ROOT 390
+#define ERROR_CLOUD_FILE_IN_USE 391
+#define ERROR_CLOUD_FILE_PINNED 392
+#define ERROR_CLOUD_FILE_REQUEST_ABORTED 393
+#define ERROR_CLOUD_FILE_PROPERTY_CORRUPT 394
+#define ERROR_CLOUD_FILE_ACCESS_DENIED 395
+#define ERROR_CLOUD_FILE_INCOMPATIBLE_HARDLINKS 396
+#define ERROR_CLOUD_FILE_PROPERTY_LOCK_CONFLICT 397
+#define ERROR_CLOUD_FILE_REQUEST_CANCELED 398
+#define ERROR_EXTERNAL_SYSKEY_NOT_SUPPORTED 399
+#define ERROR_THREAD_MODE_ALREADY_BACKGROUND 400
+#define ERROR_THREAD_MODE_NOT_BACKGROUND 401
+#define ERROR_PROCESS_MODE_ALREADY_BACKGROUND 402
+#define ERROR_PROCESS_MODE_NOT_BACKGROUND 403
+#define ERROR_PNP_QUERY_REMOVE_DEVICE_TIMEOUT 480
+#define ERROR_PNP_QUERY_REMOVE_RELATED_DEVICE_TIMEOUT 481
+#define ERROR_PNP_QUERY_REMOVE_UNRELATED_DEVICE_TIMEOUT 482
+#define ERROR_DEVICE_HARDWARE_ERROR 483
#define ERROR_INVALID_ADDRESS 487
#define ERROR_USER_PROFILE_LOAD 500
#define ERROR_ARITHMETIC_OVERFLOW 534
#define ERROR_PIPE_CONNECTED 535
#define ERROR_PIPE_LISTENING 536
+#define ERROR_VERIFIER_STOP 537
+#define ERROR_ABIOS_ERROR 538
+#define ERROR_WX86_WARNING 539
+#define ERROR_WX86_ERROR 540
+#define ERROR_TIMER_NOT_CANCELED 541
+#define ERROR_UNWIND 542
+#define ERROR_BAD_STACK 543
+#define ERROR_INVALID_UNWIND_TARGET 544
+#define ERROR_INVALID_PORT_ATTRIBUTES 545
+#define ERROR_PORT_MESSAGE_TOO_LONG 546
+#define ERROR_INVALID_QUOTA_LOWER 547
+#define ERROR_DEVICE_ALREADY_ATTACHED 548
+#define ERROR_INSTRUCTION_MISALIGNMENT 549
+#define ERROR_PROFILING_NOT_STARTED 550
+#define ERROR_PROFILING_NOT_STOPPED 551
+#define ERROR_COULD_NOT_INTERPRET 552
+#define ERROR_PROFILING_AT_LIMIT 553
+#define ERROR_CANT_WAIT 554
+#define ERROR_CANT_TERMINATE_SELF 555
+#define ERROR_UNEXPECTED_MM_CREATE_ERR 556
+#define ERROR_UNEXPECTED_MM_MAP_ERROR 557
+#define ERROR_UNEXPECTED_MM_EXTEND_ERR 558
+#define ERROR_BAD_FUNCTION_TABLE 559
+#define ERROR_NO_GUID_TRANSLATION 560
#define ERROR_INVALID_LDT_SIZE 561
#define ERROR_INVALID_LDT_OFFSET 563
#define ERROR_INVALID_LDT_DESCRIPTOR 564
@@ -451,6 +537,7 @@
#define ERROR_DRIVER_FAILED_PRIOR_UNLOAD 654
#define ERROR_VOLSNAP_PREPARE_HIBERNATE 655
#define ERROR_HIBERNATION_FAILURE 656
+#define ERROR_PWD_TOO_LONG 657
#define ERROR_FILE_SYSTEM_LIMITATION 665
#define ERROR_ASSERTION_FAILURE 668
#define ERROR_ACPI_ERROR 669
@@ -575,8 +662,30 @@
#define ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED 788
#define ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR 789
#define ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR 790
+#define ERROR_BAD_MCFG_TABLE 791
+#define ERROR_DISK_REPAIR_REDIRECTED 792
+#define ERROR_DISK_REPAIR_UNSUCCESSFUL 793
+#define ERROR_CORRUPT_LOG_OVERFULL 794
+#define ERROR_CORRUPT_LOG_CORRUPTED 795
+#define ERROR_CORRUPT_LOG_UNAVAILABLE 796
+#define ERROR_CORRUPT_LOG_DELETED_FULL 797
+#define ERROR_CORRUPT_LOG_CLEARED 798
+#define ERROR_ORPHAN_NAME_EXHAUSTED 799
+#define ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE 800
+#define ERROR_CANNOT_GRANT_REQUESTED_OPLOCK 801
+#define ERROR_CANNOT_BREAK_OPLOCK 802
+#define ERROR_OPLOCK_HANDLE_CLOSED 803
#define ERROR_NO_ACE_CONDITION 804
#define ERROR_INVALID_ACE_CONDITION 805
+#define ERROR_FILE_HANDLE_REVOKED 806
+#define ERROR_IMAGE_AT_DIFFERENT_BASE 807
+#define ERROR_ENCRYPTED_IO_NOT_POSSIBLE 808
+#define ERROR_FILE_METADATA_OPTIMIZATION_IN_PROGRESS 809
+#define ERROR_QUOTA_ACTIVITY 810
+#define ERROR_HANDLE_REVOKED 811
+#define ERROR_CALLBACK_INVOKE_INLINE 812
+#define ERROR_CPU_SET_INVALID 813
+#define ERROR_ENCLAVE_NOT_TERMINATED 814
#define ERROR_EA_ACCESS_DENIED 994
#define ERROR_OPERATION_ABORTED 995
#define ERROR_IO_INCOMPLETE 996
@@ -705,6 +814,8 @@
#define ERROR_JOURNAL_NOT_ACTIVE 1179
#define ERROR_POTENTIAL_FILE_FOUND 1180
#define ERROR_JOURNAL_ENTRY_DELETED 1181
+#define ERROR_VRF_CFG_ENABLED 1183
+#define ERROR_PARTITION_TERMINATING 1184
#define ERROR_BAD_DEVICE 1200
#define ERROR_CONNECTION_UNAVAIL 1201
#define ERROR_DEVICE_ALREADY_REMEMBERED 1202
@@ -764,6 +875,7 @@
#define ERROR_HOST_DOWN 1256
#define ERROR_NON_ACCOUNT_SID 1257
#define ERROR_NON_DOMAIN_SID 1258
+#define ERROR_APPHELP_BLOCK 1259
#define ERROR_ACCESS_DISABLED_BY_POLICY 1260
#define ERROR_REG_NAT_CONSUMPTION 1261
#define ERROR_PKINIT_FAILURE 1263
@@ -774,6 +886,29 @@
#define ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED 1274
#define ERROR_DRIVER_BLOCKED 1275
#define ERROR_INVALID_IMPORT_OF_NON_DLL 1276
+#define ERROR_ACCESS_DISABLED_WEBBLADE 1277
+#define ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER 1278
+#define ERROR_RECOVERY_FAILURE 1279
+#define ERROR_ALREADY_FIBER 1280
+#define ERROR_ALREADY_THREAD 1281
+#define ERROR_STACK_BUFFER_OVERRUN 1282
+#define ERROR_PARAMETER_QUOTA_EXCEEDED 1283
+#define ERROR_DEBUGGER_INACTIVE 1284
+#define ERROR_DELAY_LOAD_FAILED 1285
+#define ERROR_VDM_DISALLOWED 1286
+#define ERROR_UNIDENTIFIED_ERROR 1287
+#define ERROR_INVALID_CRUNTIME_PARAMETER 1288
+#define ERROR_BEYOND_VDL 1289
+#define ERROR_INCOMPATIBLE_SERVICE_SID_TYPE 1290
+#define ERROR_DRIVER_PROCESS_TERMINATED 1291
+#define ERROR_IMPLEMENTATION_LIMIT 1292
+#define ERROR_PROCESS_IS_PROTECTED 1293
+#define ERROR_SERVICE_NOTIFY_CLIENT_LAGGING 1294
+#define ERROR_DISK_QUOTA_EXCEEDED 1295
+#define ERROR_CONTENT_BLOCKED 1296
+#define ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE 1297
+#define ERROR_APP_HANG 1298
+#define ERROR_INVALID_LABEL 1299
#define ERROR_NOT_ALL_ASSIGNED 1300
#define ERROR_SOME_NOT_MAPPED 1301
#define ERROR_NO_QUOTAS_FOR_ACCOUNT 1302
@@ -944,10 +1079,13 @@
#define ERROR_WRONG_COMPARTMENT 1468
#define ERROR_AUTHIP_FAILURE 1469
#define ERROR_NO_NVRAM_RESOURCES 1470
+#define ERROR_NOT_GUI_PROCESS 1471
#define ERROR_EVENTLOG_FILE_CORRUPT 1500
#define ERROR_EVENTLOG_CANT_START 1501
#define ERROR_LOG_FILE_FULL 1502
#define ERROR_EVENTLOG_FILE_CHANGED 1503
+#define ERROR_CONTAINER_ASSIGNED 1504
+#define ERROR_JOB_NO_CONTAINER 1505
#define ERROR_INVALID_TASK_NAME 1550
#define ERROR_INVALID_TASK_INDEX 1551
#define ERROR_THREAD_ALREADY_IN_TASK 1552
@@ -1003,6 +1141,13 @@
#define ERROR_INVALID_PATCH_XML 1650
#define ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT 1651
#define ERROR_INSTALL_SERVICE_SAFEBOOT 1652
+#define ERROR_FAIL_FAST_EXCEPTION 1653
+#define ERROR_INSTALL_REJECTED 1654
+#define ERROR_DYNAMIC_CODE_BLOCKED 1655
+#define ERROR_NOT_SAME_OBJECT 1656
+#define ERROR_STRICT_CFG_VIOLATION 1657
+#define ERROR_SET_CONTEXT_DENIED 1660
+#define ERROR_CROSS_PARTITION_VIOLATION 1661
#define RPC_S_INVALID_STRING_BINDING 1700
#define RPC_S_WRONG_KIND_OF_BINDING 1701
#define RPC_S_INVALID_BINDING 1702
@@ -1032,6 +1177,7 @@
#define RPC_S_CALL_FAILED 1726
#define RPC_S_CALL_FAILED_DNE 1727
#define RPC_S_PROTOCOL_ERROR 1728
+#define RPC_S_PROXY_ACCESS_DENIED 1729
#define RPC_S_UNSUPPORTED_TRANS_SYN 1730
#define RPC_S_UNSUPPORTED_TYPE 1732
#define RPC_S_INVALID_TAG 1733
@@ -1132,6 +1278,10 @@
#define RPC_X_INVALID_PIPE_OBJECT 1830
#define RPC_X_WRONG_PIPE_ORDER 1831
#define RPC_X_WRONG_PIPE_VERSION 1832
+#define RPC_S_COOKIE_AUTH_FAILED 1833
+#define RPC_S_DO_NOT_DISTURB 1834
+#define RPC_S_SYSTEM_HANDLE_COUNT_EXCEEDED 1835
+#define RPC_S_SYSTEM_HANDLE_TYPE_MISMATCH 1836
#define RPC_S_GROUP_MEMBER_NOT_FOUND 1898
#define EPT_S_CANT_CREATE 1899
#define RPC_S_INVALID_OBJECT 1900
@@ -1171,6 +1321,9 @@
#define ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED 1934
#define ERROR_AUTHENTICATION_FIREWALL_FAILED 1935
#define ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED 1936
+#define ERROR_NTLM_BLOCKED 1937
+#define ERROR_PASSWORD_CHANGE_REQUIRED 1938
+#define ERROR_LOST_MODE_LOGON_RESTRICTION 1939
#define ERROR_INVALID_PIXEL_FORMAT 2000
#define ERROR_BAD_DRIVER 2001
#define ERROR_INVALID_WINDOW_STYLE 2002
@@ -1284,6 +1437,34 @@
#define ERROR_INVALID_REPARSE_DATA 4392
#define ERROR_REPARSE_TAG_INVALID 4393
#define ERROR_REPARSE_TAG_MISMATCH 4394
+#define ERROR_REPARSE_POINT_ENCOUNTERED 4395
+#define ERROR_APP_DATA_NOT_FOUND 4400
+#define ERROR_APP_DATA_EXPIRED 4401
+#define ERROR_APP_DATA_CORRUPT 4402
+#define ERROR_APP_DATA_LIMIT_EXCEEDED 4403
+#define ERROR_APP_DATA_REBOOT_REQUIRED 4404
+#define ERROR_SECUREBOOT_ROLLBACK_DETECTED 4420
+#define ERROR_SECUREBOOT_POLICY_VIOLATION 4421
+#define ERROR_SECUREBOOT_INVALID_POLICY 4422
+#define ERROR_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND 4423
+#define ERROR_SECUREBOOT_POLICY_NOT_SIGNED 4424
+#define ERROR_SECUREBOOT_NOT_ENABLED 4425
+#define ERROR_SECUREBOOT_FILE_REPLACED 4426
+#define ERROR_SECUREBOOT_POLICY_NOT_AUTHORIZED 4427
+#define ERROR_SECUREBOOT_POLICY_UNKNOWN 4428
+#define ERROR_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION 4429
+#define ERROR_SECUREBOOT_PLATFORM_ID_MISMATCH 4430
+#define ERROR_SECUREBOOT_POLICY_ROLLBACK_DETECTED 4431
+#define ERROR_SECUREBOOT_POLICY_UPGRADE_MISMATCH 4432
+#define ERROR_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING 4433
+#define ERROR_SECUREBOOT_NOT_BASE_POLICY 4434
+#define ERROR_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY 4435
+#define ERROR_OFFLOAD_READ_FLT_NOT_SUPPORTED 4440
+#define ERROR_OFFLOAD_WRITE_FLT_NOT_SUPPORTED 4441
+#define ERROR_OFFLOAD_READ_FILE_NOT_SUPPORTED 4442
+#define ERROR_OFFLOAD_WRITE_FILE_NOT_SUPPORTED 4443
+#define ERROR_ALREADY_HAS_STREAM_ID 4444
+#define ERROR_SMR_GARBAGE_COLLECTION_REQUIRED 4445
#define ERROR_VOLUME_NOT_SIS_ENABLED 4500
#define ERROR_DEPENDENT_RESOURCE_EXISTS 5001
#define ERROR_DEPENDENCY_NOT_FOUND 5002
@@ -1373,6 +1554,116 @@
#define ERROR_DATABASE_BACKUP_CORRUPT 5087
#define ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT 5088
#define ERROR_RESOURCE_PROPERTY_UNCHANGEABLE 5089
+#define ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE 5890
+#define ERROR_CLUSTER_QUORUMLOG_NOT_FOUND 5891
+#define ERROR_CLUSTER_MEMBERSHIP_HALT 5892
+#define ERROR_CLUSTER_INSTANCE_ID_MISMATCH 5893
+#define ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP 5894
+#define ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH 5895
+#define ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP 5896
+#define ERROR_CLUSTER_PARAMETER_MISMATCH 5897
+#define ERROR_NODE_CANNOT_BE_CLUSTERED 5898
+#define ERROR_CLUSTER_WRONG_OS_VERSION 5899
+#define ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME 5900
+#define ERROR_CLUSCFG_ALREADY_COMMITTED 5901
+#define ERROR_CLUSCFG_ROLLBACK_FAILED 5902
+#define ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT 5903
+#define ERROR_CLUSTER_OLD_VERSION 5904
+#define ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME 5905
+#define ERROR_CLUSTER_NO_NET_ADAPTERS 5906
+#define ERROR_CLUSTER_POISONED 5907
+#define ERROR_CLUSTER_GROUP_MOVING 5908
+#define ERROR_CLUSTER_RESOURCE_TYPE_BUSY 5909
+#define ERROR_RESOURCE_CALL_TIMED_OUT 5910
+#define ERROR_INVALID_CLUSTER_IPV6_ADDRESS 5911
+#define ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION 5912
+#define ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS 5913
+#define ERROR_CLUSTER_PARTIAL_SEND 5914
+#define ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION 5915
+#define ERROR_CLUSTER_INVALID_STRING_TERMINATION 5916
+#define ERROR_CLUSTER_INVALID_STRING_FORMAT 5917
+#define ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS 5918
+#define ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS 5919
+#define ERROR_CLUSTER_NULL_DATA 5920
+#define ERROR_CLUSTER_PARTIAL_READ 5921
+#define ERROR_CLUSTER_PARTIAL_WRITE 5922
+#define ERROR_CLUSTER_CANT_DESERIALIZE_DATA 5923
+#define ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT 5924
+#define ERROR_CLUSTER_NO_QUORUM 5925
+#define ERROR_CLUSTER_INVALID_IPV6_NETWORK 5926
+#define ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK 5927
+#define ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP 5928
+#define ERROR_DEPENDENCY_TREE_TOO_COMPLEX 5929
+#define ERROR_EXCEPTION_IN_RESOURCE_CALL 5930
+#define ERROR_CLUSTER_RHS_FAILED_INITIALIZATION 5931
+#define ERROR_CLUSTER_NOT_INSTALLED 5932
+#define ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE 5933
+#define ERROR_CLUSTER_MAX_NODES_IN_CLUSTER 5934
+#define ERROR_CLUSTER_TOO_MANY_NODES 5935
+#define ERROR_CLUSTER_OBJECT_ALREADY_USED 5936
+#define ERROR_NONCORE_GROUPS_FOUND 5937
+#define ERROR_FILE_SHARE_RESOURCE_CONFLICT 5938
+#define ERROR_CLUSTER_EVICT_INVALID_REQUEST 5939
+#define ERROR_CLUSTER_SINGLETON_RESOURCE 5940
+#define ERROR_CLUSTER_GROUP_SINGLETON_RESOURCE 5941
+#define ERROR_CLUSTER_RESOURCE_PROVIDER_FAILED 5942
+#define ERROR_CLUSTER_RESOURCE_CONFIGURATION_ERROR 5943
+#define ERROR_CLUSTER_GROUP_BUSY 5944
+#define ERROR_CLUSTER_NOT_SHARED_VOLUME 5945
+#define ERROR_CLUSTER_INVALID_SECURITY_DESCRIPTOR 5946
+#define ERROR_CLUSTER_SHARED_VOLUMES_IN_USE 5947
+#define ERROR_CLUSTER_USE_SHARED_VOLUMES_API 5948
+#define ERROR_CLUSTER_BACKUP_IN_PROGRESS 5949
+#define ERROR_NON_CSV_PATH 5950
+#define ERROR_CSV_VOLUME_NOT_LOCAL 5951
+#define ERROR_CLUSTER_WATCHDOG_TERMINATING 5952
+#define ERROR_CLUSTER_RESOURCE_VETOED_MOVE_INCOMPATIBLE_NODES 5953
+#define ERROR_CLUSTER_INVALID_NODE_WEIGHT 5954
+#define ERROR_CLUSTER_RESOURCE_VETOED_CALL 5955
+#define ERROR_RESMON_SYSTEM_RESOURCES_LACKING 5956
+#define ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_DESTINATION 5957
+#define ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_SOURCE 5958
+#define ERROR_CLUSTER_GROUP_QUEUED 5959
+#define ERROR_CLUSTER_RESOURCE_LOCKED_STATUS 5960
+#define ERROR_CLUSTER_SHARED_VOLUME_FAILOVER_NOT_ALLOWED 5961
+#define ERROR_CLUSTER_NODE_DRAIN_IN_PROGRESS 5962
+#define ERROR_CLUSTER_DISK_NOT_CONNECTED 5963
+#define ERROR_DISK_NOT_CSV_CAPABLE 5964
+#define ERROR_RESOURCE_NOT_IN_AVAILABLE_STORAGE 5965
+#define ERROR_CLUSTER_SHARED_VOLUME_REDIRECTED 5966
+#define ERROR_CLUSTER_SHARED_VOLUME_NOT_REDIRECTED 5967
+#define ERROR_CLUSTER_CANNOT_RETURN_PROPERTIES 5968
+#define ERROR_CLUSTER_RESOURCE_CONTAINS_UNSUPPORTED_DIFF_AREA_FOR_SHARED_VOLUMES 5969
+#define ERROR_CLUSTER_RESOURCE_IS_IN_MAINTENANCE_MODE 5970
+#define ERROR_CLUSTER_AFFINITY_CONFLICT 5971
+#define ERROR_CLUSTER_RESOURCE_IS_REPLICA_VIRTUAL_MACHINE 5972
+#define ERROR_CLUSTER_UPGRADE_INCOMPATIBLE_VERSIONS 5973
+#define ERROR_CLUSTER_UPGRADE_FIX_QUORUM_NOT_SUPPORTED 5974
+#define ERROR_CLUSTER_UPGRADE_RESTART_REQUIRED 5975
+#define ERROR_CLUSTER_UPGRADE_IN_PROGRESS 5976
+#define ERROR_CLUSTER_UPGRADE_INCOMPLETE 5977
+#define ERROR_CLUSTER_NODE_IN_GRACE_PERIOD 5978
+#define ERROR_CLUSTER_CSV_IO_PAUSE_TIMEOUT 5979
+#define ERROR_NODE_NOT_ACTIVE_CLUSTER_MEMBER 5980
+#define ERROR_CLUSTER_RESOURCE_NOT_MONITORED 5981
+#define ERROR_CLUSTER_RESOURCE_DOES_NOT_SUPPORT_UNMONITORED 5982
+#define ERROR_CLUSTER_RESOURCE_IS_REPLICATED 5983
+#define ERROR_CLUSTER_NODE_ISOLATED 5984
+#define ERROR_CLUSTER_NODE_QUARANTINED 5985
+#define ERROR_CLUSTER_DATABASE_UPDATE_CONDITION_FAILED 5986
+#define ERROR_CLUSTER_SPACE_DEGRADED 5987
+#define ERROR_CLUSTER_TOKEN_DELEGATION_NOT_SUPPORTED 5988
+#define ERROR_CLUSTER_CSV_INVALID_HANDLE 5989
+#define ERROR_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR 5990
+#define ERROR_GROUPSET_NOT_AVAILABLE 5991
+#define ERROR_GROUPSET_NOT_FOUND 5992
+#define ERROR_GROUPSET_CANT_PROVIDE 5993
+#define ERROR_CLUSTER_FAULT_DOMAIN_PARENT_NOT_FOUND 5994
+#define ERROR_CLUSTER_FAULT_DOMAIN_INVALID_HIERARCHY 5995
+#define ERROR_CLUSTER_FAULT_DOMAIN_FAILED_S2D_VALIDATION 5996
+#define ERROR_CLUSTER_FAULT_DOMAIN_S2D_CONNECTIVITY_LOSS 5997
+#define ERROR_CLUSTER_INVALID_INFRASTRUCTURE_FILESERVER_NAME 5998
+#define ERROR_CLUSTERSET_MANAGEMENT_CLUSTER_UNREACHABLE 5999
#define ERROR_ENCRYPTION_FAILED 6000
#define ERROR_DECRYPTION_FAILED 6001
#define ERROR_FILE_ENCRYPTED 6002
@@ -1386,8 +1677,71 @@
#define ERROR_DIR_EFS_DISALLOWED 6010
#define ERROR_EFS_SERVER_NOT_TRUSTED 6011
#define ERROR_EFS_ALG_BLOB_TOO_BIG 6013
+#define ERROR_VOLUME_NOT_SUPPORT_EFS 6014
+#define ERROR_EFS_DISABLED 6015
+#define ERROR_EFS_VERSION_NOT_SUPPORT 6016
+#define ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE 6017
+#define ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER 6018
+#define ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE 6019
+#define ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE 6020
+#define ERROR_CS_ENCRYPTION_FILE_NOT_CSE 6021
+#define ERROR_ENCRYPTION_POLICY_DENIES_OPERATION 6022
#define ERROR_NO_BROWSER_SERVERS_FOUND 6118
#define SCHED_E_SERVICE_NOT_LOCALSYSTEM 6200
+#define ERROR_TRANSACTIONAL_CONFLICT 6800
+#define ERROR_RM_NOT_ACTIVE 6801
+#define ERROR_RM_METADATA_CORRUPT 6802
+#define ERROR_DIRECTORY_NOT_RM 6803
+#define ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE 6805
+#define ERROR_LOG_RESIZE_INVALID_SIZE 6806
+#define ERROR_OBJECT_NO_LONGER_EXISTS 6807
+#define ERROR_STREAM_MINIVERSION_NOT_FOUND 6808
+#define ERROR_STREAM_MINIVERSION_NOT_VALID 6809
+#define ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION 6810
+#define ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT 6811
+#define ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS 6812
+#define ERROR_REMOTE_FILE_VERSION_MISMATCH 6814
+#define ERROR_HANDLE_NO_LONGER_VALID 6815
+#define ERROR_NO_TXF_METADATA 6816
+#define ERROR_LOG_CORRUPTION_DETECTED 6817
+#define ERROR_CANT_RECOVER_WITH_HANDLE_OPEN 6818
+#define ERROR_RM_DISCONNECTED 6819
+#define ERROR_ENLISTMENT_NOT_SUPERIOR 6820
+#define ERROR_RECOVERY_NOT_NEEDED 6821
+#define ERROR_RM_ALREADY_STARTED 6822
+#define ERROR_FILE_IDENTITY_NOT_PERSISTENT 6823
+#define ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY 6824
+#define ERROR_CANT_CROSS_RM_BOUNDARY 6825
+#define ERROR_TXF_DIR_NOT_EMPTY 6826
+#define ERROR_INDOUBT_TRANSACTIONS_EXIST 6827
+#define ERROR_TM_VOLATILE 6828
+#define ERROR_ROLLBACK_TIMER_EXPIRED 6829
+#define ERROR_TXF_ATTRIBUTE_CORRUPT 6830
+#define ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION 6831
+#define ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED 6832
+#define ERROR_LOG_GROWTH_FAILED 6833
+#define ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE 6834
+#define ERROR_TXF_METADATA_ALREADY_PRESENT 6835
+#define ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET 6836
+#define ERROR_TRANSACTION_REQUIRED_PROMOTION 6837
+#define ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION 6838
+#define ERROR_TRANSACTIONS_NOT_FROZEN 6839
+#define ERROR_TRANSACTION_FREEZE_IN_PROGRESS 6840
+#define ERROR_NOT_SNAPSHOT_VOLUME 6841
+#define ERROR_NO_SAVEPOINT_WITH_OPEN_FILES 6842
+#define ERROR_DATA_LOST_REPAIR 6843
+#define ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION 6844
+#define ERROR_TM_IDENTITY_MISMATCH 6845
+#define ERROR_FLOATED_SECTION 6846
+#define ERROR_CANNOT_ACCEPT_TRANSACTED_WORK 6847
+#define ERROR_CANNOT_ABORT_TRANSACTIONS 6848
+#define ERROR_BAD_CLUSTERS 6849
+#define ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION 6850
+#define ERROR_VOLUME_DIRTY 6851
+#define ERROR_NO_LINK_TRACKING_IN_TRANSACTION 6852
+#define ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION 6853
+#define ERROR_EXPIRED_HANDLE 6854
+#define ERROR_TRANSACTION_NOT_ENLISTED 6855
#define ERROR_CTX_WINSTATION_NAME_INVALID 7001
#define ERROR_CTX_INVALID_PD 7002
#define ERROR_CTX_PD_NOT_FOUND 7003
@@ -1427,6 +1781,18 @@
#define ERROR_CTX_LICENSE_EXPIRED 7056
#define ERROR_CTX_SHADOW_NOT_RUNNING 7057
#define ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE 7058
+#define ERROR_ACTIVATION_COUNT_EXCEEDED 7059
+#define ERROR_CTX_WINSTATIONS_DISABLED 7060
+#define ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED 7061
+#define ERROR_CTX_SESSION_IN_USE 7062
+#define ERROR_CTX_NO_FORCE_LOGOFF 7063
+#define ERROR_CTX_ACCOUNT_RESTRICTION 7064
+#define ERROR_RDP_PROTOCOL_ERROR 7065
+#define ERROR_CTX_CDM_CONNECT 7066
+#define ERROR_CTX_CDM_DISCONNECT 7067
+#define ERROR_CTX_SECURITY_LAYER_ERROR 7068
+#define ERROR_TS_INCOMPATIBLE_SESSIONS 7069
+#define ERROR_TS_VIDEO_SUBSYSTEM_ERROR 7070
#define FRS_ERR_INVALID_API_SEQUENCE 8001
#define FRS_ERR_STARTING_SERVICE 8002
#define FRS_ERR_STOPPING_SERVICE 8003
@@ -1504,6 +1870,9 @@
#define ERROR_DS_CONTROL_NOT_FOUND 8258
#define ERROR_DS_CLIENT_LOOP 8259
#define ERROR_DS_REFERRAL_LIMIT_EXCEEDED 8260
+#define ERROR_DS_SORT_CONTROL_MISSING 8261
+#define ERROR_DS_OFFSET_RANGE_ERROR 8262
+#define ERROR_DS_RIDMGR_DISABLED 8263
#define ERROR_DS_ROOT_MUST_BE_NC 8301
#define ERROR_DS_ADD_REPLICA_INHIBITED 8302
#define ERROR_DS_ATT_NOT_DEF_IN_SCHEMA 8303
@@ -1764,8 +2133,89 @@
#define ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ 8560
#define ERROR_DS_INIT_FAILURE_CONSOLE 8561
#define ERROR_DS_SAM_INIT_FAILURE_CONSOLE 8562
+#define ERROR_DS_FOREST_VERSION_TOO_HIGH 8563
+#define ERROR_DS_DOMAIN_VERSION_TOO_HIGH 8564
+#define ERROR_DS_FOREST_VERSION_TOO_LOW 8565
+#define ERROR_DS_DOMAIN_VERSION_TOO_LOW 8566
+#define ERROR_DS_INCOMPATIBLE_VERSION 8567
+#define ERROR_DS_LOW_DSA_VERSION 8568
+#define ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN 8569
+#define ERROR_DS_NOT_SUPPORTED_SORT_ORDER 8570
+#define ERROR_DS_NAME_NOT_UNIQUE 8571
#define ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 8572
#define ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER 8578
+#define ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE 8579
+#define ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC 8580
+#define ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG 8581
+#define ERROR_DS_MODIFYDN_WRONG_GRANDPARENT 8582
+#define ERROR_DS_NAME_ERROR_TRUST_REFERRAL 8583
+#define ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER 8584
+#define ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD 8585
+#define ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 8586
+#define ERROR_DS_THREAD_LIMIT_EXCEEDED 8587
+#define ERROR_DS_NOT_CLOSEST 8588
+#define ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF 8589
+#define ERROR_DS_SINGLE_USER_MODE_FAILED 8590
+#define ERROR_DS_NTDSCRIPT_SYNTAX_ERROR 8591
+#define ERROR_DS_NTDSCRIPT_PROCESS_ERROR 8592
+#define ERROR_DS_DIFFERENT_REPL_EPOCHS 8593
+#define ERROR_DS_DRS_EXTENSIONS_CHANGED 8594
+#define ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR 8595
+#define ERROR_DS_NO_MSDS_INTID 8596
+#define ERROR_DS_DUP_MSDS_INTID 8597
+#define ERROR_DS_EXISTS_IN_RDNATTID 8598
+#define ERROR_DS_AUTHORIZATION_FAILED 8599
+#define ERROR_DS_INVALID_SCRIPT 8600
+#define ERROR_DS_REMOTE_CROSSREF_OP_FAILED 8601
+#define ERROR_DS_CROSS_REF_BUSY 8602
+#define ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN 8603
+#define ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC 8604
+#define ERROR_DS_DUPLICATE_ID_FOUND 8605
+#define ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT 8606
+#define ERROR_DS_GROUP_CONVERSION_ERROR 8607
+#define ERROR_DS_CANT_MOVE_APP_BASIC_GROUP 8608
+#define ERROR_DS_CANT_MOVE_APP_QUERY_GROUP 8609
+#define ERROR_DS_ROLE_NOT_VERIFIED 8610
+#define ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL 8611
+#define ERROR_DS_DOMAIN_RENAME_IN_PROGRESS 8612
+#define ERROR_DS_EXISTING_AD_CHILD_NC 8613
+#define ERROR_DS_REPL_LIFETIME_EXCEEDED 8614
+#define ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER 8615
+#define ERROR_DS_LDAP_SEND_QUEUE_FULL 8616
+#define ERROR_DS_DRA_OUT_SCHEDULE_WINDOW 8617
+#define ERROR_DS_POLICY_NOT_KNOWN 8618
+#define ERROR_NO_SITE_SETTINGS_OBJECT 8619
+#define ERROR_NO_SECRETS 8620
+#define ERROR_NO_WRITABLE_DC_FOUND 8621
+#define ERROR_DS_NO_SERVER_OBJECT 8622
+#define ERROR_DS_NO_NTDSA_OBJECT 8623
+#define ERROR_DS_NON_ASQ_SEARCH 8624
+#define ERROR_DS_AUDIT_FAILURE 8625
+#define ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE 8626
+#define ERROR_DS_INVALID_SEARCH_FLAG_TUPLE 8627
+#define ERROR_DS_HIERARCHY_TABLE_TOO_DEEP 8628
+#define ERROR_DS_DRA_CORRUPT_UTD_VECTOR 8629
+#define ERROR_DS_DRA_SECRETS_DENIED 8630
+#define ERROR_DS_RESERVED_MAPI_ID 8631
+#define ERROR_DS_MAPI_ID_NOT_AVAILABLE 8632
+#define ERROR_DS_DRA_MISSING_KRBTGT_SECRET 8633
+#define ERROR_DS_DOMAIN_NAME_EXISTS_IN_FOREST 8634
+#define ERROR_DS_FLAT_NAME_EXISTS_IN_FOREST 8635
+#define ERROR_INVALID_USER_PRINCIPAL_NAME 8636
+#define ERROR_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS 8637
+#define ERROR_DS_OID_NOT_FOUND 8638
+#define ERROR_DS_DRA_RECYCLED_TARGET 8639
+#define ERROR_DS_DISALLOWED_NC_REDIRECT 8640
+#define ERROR_DS_HIGH_ADLDS_FFL 8641
+#define ERROR_DS_HIGH_DSA_VERSION 8642
+#define ERROR_DS_LOW_ADLDS_FFL 8643
+#define ERROR_DOMAIN_SID_SAME_AS_LOCAL_WORKSTATION 8644
+#define ERROR_DS_UNDELETE_SAM_VALIDATION_FAILED 8645
+#define ERROR_INCORRECT_ACCOUNT_TYPE 8646
+#define ERROR_DS_SPN_VALUE_NOT_UNIQUE_IN_FOREST 8647
+#define ERROR_DS_UPN_VALUE_NOT_UNIQUE_IN_FOREST 8648
+#define ERROR_DS_MISSING_FOREST_TRUST 8649
+#define ERROR_DS_VALUE_KEY_NOT_UNIQUE 8650
#define DNS_ERROR_RCODE_FORMAT_ERROR 9001
#define DNS_ERROR_RCODE_SERVER_FAILURE 9002
#define DNS_ERROR_RCODE_NAME_ERROR 9003
@@ -2074,10 +2524,31 @@
#define ERROR_APPX_INTEGRITY_FAILURE_CLR_NGEN 15624
#define ERROR_RESILIENCY_FILE_CORRUPT 15625
#define ERROR_INSTALL_FIREWALL_SERVICE_NOT_RUNNING 15626
+#define ERROR_PACKAGE_MOVE_FAILED 15627
+#define ERROR_INSTALL_VOLUME_NOT_EMPTY 15628
+#define ERROR_INSTALL_VOLUME_OFFLINE 15629
+#define ERROR_INSTALL_VOLUME_CORRUPT 15630
+#define ERROR_NEEDS_REGISTRATION 15631
+#define ERROR_INSTALL_WRONG_PROCESSOR_ARCHITECTURE 15632
+#define ERROR_DEV_SIDELOAD_LIMIT_EXCEEDED 15633
+#define ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE 15634
+#define ERROR_PACKAGE_NOT_SUPPORTED_ON_FILESYSTEM 15635
+#define ERROR_PACKAGE_MOVE_BLOCKED_BY_STREAMING 15636
+#define ERROR_INSTALL_OPTIONAL_PACKAGE_APPLICATIONID_NOT_UNIQUE 15637
+#define ERROR_PACKAGE_STAGING_ONHOLD 15638
+#define ERROR_INSTALL_INVALID_RELATED_SET_UPDATE 15639
+#define ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_FULLTRUST_CAPABILITY 15640
+#define ERROR_DEPLOYMENT_BLOCKED_BY_USER_LOG_OFF 15641
+#define ERROR_PROVISION_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_PROVISIONED 15642
+#define ERROR_PACKAGES_REPUTATION_CHECK_FAILED 15643
+#define ERROR_PACKAGES_REPUTATION_CHECK_TIMEDOUT 15644
#define APPMODEL_ERROR_NO_PACKAGE 15700
#define APPMODEL_ERROR_PACKAGE_RUNTIME_CORRUPT 15701
#define APPMODEL_ERROR_PACKAGE_IDENTITY_CORRUPT 15702
#define APPMODEL_ERROR_NO_APPLICATION 15703
+#define APPMODEL_ERROR_DYNAMIC_PROPERTY_READ_FAILED 15704
+#define APPMODEL_ERROR_DYNAMIC_PROPERTY_INVALID 15705
+#define APPMODEL_ERROR_PACKAGE_NOT_AVAILABLE 15706
/* HRESULT values for OLE, SHELL and other Interface stuff */
/* the codes 4000-40ff are reserved for OLE */
@@ -2088,8 +2559,10 @@
#ifdef RC_INVOKED
#define _HRESULT_TYPEDEF_(x) (x)
+#define _NDIS_ERROR_TYPEDEF_(x) (x)
#else
#define _HRESULT_TYPEDEF_(x) ((HRESULT)x)
+#define _NDIS_ERROR_TYPEDEF_(x) ((DWORD)x)
#endif
#define NOERROR _HRESULT_TYPEDEF_(0)
@@ -2099,7 +2572,9 @@
#define E_PENDING _HRESULT_TYPEDEF_(0x8000000A)
#define E_BOUNDS _HRESULT_TYPEDEF_(0x8000000B)
-
+#define E_CHANGED_STATE _HRESULT_TYPEDEF_(0x8000000C)
+#define E_ILLEGAL_STATE_CHANGE _HRESULT_TYPEDEF_(0x8000000D)
+#define E_ILLEGAL_METHOD_CALL _HRESULT_TYPEDEF_(0x8000000E)
#define E_NOTIMPL _HRESULT_TYPEDEF_(0x80004001)
#define E_NOINTERFACE _HRESULT_TYPEDEF_(0x80004002)
@@ -2293,6 +2768,23 @@
#define STG_E_NOTFILEBASEDSTORAGE _HRESULT_TYPEDEF_(0x80030107)
#define STG_E_EXTANTMARSHALLINGS _HRESULT_TYPEDEF_(0x80030108)
#define STG_E_DOCFILECORRUPT _HRESULT_TYPEDEF_(0x80030109)
+#define STG_E_BADBASEADDRESS _HRESULT_TYPEDEF_(0x80030110)
+#define STG_E_DOCFILETOOLARGE _HRESULT_TYPEDEF_(0x80030111)
+#define STG_E_NOTSIMPLEFORMAT _HRESULT_TYPEDEF_(0x80030112)
+
+#define STG_E_INCOMPLETE _HRESULT_TYPEDEF_(0x80030201)
+#define STG_E_TERMINATED _HRESULT_TYPEDEF_(0x80030202)
+#define STG_S_CONVERTED _HRESULT_TYPEDEF_(0x00030200)
+#define STG_S_BLOCK _HRESULT_TYPEDEF_(0x00030201)
+#define STG_S_RETRYNOW _HRESULT_TYPEDEF_(0x00030202)
+#define STG_S_MONITORING _HRESULT_TYPEDEF_(0x00030203)
+#define STG_S_MULTIPLEOPENS _HRESULT_TYPEDEF_(0x00030204)
+#define STG_S_CONSOLIDATIONFAILED _HRESULT_TYPEDEF_(0x00030205)
+#define STG_S_CANNOTCONSOLIDATE _HRESULT_TYPEDEF_(0x00030206)
+#define STG_S_POWER_CYCLE_REQUIRED _HRESULT_TYPEDEF_(0x00030207)
+#define STG_E_FIRMWARE_SLOT_INVALID _HRESULT_TYPEDEF_(0x80030208)
+#define STG_E_FIRMWARE_IMAGE_INVALID _HRESULT_TYPEDEF_(0x80030209)
+#define STG_E_DEVICE_UNRESPONSIVE _HRESULT_TYPEDEF_(0x8003020A)
#define STG_E_STATUS_COPY_PROTECTION_FAILURE _HRESULT_TYPEDEF_(0x80030305)
#define STG_E_CSS_AUTHENTICATION_FAILURE _HRESULT_TYPEDEF_(0x80030306)
@@ -2592,8 +3084,6 @@
#define E_OUTOFMEMORY _HRESULT_TYPEDEF_(0x8007000E)
#define E_INVALIDARG _HRESULT_TYPEDEF_(0x80070057)
-#define CO_S_NOTALLINTERFACES _HRESULT_TYPEDEF_(0x00080012)
-
#define CO_E_CLASS_CREATE_FAILED _HRESULT_TYPEDEF_(0x80080001)
#define CO_E_SCM_ERROR _HRESULT_TYPEDEF_(0x80080002)
#define CO_E_SCM_RPC_FAILURE _HRESULT_TYPEDEF_(0x80080003)
@@ -2605,6 +3095,11 @@
#define MEM_E_INVALID_ROOT _HRESULT_TYPEDEF_(0x80080009)
#define MEM_E_INVALID_LINK _HRESULT_TYPEDEF_(0x80080010)
#define MEM_E_INVALID_SIZE _HRESULT_TYPEDEF_(0x80080011)
+#define CO_S_NOTALLINTERFACES _HRESULT_TYPEDEF_(0x00080012)
+
+#define ERROR_AUDITING_DISABLED _HRESULT_TYPEDEF_(0xC0090001)
+#define ERROR_ALL_SIDS_FILTERED _HRESULT_TYPEDEF_(0xC0090002)
+#define ERROR_BIZRULES_NOT_ENABLED _HRESULT_TYPEDEF_(0xC0090003)
/*Cryptographic Error Codes */
#define NTE_BAD_UID _HRESULT_TYPEDEF_(0x80090001)
@@ -2674,10 +3169,6 @@
#define SEC_E_MESSAGE_ALTERED _HRESULT_TYPEDEF_(0x8009030F)
#define SEC_E_OUT_OF_SEQUENCE _HRESULT_TYPEDEF_(0x80090310)
#define SEC_E_NO_AUTHENTICATING_AUTHORITY _HRESULT_TYPEDEF_(0x80090311)
-#define SEC_I_CONTINUE_NEEDED _HRESULT_TYPEDEF_(0x00090312)
-#define SEC_I_COMPLETE_NEEDED _HRESULT_TYPEDEF_(0x00090313)
-#define SEC_I_COMPLETE_AND_CONTINUE _HRESULT_TYPEDEF_(0x00090314)
-#define SEC_I_CONTEXT_EXPIRED _HRESULT_TYPEDEF_(0x00090317)
#define SEC_E_BAD_PKGID _HRESULT_TYPEDEF_(0x80090316)
#define SEC_E_CONTEXT_EXPIRED _HRESULT_TYPEDEF_(0x80090317)
#define SEC_E_INCOMPLETE_MESSAGE _HRESULT_TYPEDEF_(0x80090318)
@@ -2727,6 +3218,26 @@
#define SEC_E_ISSUING_CA_UNTRUSTED_KDC _HRESULT_TYPEDEF_(0x80090359)
#define SEC_E_KDC_CERT_EXPIRED _HRESULT_TYPEDEF_(0x8009035A)
#define SEC_E_KDC_CERT_REVOKED _HRESULT_TYPEDEF_(0x8009035B)
+#define SEC_E_INVALID_PARAMETER _HRESULT_TYPEDEF_(0x8009035D)
+#define SEC_E_DELEGATION_POLICY _HRESULT_TYPEDEF_(0x8009035E)
+#define SEC_E_POLICY_NLTM_ONLY _HRESULT_TYPEDEF_(0x8009035F)
+#define SEC_E_NO_CONTEXT _HRESULT_TYPEDEF_(0x80090361)
+#define SEC_E_PKU2U_CERT_FAILURE _HRESULT_TYPEDEF_(0x80090362)
+#define SEC_E_MUTUAL_AUTH_FAILED _HRESULT_TYPEDEF_(0x80090363)
+#define SEC_E_ONLY_HTTPS_ALLOWED _HRESULT_TYPEDEF_(0x80090365)
+#define SEC_E_APPLICATION_PROTOCOL_MISMATCH _HRESULT_TYPEDEF_(0x80090367)
+#define SEC_E_INVALID_UPN_NAME _HRESULT_TYPEDEF_(0x80090369)
+
+#define SEC_I_CONTINUE_NEEDED _HRESULT_TYPEDEF_(0x00090312)
+#define SEC_I_COMPLETE_NEEDED _HRESULT_TYPEDEF_(0x00090313)
+#define SEC_I_COMPLETE_AND_CONTINUE _HRESULT_TYPEDEF_(0x00090314)
+#define SEC_I_CONTEXT_EXPIRED _HRESULT_TYPEDEF_(0x00090317)
+#define SEC_I_RENEGOTIATE _HRESULT_TYPEDEF_(0x00090321)
+#define SEC_I_SIGNATURE_NEEDED _HRESULT_TYPEDEF_(0x0009035C)
+#define SEC_I_NO_RENEGOTIATION _HRESULT_TYPEDEF_(0x00090360)
+#define SEC_I_MESSAGE_FRAGMENT _HRESULT_TYPEDEF_(0x00090364)
+#define SEC_I_CONTINUE_NEEDED_MESSAGE_OK _HRESULT_TYPEDEF_(0x00090366)
+#define SEC_I_ASYNC_CALL_PENDING _HRESULT_TYPEDEF_(0x00090368)
#define CRYPT_E_MSG_ERROR _HRESULT_TYPEDEF_(0x80091001)
#define CRYPT_E_UNKNOWN_ALGO _HRESULT_TYPEDEF_(0x80091002)
@@ -2855,6 +3366,31 @@
#define TRUST_E_BAD_DIGEST _HRESULT_TYPEDEF_(0x80096010)
#define TRUST_E_BASIC_CONSTRAINTS _HRESULT_TYPEDEF_(0x80096019)
#define TRUST_E_FINANCIAL_CRITERIA _HRESULT_TYPEDEF_(0x8009601E)
+
+#define MSSIPOTF_E_OUTOFMEMRANGE _HRESULT_TYPEDEF_(0x80097001)
+#define MSSIPOTF_E_CANTGETOBJECT _HRESULT_TYPEDEF_(0x80097002)
+#define MSSIPOTF_E_NOHEADTABLE _HRESULT_TYPEDEF_(0x80097003)
+#define MSSIPOTF_E_BAD_MAGICNUMBER _HRESULT_TYPEDEF_(0x80097004)
+#define MSSIPOTF_E_BAD_OFFSET_TABLE _HRESULT_TYPEDEF_(0x80097005)
+#define MSSIPOTF_E_TABLE_TAGORDER _HRESULT_TYPEDEF_(0x80097006)
+#define MSSIPOTF_E_TABLE_LONGWORD _HRESULT_TYPEDEF_(0x80097007)
+#define MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT _HRESULT_TYPEDEF_(0x80097008)
+#define MSSIPOTF_E_TABLES_OVERLAP _HRESULT_TYPEDEF_(0x80097009)
+#define MSSIPOTF_E_TABLE_PADBYTES _HRESULT_TYPEDEF_(0x8009700A)
+#define MSSIPOTF_E_FILETOOSMALL _HRESULT_TYPEDEF_(0x8009700B)
+#define MSSIPOTF_E_TABLE_CHECKSUM _HRESULT_TYPEDEF_(0x8009700C)
+#define MSSIPOTF_E_FILE_CHECKSUM _HRESULT_TYPEDEF_(0x8009700D)
+#define MSSIPOTF_E_FAILED_POLICY _HRESULT_TYPEDEF_(0x80097010)
+#define MSSIPOTF_E_FAILED_HINTS_CHECK _HRESULT_TYPEDEF_(0x80097011)
+#define MSSIPOTF_E_NOT_OPENTYPE _HRESULT_TYPEDEF_(0x80097012)
+#define MSSIPOTF_E_FILE _HRESULT_TYPEDEF_(0x80097013)
+#define MSSIPOTF_E_CRYPT _HRESULT_TYPEDEF_(0x80097014)
+#define MSSIPOTF_E_BADVERSION _HRESULT_TYPEDEF_(0x80097015)
+#define MSSIPOTF_E_DSIG_STRUCTURE _HRESULT_TYPEDEF_(0x80097016)
+#define MSSIPOTF_E_PCONST_CHECK _HRESULT_TYPEDEF_(0x80097017)
+#define MSSIPOTF_E_STRUCTURE _HRESULT_TYPEDEF_(0x80097018)
+#define ERROR_CRED_REQUIRES_CONFIRMATION _HRESULT_TYPEDEF_(0x80097019)
+
#define TRUST_E_PROVIDER_UNKNOWN _HRESULT_TYPEDEF_(0x800B0001)
#define TRUST_E_ACTION_UNKNOWN _HRESULT_TYPEDEF_(0x800B0002)
#define TRUST_E_SUBJECT_FORM_UNKNOWN _HRESULT_TYPEDEF_(0x800B0003)
@@ -3093,6 +3629,7 @@
#define WININET_E_LOGIN_FAILURE_DISPLAY_ENTITY_BODY _HRESULT_TYPEDEF_(0x80072f8e)
#define WININET_E_DECODING_FAILED _HRESULT_TYPEDEF_(0x80072f8f)
+#define ERROR_HUNG_DISPLAY_DRIVER_THREAD _HRESULT_TYPEDEF_(0x80260001)
#define DWM_E_COMPOSITIONDISABLED _HRESULT_TYPEDEF_(0x80263001)
#define DWM_E_REMOTING_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x80263002)
#define DWM_E_NO_REDIRECTION_SURFACE_AVAILABLE _HRESULT_TYPEDEF_(0x80263003)
@@ -3126,6 +3663,120 @@
#define UI_E_PRIMITIVE_OUT_OF_BOUNDS _HRESULT_TYPEDEF_(0x802a010c)
#define UI_E_WINDOW_CLOSED _HRESULT_TYPEDEF_(0x802a0201)
+#define ERROR_VOLMGR_INCOMPLETE_REGENERATION _NDIS_ERROR_TYPEDEF_(0x80380001)
+#define ERROR_VOLMGR_INCOMPLETE_DISK_MIGRATION _NDIS_ERROR_TYPEDEF_(0x80380002)
+#define ERROR_VOLMGR_DATABASE_FULL _NDIS_ERROR_TYPEDEF_(0xC0380001)
+#define ERROR_VOLMGR_DISK_CONFIGURATION_CORRUPTED _NDIS_ERROR_TYPEDEF_(0xC0380002)
+#define ERROR_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC _NDIS_ERROR_TYPEDEF_(0xC0380003)
+#define ERROR_VOLMGR_PACK_CONFIG_UPDATE_FAILED _NDIS_ERROR_TYPEDEF_(0xC0380004)
+#define ERROR_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME _NDIS_ERROR_TYPEDEF_(0xC0380005)
+#define ERROR_VOLMGR_DISK_DUPLICATE _NDIS_ERROR_TYPEDEF_(0xC0380006)
+#define ERROR_VOLMGR_DISK_DYNAMIC _NDIS_ERROR_TYPEDEF_(0xC0380007)
+#define ERROR_VOLMGR_DISK_ID_INVALID _NDIS_ERROR_TYPEDEF_(0xC0380008)
+#define ERROR_VOLMGR_DISK_INVALID _NDIS_ERROR_TYPEDEF_(0xC0380009)
+#define ERROR_VOLMGR_DISK_LAST_VOTER _NDIS_ERROR_TYPEDEF_(0xC038000A)
+#define ERROR_VOLMGR_DISK_LAYOUT_INVALID _NDIS_ERROR_TYPEDEF_(0xC038000B)
+#define ERROR_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS _NDIS_ERROR_TYPEDEF_(0xC038000C)
+#define ERROR_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED _NDIS_ERROR_TYPEDEF_(0xC038000D)
+#define ERROR_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL _NDIS_ERROR_TYPEDEF_(0xC038000E)
+#define ERROR_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS _NDIS_ERROR_TYPEDEF_(0xC038000F)
+#define ERROR_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS _NDIS_ERROR_TYPEDEF_(0xC0380010)
+#define ERROR_VOLMGR_DISK_MISSING _NDIS_ERROR_TYPEDEF_(0xC0380011)
+#define ERROR_VOLMGR_DISK_NOT_EMPTY _NDIS_ERROR_TYPEDEF_(0xC0380012)
+#define ERROR_VOLMGR_DISK_NOT_ENOUGH_SPACE _NDIS_ERROR_TYPEDEF_(0xC0380013)
+#define ERROR_VOLMGR_DISK_REVECTORING_FAILED _NDIS_ERROR_TYPEDEF_(0xC0380014)
+#define ERROR_VOLMGR_DISK_SECTOR_SIZE_INVALID _NDIS_ERROR_TYPEDEF_(0xC0380015)
+#define ERROR_VOLMGR_DISK_SET_NOT_CONTAINED _NDIS_ERROR_TYPEDEF_(0xC0380016)
+#define ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS _NDIS_ERROR_TYPEDEF_(0xC0380017)
+#define ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES _NDIS_ERROR_TYPEDEF_(0xC0380018)
+#define ERROR_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED _NDIS_ERROR_TYPEDEF_(0xC0380019)
+#define ERROR_VOLMGR_EXTENT_ALREADY_USED _NDIS_ERROR_TYPEDEF_(0xC038001A)
+#define ERROR_VOLMGR_EXTENT_NOT_CONTIGUOUS _NDIS_ERROR_TYPEDEF_(0xC038001B)
+#define ERROR_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION _NDIS_ERROR_TYPEDEF_(0xC038001C)
+#define ERROR_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED _NDIS_ERROR_TYPEDEF_(0xC038001D)
+#define ERROR_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION _NDIS_ERROR_TYPEDEF_(0xC038001E)
+#define ERROR_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH _NDIS_ERROR_TYPEDEF_(0xC038001F)
+#define ERROR_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED _NDIS_ERROR_TYPEDEF_(0xC0380020)
+#define ERROR_VOLMGR_INTERLEAVE_LENGTH_INVALID _NDIS_ERROR_TYPEDEF_(0xC0380021)
+#define ERROR_VOLMGR_MAXIMUM_REGISTERED_USERS _NDIS_ERROR_TYPEDEF_(0xC0380022)
+#define ERROR_VOLMGR_MEMBER_IN_SYNC _NDIS_ERROR_TYPEDEF_(0xC0380023)
+#define ERROR_VOLMGR_MEMBER_INDEX_DUPLICATE _NDIS_ERROR_TYPEDEF_(0xC0380024)
+#define ERROR_VOLMGR_MEMBER_INDEX_INVALID _NDIS_ERROR_TYPEDEF_(0xC0380025)
+#define ERROR_VOLMGR_MEMBER_MISSING _NDIS_ERROR_TYPEDEF_(0xC0380026)
+#define ERROR_VOLMGR_MEMBER_NOT_DETACHED _NDIS_ERROR_TYPEDEF_(0xC0380027)
+#define ERROR_VOLMGR_MEMBER_REGENERATING _NDIS_ERROR_TYPEDEF_(0xC0380028)
+#define ERROR_VOLMGR_ALL_DISKS_FAILED _NDIS_ERROR_TYPEDEF_(0xC0380029)
+#define ERROR_VOLMGR_NO_REGISTERED_USERS _NDIS_ERROR_TYPEDEF_(0xC038002A)
+#define ERROR_VOLMGR_NO_SUCH_USER _NDIS_ERROR_TYPEDEF_(0xC038002B)
+#define ERROR_VOLMGR_NOTIFICATION_RESET _NDIS_ERROR_TYPEDEF_(0xC038002C)
+#define ERROR_VOLMGR_NUMBER_OF_MEMBERS_INVALID _NDIS_ERROR_TYPEDEF_(0xC038002D)
+#define ERROR_VOLMGR_NUMBER_OF_PLEXES_INVALID _NDIS_ERROR_TYPEDEF_(0xC038002E)
+#define ERROR_VOLMGR_PACK_DUPLICATE _NDIS_ERROR_TYPEDEF_(0xC038002F)
+#define ERROR_VOLMGR_PACK_ID_INVALID _NDIS_ERROR_TYPEDEF_(0xC0380030)
+#define ERROR_VOLMGR_PACK_INVALID _NDIS_ERROR_TYPEDEF_(0xC0380031)
+#define ERROR_VOLMGR_PACK_NAME_INVALID _NDIS_ERROR_TYPEDEF_(0xC0380032)
+#define ERROR_VOLMGR_PACK_OFFLINE _NDIS_ERROR_TYPEDEF_(0xC0380033)
+#define ERROR_VOLMGR_PACK_HAS_QUORUM _NDIS_ERROR_TYPEDEF_(0xC0380034)
+#define ERROR_VOLMGR_PACK_WITHOUT_QUORUM _NDIS_ERROR_TYPEDEF_(0xC0380035)
+#define ERROR_VOLMGR_PARTITION_STYLE_INVALID _NDIS_ERROR_TYPEDEF_(0xC0380036)
+#define ERROR_VOLMGR_PARTITION_UPDATE_FAILED _NDIS_ERROR_TYPEDEF_(0xC0380037)
+#define ERROR_VOLMGR_PLEX_IN_SYNC _NDIS_ERROR_TYPEDEF_(0xC0380038)
+#define ERROR_VOLMGR_PLEX_INDEX_DUPLICATE _NDIS_ERROR_TYPEDEF_(0xC0380039)
+#define ERROR_VOLMGR_PLEX_INDEX_INVALID _NDIS_ERROR_TYPEDEF_(0xC038003A)
+#define ERROR_VOLMGR_PLEX_LAST_ACTIVE _NDIS_ERROR_TYPEDEF_(0xC038003B)
+#define ERROR_VOLMGR_PLEX_MISSING _NDIS_ERROR_TYPEDEF_(0xC038003C)
+#define ERROR_VOLMGR_PLEX_REGENERATING _NDIS_ERROR_TYPEDEF_(0xC038003D)
+#define ERROR_VOLMGR_PLEX_TYPE_INVALID _NDIS_ERROR_TYPEDEF_(0xC038003E)
+#define ERROR_VOLMGR_PLEX_NOT_RAID5 _NDIS_ERROR_TYPEDEF_(0xC038003F)
+#define ERROR_VOLMGR_PLEX_NOT_SIMPLE _NDIS_ERROR_TYPEDEF_(0xC0380040)
+#define ERROR_VOLMGR_STRUCTURE_SIZE_INVALID _NDIS_ERROR_TYPEDEF_(0xC0380041)
+#define ERROR_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS _NDIS_ERROR_TYPEDEF_(0xC0380042)
+#define ERROR_VOLMGR_TRANSACTION_IN_PROGRESS _NDIS_ERROR_TYPEDEF_(0xC0380043)
+#define ERROR_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE _NDIS_ERROR_TYPEDEF_(0xC0380044)
+#define ERROR_VOLMGR_VOLUME_CONTAINS_MISSING_DISK _NDIS_ERROR_TYPEDEF_(0xC0380045)
+#define ERROR_VOLMGR_VOLUME_ID_INVALID _NDIS_ERROR_TYPEDEF_(0xC0380046)
+#define ERROR_VOLMGR_VOLUME_LENGTH_INVALID _NDIS_ERROR_TYPEDEF_(0xC0380047)
+#define ERROR_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE _NDIS_ERROR_TYPEDEF_(0xC0380048)
+#define ERROR_VOLMGR_VOLUME_NOT_MIRRORED _NDIS_ERROR_TYPEDEF_(0xC0380049)
+#define ERROR_VOLMGR_VOLUME_NOT_RETAINED _NDIS_ERROR_TYPEDEF_(0xC038004A)
+#define ERROR_VOLMGR_VOLUME_OFFLINE _NDIS_ERROR_TYPEDEF_(0xC038004B)
+#define ERROR_VOLMGR_VOLUME_RETAINED _NDIS_ERROR_TYPEDEF_(0xC038004C)
+#define ERROR_VOLMGR_NUMBER_OF_EXTENTS_INVALID _NDIS_ERROR_TYPEDEF_(0xC038004D)
+#define ERROR_VOLMGR_DIFFERENT_SECTOR_SIZE _NDIS_ERROR_TYPEDEF_(0xC038004E)
+#define ERROR_VOLMGR_BAD_BOOT_DISK _NDIS_ERROR_TYPEDEF_(0xC038004F)
+#define ERROR_VOLMGR_PACK_CONFIG_OFFLINE _NDIS_ERROR_TYPEDEF_(0xC0380050)
+#define ERROR_VOLMGR_PACK_CONFIG_ONLINE _NDIS_ERROR_TYPEDEF_(0xC0380051)
+#define ERROR_VOLMGR_NOT_PRIMARY_PACK _NDIS_ERROR_TYPEDEF_(0xC0380052)
+#define ERROR_VOLMGR_PACK_LOG_UPDATE_FAILED _NDIS_ERROR_TYPEDEF_(0xC0380053)
+#define ERROR_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID _NDIS_ERROR_TYPEDEF_(0xC0380054)
+#define ERROR_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID _NDIS_ERROR_TYPEDEF_(0xC0380055)
+#define ERROR_VOLMGR_VOLUME_MIRRORED _NDIS_ERROR_TYPEDEF_(0xC0380056)
+#define ERROR_VOLMGR_PLEX_NOT_SIMPLE_SPANNED _NDIS_ERROR_TYPEDEF_(0xC0380057)
+#define ERROR_VOLMGR_NO_VALID_LOG_COPIES _NDIS_ERROR_TYPEDEF_(0xC0380058)
+#define ERROR_VOLMGR_PRIMARY_PACK_PRESENT _NDIS_ERROR_TYPEDEF_(0xC0380059)
+#define ERROR_VOLMGR_NUMBER_OF_DISKS_INVALID _NDIS_ERROR_TYPEDEF_(0xC038005A)
+#define ERROR_VOLMGR_MIRROR_NOT_SUPPORTED _NDIS_ERROR_TYPEDEF_(0xC038005B)
+#define ERROR_VOLMGR_RAID5_NOT_SUPPORTED _NDIS_ERROR_TYPEDEF_(0xC038005C)
+
+#define ERROR_SPACES_POOL_WAS_DELETED _HRESULT_TYPEDEF_(0x00e70001)
+#define ERROR_SPACES_FAULT_DOMAIN_TYPE_INVALID _HRESULT_TYPEDEF_(0x80e70001)
+#define ERROR_SPACES_INTERNAL_ERROR _HRESULT_TYPEDEF_(0x80e70002)
+#define ERROR_SPACES_RESILIENCY_TYPE_INVALID _HRESULT_TYPEDEF_(0x80e70003)
+#define ERROR_SPACES_DRIVE_SECTOR_SIZE_INVALID _HRESULT_TYPEDEF_(0x80e70004)
+#define ERROR_SPACES_DRIVE_REDUNDANCY_INVALID _HRESULT_TYPEDEF_(0x80e70006)
+#define ERROR_SPACES_NUMBER_OF_DATA_COPIES_INVALID _HRESULT_TYPEDEF_(0x80e70007)
+#define ERROR_SPACES_PARITY_LAYOUT_INVALID _HRESULT_TYPEDEF_(0x80e70008)
+#define ERROR_SPACES_INTERLEAVE_LENGTH_INVALID _HRESULT_TYPEDEF_(0x80e70009)
+#define ERROR_SPACES_NUMBER_OF_COLUMNS_INVALID _HRESULT_TYPEDEF_(0x80e7000a)
+#define ERROR_SPACES_NOT_ENOUGH_DRIVES _HRESULT_TYPEDEF_(0x80e7000b)
+#define ERROR_SPACES_EXTENDED_ERROR _HRESULT_TYPEDEF_(0x80e7000c)
+#define ERROR_SPACES_PROVISIONING_TYPE_INVALID _HRESULT_TYPEDEF_(0x80e7000d)
+#define ERROR_SPACES_ALLOCATION_SIZE_INVALID _HRESULT_TYPEDEF_(0x80e7000e)
+#define ERROR_SPACES_ENCLOSURE_AWARE_INVALID _HRESULT_TYPEDEF_(0x80e7000f)
+#define ERROR_SPACES_WRITE_CACHE_SIZE_INVALID _HRESULT_TYPEDEF_(0x80e70010)
+#define ERROR_SPACES_NUMBER_OF_GROUPS_INVALID _HRESULT_TYPEDEF_(0x80e70011)
+#define ERROR_SPACES_DRIVE_OPERATIONAL_STATE_INVALID _HRESULT_TYPEDEF_(0x80e70012)
+
#define D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS _HRESULT_TYPEDEF_(0x887c0001)
#define D3D11_ERROR_FILE_NOT_FOUND _HRESULT_TYPEDEF_(0x887c0002)
#define D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS _HRESULT_TYPEDEF_(0x887c0003)
diff --git a/mingw-w64-tools/widl/include/winnls.h b/mingw-w64-tools/widl/include/winnls.h
index c7c2cfb..e7b478b 100644
--- a/mingw-w64-tools/widl/include/winnls.h
+++ b/mingw-w64-tools/widl/include/winnls.h
@@ -735,6 +735,8 @@
DWORD dwNLSVersionInfoSize;
DWORD dwNLSVersion;
DWORD dwDefinedVersion;
+ DWORD dwEffectiveId;
+ GUID guidCustomVersion;
} NLSVERSIONINFO, *LPNLSVERSIONINFO;
typedef struct _nlsversioninfoex {
@@ -745,6 +747,9 @@
GUID guidCustomVersion;
} NLSVERSIONINFOEX, *LPNLSVERSIONINFOEX;
+enum SYSNLS_FUNCTION { COMPARE_STRING = 1 };
+typedef DWORD NLS_FUNCTION;
+
/* Define a bunch of callback types */
typedef BOOL (CALLBACK *CALINFO_ENUMPROCEXEX)(LPWSTR,CALID,LPWSTR,LPARAM);
@@ -913,6 +918,8 @@
WINBASEAPI INT WINAPI GetLocaleInfoW(LCID,LCTYPE,LPWSTR,INT);
#define GetLocaleInfo WINELIB_NAME_AW(GetLocaleInfo)
WINBASEAPI INT WINAPI GetLocaleInfoEx(LPCWSTR,LCTYPE,LPWSTR,INT);
+WINBASEAPI BOOL WINAPI GetNLSVersion(NLS_FUNCTION,LCID,NLSVERSIONINFO*);
+WINBASEAPI BOOL WINAPI GetNLSVersionEx(NLS_FUNCTION,LPCWSTR,NLSVERSIONINFOEX*);
WINBASEAPI INT WINAPI GetNumberFormatA(LCID,DWORD,LPCSTR,const NUMBERFMTA*,LPSTR,INT);
WINBASEAPI INT WINAPI GetNumberFormatW(LCID,DWORD,LPCWSTR,const NUMBERFMTW*,LPWSTR,INT);
#define GetNumberFormat WINELIB_NAME_AW(GetNumberFormat)
@@ -950,6 +957,7 @@
WINBASEAPI BOOL WINAPI IsValidLanguageGroup(LGRPID,DWORD);
WINBASEAPI BOOL WINAPI IsValidLocale(LCID,DWORD);
WINBASEAPI BOOL WINAPI IsValidLocaleName(LPCWSTR);
+WINBASEAPI DWORD WINAPI IsValidNLSVersion(NLS_FUNCTION,LPCWSTR,NLSVERSIONINFOEX*);
WINBASEAPI INT WINAPI LCIDToLocaleName(LCID,LPWSTR,INT,DWORD);
WINBASEAPI INT WINAPI LCMapStringA(LCID,DWORD,LPCSTR,INT,LPSTR,INT);
WINBASEAPI INT WINAPI LCMapStringW(LCID,DWORD,LPCWSTR,INT,LPWSTR,INT);
diff --git a/mingw-w64-tools/widl/include/winnt.h b/mingw-w64-tools/widl/include/winnt.h
index 56734f1..46e17c5 100644
--- a/mingw-w64-tools/widl/include/winnt.h
+++ b/mingw-w64-tools/widl/include/winnt.h
@@ -388,11 +388,7 @@
/* Compile time assertion */
-#if defined(_MSC_VER)
-# define C_ASSERT(e) typedef char __C_ASSERT__[(e)?1:-1]
-#else
-# define C_ASSERT(e) extern void __C_ASSERT__(int [(e)?1:-1])
-#endif
+#define C_ASSERT(e) extern void __C_ASSERT__(int [(e)?1:-1])
/* Eliminate Microsoft C/C++ compiler warning 4715 */
#if defined(_MSC_VER) && (_MSC_VER > 1200)
@@ -456,18 +452,21 @@
typedef BYTE BOOLEAN, *PBOOLEAN;
typedef char CHAR, *PCHAR;
typedef short SHORT, *PSHORT;
-#ifdef _MSC_VER
+#ifdef WINE_USE_LONG
typedef long LONG, *PLONG;
#else
typedef int LONG, *PLONG;
#endif
/* Some systems might have wchar_t, but we really need 16 bit characters */
-#ifdef WINE_UNICODE_NATIVE
-typedef wchar_t WCHAR, *PWCHAR;
+#if defined(WINE_UNICODE_NATIVE)
+typedef wchar_t WCHAR;
+#elif defined(WINE_UNICODE_CHAR16)
+typedef char16_t WCHAR;
#else
-typedef unsigned short WCHAR, *PWCHAR;
+typedef unsigned short WCHAR;
#endif
+typedef WCHAR *PWCHAR;
typedef ULONG UCSCHAR;
#define MIN_UCSCHAR (0)
@@ -607,10 +606,13 @@
#define STATUS_TIMEOUT ((DWORD) 0x00000102)
#define STATUS_PENDING ((DWORD) 0x00000103)
#define STATUS_SEGMENT_NOTIFICATION ((DWORD) 0x40000005)
+#define STATUS_FATAL_APP_EXIT ((DWORD) 0x40000015)
#define STATUS_GUARD_PAGE_VIOLATION ((DWORD) 0x80000001)
#define STATUS_DATATYPE_MISALIGNMENT ((DWORD) 0x80000002)
#define STATUS_BREAKPOINT ((DWORD) 0x80000003)
#define STATUS_SINGLE_STEP ((DWORD) 0x80000004)
+#define STATUS_LONGJUMP ((DWORD) 0x80000026)
+#define STATUS_UNWIND_CONSOLIDATE ((DWORD) 0x80000029)
#define STATUS_ACCESS_VIOLATION ((DWORD) 0xC0000005)
#define STATUS_IN_PAGE_ERROR ((DWORD) 0xC0000006)
#define STATUS_INVALID_HANDLE ((DWORD) 0xC0000008)
@@ -630,16 +632,25 @@
#define STATUS_INTEGER_OVERFLOW ((DWORD) 0xC0000095)
#define STATUS_PRIVILEGED_INSTRUCTION ((DWORD) 0xC0000096)
#define STATUS_STACK_OVERFLOW ((DWORD) 0xC00000FD)
+#define STATUS_DLL_NOT_FOUND ((DWORD) 0xC0000135)
+#define STATUS_ORDINAL_NOT_FOUND ((DWORD) 0xC0000138)
+#define STATUS_ENTRYPOINT_NOT_FOUND ((DWORD) 0xC0000139)
#define STATUS_CONTROL_C_EXIT ((DWORD) 0xC000013A)
+#define STATUS_DLL_INIT_FAILED ((DWORD) 0xC0000142)
#define STATUS_FLOAT_MULTIPLE_FAULTS ((DWORD) 0xC00002B4)
#define STATUS_FLOAT_MULTIPLE_TRAPS ((DWORD) 0xC00002B5)
#define STATUS_REG_NAT_CONSUMPTION ((DWORD) 0xC00002C9)
+#define STATUS_HEAP_CORRUPTION ((DWORD) 0xC0000374)
+#define STATUS_STACK_BUFFER_OVERRUN ((DWORD) 0xC0000409)
+#define STATUS_INVALID_CRUNTIME_PARAMETER ((DWORD) 0xC0000417)
+#define STATUS_ASSERTION_FAILURE ((DWORD) 0xC0000420)
#define STATUS_SXS_EARLY_DEACTIVATION ((DWORD) 0xC015000F)
#define STATUS_SXS_INVALID_DEACTIVATION ((DWORD) 0xC0150010)
/* status values for ContinueDebugEvent */
#define DBG_EXCEPTION_HANDLED ((DWORD) 0x00010001)
#define DBG_CONTINUE ((DWORD) 0x00010002)
+#define DBG_REPLY_LATER ((DWORD) 0x40010001)
#define DBG_TERMINATE_THREAD ((DWORD) 0x40010003)
#define DBG_TERMINATE_PROCESS ((DWORD) 0x40010004)
#define DBG_CONTROL_C ((DWORD) 0x40010005)
@@ -647,6 +658,7 @@
#define DBG_RIPEXCEPTION ((DWORD) 0x40010007)
#define DBG_CONTROL_BREAK ((DWORD) 0x40010008)
#define DBG_COMMAND_EXCEPTION ((DWORD) 0x40010009)
+#define DBG_PRINTEXCEPTION_WIDE_C ((DWORD) 0x4001000A)
#define DBG_EXCEPTION_NOT_HANDLED ((DWORD) 0x80010001)
#endif /* WIN32_NO_STATUS */
@@ -784,6 +796,7 @@
#define CONTAINING_RECORD(address, type, field) \
((type *)((PCHAR)(address) - offsetof(type, field)))
+#define ARRAYSIZE(x) (sizeof(x) / sizeof((x)[0]))
#ifdef __WINESRC__
# define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
#endif
@@ -2651,6 +2664,7 @@
return teb;
}
#elif defined(__x86_64__) && defined(_MSC_VER)
+unsigned __int64 __readgsqword(unsigned long);
#pragma intrinsic(__readgsqword)
static FORCEINLINE struct _TEB * WINAPI NtCurrentTeb(void)
{
@@ -3804,33 +3818,17 @@
typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY {
union {
struct {
-#ifdef BITFIELDS_BIGENDIAN
- unsigned NameIsString:1;
- unsigned NameOffset:31;
-#else
unsigned NameOffset:31;
unsigned NameIsString:1;
-#endif
} DUMMYSTRUCTNAME;
DWORD Name;
-#ifdef WORDS_BIGENDIAN
- WORD __pad;
WORD Id;
-#else
- WORD Id;
- WORD __pad;
-#endif
} DUMMYUNIONNAME;
union {
DWORD OffsetToData;
struct {
-#ifdef BITFIELDS_BIGENDIAN
- unsigned DataIsDirectory:1;
- unsigned OffsetToDirectory:31;
-#else
unsigned OffsetToDirectory:31;
unsigned DataIsDirectory:1;
-#endif
} DUMMYSTRUCTNAME2;
} DUMMYUNIONNAME2;
} IMAGE_RESOURCE_DIRECTORY_ENTRY,*PIMAGE_RESOURCE_DIRECTORY_ENTRY;
@@ -4324,6 +4322,12 @@
#define SE_MANAGE_VOLUME_NAME L"SeManageVolumePrivilege"
#define SE_IMPERSONATE_NAME L"SeImpersonatePrivilege"
#define SE_CREATE_GLOBAL_NAME L"SeCreateGlobalPrivilege"
+#define SE_TRUSTED_CREDMAN_ACCESS_NAME L"SeTrustedCredManAccessPrivilege"
+#define SE_RELABEL_NAME L"SeRelabelPrivilege"
+#define SE_INC_WORKING_SET_NAME L"SeIncreaseWorkingSetPrivilege"
+#define SE_TIME_ZONE_NAME L"SeTimeZonePrivilege"
+#define SE_CREATE_SYMBOLIC_LINK_NAME L"SeCreateSymbolicLinkPrivilege"
+#define SE_DELEGATE_SESSION_USER_IMPERSONATE_NAME L"SeDelegateSessionUserImpersonatePrivilege"
#else /* _MSC_VER/__MINGW32__ */
static const WCHAR SE_CREATE_TOKEN_NAME[] = { 'S','e','C','r','e','a','t','e','T','o','k','e','n','P','r','i','v','i','l','e','g','e',0 };
static const WCHAR SE_ASSIGNPRIMARYTOKEN_NAME[] = { 'S','e','A','s','s','i','g','n','P','r','i','m','a','r','y','T','o','k','e','n','P','r','i','v','i','l','e','g','e',0 };
@@ -4354,6 +4358,12 @@
static const WCHAR SE_MANAGE_VOLUME_NAME[] = { 'S','e','M','a','n','a','g','e','V','o','l','u','m','e','P','r','i','v','i','l','e','g','e',0 };
static const WCHAR SE_IMPERSONATE_NAME[] = { 'S','e','I','m','p','e','r','s','o','n','a','t','e','P','r','i','v','i','l','e','g','e',0 };
static const WCHAR SE_CREATE_GLOBAL_NAME[] = { 'S','e','C','r','e','a','t','e','G','l','o','b','a','l','P','r','i','v','i','l','e','g','e',0 };
+static const WCHAR SE_TRUSTED_CREDMAN_ACCESS_NAME[] = { 'S','e','T','r','u','s','t','e','d','C','r','e','d','M','a','n','A','c','c','e','s','s','P','r','i','v','i','l','e','g','e',0 };
+static const WCHAR SE_RELABEL_NAME[] = { 'S','e','R','e','l','a','b','e','l','P','r','i','v','i','l','e','g','e',0 };
+static const WCHAR SE_INC_WORKING_SET_NAME[] = { 'S','e','I','n','c','r','e','a','s','e','W','o','r','k','i','n','g','S','e','t','P','r','i','v','i','l','e','g','e',0 };
+static const WCHAR SE_TIME_ZONE_NAME[] = { 'S','e','T','i','m','e','Z','o','n','e','P','r','i','v','i','l','e','g','e',0 };
+static const WCHAR SE_CREATE_SYMBOLIC_LINK_NAME[] = { 'S','e','C','r','e','a','t','e','S','y','m','b','o','l','i','c','L','i','n','k','P','r','i','v','i','l','e','g','e',0 };
+static const WCHAR SE_DELEGATE_SESSION_USER_IMPERSONATE_NAME[] = { 'S','e','D','e','l','e','g','a','t','e','S','e','s','s','i','o','n','U','s','e','r','I','m','p','e','r','s','o','n','a','t','e','P','r','i','v','i','l','e','g','e',0 };
#endif
#else /* UNICODE */
#define SE_CREATE_TOKEN_NAME "SeCreateTokenPrivilege"
@@ -4385,6 +4395,12 @@
#define SE_MANAGE_VOLUME_NAME "SeManageVolumePrivilege"
#define SE_IMPERSONATE_NAME "SeImpersonatePrivilege"
#define SE_CREATE_GLOBAL_NAME "SeCreateGlobalPrivilege"
+#define SE_TRUSTED_CREDMAN_ACCESS_NAME "SeTrustedCredManAccessPrivilege"
+#define SE_RELABEL_NAME "SeRelabelPrivilege"
+#define SE_INC_WORKING_SET_NAME "SeIncreaseWorkingSetPrivilege"
+#define SE_TIME_ZONE_NAME "SeTimeZonePrivilege"
+#define SE_CREATE_SYMBOLIC_LINK_NAME "SeCreateSymbolicLinkPrivilege"
+#define SE_DELEGATE_SESSION_USER_IMPERSONATE_NAME "SeDelegateSessionUserImpersonatePrivilege"
#endif
#define SE_GROUP_MANDATORY 0x00000001
@@ -5046,7 +5062,10 @@
#define SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE 0xf
#define SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE 0x10
#define SYSTEM_MANDATORY_LABEL_ACE_TYPE 0x11
-#define ACCESS_MAX_MS_V5_ACE_TYPE 0x11
+#define SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE 0x12
+#define SYSTEM_SCOPED_POLICY_ID_ACE_TYPE 0x13
+#define SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE 0x14
+#define ACCESS_MAX_MS_V5_ACE_TYPE 0x14
/* inherit AceFlags */
#define OBJECT_INHERIT_ACE 0x01
@@ -5308,6 +5327,15 @@
#define QUOTA_LIMITS_HARDWS_MIN_DISABLE 0x00000002
#define QUOTA_LIMITS_HARDWS_MAX_ENABLE 0x00000004
#define QUOTA_LIMITS_HARDWS_MAX_DISABLE 0x00000008
+#define QUOTA_LIMITS_USE_DEFAULT_LIMITS 0x00000010
+
+typedef union _RATE_QUOTA_LIMIT {
+ DWORD RateData;
+ struct {
+ DWORD RatePercent:7;
+ DWORD Reserved0:25;
+ } DUMMYSTRUCTNAME;
+} RATE_QUOTA_LIMIT, *PRATE_QUOTA_LIMIT;
typedef struct _QUOTA_LIMITS_EX {
SIZE_T PagedPoolLimit;
@@ -5316,12 +5344,12 @@
SIZE_T MaximumWorkingSetSize;
SIZE_T PagefileLimit;
LARGE_INTEGER TimeLimit;
- SIZE_T Reserved1;
+ SIZE_T WorkingSetLimit;
SIZE_T Reserved2;
SIZE_T Reserved3;
SIZE_T Reserved4;
DWORD Flags;
- DWORD Reserved5;
+ RATE_QUOTA_LIMIT CpuRateLimit;
} QUOTA_LIMITS_EX, *PQUOTA_LIMITS_EX;
#define SECTION_QUERY 0x0001
@@ -5436,6 +5464,8 @@
#define FILE_SUPPORTS_INTEGRITY_STREAMS 0x04000000
#define FILE_SUPPORTS_BLOCK_REFCOUNTING 0x08000000
#define FILE_SUPPORTS_SPARSE_VDL 0x10000000
+#define FILE_DAX_VOLUME 0x20000000
+#define FILE_SUPPORTS_GHOSTING 0x40000000
/* File alignments (NT) */
#define FILE_BYTE_ALIGNMENT 0x00000000
@@ -6249,8 +6279,10 @@
typedef const ASSEMBLY_FILE_DETAILED_INFORMATION *PCASSEMBLY_FILE_DETAILED_INFORMATION;
typedef enum {
- ACTCX_COMPATIBILITY_ELEMENT_TYPE_UNKNOWN = 0,
- ACTCX_COMPATIBILITY_ELEMENT_TYPE_OS
+ ACTCTX_COMPATIBILITY_ELEMENT_TYPE_UNKNOWN = 0,
+ ACTCTX_COMPATIBILITY_ELEMENT_TYPE_OS,
+ ACTCTX_COMPATIBILITY_ELEMENT_TYPE_MITIGATION,
+ ACTCTX_COMPATIBILITY_ELEMENT_TYPE_MAXVERSIONTESTED
} ACTCTX_COMPATIBILITY_ELEMENT_TYPE;
typedef struct _COMPATIBILITY_CONTEXT_ELEMENT {
diff --git a/mingw-w64-tools/widl/include/winnt.rh b/mingw-w64-tools/widl/include/winnt.rh
index 59791bc..786a38f 100644
--- a/mingw-w64-tools/widl/include/winnt.rh
+++ b/mingw-w64-tools/widl/include/winnt.rh
@@ -24,10 +24,12 @@
* macro which only exists in the user's code.
*/
#ifndef WINE_NO_UNICODE_MACROS
-# ifdef UNICODE
+# ifndef UNICODE
+# define __TEXT(string) string
+# elif defined(WINE_UNICODE_NATIVE)
# define __TEXT(string) L##string
# else
-# define __TEXT(string) string
+# define __TEXT(string) u##string
# endif
# define TEXT(string) __TEXT(string)
#endif
diff --git a/mingw-w64-tools/widl/patches/0001-relocatable.patch b/mingw-w64-tools/widl/patches/0001-relocatable.patch
index c555468..84f3058 100644
--- a/mingw-w64-tools/widl/patches/0001-relocatable.patch
+++ b/mingw-w64-tools/widl/patches/0001-relocatable.patch
@@ -1,5 +1,5 @@
diff --git a/mingw-w64-tools/widl/src/widl.c b/mingw-w64-tools/widl/src/widl.c
-index aa669713..35d37d9b 100644
+index a99eed4e..38b9d864 100644
--- a/mingw-w64-tools/widl/src/widl.c
+++ b/mingw-w64-tools/widl/src/widl.c
@@ -42,6 +42,7 @@
@@ -10,12 +10,17 @@
static const char usage[] =
"Usage: widl [options...] infile.idl\n"
-@@ -749,14 +750,12 @@ int main(int argc,char *argv[])
+@@ -772,19 +773,12 @@ int main(int argc,char *argv[])
if (stdinc)
{
- static const char *incl_dirs[] = { INCLUDEDIR, "/usr/include", "/usr/local/include" };
-
+- if (includedir)
+- {
+- wpp_add_include_path( strmake( "%s/wine/msvcrt", includedir ));
+- wpp_add_include_path( strmake( "%s/wine/windows", includedir ));
+- }
- for (i = 0; i < ARRAY_SIZE(incl_dirs); i++)
- {
- if (i && !strcmp( incl_dirs[i], incl_dirs[0] )) continue;
diff --git a/mingw-w64-tools/widl/src/parser.tab.c b/mingw-w64-tools/widl/src/parser.tab.c
index 9484289..047b535 100644
--- a/mingw-w64-tools/widl/src/parser.tab.c
+++ b/mingw-w64-tools/widl/src/parser.tab.c
@@ -1,8 +1,9 @@
-/* A Bison parser, made by GNU Bison 3.1. */
+/* A Bison parser, made by GNU Bison 3.5.4. */
/* Bison implementation for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
+ Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -40,11 +41,14 @@
define necessary library symbols; they are noted "INFRINGES ON
USER NAME SPACE" below. */
+/* Undocumented macros, especially those whose name start with YY_,
+ are private implementation details. Do not rely on them. */
+
/* Identify Bison output. */
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "3.1"
+#define YYBISON_VERSION "3.5.4"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -65,12 +69,11 @@
#define yyerror parser_error
#define yydebug parser_debug
#define yynerrs parser_nerrs
-
#define yylval parser_lval
#define yychar parser_char
-/* Copy the first part of user declarations. */
-#line 1 "parser.y" /* yacc.c:339 */
+/* First part of user prologue. */
+#line 1 "parser.y"
/*
* IDL Compiler
@@ -199,13 +202,26 @@
static typelib_t *current_typelib;
-#line 203 "parser.tab.c" /* yacc.c:339 */
+#line 206 "parser.tab.c"
-# ifndef YY_NULLPTR
-# if defined __cplusplus && 201103L <= __cplusplus
-# define YY_NULLPTR nullptr
+# ifndef YY_CAST
+# ifdef __cplusplus
+# define YY_CAST(Type, Val) static_cast<Type> (Val)
+# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
# else
-# define YY_NULLPTR 0
+# define YY_CAST(Type, Val) ((Type) (Val))
+# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
+# endif
+# endif
+# ifndef YY_NULLPTR
+# if defined __cplusplus
+# if 201103L <= __cplusplus
+# define YY_NULLPTR nullptr
+# else
+# define YY_NULLPTR 0
+# endif
+# else
+# define YY_NULLPTR ((void*)0)
# endif
# endif
@@ -422,10 +438,9 @@
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-
union YYSTYPE
{
-#line 129 "parser.y" /* yacc.c:355 */
+#line 129 "parser.y"
attr_t *attr;
attr_list_t *attr_list;
@@ -454,9 +469,9 @@
enum type_qualifier type_qualifier;
enum function_specifier function_specifier;
-#line 458 "parser.tab.c" /* yacc.c:355 */
-};
+#line 473 "parser.tab.c"
+};
typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1
@@ -469,44 +484,89 @@
-/* Copy the second part of user declarations. */
-#line 475 "parser.tab.c" /* yacc.c:358 */
#ifdef short
# undef short
#endif
-#ifdef YYTYPE_UINT8
-typedef YYTYPE_UINT8 yytype_uint8;
-#else
-typedef unsigned char yytype_uint8;
+/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
+ <limits.h> and (if available) <stdint.h> are included
+ so that the code can choose integer types of a good width. */
+
+#ifndef __PTRDIFF_MAX__
+# include <limits.h> /* INFRINGES ON USER NAME SPACE */
+# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
+# include <stdint.h> /* INFRINGES ON USER NAME SPACE */
+# define YY_STDINT_H
+# endif
#endif
-#ifdef YYTYPE_INT8
-typedef YYTYPE_INT8 yytype_int8;
+/* Narrow types that promote to a signed type and that can represent a
+ signed or unsigned integer of at least N bits. In tables they can
+ save space and decrease cache pressure. Promoting to a signed type
+ helps avoid bugs in integer arithmetic. */
+
+#ifdef __INT_LEAST8_MAX__
+typedef __INT_LEAST8_TYPE__ yytype_int8;
+#elif defined YY_STDINT_H
+typedef int_least8_t yytype_int8;
#else
typedef signed char yytype_int8;
#endif
-#ifdef YYTYPE_UINT16
-typedef YYTYPE_UINT16 yytype_uint16;
-#else
-typedef unsigned short yytype_uint16;
-#endif
-
-#ifdef YYTYPE_INT16
-typedef YYTYPE_INT16 yytype_int16;
+#ifdef __INT_LEAST16_MAX__
+typedef __INT_LEAST16_TYPE__ yytype_int16;
+#elif defined YY_STDINT_H
+typedef int_least16_t yytype_int16;
#else
typedef short yytype_int16;
#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 \
+ && UINT_LEAST8_MAX <= INT_MAX)
+typedef uint_least8_t yytype_uint8;
+#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
+typedef unsigned char yytype_uint8;
+#else
+typedef short yytype_uint8;
+#endif
+
+#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
+typedef __UINT_LEAST16_TYPE__ yytype_uint16;
+#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
+ && UINT_LEAST16_MAX <= INT_MAX)
+typedef uint_least16_t yytype_uint16;
+#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
+typedef unsigned short yytype_uint16;
+#else
+typedef int yytype_uint16;
+#endif
+
+#ifndef YYPTRDIFF_T
+# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
+# define YYPTRDIFF_T __PTRDIFF_TYPE__
+# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
+# elif defined PTRDIFF_MAX
+# ifndef ptrdiff_t
+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+# endif
+# define YYPTRDIFF_T ptrdiff_t
+# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
+# else
+# define YYPTRDIFF_T long
+# define YYPTRDIFF_MAXIMUM LONG_MAX
+# endif
+#endif
+
#ifndef YYSIZE_T
# ifdef __SIZE_TYPE__
# define YYSIZE_T __SIZE_TYPE__
# elif defined size_t
# define YYSIZE_T size_t
-# elif ! defined YYSIZE_T
+# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
# else
@@ -514,7 +574,19 @@
# endif
#endif
-#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
+#define YYSIZE_MAXIMUM \
+ YY_CAST (YYPTRDIFF_T, \
+ (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
+ ? YYPTRDIFF_MAXIMUM \
+ : YY_CAST (YYSIZE_T, -1)))
+
+#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
+
+/* Stored state numbers (used for stacks). */
+typedef yytype_int16 yy_state_t;
+
+/* State numbers in computations. */
+typedef int yy_state_fast_t;
#ifndef YY_
# if defined YYENABLE_NLS && YYENABLE_NLS
@@ -528,30 +600,19 @@
# endif
#endif
-#ifndef YY_ATTRIBUTE
-# if (defined __GNUC__ \
- && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
- || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
-# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
+#ifndef YY_ATTRIBUTE_PURE
+# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
+# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
# else
-# define YY_ATTRIBUTE(Spec) /* empty */
+# define YY_ATTRIBUTE_PURE
# endif
#endif
-#ifndef YY_ATTRIBUTE_PURE
-# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
-#endif
-
#ifndef YY_ATTRIBUTE_UNUSED
-# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
-#endif
-
-#if !defined _Noreturn \
- && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
-# if defined _MSC_VER && 1200 <= _MSC_VER
-# define _Noreturn __declspec (noreturn)
+# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
+# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
# else
-# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
+# define YY_ATTRIBUTE_UNUSED
# endif
#endif
@@ -564,11 +625,11 @@
#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
/* Suppress an incorrect diagnostic about yylval being uninitialized. */
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
- _Pragma ("GCC diagnostic push") \
- _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
+ _Pragma ("GCC diagnostic push") \
+ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
_Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
_Pragma ("GCC diagnostic pop")
#else
# define YY_INITIAL_VALUE(Value) Value
@@ -581,6 +642,20 @@
# define YY_INITIAL_VALUE(Value) /* Nothing. */
#endif
+#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
+# define YY_IGNORE_USELESS_CAST_BEGIN \
+ _Pragma ("GCC diagnostic push") \
+ _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
+# define YY_IGNORE_USELESS_CAST_END \
+ _Pragma ("GCC diagnostic pop")
+#endif
+#ifndef YY_IGNORE_USELESS_CAST_BEGIN
+# define YY_IGNORE_USELESS_CAST_BEGIN
+# define YY_IGNORE_USELESS_CAST_END
+#endif
+
+
+#define YY_ASSERT(E) ((void) (0 && (E)))
#if ! defined yyoverflow || YYERROR_VERBOSE
@@ -657,17 +732,17 @@
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yytype_int16 yyss_alloc;
+ yy_state_t yyss_alloc;
YYSTYPE yyvs_alloc;
};
/* The size of the maximum gap between one aligned stack and the next. */
-# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
/* The size of an array large to enough to hold all stacks, each with
N elements. */
# define YYSTACK_BYTES(N) \
- ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+ ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
+ YYSTACK_GAP_MAXIMUM)
# define YYCOPY_NEEDED 1
@@ -680,11 +755,11 @@
# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
do \
{ \
- YYSIZE_T yynewbytes; \
+ YYPTRDIFF_T yynewbytes; \
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
Stack = &yyptr->Stack_alloc; \
- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
- yyptr += yynewbytes / sizeof (*yyptr); \
+ yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / YYSIZEOF (*yyptr); \
} \
while (0)
@@ -696,12 +771,12 @@
# ifndef YYCOPY
# if defined __GNUC__ && 1 < __GNUC__
# define YYCOPY(Dst, Src, Count) \
- __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
+ __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
# else
# define YYCOPY(Dst, Src, Count) \
do \
{ \
- YYSIZE_T yyi; \
+ YYPTRDIFF_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
@@ -724,16 +799,17 @@
/* YYNSTATES -- Number of states. */
#define YYNSTATES 718
-/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
- by yylex, with out-of-bounds checking. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 443
+
+/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
+ as returned by yylex, with out-of-bounds checking. */
#define YYTRANSLATE(YYX) \
- ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+ (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
- as returned by yylex, without out-of-bounds checking. */
+ as returned by yylex. */
static const yytype_uint8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -785,7 +861,7 @@
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
-static const yytype_uint16 yyrline[] =
+static const yytype_int16 yyrline[] =
{
0, 315, 315, 329, 329, 331, 332, 332, 334, 335,
336, 339, 342, 343, 344, 347, 348, 349, 349, 351,
@@ -826,8 +902,8 @@
1043, 1044, 1045, 1049, 1056, 1057, 1060, 1061, 1064, 1071,
1072, 1077, 1078, 1082, 1083, 1084, 1085, 1086, 1090, 1091,
1092, 1095, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105,
- 1106, 1107, 1110, 1117, 1119, 1125, 1126, 1127, 1130, 1132,
- 1134, 1136, 1139, 1144, 1152, 1153, 1156, 1157, 1160, 1161,
+ 1106, 1107, 1110, 1117, 1119, 1125, 1126, 1127, 1131, 1132,
+ 1135, 1136, 1139, 1144, 1152, 1153, 1156, 1157, 1160, 1161,
1162
};
#endif
@@ -907,7 +983,7 @@
# ifdef YYPRINT
/* YYTOKNUM[NUM] -- (External) token number corresponding to the
(internal) symbol number NUM (which must be that of a token). */
-static const yytype_uint16 yytoknum[] =
+static const yytype_int16 yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
@@ -934,14 +1010,14 @@
};
# endif
-#define YYPACT_NINF -560
+#define YYPACT_NINF (-560)
-#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-560)))
+#define yypact_value_is_default(Yyn) \
+ ((Yyn) == YYPACT_NINF)
-#define YYTABLE_NINF -405
+#define YYTABLE_NINF (-405)
-#define yytable_value_is_error(Yytable_value) \
+#define yytable_value_is_error(Yyn) \
0
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
@@ -1025,7 +1101,7 @@
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
Performed when YYTABLE does not specify something else to do. Zero
means the default is an error. */
-static const yytype_uint16 yydefact[] =
+static const yytype_int16 yydefact[] =
{
5, 0, 3, 1, 35, 383, 398, 273, 265, 284,
0, 322, 0, 0, 272, 260, 274, 318, 271, 275,
@@ -1758,7 +1834,7 @@
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
-static const yytype_uint16 yystos[] =
+static const yytype_int16 yystos[] =
{
0, 214, 216, 0, 4, 5, 14, 33, 35, 41,
42, 45, 50, 59, 61, 67, 68, 70, 74, 77,
@@ -1835,7 +1911,7 @@
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const yytype_uint16 yyr1[] =
+static const yytype_int16 yyr1[] =
{
0, 213, 214, 215, 215, 216, 217, 216, 216, 216,
216, 216, 216, 216, 216, 218, 218, 219, 218, 218,
@@ -1882,7 +1958,7 @@
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
-static const yytype_uint8 yyr2[] =
+static const yytype_int8 yyr2[] =
{
0, 2, 2, 0, 2, 0, 0, 6, 2, 2,
3, 2, 2, 2, 2, 0, 2, 0, 6, 2,
@@ -1941,22 +2017,22 @@
#define YYRECOVERING() (!!yyerrstatus)
-#define YYBACKUP(Token, Value) \
-do \
- if (yychar == YYEMPTY) \
- { \
- yychar = (Token); \
- yylval = (Value); \
- YYPOPSTACK (yylen); \
- yystate = *yyssp; \
- goto yybackup; \
- } \
- else \
- { \
- yyerror (YY_("syntax error: cannot back up")); \
- YYERROR; \
- } \
-while (0)
+#define YYBACKUP(Token, Value) \
+ do \
+ if (yychar == YYEMPTY) \
+ { \
+ yychar = (Token); \
+ yylval = (Value); \
+ YYPOPSTACK (yylen); \
+ yystate = *yyssp; \
+ goto yybackup; \
+ } \
+ else \
+ { \
+ yyerror (YY_("syntax error: cannot back up")); \
+ YYERROR; \
+ } \
+ while (0)
/* Error token number */
#define YYTERROR 1
@@ -1996,37 +2072,39 @@
} while (0)
-/*----------------------------------------.
-| Print this symbol's value on YYOUTPUT. |
-`----------------------------------------*/
+/*-----------------------------------.
+| Print this symbol's value on YYO. |
+`-----------------------------------*/
static void
-yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep)
{
- FILE *yyo = yyoutput;
- YYUSE (yyo);
+ FILE *yyoutput = yyo;
+ YYUSE (yyoutput);
if (!yyvaluep)
return;
# ifdef YYPRINT
if (yytype < YYNTOKENS)
- YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+ YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
# endif
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
YYUSE (yytype);
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
}
-/*--------------------------------.
-| Print this symbol on YYOUTPUT. |
-`--------------------------------*/
+/*---------------------------.
+| Print this symbol on YYO. |
+`---------------------------*/
static void
-yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep)
{
- YYFPRINTF (yyoutput, "%s %s (",
+ YYFPRINTF (yyo, "%s %s (",
yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
- yy_symbol_value_print (yyoutput, yytype, yyvaluep);
- YYFPRINTF (yyoutput, ")");
+ yy_symbol_value_print (yyo, yytype, yyvaluep);
+ YYFPRINTF (yyo, ")");
}
/*------------------------------------------------------------------.
@@ -2035,7 +2113,7 @@
`------------------------------------------------------------------*/
static void
-yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
+yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
{
YYFPRINTF (stderr, "Stack now");
for (; yybottom <= yytop; yybottom++)
@@ -2058,20 +2136,20 @@
`------------------------------------------------*/
static void
-yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
+yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, int yyrule)
{
- unsigned long yylno = yyrline[yyrule];
+ int yylno = yyrline[yyrule];
int yynrhs = yyr2[yyrule];
int yyi;
- YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
+ YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
yyrule - 1, yylno);
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr,
- yystos[yyssp[yyi + 1 - yynrhs]],
- &(yyvsp[(yyi + 1) - (yynrhs)])
+ yystos[+yyssp[yyi + 1 - yynrhs]],
+ &yyvsp[(yyi + 1) - (yynrhs)]
);
YYFPRINTF (stderr, "\n");
}
@@ -2115,13 +2193,13 @@
# ifndef yystrlen
# if defined __GLIBC__ && defined _STRING_H
-# define yystrlen strlen
+# define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S)))
# else
/* Return the length of YYSTR. */
-static YYSIZE_T
+static YYPTRDIFF_T
yystrlen (const char *yystr)
{
- YYSIZE_T yylen;
+ YYPTRDIFF_T yylen;
for (yylen = 0; yystr[yylen]; yylen++)
continue;
return yylen;
@@ -2157,12 +2235,12 @@
backslash-backslash). YYSTR is taken from yytname. If YYRES is
null, do not copy; instead, return the length of what the result
would have been. */
-static YYSIZE_T
+static YYPTRDIFF_T
yytnamerr (char *yyres, const char *yystr)
{
if (*yystr == '"')
{
- YYSIZE_T yyn = 0;
+ YYPTRDIFF_T yyn = 0;
char const *yyp = yystr;
for (;;)
@@ -2175,7 +2253,10 @@
case '\\':
if (*++yyp != '\\')
goto do_not_strip_quotes;
- /* Fall through. */
+ else
+ goto append;
+
+ append:
default:
if (yyres)
yyres[yyn] = *yyp;
@@ -2190,10 +2271,10 @@
do_not_strip_quotes: ;
}
- if (! yyres)
+ if (yyres)
+ return yystpcpy (yyres, yystr) - yyres;
+ else
return yystrlen (yystr);
-
- return yystpcpy (yyres, yystr) - yyres;
}
# endif
@@ -2206,19 +2287,19 @@
*YYMSG_ALLOC to the required number of bytes. Return 2 if the
required number of bytes is too large to store. */
static int
-yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
- yytype_int16 *yyssp, int yytoken)
+yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg,
+ yy_state_t *yyssp, int yytoken)
{
- YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
- YYSIZE_T yysize = yysize0;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */
const char *yyformat = YY_NULLPTR;
- /* Arguments of yyformat. */
+ /* Arguments of yyformat: reported tokens (one for the "unexpected",
+ one per "expected"). */
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
- /* Number of reported tokens (one for the "unexpected", one per
- "expected"). */
+ /* Actual size of YYARG. */
int yycount = 0;
+ /* Cumulated lengths of YYARG. */
+ YYPTRDIFF_T yysize = 0;
/* There are many possibilities here to consider:
- If this state is a consistent state with a default action, then
@@ -2245,7 +2326,9 @@
*/
if (yytoken != YYEMPTY)
{
- int yyn = yypact[*yyssp];
+ int yyn = yypact[+*yyssp];
+ YYPTRDIFF_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
+ yysize = yysize0;
yyarg[yycount++] = yytname[yytoken];
if (!yypact_value_is_default (yyn))
{
@@ -2270,11 +2353,12 @@
}
yyarg[yycount++] = yytname[yyx];
{
- YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
- if (! (yysize <= yysize1
- && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ YYPTRDIFF_T yysize1
+ = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
+ if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
+ yysize = yysize1;
+ else
return 2;
- yysize = yysize1;
}
}
}
@@ -2297,10 +2381,13 @@
}
{
- YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
- if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ /* Don't count the "%s"s in the final size, but reserve room for
+ the terminator. */
+ YYPTRDIFF_T yysize1 = yysize + (yystrlen (yyformat) - 2 * yycount) + 1;
+ if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
+ yysize = yysize1;
+ else
return 2;
- yysize = yysize1;
}
if (*yymsg_alloc < yysize)
@@ -2326,8 +2413,8 @@
}
else
{
- yyp++;
- yyformat++;
+ ++yyp;
+ ++yyformat;
}
}
return 0;
@@ -2370,7 +2457,7 @@
int
yyparse (void)
{
- int yystate;
+ yy_state_fast_t yystate;
/* Number of tokens to shift before error messages enabled. */
int yyerrstatus;
@@ -2382,16 +2469,16 @@
to reallocate them elsewhere. */
/* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss;
- yytype_int16 *yyssp;
+ yy_state_t yyssa[YYINITDEPTH];
+ yy_state_t *yyss;
+ yy_state_t *yyssp;
/* The semantic value stack. */
YYSTYPE yyvsa[YYINITDEPTH];
YYSTYPE *yyvs;
YYSTYPE *yyvsp;
- YYSIZE_T yystacksize;
+ YYPTRDIFF_T yystacksize;
int yyn;
int yyresult;
@@ -2405,7 +2492,7 @@
/* Buffer for error messages, and its allocated size. */
char yymsgbuf[128];
char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+ YYPTRDIFF_T yymsg_alloc = sizeof yymsgbuf;
#endif
#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
@@ -2426,46 +2513,54 @@
yychar = YYEMPTY; /* Cause a token to be read. */
goto yysetstate;
+
/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate. |
+| yynewstate -- push a new state, which is found in yystate. |
`------------------------------------------------------------*/
- yynewstate:
+yynewstate:
/* In all cases, when you get here, the value and location stacks
have just been pushed. So pushing a state here evens the stacks. */
yyssp++;
- yysetstate:
- *yyssp = yystate;
+
+/*--------------------------------------------------------------------.
+| yysetstate -- set current state (the top of the stack) to yystate. |
+`--------------------------------------------------------------------*/
+yysetstate:
+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
+ YY_IGNORE_USELESS_CAST_BEGIN
+ *yyssp = YY_CAST (yy_state_t, yystate);
+ YY_IGNORE_USELESS_CAST_END
if (yyss + yystacksize - 1 <= yyssp)
+#if !defined yyoverflow && !defined YYSTACK_RELOCATE
+ goto yyexhaustedlab;
+#else
{
/* Get the current used size of the three stacks, in elements. */
- YYSIZE_T yysize = yyssp - yyss + 1;
+ YYPTRDIFF_T yysize = yyssp - yyss + 1;
-#ifdef yyoverflow
+# if defined yyoverflow
{
/* Give user a chance to reallocate the stack. Use copies of
these so that the &'s don't force the real ones into
memory. */
+ yy_state_t *yyss1 = yyss;
YYSTYPE *yyvs1 = yyvs;
- yytype_int16 *yyss1 = yyss;
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
be undefined if yyoverflow is a macro. */
yyoverflow (YY_("memory exhausted"),
- &yyss1, yysize * sizeof (*yyssp),
- &yyvs1, yysize * sizeof (*yyvsp),
+ &yyss1, yysize * YYSIZEOF (*yyssp),
+ &yyvs1, yysize * YYSIZEOF (*yyvsp),
&yystacksize);
-
yyss = yyss1;
yyvs = yyvs1;
}
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
- goto yyexhaustedlab;
-# else
+# else /* defined YYSTACK_RELOCATE */
/* Extend the stack our own way. */
if (YYMAXDEPTH <= yystacksize)
goto yyexhaustedlab;
@@ -2474,42 +2569,43 @@
yystacksize = YYMAXDEPTH;
{
- yytype_int16 *yyss1 = yyss;
+ yy_state_t *yyss1 = yyss;
union yyalloc *yyptr =
- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ YY_CAST (union yyalloc *,
+ YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
if (! yyptr)
goto yyexhaustedlab;
YYSTACK_RELOCATE (yyss_alloc, yyss);
YYSTACK_RELOCATE (yyvs_alloc, yyvs);
-# undef YYSTACK_RELOCATE
+# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
}
# endif
-#endif /* no yyoverflow */
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
- YYDPRINTF ((stderr, "Stack size increased to %lu\n",
- (unsigned long) yystacksize));
+ YY_IGNORE_USELESS_CAST_BEGIN
+ YYDPRINTF ((stderr, "Stack size increased to %ld\n",
+ YY_CAST (long, yystacksize)));
+ YY_IGNORE_USELESS_CAST_END
if (yyss + yystacksize - 1 <= yyssp)
YYABORT;
}
-
- YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
if (yystate == YYFINAL)
YYACCEPT;
goto yybackup;
+
/*-----------.
| yybackup. |
`-----------*/
yybackup:
-
/* Do appropriate processing given the current state. Read a
lookahead token if we need one and don't already have one. */
@@ -2559,15 +2655,13 @@
/* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
-
- /* Discard the shifted token. */
- yychar = YYEMPTY;
-
yystate = yyn;
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
*++yyvsp = yylval;
YY_IGNORE_MAYBE_UNINITIALIZED_END
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
goto yynewstate;
@@ -2582,7 +2676,7 @@
/*-----------------------------.
-| yyreduce -- Do a reduction. |
+| yyreduce -- do a reduction. |
`-----------------------------*/
yyreduce:
/* yyn is the number of a rule to reduce with. */
@@ -2602,9 +2696,9 @@
YY_REDUCE_PRINT (yyn);
switch (yyn)
{
- case 2:
-#line 315 "parser.y" /* yacc.c:1651 */
- { check_statements((yyvsp[-1].stmt_list), FALSE);
+ case 2:
+#line 315 "parser.y"
+ { check_statements((yyvsp[-1].stmt_list), FALSE);
check_all_user_types((yyvsp[-1].stmt_list));
write_header((yyvsp[-1].stmt_list));
write_id_data((yyvsp[-1].stmt_list));
@@ -2616,1108 +2710,1108 @@
write_dlldata((yyvsp[-1].stmt_list));
write_local_stubs((yyvsp[-1].stmt_list));
}
-#line 2620 "parser.tab.c" /* yacc.c:1651 */
+#line 2714 "parser.tab.c"
break;
case 5:
-#line 331 "parser.y" /* yacc.c:1651 */
- { (yyval.stmt_list) = NULL; }
-#line 2626 "parser.tab.c" /* yacc.c:1651 */
+#line 331 "parser.y"
+ { (yyval.stmt_list) = NULL; }
+#line 2720 "parser.tab.c"
break;
case 6:
-#line 332 "parser.y" /* yacc.c:1651 */
- { push_namespace((yyvsp[-1].str)); }
-#line 2632 "parser.tab.c" /* yacc.c:1651 */
+#line 332 "parser.y"
+ { push_namespace((yyvsp[-1].str)); }
+#line 2726 "parser.tab.c"
break;
case 7:
-#line 333 "parser.y" /* yacc.c:1651 */
- { pop_namespace((yyvsp[-4].str)); (yyval.stmt_list) = append_statements((yyvsp[-5].stmt_list), (yyvsp[-1].stmt_list)); }
-#line 2638 "parser.tab.c" /* yacc.c:1651 */
+#line 333 "parser.y"
+ { pop_namespace((yyvsp[-4].str)); (yyval.stmt_list) = append_statements((yyvsp[-5].stmt_list), (yyvsp[-1].stmt_list)); }
+#line 2732 "parser.tab.c"
break;
case 8:
-#line 334 "parser.y" /* yacc.c:1651 */
- { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_reference((yyvsp[0].type))); }
-#line 2644 "parser.tab.c" /* yacc.c:1651 */
+#line 334 "parser.y"
+ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_reference((yyvsp[0].type))); }
+#line 2738 "parser.tab.c"
break;
case 9:
-#line 335 "parser.y" /* yacc.c:1651 */
- { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); }
-#line 2650 "parser.tab.c" /* yacc.c:1651 */
+#line 335 "parser.y"
+ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); }
+#line 2744 "parser.tab.c"
break;
case 10:
-#line 336 "parser.y" /* yacc.c:1651 */
- { (yyval.stmt_list) = (yyvsp[-2].stmt_list);
+#line 336 "parser.y"
+ { (yyval.stmt_list) = (yyvsp[-2].stmt_list);
reg_type((yyvsp[-1].type), (yyvsp[-1].type)->name, current_namespace, 0);
}
-#line 2658 "parser.tab.c" /* yacc.c:1651 */
+#line 2752 "parser.tab.c"
break;
case 11:
-#line 339 "parser.y" /* yacc.c:1651 */
- { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type)));
+#line 339 "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 2666 "parser.tab.c" /* yacc.c:1651 */
+#line 2760 "parser.tab.c"
break;
case 12:
-#line 342 "parser.y" /* yacc.c:1651 */
- { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_module((yyvsp[0].type))); }
-#line 2672 "parser.tab.c" /* yacc.c:1651 */
+#line 342 "parser.y"
+ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_module((yyvsp[0].type))); }
+#line 2766 "parser.tab.c"
break;
case 13:
-#line 343 "parser.y" /* yacc.c:1651 */
- { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_library((yyvsp[0].typelib))); }
-#line 2678 "parser.tab.c" /* yacc.c:1651 */
+#line 343 "parser.y"
+ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_library((yyvsp[0].typelib))); }
+#line 2772 "parser.tab.c"
break;
case 14:
-#line 344 "parser.y" /* yacc.c:1651 */
- { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); }
-#line 2684 "parser.tab.c" /* yacc.c:1651 */
+#line 344 "parser.y"
+ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); }
+#line 2778 "parser.tab.c"
break;
case 15:
-#line 347 "parser.y" /* yacc.c:1651 */
- { (yyval.stmt_list) = NULL; }
-#line 2690 "parser.tab.c" /* yacc.c:1651 */
+#line 347 "parser.y"
+ { (yyval.stmt_list) = NULL; }
+#line 2784 "parser.tab.c"
break;
case 16:
-#line 348 "parser.y" /* yacc.c:1651 */
- { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_reference((yyvsp[0].type))); }
-#line 2696 "parser.tab.c" /* yacc.c:1651 */
+#line 348 "parser.y"
+ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_reference((yyvsp[0].type))); }
+#line 2790 "parser.tab.c"
break;
case 17:
-#line 349 "parser.y" /* yacc.c:1651 */
- { push_namespace((yyvsp[-1].str)); }
-#line 2702 "parser.tab.c" /* yacc.c:1651 */
+#line 349 "parser.y"
+ { push_namespace((yyvsp[-1].str)); }
+#line 2796 "parser.tab.c"
break;
case 18:
-#line 350 "parser.y" /* yacc.c:1651 */
- { pop_namespace((yyvsp[-4].str)); (yyval.stmt_list) = append_statements((yyvsp[-5].stmt_list), (yyvsp[-1].stmt_list)); }
-#line 2708 "parser.tab.c" /* yacc.c:1651 */
+#line 350 "parser.y"
+ { pop_namespace((yyvsp[-4].str)); (yyval.stmt_list) = append_statements((yyvsp[-5].stmt_list), (yyvsp[-1].stmt_list)); }
+#line 2802 "parser.tab.c"
break;
case 19:
-#line 351 "parser.y" /* yacc.c:1651 */
- { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); }
-#line 2714 "parser.tab.c" /* yacc.c:1651 */
+#line 351 "parser.y"
+ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type))); }
+#line 2808 "parser.tab.c"
break;
case 20:
-#line 352 "parser.y" /* yacc.c:1651 */
- { (yyval.stmt_list) = (yyvsp[-2].stmt_list); reg_type((yyvsp[-1].type), (yyvsp[-1].type)->name, current_namespace, 0); }
-#line 2720 "parser.tab.c" /* yacc.c:1651 */
+#line 352 "parser.y"
+ { (yyval.stmt_list) = (yyvsp[-2].stmt_list); reg_type((yyvsp[-1].type), (yyvsp[-1].type)->name, current_namespace, 0); }
+#line 2814 "parser.tab.c"
break;
case 21:
-#line 353 "parser.y" /* yacc.c:1651 */
- { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_type_decl((yyvsp[0].type)));
+#line 353 "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 2728 "parser.tab.c" /* yacc.c:1651 */
+#line 2822 "parser.tab.c"
break;
case 22:
-#line 356 "parser.y" /* yacc.c:1651 */
- { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_module((yyvsp[0].type))); }
-#line 2734 "parser.tab.c" /* yacc.c:1651 */
+#line 356 "parser.y"
+ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_module((yyvsp[0].type))); }
+#line 2828 "parser.tab.c"
break;
case 23:
-#line 357 "parser.y" /* yacc.c:1651 */
- { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); }
-#line 2740 "parser.tab.c" /* yacc.c:1651 */
+#line 357 "parser.y"
+ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); }
+#line 2834 "parser.tab.c"
break;
case 24:
-#line 358 "parser.y" /* yacc.c:1651 */
- { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_importlib((yyvsp[0].str))); }
-#line 2746 "parser.tab.c" /* yacc.c:1651 */
+#line 358 "parser.y"
+ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_importlib((yyvsp[0].str))); }
+#line 2840 "parser.tab.c"
break;
case 25:
-#line 359 "parser.y" /* yacc.c:1651 */
- { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_library((yyvsp[0].typelib))); }
-#line 2752 "parser.tab.c" /* yacc.c:1651 */
+#line 359 "parser.y"
+ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), make_statement_library((yyvsp[0].typelib))); }
+#line 2846 "parser.tab.c"
break;
case 26:
-#line 362 "parser.y" /* yacc.c:1651 */
- { (yyval.stmt_list) = NULL; }
-#line 2758 "parser.tab.c" /* yacc.c:1651 */
+#line 362 "parser.y"
+ { (yyval.stmt_list) = NULL; }
+#line 2852 "parser.tab.c"
break;
case 27:
-#line 363 "parser.y" /* yacc.c:1651 */
- { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); }
-#line 2764 "parser.tab.c" /* yacc.c:1651 */
+#line 363 "parser.y"
+ { (yyval.stmt_list) = append_statement((yyvsp[-1].stmt_list), (yyvsp[0].statement)); }
+#line 2858 "parser.tab.c"
break;
case 30:
-#line 371 "parser.y" /* yacc.c:1651 */
- { (yyval.statement) = make_statement_cppquote((yyvsp[0].str)); }
-#line 2770 "parser.tab.c" /* yacc.c:1651 */
+#line 371 "parser.y"
+ { (yyval.statement) = make_statement_cppquote((yyvsp[0].str)); }
+#line 2864 "parser.tab.c"
break;
case 31:
-#line 372 "parser.y" /* yacc.c:1651 */
- { (yyval.statement) = make_statement_type_decl((yyvsp[-1].type)); }
-#line 2776 "parser.tab.c" /* yacc.c:1651 */
+#line 372 "parser.y"
+ { (yyval.statement) = make_statement_type_decl((yyvsp[-1].type)); }
+#line 2870 "parser.tab.c"
break;
case 32:
-#line 373 "parser.y" /* yacc.c:1651 */
- { (yyval.statement) = make_statement_declaration((yyvsp[-1].var)); }
-#line 2782 "parser.tab.c" /* yacc.c:1651 */
+#line 373 "parser.y"
+ { (yyval.statement) = make_statement_declaration((yyvsp[-1].var)); }
+#line 2876 "parser.tab.c"
break;
case 33:
-#line 374 "parser.y" /* yacc.c:1651 */
- { (yyval.statement) = make_statement_import((yyvsp[0].str)); }
-#line 2788 "parser.tab.c" /* yacc.c:1651 */
+#line 374 "parser.y"
+ { (yyval.statement) = make_statement_import((yyvsp[0].str)); }
+#line 2882 "parser.tab.c"
break;
case 34:
-#line 375 "parser.y" /* yacc.c:1651 */
- { (yyval.statement) = (yyvsp[-1].statement); }
-#line 2794 "parser.tab.c" /* yacc.c:1651 */
+#line 375 "parser.y"
+ { (yyval.statement) = (yyvsp[-1].statement); }
+#line 2888 "parser.tab.c"
break;
case 35:
-#line 376 "parser.y" /* yacc.c:1651 */
- { (yyval.statement) = make_statement_pragma((yyvsp[0].str)); }
-#line 2800 "parser.tab.c" /* yacc.c:1651 */
+#line 376 "parser.y"
+ { (yyval.statement) = make_statement_pragma((yyvsp[0].str)); }
+#line 2894 "parser.tab.c"
break;
case 36:
-#line 377 "parser.y" /* yacc.c:1651 */
- { (yyval.statement) = NULL; }
-#line 2806 "parser.tab.c" /* yacc.c:1651 */
+#line 377 "parser.y"
+ { (yyval.statement) = NULL; }
+#line 2900 "parser.tab.c"
break;
case 37:
-#line 381 "parser.y" /* yacc.c:1651 */
- {
+#line 381 "parser.y"
+ {
int result;
(yyval.statement) = NULL;
result = do_warning((yyvsp[-3].str), (yyvsp[-1].warning_list));
if(!result)
error_loc("expected \"disable\" or \"enable\"\n");
}
-#line 2818 "parser.tab.c" /* yacc.c:1651 */
+#line 2912 "parser.tab.c"
break;
case 38:
-#line 391 "parser.y" /* yacc.c:1651 */
- { (yyval.warning_list) = append_warning(NULL, (yyvsp[0].num)); }
-#line 2824 "parser.tab.c" /* yacc.c:1651 */
+#line 391 "parser.y"
+ { (yyval.warning_list) = append_warning(NULL, (yyvsp[0].num)); }
+#line 2918 "parser.tab.c"
break;
case 39:
-#line 392 "parser.y" /* yacc.c:1651 */
- { (yyval.warning_list) = append_warning((yyvsp[-1].warning_list), (yyvsp[0].num)); }
-#line 2830 "parser.tab.c" /* yacc.c:1651 */
+#line 392 "parser.y"
+ { (yyval.warning_list) = append_warning((yyvsp[-1].warning_list), (yyvsp[0].num)); }
+#line 2924 "parser.tab.c"
break;
case 41:
-#line 397 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_enum((yyvsp[0].str), current_namespace, FALSE, NULL); }
-#line 2836 "parser.tab.c" /* yacc.c:1651 */
+#line 397 "parser.y"
+ { (yyval.type) = type_new_enum((yyvsp[0].str), current_namespace, FALSE, NULL); }
+#line 2930 "parser.tab.c"
break;
case 43:
-#line 399 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_struct((yyvsp[0].str), current_namespace, FALSE, NULL); }
-#line 2842 "parser.tab.c" /* yacc.c:1651 */
+#line 399 "parser.y"
+ { (yyval.type) = type_new_struct((yyvsp[0].str), current_namespace, FALSE, NULL); }
+#line 2936 "parser.tab.c"
break;
case 45:
-#line 401 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_nonencapsulated_union((yyvsp[0].str), FALSE, NULL); }
-#line 2848 "parser.tab.c" /* yacc.c:1651 */
+#line 401 "parser.y"
+ { (yyval.type) = type_new_nonencapsulated_union((yyvsp[0].str), FALSE, NULL); }
+#line 2942 "parser.tab.c"
break;
case 46:
-#line 402 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_enum_attrs((yyvsp[-1].attr_list)); }
-#line 2854 "parser.tab.c" /* yacc.c:1651 */
+#line 402 "parser.y"
+ { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_enum_attrs((yyvsp[-1].attr_list)); }
+#line 2948 "parser.tab.c"
break;
case 47:
-#line 403 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_struct_attrs((yyvsp[-1].attr_list)); }
-#line 2860 "parser.tab.c" /* yacc.c:1651 */
+#line 403 "parser.y"
+ { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_struct_attrs((yyvsp[-1].attr_list)); }
+#line 2954 "parser.tab.c"
break;
case 48:
-#line 404 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_union_attrs((yyvsp[-1].attr_list)); }
-#line 2866 "parser.tab.c" /* yacc.c:1651 */
+#line 404 "parser.y"
+ { (yyval.type) = (yyvsp[0].type); (yyval.type)->attrs = check_union_attrs((yyvsp[-1].attr_list)); }
+#line 2960 "parser.tab.c"
break;
case 49:
-#line 407 "parser.y" /* yacc.c:1651 */
- { (yyval.str) = (yyvsp[-1].str); }
-#line 2872 "parser.tab.c" /* yacc.c:1651 */
+#line 407 "parser.y"
+ { (yyval.str) = (yyvsp[-1].str); }
+#line 2966 "parser.tab.c"
break;
case 50:
-#line 409 "parser.y" /* yacc.c:1651 */
- { assert(yychar == YYEMPTY);
+#line 409 "parser.y"
+ { assert(yychar == YYEMPTY);
(yyval.import) = xmalloc(sizeof(struct _import_t));
(yyval.import)->name = (yyvsp[-1].str);
(yyval.import)->import_performed = do_import((yyvsp[-1].str));
if (!(yyval.import)->import_performed) yychar = aEOF;
}
-#line 2883 "parser.tab.c" /* yacc.c:1651 */
+#line 2977 "parser.tab.c"
break;
case 51:
-#line 417 "parser.y" /* yacc.c:1651 */
- { (yyval.str) = (yyvsp[-2].import)->name;
+#line 417 "parser.y"
+ { (yyval.str) = (yyvsp[-2].import)->name;
if ((yyvsp[-2].import)->import_performed) pop_import();
free((yyvsp[-2].import));
}
-#line 2892 "parser.tab.c" /* yacc.c:1651 */
+#line 2986 "parser.tab.c"
break;
case 52:
-#line 424 "parser.y" /* yacc.c:1651 */
- { (yyval.str) = (yyvsp[-2].str); if(!parse_only) add_importlib((yyvsp[-2].str), current_typelib); }
-#line 2898 "parser.tab.c" /* yacc.c:1651 */
+#line 424 "parser.y"
+ { (yyval.str) = (yyvsp[-2].str); if(!parse_only) add_importlib((yyvsp[-2].str), current_typelib); }
+#line 2992 "parser.tab.c"
break;
case 53:
-#line 427 "parser.y" /* yacc.c:1651 */
- { (yyval.str) = (yyvsp[0].str); }
-#line 2904 "parser.tab.c" /* yacc.c:1651 */
+#line 427 "parser.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 2998 "parser.tab.c"
break;
case 54:
-#line 428 "parser.y" /* yacc.c:1651 */
- { (yyval.str) = (yyvsp[0].str); }
-#line 2910 "parser.tab.c" /* yacc.c:1651 */
+#line 428 "parser.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 3004 "parser.tab.c"
break;
case 55:
-#line 430 "parser.y" /* yacc.c:1651 */
- { (yyval.typelib) = make_library((yyvsp[-1].str), check_library_attrs((yyvsp[-1].str), (yyvsp[-2].attr_list)));
+#line 430 "parser.y"
+ { (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 2918 "parser.tab.c" /* yacc.c:1651 */
+#line 3012 "parser.tab.c"
break;
case 56:
-#line 435 "parser.y" /* yacc.c:1651 */
- { (yyval.typelib) = (yyvsp[-3].typelib); (yyval.typelib)->stmts = (yyvsp[-2].stmt_list); }
-#line 2924 "parser.tab.c" /* yacc.c:1651 */
+#line 435 "parser.y"
+ { (yyval.typelib) = (yyvsp[-3].typelib); (yyval.typelib)->stmts = (yyvsp[-2].stmt_list); }
+#line 3018 "parser.tab.c"
break;
case 57:
-#line 438 "parser.y" /* yacc.c:1651 */
- { (yyval.var_list) = NULL; }
-#line 2930 "parser.tab.c" /* yacc.c:1651 */
+#line 438 "parser.y"
+ { (yyval.var_list) = NULL; }
+#line 3024 "parser.tab.c"
break;
case 59:
-#line 442 "parser.y" /* yacc.c:1651 */
- { check_arg_attrs((yyvsp[0].var)); (yyval.var_list) = append_var( NULL, (yyvsp[0].var) ); }
-#line 2936 "parser.tab.c" /* yacc.c:1651 */
+#line 442 "parser.y"
+ { check_arg_attrs((yyvsp[0].var)); (yyval.var_list) = append_var( NULL, (yyvsp[0].var) ); }
+#line 3030 "parser.tab.c"
break;
case 60:
-#line 443 "parser.y" /* yacc.c:1651 */
- { check_arg_attrs((yyvsp[0].var)); (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[0].var) ); }
-#line 2942 "parser.tab.c" /* yacc.c:1651 */
+#line 443 "parser.y"
+ { check_arg_attrs((yyvsp[0].var)); (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[0].var) ); }
+#line 3036 "parser.tab.c"
break;
case 62:
-#line 447 "parser.y" /* yacc.c:1651 */
- { (yyval.var_list) = append_var( (yyvsp[-2].var_list), make_var(strdup("...")) ); }
-#line 2948 "parser.tab.c" /* yacc.c:1651 */
+#line 447 "parser.y"
+ { (yyval.var_list) = append_var( (yyvsp[-2].var_list), make_var(strdup("...")) ); }
+#line 3042 "parser.tab.c"
break;
case 63:
-#line 451 "parser.y" /* yacc.c:1651 */
- { if ((yyvsp[-1].declspec)->stgclass != STG_NONE && (yyvsp[-1].declspec)->stgclass != STG_REGISTER)
+#line 451 "parser.y"
+ { if ((yyvsp[-1].declspec)->stgclass != STG_NONE && (yyvsp[-1].declspec)->stgclass != STG_REGISTER)
error_loc("invalid storage class for function parameter\n");
(yyval.var) = declare_var((yyvsp[-2].attr_list), (yyvsp[-1].declspec), (yyvsp[0].declarator), TRUE);
free((yyvsp[-1].declspec)); free((yyvsp[0].declarator));
}
-#line 2958 "parser.tab.c" /* yacc.c:1651 */
+#line 3052 "parser.tab.c"
break;
case 64:
-#line 456 "parser.y" /* yacc.c:1651 */
- { if ((yyvsp[-1].declspec)->stgclass != STG_NONE && (yyvsp[-1].declspec)->stgclass != STG_REGISTER)
+#line 456 "parser.y"
+ { if ((yyvsp[-1].declspec)->stgclass != STG_NONE && (yyvsp[-1].declspec)->stgclass != STG_REGISTER)
error_loc("invalid storage class for function parameter\n");
(yyval.var) = declare_var(NULL, (yyvsp[-1].declspec), (yyvsp[0].declarator), TRUE);
free((yyvsp[-1].declspec)); free((yyvsp[0].declarator));
}
-#line 2968 "parser.tab.c" /* yacc.c:1651 */
+#line 3062 "parser.tab.c"
break;
case 65:
-#line 463 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = (yyvsp[-1].expr);
+#line 463 "parser.y"
+ { (yyval.expr) = (yyvsp[-1].expr);
if (!(yyval.expr)->is_const || (yyval.expr)->cval <= 0)
error_loc("array dimension is not a positive integer constant\n");
}
-#line 2977 "parser.tab.c" /* yacc.c:1651 */
+#line 3071 "parser.tab.c"
break;
case 66:
-#line 467 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr(EXPR_VOID); }
-#line 2983 "parser.tab.c" /* yacc.c:1651 */
+#line 467 "parser.y"
+ { (yyval.expr) = make_expr(EXPR_VOID); }
+#line 3077 "parser.tab.c"
break;
case 67:
-#line 468 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr(EXPR_VOID); }
-#line 2989 "parser.tab.c" /* yacc.c:1651 */
+#line 468 "parser.y"
+ { (yyval.expr) = make_expr(EXPR_VOID); }
+#line 3083 "parser.tab.c"
break;
case 68:
-#line 471 "parser.y" /* yacc.c:1651 */
- { (yyval.attr_list) = NULL; }
-#line 2995 "parser.tab.c" /* yacc.c:1651 */
+#line 471 "parser.y"
+ { (yyval.attr_list) = NULL; }
+#line 3089 "parser.tab.c"
break;
case 70:
-#line 476 "parser.y" /* yacc.c:1651 */
- { (yyval.attr_list) = (yyvsp[-1].attr_list); }
-#line 3001 "parser.tab.c" /* yacc.c:1651 */
+#line 476 "parser.y"
+ { (yyval.attr_list) = (yyvsp[-1].attr_list); }
+#line 3095 "parser.tab.c"
break;
case 71:
-#line 479 "parser.y" /* yacc.c:1651 */
- { (yyval.attr_list) = append_attr( NULL, (yyvsp[0].attr) ); }
-#line 3007 "parser.tab.c" /* yacc.c:1651 */
+#line 479 "parser.y"
+ { (yyval.attr_list) = append_attr( NULL, (yyvsp[0].attr) ); }
+#line 3101 "parser.tab.c"
break;
case 72:
-#line 480 "parser.y" /* yacc.c:1651 */
- { (yyval.attr_list) = append_attr( (yyvsp[-2].attr_list), (yyvsp[0].attr) ); }
-#line 3013 "parser.tab.c" /* yacc.c:1651 */
+#line 480 "parser.y"
+ { (yyval.attr_list) = append_attr( (yyvsp[-2].attr_list), (yyvsp[0].attr) ); }
+#line 3107 "parser.tab.c"
break;
case 73:
-#line 481 "parser.y" /* yacc.c:1651 */
- { (yyval.attr_list) = append_attr( (yyvsp[-3].attr_list), (yyvsp[0].attr) ); }
-#line 3019 "parser.tab.c" /* yacc.c:1651 */
+#line 481 "parser.y"
+ { (yyval.attr_list) = append_attr( (yyvsp[-3].attr_list), (yyvsp[0].attr) ); }
+#line 3113 "parser.tab.c"
break;
case 74:
-#line 484 "parser.y" /* yacc.c:1651 */
- { (yyval.str_list) = append_str( NULL, (yyvsp[0].str) ); }
-#line 3025 "parser.tab.c" /* yacc.c:1651 */
+#line 484 "parser.y"
+ { (yyval.str_list) = append_str( NULL, (yyvsp[0].str) ); }
+#line 3119 "parser.tab.c"
break;
case 75:
-#line 485 "parser.y" /* yacc.c:1651 */
- { (yyval.str_list) = append_str( (yyvsp[-2].str_list), (yyvsp[0].str) ); }
-#line 3031 "parser.tab.c" /* yacc.c:1651 */
+#line 485 "parser.y"
+ { (yyval.str_list) = append_str( (yyvsp[-2].str_list), (yyvsp[0].str) ); }
+#line 3125 "parser.tab.c"
break;
case 76:
-#line 488 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = NULL; }
-#line 3037 "parser.tab.c" /* yacc.c:1651 */
+#line 488 "parser.y"
+ { (yyval.attr) = NULL; }
+#line 3131 "parser.tab.c"
break;
case 77:
-#line 489 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_AGGREGATABLE); }
-#line 3043 "parser.tab.c" /* yacc.c:1651 */
+#line 489 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_AGGREGATABLE); }
+#line 3137 "parser.tab.c"
break;
case 78:
-#line 490 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_ANNOTATION, (yyvsp[-1].str)); }
-#line 3049 "parser.tab.c" /* yacc.c:1651 */
+#line 490 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_ANNOTATION, (yyvsp[-1].str)); }
+#line 3143 "parser.tab.c"
break;
case 79:
-#line 491 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_APPOBJECT); }
-#line 3055 "parser.tab.c" /* yacc.c:1651 */
+#line 491 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_APPOBJECT); }
+#line 3149 "parser.tab.c"
break;
case 80:
-#line 492 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_ASYNC); }
-#line 3061 "parser.tab.c" /* yacc.c:1651 */
+#line 492 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_ASYNC); }
+#line 3155 "parser.tab.c"
break;
case 81:
-#line 493 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_AUTO_HANDLE); }
-#line 3067 "parser.tab.c" /* yacc.c:1651 */
+#line 493 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_AUTO_HANDLE); }
+#line 3161 "parser.tab.c"
break;
case 82:
-#line 494 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_BINDABLE); }
-#line 3073 "parser.tab.c" /* yacc.c:1651 */
+#line 494 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_BINDABLE); }
+#line 3167 "parser.tab.c"
break;
case 83:
-#line 495 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_BROADCAST); }
-#line 3079 "parser.tab.c" /* yacc.c:1651 */
+#line 495 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_BROADCAST); }
+#line 3173 "parser.tab.c"
break;
case 84:
-#line 496 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_CALLAS, (yyvsp[-1].var)); }
-#line 3085 "parser.tab.c" /* yacc.c:1651 */
+#line 496 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_CALLAS, (yyvsp[-1].var)); }
+#line 3179 "parser.tab.c"
break;
case 85:
-#line 497 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_CASE, (yyvsp[-1].expr_list)); }
-#line 3091 "parser.tab.c" /* yacc.c:1651 */
+#line 497 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_CASE, (yyvsp[-1].expr_list)); }
+#line 3185 "parser.tab.c"
break;
case 86:
-#line 498 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_CODE); }
-#line 3097 "parser.tab.c" /* yacc.c:1651 */
+#line 498 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_CODE); }
+#line 3191 "parser.tab.c"
break;
case 87:
-#line 499 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_COMMSTATUS); }
-#line 3103 "parser.tab.c" /* yacc.c:1651 */
+#line 499 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_COMMSTATUS); }
+#line 3197 "parser.tab.c"
break;
case 88:
-#line 500 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); }
-#line 3109 "parser.tab.c" /* yacc.c:1651 */
+#line 500 "parser.y"
+ { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); }
+#line 3203 "parser.tab.c"
break;
case 89:
-#line 501 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_DONT_SERIALIZE */ }
-#line 3115 "parser.tab.c" /* yacc.c:1651 */
+#line 501 "parser.y"
+ { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_DONT_SERIALIZE */ }
+#line 3209 "parser.tab.c"
break;
case 90:
-#line 502 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_SERIALIZE */ }
-#line 3121 "parser.tab.c" /* yacc.c:1651 */
+#line 502 "parser.y"
+ { (yyval.attr) = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_SERIALIZE */ }
+#line 3215 "parser.tab.c"
break;
case 91:
-#line 503 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_CONTROL); }
-#line 3127 "parser.tab.c" /* yacc.c:1651 */
+#line 503 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_CONTROL); }
+#line 3221 "parser.tab.c"
break;
case 92:
-#line 504 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_DECODE); }
-#line 3133 "parser.tab.c" /* yacc.c:1651 */
+#line 504 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_DECODE); }
+#line 3227 "parser.tab.c"
break;
case 93:
-#line 505 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_DEFAULT); }
-#line 3139 "parser.tab.c" /* yacc.c:1651 */
+#line 505 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_DEFAULT); }
+#line 3233 "parser.tab.c"
break;
case 94:
-#line 506 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_DEFAULTBIND); }
-#line 3145 "parser.tab.c" /* yacc.c:1651 */
+#line 506 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_DEFAULTBIND); }
+#line 3239 "parser.tab.c"
break;
case 95:
-#line 507 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_DEFAULTCOLLELEM); }
-#line 3151 "parser.tab.c" /* yacc.c:1651 */
+#line 507 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_DEFAULTCOLLELEM); }
+#line 3245 "parser.tab.c"
break;
case 96:
-#line 508 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_DEFAULTVALUE, (yyvsp[-1].expr)); }
-#line 3157 "parser.tab.c" /* yacc.c:1651 */
+#line 508 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_DEFAULTVALUE, (yyvsp[-1].expr)); }
+#line 3251 "parser.tab.c"
break;
case 97:
-#line 509 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_DEFAULTVTABLE); }
-#line 3163 "parser.tab.c" /* yacc.c:1651 */
+#line 509 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_DEFAULTVTABLE); }
+#line 3257 "parser.tab.c"
break;
case 98:
-#line 510 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_DISABLECONSISTENCYCHECK); }
-#line 3169 "parser.tab.c" /* yacc.c:1651 */
+#line 510 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_DISABLECONSISTENCYCHECK); }
+#line 3263 "parser.tab.c"
break;
case 99:
-#line 511 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_DISPLAYBIND); }
-#line 3175 "parser.tab.c" /* yacc.c:1651 */
+#line 511 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_DISPLAYBIND); }
+#line 3269 "parser.tab.c"
break;
case 100:
-#line 512 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_DLLNAME, (yyvsp[-1].str)); }
-#line 3181 "parser.tab.c" /* yacc.c:1651 */
+#line 512 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_DLLNAME, (yyvsp[-1].str)); }
+#line 3275 "parser.tab.c"
break;
case 101:
-#line 513 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_DUAL); }
-#line 3187 "parser.tab.c" /* yacc.c:1651 */
+#line 513 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_DUAL); }
+#line 3281 "parser.tab.c"
break;
case 102:
-#line 514 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_ENABLEALLOCATE); }
-#line 3193 "parser.tab.c" /* yacc.c:1651 */
+#line 514 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_ENABLEALLOCATE); }
+#line 3287 "parser.tab.c"
break;
case 103:
-#line 515 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_ENCODE); }
-#line 3199 "parser.tab.c" /* yacc.c:1651 */
+#line 515 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_ENCODE); }
+#line 3293 "parser.tab.c"
break;
case 104:
-#line 516 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_ENDPOINT, (yyvsp[-1].str_list)); }
-#line 3205 "parser.tab.c" /* yacc.c:1651 */
+#line 516 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_ENDPOINT, (yyvsp[-1].str_list)); }
+#line 3299 "parser.tab.c"
break;
case 105:
-#line 517 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_ENTRY, (yyvsp[-1].expr)); }
-#line 3211 "parser.tab.c" /* yacc.c:1651 */
+#line 517 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_ENTRY, (yyvsp[-1].expr)); }
+#line 3305 "parser.tab.c"
break;
case 106:
-#line 518 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_EXPLICIT_HANDLE); }
-#line 3217 "parser.tab.c" /* yacc.c:1651 */
+#line 518 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_EXPLICIT_HANDLE); }
+#line 3311 "parser.tab.c"
break;
case 107:
-#line 519 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_FAULTSTATUS); }
-#line 3223 "parser.tab.c" /* yacc.c:1651 */
+#line 519 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_FAULTSTATUS); }
+#line 3317 "parser.tab.c"
break;
case 108:
-#line 520 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_FORCEALLOCATE); }
-#line 3229 "parser.tab.c" /* yacc.c:1651 */
+#line 520 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_FORCEALLOCATE); }
+#line 3323 "parser.tab.c"
break;
case 109:
-#line 521 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_HANDLE); }
-#line 3235 "parser.tab.c" /* yacc.c:1651 */
+#line 521 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_HANDLE); }
+#line 3329 "parser.tab.c"
break;
case 110:
-#line 522 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_HELPCONTEXT, (yyvsp[-1].expr)); }
-#line 3241 "parser.tab.c" /* yacc.c:1651 */
+#line 522 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_HELPCONTEXT, (yyvsp[-1].expr)); }
+#line 3335 "parser.tab.c"
break;
case 111:
-#line 523 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_HELPFILE, (yyvsp[-1].str)); }
-#line 3247 "parser.tab.c" /* yacc.c:1651 */
+#line 523 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_HELPFILE, (yyvsp[-1].str)); }
+#line 3341 "parser.tab.c"
break;
case 112:
-#line 524 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_HELPSTRING, (yyvsp[-1].str)); }
-#line 3253 "parser.tab.c" /* yacc.c:1651 */
+#line 524 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_HELPSTRING, (yyvsp[-1].str)); }
+#line 3347 "parser.tab.c"
break;
case 113:
-#line 525 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_HELPSTRINGCONTEXT, (yyvsp[-1].expr)); }
-#line 3259 "parser.tab.c" /* yacc.c:1651 */
+#line 525 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_HELPSTRINGCONTEXT, (yyvsp[-1].expr)); }
+#line 3353 "parser.tab.c"
break;
case 114:
-#line 526 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_HELPSTRINGDLL, (yyvsp[-1].str)); }
-#line 3265 "parser.tab.c" /* yacc.c:1651 */
+#line 526 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_HELPSTRINGDLL, (yyvsp[-1].str)); }
+#line 3359 "parser.tab.c"
break;
case 115:
-#line 527 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_HIDDEN); }
-#line 3271 "parser.tab.c" /* yacc.c:1651 */
+#line 527 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_HIDDEN); }
+#line 3365 "parser.tab.c"
break;
case 116:
-#line 528 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_ID, (yyvsp[-1].expr)); }
-#line 3277 "parser.tab.c" /* yacc.c:1651 */
+#line 528 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_ID, (yyvsp[-1].expr)); }
+#line 3371 "parser.tab.c"
break;
case 117:
-#line 529 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_IDEMPOTENT); }
-#line 3283 "parser.tab.c" /* yacc.c:1651 */
+#line 529 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_IDEMPOTENT); }
+#line 3377 "parser.tab.c"
break;
case 118:
-#line 530 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_IGNORE); }
-#line 3289 "parser.tab.c" /* yacc.c:1651 */
+#line 530 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_IGNORE); }
+#line 3383 "parser.tab.c"
break;
case 119:
-#line 531 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_IIDIS, (yyvsp[-1].expr)); }
-#line 3295 "parser.tab.c" /* yacc.c:1651 */
+#line 531 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_IIDIS, (yyvsp[-1].expr)); }
+#line 3389 "parser.tab.c"
break;
case 120:
-#line 532 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_IMMEDIATEBIND); }
-#line 3301 "parser.tab.c" /* yacc.c:1651 */
+#line 532 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_IMMEDIATEBIND); }
+#line 3395 "parser.tab.c"
break;
case 121:
-#line 533 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_IMPLICIT_HANDLE, (yyvsp[-1].var)); }
-#line 3307 "parser.tab.c" /* yacc.c:1651 */
+#line 533 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_IMPLICIT_HANDLE, (yyvsp[-1].var)); }
+#line 3401 "parser.tab.c"
break;
case 122:
-#line 534 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_IN); }
-#line 3313 "parser.tab.c" /* yacc.c:1651 */
+#line 534 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_IN); }
+#line 3407 "parser.tab.c"
break;
case 123:
-#line 535 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_INPUTSYNC); }
-#line 3319 "parser.tab.c" /* yacc.c:1651 */
+#line 535 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_INPUTSYNC); }
+#line 3413 "parser.tab.c"
break;
case 124:
-#line 536 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_LENGTHIS, (yyvsp[-1].expr_list)); }
-#line 3325 "parser.tab.c" /* yacc.c:1651 */
+#line 536 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_LENGTHIS, (yyvsp[-1].expr_list)); }
+#line 3419 "parser.tab.c"
break;
case 125:
-#line 537 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_LIBLCID, (yyvsp[-1].expr)); }
-#line 3331 "parser.tab.c" /* yacc.c:1651 */
+#line 537 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_LIBLCID, (yyvsp[-1].expr)); }
+#line 3425 "parser.tab.c"
break;
case 126:
-#line 538 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_PARAMLCID); }
-#line 3337 "parser.tab.c" /* yacc.c:1651 */
+#line 538 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_PARAMLCID); }
+#line 3431 "parser.tab.c"
break;
case 127:
-#line 539 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_LICENSED); }
-#line 3343 "parser.tab.c" /* yacc.c:1651 */
+#line 539 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_LICENSED); }
+#line 3437 "parser.tab.c"
break;
case 128:
-#line 540 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_LOCAL); }
-#line 3349 "parser.tab.c" /* yacc.c:1651 */
+#line 540 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_LOCAL); }
+#line 3443 "parser.tab.c"
break;
case 129:
-#line 541 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_MAYBE); }
-#line 3355 "parser.tab.c" /* yacc.c:1651 */
+#line 541 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_MAYBE); }
+#line 3449 "parser.tab.c"
break;
case 130:
-#line 542 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_MESSAGE); }
-#line 3361 "parser.tab.c" /* yacc.c:1651 */
+#line 542 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_MESSAGE); }
+#line 3455 "parser.tab.c"
break;
case 131:
-#line 543 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_NOCODE); }
-#line 3367 "parser.tab.c" /* yacc.c:1651 */
+#line 543 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_NOCODE); }
+#line 3461 "parser.tab.c"
break;
case 132:
-#line 544 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_NONBROWSABLE); }
-#line 3373 "parser.tab.c" /* yacc.c:1651 */
+#line 544 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_NONBROWSABLE); }
+#line 3467 "parser.tab.c"
break;
case 133:
-#line 545 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_NONCREATABLE); }
-#line 3379 "parser.tab.c" /* yacc.c:1651 */
+#line 545 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_NONCREATABLE); }
+#line 3473 "parser.tab.c"
break;
case 134:
-#line 546 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_NONEXTENSIBLE); }
-#line 3385 "parser.tab.c" /* yacc.c:1651 */
+#line 546 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_NONEXTENSIBLE); }
+#line 3479 "parser.tab.c"
break;
case 135:
-#line 547 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_NOTIFY); }
-#line 3391 "parser.tab.c" /* yacc.c:1651 */
+#line 547 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_NOTIFY); }
+#line 3485 "parser.tab.c"
break;
case 136:
-#line 548 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_NOTIFYFLAG); }
-#line 3397 "parser.tab.c" /* yacc.c:1651 */
+#line 548 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_NOTIFYFLAG); }
+#line 3491 "parser.tab.c"
break;
case 137:
-#line 549 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_OBJECT); }
-#line 3403 "parser.tab.c" /* yacc.c:1651 */
+#line 549 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_OBJECT); }
+#line 3497 "parser.tab.c"
break;
case 138:
-#line 550 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_ODL); }
-#line 3409 "parser.tab.c" /* yacc.c:1651 */
+#line 550 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_ODL); }
+#line 3503 "parser.tab.c"
break;
case 139:
-#line 551 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_OLEAUTOMATION); }
-#line 3415 "parser.tab.c" /* yacc.c:1651 */
+#line 551 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_OLEAUTOMATION); }
+#line 3509 "parser.tab.c"
break;
case 140:
-#line 552 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_OPTIMIZE, (yyvsp[-1].str)); }
-#line 3421 "parser.tab.c" /* yacc.c:1651 */
+#line 552 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_OPTIMIZE, (yyvsp[-1].str)); }
+#line 3515 "parser.tab.c"
break;
case 141:
-#line 553 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_OPTIONAL); }
-#line 3427 "parser.tab.c" /* yacc.c:1651 */
+#line 553 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_OPTIONAL); }
+#line 3521 "parser.tab.c"
break;
case 142:
-#line 554 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_OUT); }
-#line 3433 "parser.tab.c" /* yacc.c:1651 */
+#line 554 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_OUT); }
+#line 3527 "parser.tab.c"
break;
case 143:
-#line 555 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_PARTIALIGNORE); }
-#line 3439 "parser.tab.c" /* yacc.c:1651 */
+#line 555 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_PARTIALIGNORE); }
+#line 3533 "parser.tab.c"
break;
case 144:
-#line 556 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrv(ATTR_POINTERDEFAULT, (yyvsp[-1].num)); }
-#line 3445 "parser.tab.c" /* yacc.c:1651 */
+#line 556 "parser.y"
+ { (yyval.attr) = make_attrv(ATTR_POINTERDEFAULT, (yyvsp[-1].num)); }
+#line 3539 "parser.tab.c"
break;
case 145:
-#line 557 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_PROGID, (yyvsp[-1].str)); }
-#line 3451 "parser.tab.c" /* yacc.c:1651 */
+#line 557 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_PROGID, (yyvsp[-1].str)); }
+#line 3545 "parser.tab.c"
break;
case 146:
-#line 558 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_PROPGET); }
-#line 3457 "parser.tab.c" /* yacc.c:1651 */
+#line 558 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_PROPGET); }
+#line 3551 "parser.tab.c"
break;
case 147:
-#line 559 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_PROPPUT); }
-#line 3463 "parser.tab.c" /* yacc.c:1651 */
+#line 559 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_PROPPUT); }
+#line 3557 "parser.tab.c"
break;
case 148:
-#line 560 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_PROPPUTREF); }
-#line 3469 "parser.tab.c" /* yacc.c:1651 */
+#line 560 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_PROPPUTREF); }
+#line 3563 "parser.tab.c"
break;
case 149:
-#line 561 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_PROXY); }
-#line 3475 "parser.tab.c" /* yacc.c:1651 */
+#line 561 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_PROXY); }
+#line 3569 "parser.tab.c"
break;
case 150:
-#line 562 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_PUBLIC); }
-#line 3481 "parser.tab.c" /* yacc.c:1651 */
+#line 562 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_PUBLIC); }
+#line 3575 "parser.tab.c"
break;
case 151:
-#line 564 "parser.y" /* yacc.c:1651 */
- { expr_list_t *list = append_expr( NULL, (yyvsp[-3].expr) );
+#line 564 "parser.y"
+ { 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 3489 "parser.tab.c" /* yacc.c:1651 */
+#line 3583 "parser.tab.c"
break;
case 152:
-#line 567 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_READONLY); }
-#line 3495 "parser.tab.c" /* yacc.c:1651 */
+#line 567 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_READONLY); }
+#line 3589 "parser.tab.c"
break;
case 153:
-#line 568 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_REPRESENTAS, (yyvsp[-1].type)); }
-#line 3501 "parser.tab.c" /* yacc.c:1651 */
+#line 568 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_REPRESENTAS, (yyvsp[-1].type)); }
+#line 3595 "parser.tab.c"
break;
case 154:
-#line 569 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_REQUESTEDIT); }
-#line 3507 "parser.tab.c" /* yacc.c:1651 */
+#line 569 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_REQUESTEDIT); }
+#line 3601 "parser.tab.c"
break;
case 155:
-#line 570 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_RESTRICTED); }
-#line 3513 "parser.tab.c" /* yacc.c:1651 */
+#line 570 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_RESTRICTED); }
+#line 3607 "parser.tab.c"
break;
case 156:
-#line 571 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_RETVAL); }
-#line 3519 "parser.tab.c" /* yacc.c:1651 */
+#line 571 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_RETVAL); }
+#line 3613 "parser.tab.c"
break;
case 157:
-#line 572 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_SIZEIS, (yyvsp[-1].expr_list)); }
-#line 3525 "parser.tab.c" /* yacc.c:1651 */
+#line 572 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_SIZEIS, (yyvsp[-1].expr_list)); }
+#line 3619 "parser.tab.c"
break;
case 158:
-#line 573 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_SOURCE); }
-#line 3531 "parser.tab.c" /* yacc.c:1651 */
+#line 573 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_SOURCE); }
+#line 3625 "parser.tab.c"
break;
case 159:
-#line 574 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_STRICTCONTEXTHANDLE); }
-#line 3537 "parser.tab.c" /* yacc.c:1651 */
+#line 574 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_STRICTCONTEXTHANDLE); }
+#line 3631 "parser.tab.c"
break;
case 160:
-#line 575 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_STRING); }
-#line 3543 "parser.tab.c" /* yacc.c:1651 */
+#line 575 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_STRING); }
+#line 3637 "parser.tab.c"
break;
case 161:
-#line 576 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_SWITCHIS, (yyvsp[-1].expr)); }
-#line 3549 "parser.tab.c" /* yacc.c:1651 */
+#line 576 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_SWITCHIS, (yyvsp[-1].expr)); }
+#line 3643 "parser.tab.c"
break;
case 162:
-#line 577 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_SWITCHTYPE, (yyvsp[-1].type)); }
-#line 3555 "parser.tab.c" /* yacc.c:1651 */
+#line 577 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_SWITCHTYPE, (yyvsp[-1].type)); }
+#line 3649 "parser.tab.c"
break;
case 163:
-#line 578 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_TRANSMITAS, (yyvsp[-1].type)); }
-#line 3561 "parser.tab.c" /* yacc.c:1651 */
+#line 578 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_TRANSMITAS, (yyvsp[-1].type)); }
+#line 3655 "parser.tab.c"
break;
case 164:
-#line 579 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrv(ATTR_THREADING, (yyvsp[-1].num)); }
-#line 3567 "parser.tab.c" /* yacc.c:1651 */
+#line 579 "parser.y"
+ { (yyval.attr) = make_attrv(ATTR_THREADING, (yyvsp[-1].num)); }
+#line 3661 "parser.tab.c"
break;
case 165:
-#line 580 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_UIDEFAULT); }
-#line 3573 "parser.tab.c" /* yacc.c:1651 */
+#line 580 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_UIDEFAULT); }
+#line 3667 "parser.tab.c"
break;
case 166:
-#line 581 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_USESGETLASTERROR); }
-#line 3579 "parser.tab.c" /* yacc.c:1651 */
+#line 581 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_USESGETLASTERROR); }
+#line 3673 "parser.tab.c"
break;
case 167:
-#line 582 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_USERMARSHAL, (yyvsp[-1].type)); }
-#line 3585 "parser.tab.c" /* yacc.c:1651 */
+#line 582 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_USERMARSHAL, (yyvsp[-1].type)); }
+#line 3679 "parser.tab.c"
break;
case 168:
-#line 583 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_UUID, (yyvsp[-1].uuid)); }
-#line 3591 "parser.tab.c" /* yacc.c:1651 */
+#line 583 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_UUID, (yyvsp[-1].uuid)); }
+#line 3685 "parser.tab.c"
break;
case 169:
-#line 584 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_ASYNCUUID, (yyvsp[-1].uuid)); }
-#line 3597 "parser.tab.c" /* yacc.c:1651 */
+#line 584 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_ASYNCUUID, (yyvsp[-1].uuid)); }
+#line 3691 "parser.tab.c"
break;
case 170:
-#line 585 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_V1ENUM); }
-#line 3603 "parser.tab.c" /* yacc.c:1651 */
+#line 585 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_V1ENUM); }
+#line 3697 "parser.tab.c"
break;
case 171:
-#line 586 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_VARARG); }
-#line 3609 "parser.tab.c" /* yacc.c:1651 */
+#line 586 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_VARARG); }
+#line 3703 "parser.tab.c"
break;
case 172:
-#line 587 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrv(ATTR_VERSION, (yyvsp[-1].num)); }
-#line 3615 "parser.tab.c" /* yacc.c:1651 */
+#line 587 "parser.y"
+ { (yyval.attr) = make_attrv(ATTR_VERSION, (yyvsp[-1].num)); }
+#line 3709 "parser.tab.c"
break;
case 173:
-#line 588 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_VIPROGID, (yyvsp[-1].str)); }
-#line 3621 "parser.tab.c" /* yacc.c:1651 */
+#line 588 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_VIPROGID, (yyvsp[-1].str)); }
+#line 3715 "parser.tab.c"
break;
case 174:
-#line 589 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrp(ATTR_WIREMARSHAL, (yyvsp[-1].type)); }
-#line 3627 "parser.tab.c" /* yacc.c:1651 */
+#line 589 "parser.y"
+ { (yyval.attr) = make_attrp(ATTR_WIREMARSHAL, (yyvsp[-1].type)); }
+#line 3721 "parser.tab.c"
break;
case 175:
-#line 590 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attrv(ATTR_POINTERTYPE, (yyvsp[0].num)); }
-#line 3633 "parser.tab.c" /* yacc.c:1651 */
+#line 590 "parser.y"
+ { (yyval.attr) = make_attrv(ATTR_POINTERTYPE, (yyvsp[0].num)); }
+#line 3727 "parser.tab.c"
break;
case 177:
-#line 595 "parser.y" /* yacc.c:1651 */
- { if (!is_valid_uuid((yyvsp[0].str)))
+#line 595 "parser.y"
+ { if (!is_valid_uuid((yyvsp[0].str)))
error_loc("invalid UUID: %s\n", (yyvsp[0].str));
(yyval.uuid) = parse_uuid((yyvsp[0].str)); }
-#line 3641 "parser.tab.c" /* yacc.c:1651 */
+#line 3735 "parser.tab.c"
break;
case 178:
-#line 600 "parser.y" /* yacc.c:1651 */
- { (yyval.str) = xstrdup("__cdecl"); }
-#line 3647 "parser.tab.c" /* yacc.c:1651 */
+#line 600 "parser.y"
+ { (yyval.str) = xstrdup("__cdecl"); }
+#line 3741 "parser.tab.c"
break;
case 179:
-#line 601 "parser.y" /* yacc.c:1651 */
- { (yyval.str) = xstrdup("__fastcall"); }
-#line 3653 "parser.tab.c" /* yacc.c:1651 */
+#line 601 "parser.y"
+ { (yyval.str) = xstrdup("__fastcall"); }
+#line 3747 "parser.tab.c"
break;
case 180:
-#line 602 "parser.y" /* yacc.c:1651 */
- { (yyval.str) = xstrdup("__pascal"); }
-#line 3659 "parser.tab.c" /* yacc.c:1651 */
+#line 602 "parser.y"
+ { (yyval.str) = xstrdup("__pascal"); }
+#line 3753 "parser.tab.c"
break;
case 181:
-#line 603 "parser.y" /* yacc.c:1651 */
- { (yyval.str) = xstrdup("__stdcall"); }
-#line 3665 "parser.tab.c" /* yacc.c:1651 */
+#line 603 "parser.y"
+ { (yyval.str) = xstrdup("__stdcall"); }
+#line 3759 "parser.tab.c"
break;
case 182:
-#line 606 "parser.y" /* yacc.c:1651 */
- { (yyval.var_list) = NULL; }
-#line 3671 "parser.tab.c" /* yacc.c:1651 */
+#line 606 "parser.y"
+ { (yyval.var_list) = NULL; }
+#line 3765 "parser.tab.c"
break;
case 183:
-#line 607 "parser.y" /* yacc.c:1651 */
- { (yyval.var_list) = append_var( (yyvsp[-1].var_list), (yyvsp[0].var) ); }
-#line 3677 "parser.tab.c" /* yacc.c:1651 */
+#line 607 "parser.y"
+ { (yyval.var_list) = append_var( (yyvsp[-1].var_list), (yyvsp[0].var) ); }
+#line 3771 "parser.tab.c"
break;
case 184:
-#line 610 "parser.y" /* yacc.c:1651 */
- { attr_t *a = make_attrp(ATTR_CASE, append_expr( NULL, (yyvsp[-2].expr) ));
+#line 610 "parser.y"
+ { attr_t *a = make_attrp(ATTR_CASE, append_expr( NULL, (yyvsp[-2].expr) ));
(yyval.var) = (yyvsp[0].var); if (!(yyval.var)) (yyval.var) = make_var(NULL);
(yyval.var)->attrs = append_attr( (yyval.var)->attrs, a );
}
-#line 3686 "parser.tab.c" /* yacc.c:1651 */
+#line 3780 "parser.tab.c"
break;
case 185:
-#line 614 "parser.y" /* yacc.c:1651 */
- { attr_t *a = make_attr(ATTR_DEFAULT);
+#line 614 "parser.y"
+ { attr_t *a = make_attr(ATTR_DEFAULT);
(yyval.var) = (yyvsp[0].var); if (!(yyval.var)) (yyval.var) = make_var(NULL);
(yyval.var)->attrs = append_attr( (yyval.var)->attrs, a );
}
-#line 3695 "parser.tab.c" /* yacc.c:1651 */
+#line 3789 "parser.tab.c"
break;
case 186:
-#line 620 "parser.y" /* yacc.c:1651 */
- { (yyval.var_list) = NULL; }
-#line 3701 "parser.tab.c" /* yacc.c:1651 */
+#line 620 "parser.y"
+ { (yyval.var_list) = NULL; }
+#line 3795 "parser.tab.c"
break;
case 187:
-#line 621 "parser.y" /* yacc.c:1651 */
- { (yyval.var_list) = (yyvsp[-1].var_list); }
-#line 3707 "parser.tab.c" /* yacc.c:1651 */
+#line 621 "parser.y"
+ { (yyval.var_list) = (yyvsp[-1].var_list); }
+#line 3801 "parser.tab.c"
break;
case 189:
-#line 625 "parser.y" /* yacc.c:1651 */
- { if (!(yyvsp[0].var)->eval)
+#line 625 "parser.y"
+ { if (!(yyvsp[0].var)->eval)
(yyvsp[0].var)->eval = make_exprl(EXPR_NUM, 0 /* default for first enum entry */);
(yyval.var_list) = append_var( NULL, (yyvsp[0].var) );
}
-#line 3716 "parser.tab.c" /* yacc.c:1651 */
+#line 3810 "parser.tab.c"
break;
case 190:
-#line 629 "parser.y" /* yacc.c:1651 */
- { if (!(yyvsp[0].var)->eval)
+#line 629 "parser.y"
+ { if (!(yyvsp[0].var)->eval)
{
var_t *last = LIST_ENTRY( list_tail((yyval.var_list)), var_t, entry );
enum expr_type type = EXPR_NUM;
@@ -3727,1325 +3821,1326 @@
}
(yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[0].var) );
}
-#line 3731 "parser.tab.c" /* yacc.c:1651 */
+#line 3825 "parser.tab.c"
break;
case 191:
-#line 641 "parser.y" /* yacc.c:1651 */
- { (yyval.var) = reg_const((yyvsp[-2].var));
+#line 641 "parser.y"
+ { (yyval.var) = reg_const((yyvsp[-2].var));
(yyval.var)->eval = (yyvsp[0].expr);
(yyval.var)->declspec.type = type_new_int(TYPE_BASIC_INT, 0);
}
-#line 3740 "parser.tab.c" /* yacc.c:1651 */
+#line 3834 "parser.tab.c"
break;
case 192:
-#line 645 "parser.y" /* yacc.c:1651 */
- { (yyval.var) = reg_const((yyvsp[0].var));
+#line 645 "parser.y"
+ { (yyval.var) = reg_const((yyvsp[0].var));
(yyval.var)->declspec.type = type_new_int(TYPE_BASIC_INT, 0);
}
-#line 3748 "parser.tab.c" /* yacc.c:1651 */
+#line 3842 "parser.tab.c"
break;
case 193:
-#line 650 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_enum((yyvsp[-3].str), current_namespace, TRUE, (yyvsp[-1].var_list)); }
-#line 3754 "parser.tab.c" /* yacc.c:1651 */
+#line 650 "parser.y"
+ { (yyval.type) = type_new_enum((yyvsp[-3].str), current_namespace, TRUE, (yyvsp[-1].var_list)); }
+#line 3848 "parser.tab.c"
break;
case 194:
-#line 653 "parser.y" /* yacc.c:1651 */
- { (yyval.expr_list) = append_expr( NULL, (yyvsp[0].expr) ); }
-#line 3760 "parser.tab.c" /* yacc.c:1651 */
+#line 653 "parser.y"
+ { (yyval.expr_list) = append_expr( NULL, (yyvsp[0].expr) ); }
+#line 3854 "parser.tab.c"
break;
case 195:
-#line 654 "parser.y" /* yacc.c:1651 */
- { (yyval.expr_list) = append_expr( (yyvsp[-2].expr_list), (yyvsp[0].expr) ); }
-#line 3766 "parser.tab.c" /* yacc.c:1651 */
+#line 654 "parser.y"
+ { (yyval.expr_list) = append_expr( (yyvsp[-2].expr_list), (yyvsp[0].expr) ); }
+#line 3860 "parser.tab.c"
break;
case 196:
-#line 657 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr(EXPR_VOID); }
-#line 3772 "parser.tab.c" /* yacc.c:1651 */
+#line 657 "parser.y"
+ { (yyval.expr) = make_expr(EXPR_VOID); }
+#line 3866 "parser.tab.c"
break;
case 198:
-#line 661 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_exprl(EXPR_NUM, (yyvsp[0].num)); }
-#line 3778 "parser.tab.c" /* yacc.c:1651 */
+#line 661 "parser.y"
+ { (yyval.expr) = make_exprl(EXPR_NUM, (yyvsp[0].num)); }
+#line 3872 "parser.tab.c"
break;
case 199:
-#line 662 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_exprl(EXPR_HEXNUM, (yyvsp[0].num)); }
-#line 3784 "parser.tab.c" /* yacc.c:1651 */
+#line 662 "parser.y"
+ { (yyval.expr) = make_exprl(EXPR_HEXNUM, (yyvsp[0].num)); }
+#line 3878 "parser.tab.c"
break;
case 200:
-#line 663 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_exprd(EXPR_DOUBLE, (yyvsp[0].dbl)); }
-#line 3790 "parser.tab.c" /* yacc.c:1651 */
+#line 663 "parser.y"
+ { (yyval.expr) = make_exprd(EXPR_DOUBLE, (yyvsp[0].dbl)); }
+#line 3884 "parser.tab.c"
break;
case 201:
-#line 664 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_exprl(EXPR_TRUEFALSE, 0); }
-#line 3796 "parser.tab.c" /* yacc.c:1651 */
+#line 664 "parser.y"
+ { (yyval.expr) = make_exprl(EXPR_TRUEFALSE, 0); }
+#line 3890 "parser.tab.c"
break;
case 202:
-#line 665 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_exprl(EXPR_NUM, 0); }
-#line 3802 "parser.tab.c" /* yacc.c:1651 */
+#line 665 "parser.y"
+ { (yyval.expr) = make_exprl(EXPR_NUM, 0); }
+#line 3896 "parser.tab.c"
break;
case 203:
-#line 666 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_exprl(EXPR_TRUEFALSE, 1); }
-#line 3808 "parser.tab.c" /* yacc.c:1651 */
+#line 666 "parser.y"
+ { (yyval.expr) = make_exprl(EXPR_TRUEFALSE, 1); }
+#line 3902 "parser.tab.c"
break;
case 204:
-#line 667 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_exprs(EXPR_STRLIT, (yyvsp[0].str)); }
-#line 3814 "parser.tab.c" /* yacc.c:1651 */
+#line 667 "parser.y"
+ { (yyval.expr) = make_exprs(EXPR_STRLIT, (yyvsp[0].str)); }
+#line 3908 "parser.tab.c"
break;
case 205:
-#line 668 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_exprs(EXPR_WSTRLIT, (yyvsp[0].str)); }
-#line 3820 "parser.tab.c" /* yacc.c:1651 */
+#line 668 "parser.y"
+ { (yyval.expr) = make_exprs(EXPR_WSTRLIT, (yyvsp[0].str)); }
+#line 3914 "parser.tab.c"
break;
case 206:
-#line 669 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_exprs(EXPR_CHARCONST, (yyvsp[0].str)); }
-#line 3826 "parser.tab.c" /* yacc.c:1651 */
+#line 669 "parser.y"
+ { (yyval.expr) = make_exprs(EXPR_CHARCONST, (yyvsp[0].str)); }
+#line 3920 "parser.tab.c"
break;
case 207:
-#line 670 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str)); }
-#line 3832 "parser.tab.c" /* yacc.c:1651 */
+#line 670 "parser.y"
+ { (yyval.expr) = make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str)); }
+#line 3926 "parser.tab.c"
break;
case 208:
-#line 671 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr3(EXPR_COND, (yyvsp[-4].expr), (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 3838 "parser.tab.c" /* yacc.c:1651 */
+#line 671 "parser.y"
+ { (yyval.expr) = make_expr3(EXPR_COND, (yyvsp[-4].expr), (yyvsp[-2].expr), (yyvsp[0].expr)); }
+#line 3932 "parser.tab.c"
break;
case 209:
-#line 672 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr2(EXPR_LOGOR, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 3844 "parser.tab.c" /* yacc.c:1651 */
+#line 672 "parser.y"
+ { (yyval.expr) = make_expr2(EXPR_LOGOR, (yyvsp[-2].expr), (yyvsp[0].expr)); }
+#line 3938 "parser.tab.c"
break;
case 210:
-#line 673 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr2(EXPR_LOGAND, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 3850 "parser.tab.c" /* yacc.c:1651 */
+#line 673 "parser.y"
+ { (yyval.expr) = make_expr2(EXPR_LOGAND, (yyvsp[-2].expr), (yyvsp[0].expr)); }
+#line 3944 "parser.tab.c"
break;
case 211:
-#line 674 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr2(EXPR_OR , (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 3856 "parser.tab.c" /* yacc.c:1651 */
+#line 674 "parser.y"
+ { (yyval.expr) = make_expr2(EXPR_OR , (yyvsp[-2].expr), (yyvsp[0].expr)); }
+#line 3950 "parser.tab.c"
break;
case 212:
-#line 675 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr2(EXPR_XOR, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 3862 "parser.tab.c" /* yacc.c:1651 */
+#line 675 "parser.y"
+ { (yyval.expr) = make_expr2(EXPR_XOR, (yyvsp[-2].expr), (yyvsp[0].expr)); }
+#line 3956 "parser.tab.c"
break;
case 213:
-#line 676 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr2(EXPR_AND, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 3868 "parser.tab.c" /* yacc.c:1651 */
+#line 676 "parser.y"
+ { (yyval.expr) = make_expr2(EXPR_AND, (yyvsp[-2].expr), (yyvsp[0].expr)); }
+#line 3962 "parser.tab.c"
break;
case 214:
-#line 677 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr2(EXPR_EQUALITY, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 3874 "parser.tab.c" /* yacc.c:1651 */
+#line 677 "parser.y"
+ { (yyval.expr) = make_expr2(EXPR_EQUALITY, (yyvsp[-2].expr), (yyvsp[0].expr)); }
+#line 3968 "parser.tab.c"
break;
case 215:
-#line 678 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr2(EXPR_INEQUALITY, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 3880 "parser.tab.c" /* yacc.c:1651 */
+#line 678 "parser.y"
+ { (yyval.expr) = make_expr2(EXPR_INEQUALITY, (yyvsp[-2].expr), (yyvsp[0].expr)); }
+#line 3974 "parser.tab.c"
break;
case 216:
-#line 679 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr2(EXPR_GTR, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 3886 "parser.tab.c" /* yacc.c:1651 */
+#line 679 "parser.y"
+ { (yyval.expr) = make_expr2(EXPR_GTR, (yyvsp[-2].expr), (yyvsp[0].expr)); }
+#line 3980 "parser.tab.c"
break;
case 217:
-#line 680 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr2(EXPR_LESS, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 3892 "parser.tab.c" /* yacc.c:1651 */
+#line 680 "parser.y"
+ { (yyval.expr) = make_expr2(EXPR_LESS, (yyvsp[-2].expr), (yyvsp[0].expr)); }
+#line 3986 "parser.tab.c"
break;
case 218:
-#line 681 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr2(EXPR_GTREQL, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 3898 "parser.tab.c" /* yacc.c:1651 */
+#line 681 "parser.y"
+ { (yyval.expr) = make_expr2(EXPR_GTREQL, (yyvsp[-2].expr), (yyvsp[0].expr)); }
+#line 3992 "parser.tab.c"
break;
case 219:
-#line 682 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr2(EXPR_LESSEQL, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 3904 "parser.tab.c" /* yacc.c:1651 */
+#line 682 "parser.y"
+ { (yyval.expr) = make_expr2(EXPR_LESSEQL, (yyvsp[-2].expr), (yyvsp[0].expr)); }
+#line 3998 "parser.tab.c"
break;
case 220:
-#line 683 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr2(EXPR_SHL, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 3910 "parser.tab.c" /* yacc.c:1651 */
+#line 683 "parser.y"
+ { (yyval.expr) = make_expr2(EXPR_SHL, (yyvsp[-2].expr), (yyvsp[0].expr)); }
+#line 4004 "parser.tab.c"
break;
case 221:
-#line 684 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr2(EXPR_SHR, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 3916 "parser.tab.c" /* yacc.c:1651 */
+#line 684 "parser.y"
+ { (yyval.expr) = make_expr2(EXPR_SHR, (yyvsp[-2].expr), (yyvsp[0].expr)); }
+#line 4010 "parser.tab.c"
break;
case 222:
-#line 685 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr2(EXPR_ADD, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 3922 "parser.tab.c" /* yacc.c:1651 */
+#line 685 "parser.y"
+ { (yyval.expr) = make_expr2(EXPR_ADD, (yyvsp[-2].expr), (yyvsp[0].expr)); }
+#line 4016 "parser.tab.c"
break;
case 223:
-#line 686 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr2(EXPR_SUB, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 3928 "parser.tab.c" /* yacc.c:1651 */
+#line 686 "parser.y"
+ { (yyval.expr) = make_expr2(EXPR_SUB, (yyvsp[-2].expr), (yyvsp[0].expr)); }
+#line 4022 "parser.tab.c"
break;
case 224:
-#line 687 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr2(EXPR_MOD, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 3934 "parser.tab.c" /* yacc.c:1651 */
+#line 687 "parser.y"
+ { (yyval.expr) = make_expr2(EXPR_MOD, (yyvsp[-2].expr), (yyvsp[0].expr)); }
+#line 4028 "parser.tab.c"
break;
case 225:
-#line 688 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr2(EXPR_MUL, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 3940 "parser.tab.c" /* yacc.c:1651 */
+#line 688 "parser.y"
+ { (yyval.expr) = make_expr2(EXPR_MUL, (yyvsp[-2].expr), (yyvsp[0].expr)); }
+#line 4034 "parser.tab.c"
break;
case 226:
-#line 689 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr2(EXPR_DIV, (yyvsp[-2].expr), (yyvsp[0].expr)); }
-#line 3946 "parser.tab.c" /* yacc.c:1651 */
+#line 689 "parser.y"
+ { (yyval.expr) = make_expr2(EXPR_DIV, (yyvsp[-2].expr), (yyvsp[0].expr)); }
+#line 4040 "parser.tab.c"
break;
case 227:
-#line 690 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr1(EXPR_LOGNOT, (yyvsp[0].expr)); }
-#line 3952 "parser.tab.c" /* yacc.c:1651 */
+#line 690 "parser.y"
+ { (yyval.expr) = make_expr1(EXPR_LOGNOT, (yyvsp[0].expr)); }
+#line 4046 "parser.tab.c"
break;
case 228:
-#line 691 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr1(EXPR_NOT, (yyvsp[0].expr)); }
-#line 3958 "parser.tab.c" /* yacc.c:1651 */
+#line 691 "parser.y"
+ { (yyval.expr) = make_expr1(EXPR_NOT, (yyvsp[0].expr)); }
+#line 4052 "parser.tab.c"
break;
case 229:
-#line 692 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr1(EXPR_POS, (yyvsp[0].expr)); }
-#line 3964 "parser.tab.c" /* yacc.c:1651 */
+#line 692 "parser.y"
+ { (yyval.expr) = make_expr1(EXPR_POS, (yyvsp[0].expr)); }
+#line 4058 "parser.tab.c"
break;
case 230:
-#line 693 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr1(EXPR_NEG, (yyvsp[0].expr)); }
-#line 3970 "parser.tab.c" /* yacc.c:1651 */
+#line 693 "parser.y"
+ { (yyval.expr) = make_expr1(EXPR_NEG, (yyvsp[0].expr)); }
+#line 4064 "parser.tab.c"
break;
case 231:
-#line 694 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr1(EXPR_ADDRESSOF, (yyvsp[0].expr)); }
-#line 3976 "parser.tab.c" /* yacc.c:1651 */
+#line 694 "parser.y"
+ { (yyval.expr) = make_expr1(EXPR_ADDRESSOF, (yyvsp[0].expr)); }
+#line 4070 "parser.tab.c"
break;
case 232:
-#line 695 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr1(EXPR_PPTR, (yyvsp[0].expr)); }
-#line 3982 "parser.tab.c" /* yacc.c:1651 */
+#line 695 "parser.y"
+ { (yyval.expr) = make_expr1(EXPR_PPTR, (yyvsp[0].expr)); }
+#line 4076 "parser.tab.c"
break;
case 233:
-#line 696 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr2(EXPR_MEMBER, make_expr1(EXPR_PPTR, (yyvsp[-2].expr)), make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str))); }
-#line 3988 "parser.tab.c" /* yacc.c:1651 */
+#line 696 "parser.y"
+ { (yyval.expr) = make_expr2(EXPR_MEMBER, make_expr1(EXPR_PPTR, (yyvsp[-2].expr)), make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str))); }
+#line 4082 "parser.tab.c"
break;
case 234:
-#line 697 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr2(EXPR_MEMBER, (yyvsp[-2].expr), make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str))); }
-#line 3994 "parser.tab.c" /* yacc.c:1651 */
+#line 697 "parser.y"
+ { (yyval.expr) = make_expr2(EXPR_MEMBER, (yyvsp[-2].expr), make_exprs(EXPR_IDENTIFIER, (yyvsp[0].str))); }
+#line 4088 "parser.tab.c"
break;
case 235:
-#line 699 "parser.y" /* yacc.c:1651 */
- { (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 4000 "parser.tab.c" /* yacc.c:1651 */
+#line 699 "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 4094 "parser.tab.c"
break;
case 236:
-#line 701 "parser.y" /* yacc.c:1651 */
- { (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 4006 "parser.tab.c" /* yacc.c:1651 */
+#line 701 "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 4100 "parser.tab.c"
break;
case 237:
-#line 702 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = make_expr2(EXPR_ARRAY, (yyvsp[-3].expr), (yyvsp[-1].expr)); }
-#line 4012 "parser.tab.c" /* yacc.c:1651 */
+#line 702 "parser.y"
+ { (yyval.expr) = make_expr2(EXPR_ARRAY, (yyvsp[-3].expr), (yyvsp[-1].expr)); }
+#line 4106 "parser.tab.c"
break;
case 238:
-#line 703 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = (yyvsp[-1].expr); }
-#line 4018 "parser.tab.c" /* yacc.c:1651 */
+#line 703 "parser.y"
+ { (yyval.expr) = (yyvsp[-1].expr); }
+#line 4112 "parser.tab.c"
break;
case 239:
-#line 706 "parser.y" /* yacc.c:1651 */
- { (yyval.expr_list) = append_expr( NULL, (yyvsp[0].expr) ); }
-#line 4024 "parser.tab.c" /* yacc.c:1651 */
+#line 706 "parser.y"
+ { (yyval.expr_list) = append_expr( NULL, (yyvsp[0].expr) ); }
+#line 4118 "parser.tab.c"
break;
case 240:
-#line 707 "parser.y" /* yacc.c:1651 */
- { (yyval.expr_list) = append_expr( (yyvsp[-2].expr_list), (yyvsp[0].expr) ); }
-#line 4030 "parser.tab.c" /* yacc.c:1651 */
+#line 707 "parser.y"
+ { (yyval.expr_list) = append_expr( (yyvsp[-2].expr_list), (yyvsp[0].expr) ); }
+#line 4124 "parser.tab.c"
break;
case 241:
-#line 710 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = (yyvsp[0].expr);
+#line 710 "parser.y"
+ { (yyval.expr) = (yyvsp[0].expr);
if (!(yyval.expr)->is_const)
error_loc("expression is not an integer constant\n");
}
-#line 4039 "parser.tab.c" /* yacc.c:1651 */
+#line 4133 "parser.tab.c"
break;
case 242:
-#line 716 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = (yyvsp[0].expr);
+#line 716 "parser.y"
+ { (yyval.expr) = (yyvsp[0].expr);
if (!(yyval.expr)->is_const && (yyval.expr)->type != EXPR_STRLIT && (yyval.expr)->type != EXPR_WSTRLIT)
error_loc("expression is not constant\n");
}
-#line 4048 "parser.tab.c" /* yacc.c:1651 */
+#line 4142 "parser.tab.c"
break;
case 243:
-#line 722 "parser.y" /* yacc.c:1651 */
- { (yyval.var_list) = NULL; }
-#line 4054 "parser.tab.c" /* yacc.c:1651 */
+#line 722 "parser.y"
+ { (yyval.var_list) = NULL; }
+#line 4148 "parser.tab.c"
break;
case 244:
-#line 723 "parser.y" /* yacc.c:1651 */
- { (yyval.var_list) = append_var_list((yyvsp[-1].var_list), (yyvsp[0].var_list)); }
-#line 4060 "parser.tab.c" /* yacc.c:1651 */
+#line 723 "parser.y"
+ { (yyval.var_list) = append_var_list((yyvsp[-1].var_list), (yyvsp[0].var_list)); }
+#line 4154 "parser.tab.c"
break;
case 245:
-#line 727 "parser.y" /* yacc.c:1651 */
- { const char *first = LIST_ENTRY(list_head((yyvsp[-1].declarator_list)), declarator_t, entry)->var->name;
+#line 727 "parser.y"
+ { const char *first = LIST_ENTRY(list_head((yyvsp[-1].declarator_list)), declarator_t, entry)->var->name;
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 4069 "parser.tab.c" /* yacc.c:1651 */
+#line 4163 "parser.tab.c"
break;
case 246:
-#line 731 "parser.y" /* yacc.c:1651 */
- { var_t *v = make_var(NULL);
+#line 731 "parser.y"
+ { var_t *v = make_var(NULL);
v->declspec.type = (yyvsp[-1].type); v->attrs = (yyvsp[-2].attr_list);
(yyval.var_list) = append_var(NULL, v);
}
-#line 4078 "parser.tab.c" /* yacc.c:1651 */
+#line 4172 "parser.tab.c"
break;
case 247:
-#line 738 "parser.y" /* yacc.c:1651 */
- { (yyval.var) = (yyvsp[-1].var); }
-#line 4084 "parser.tab.c" /* yacc.c:1651 */
+#line 738 "parser.y"
+ { (yyval.var) = (yyvsp[-1].var); }
+#line 4178 "parser.tab.c"
break;
case 248:
-#line 739 "parser.y" /* yacc.c:1651 */
- { (yyval.var) = make_var(NULL); (yyval.var)->attrs = (yyvsp[-1].attr_list); }
-#line 4090 "parser.tab.c" /* yacc.c:1651 */
+#line 739 "parser.y"
+ { (yyval.var) = make_var(NULL); (yyval.var)->attrs = (yyvsp[-1].attr_list); }
+#line 4184 "parser.tab.c"
break;
case 249:
-#line 742 "parser.y" /* yacc.c:1651 */
- { (yyval.var_list) = NULL; }
-#line 4096 "parser.tab.c" /* yacc.c:1651 */
+#line 742 "parser.y"
+ { (yyval.var_list) = NULL; }
+#line 4190 "parser.tab.c"
break;
case 250:
-#line 743 "parser.y" /* yacc.c:1651 */
- { (yyval.var_list) = append_var( (yyvsp[-1].var_list), (yyvsp[0].var) ); }
-#line 4102 "parser.tab.c" /* yacc.c:1651 */
+#line 743 "parser.y"
+ { (yyval.var_list) = append_var( (yyvsp[-1].var_list), (yyvsp[0].var) ); }
+#line 4196 "parser.tab.c"
break;
case 251:
-#line 747 "parser.y" /* yacc.c:1651 */
- { (yyval.var) = (yyvsp[-1].var); }
-#line 4108 "parser.tab.c" /* yacc.c:1651 */
+#line 747 "parser.y"
+ { (yyval.var) = (yyvsp[-1].var); }
+#line 4202 "parser.tab.c"
break;
case 252:
-#line 748 "parser.y" /* yacc.c:1651 */
- { (yyval.var) = NULL; }
-#line 4114 "parser.tab.c" /* yacc.c:1651 */
+#line 748 "parser.y"
+ { (yyval.var) = NULL; }
+#line 4208 "parser.tab.c"
break;
case 253:
-#line 751 "parser.y" /* yacc.c:1651 */
- { (yyval.var) = declare_var(check_field_attrs((yyvsp[0].declarator)->var->name, (yyvsp[-2].attr_list)),
+#line 751 "parser.y"
+ { (yyval.var) = declare_var(check_field_attrs((yyvsp[0].declarator)->var->name, (yyvsp[-2].attr_list)),
(yyvsp[-1].declspec), (yyvsp[0].declarator), FALSE);
free((yyvsp[0].declarator));
}
-#line 4123 "parser.tab.c" /* yacc.c:1651 */
+#line 4217 "parser.tab.c"
break;
case 254:
-#line 755 "parser.y" /* yacc.c:1651 */
- { var_t *v = make_var(NULL);
+#line 755 "parser.y"
+ { var_t *v = make_var(NULL);
v->declspec.type = (yyvsp[0].type); v->attrs = (yyvsp[-1].attr_list);
(yyval.var) = v;
}
-#line 4132 "parser.tab.c" /* yacc.c:1651 */
+#line 4226 "parser.tab.c"
break;
case 255:
-#line 761 "parser.y" /* yacc.c:1651 */
- { (yyval.var) = (yyvsp[0].var);
+#line 761 "parser.y"
+ { (yyval.var) = (yyvsp[0].var);
if (type_get_type((yyval.var)->declspec.type) != TYPE_FUNCTION)
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 4142 "parser.tab.c" /* yacc.c:1651 */
+#line 4236 "parser.tab.c"
break;
case 256:
-#line 770 "parser.y" /* yacc.c:1651 */
- { (yyval.var) = declare_var((yyvsp[-2].attr_list), (yyvsp[-1].declspec), (yyvsp[0].declarator), FALSE);
+#line 770 "parser.y"
+ { (yyval.var) = declare_var((yyvsp[-2].attr_list), (yyvsp[-1].declspec), (yyvsp[0].declarator), FALSE);
free((yyvsp[0].declarator));
}
-#line 4150 "parser.tab.c" /* yacc.c:1651 */
+#line 4244 "parser.tab.c"
break;
case 257:
-#line 773 "parser.y" /* yacc.c:1651 */
- { (yyval.var) = declare_var(NULL, (yyvsp[-1].declspec), (yyvsp[0].declarator), FALSE);
+#line 773 "parser.y"
+ { (yyval.var) = declare_var(NULL, (yyvsp[-1].declspec), (yyvsp[0].declarator), FALSE);
free((yyvsp[0].declarator));
}
-#line 4158 "parser.tab.c" /* yacc.c:1651 */
+#line 4252 "parser.tab.c"
break;
case 258:
-#line 778 "parser.y" /* yacc.c:1651 */
- { (yyval.var) = NULL; }
-#line 4164 "parser.tab.c" /* yacc.c:1651 */
+#line 778 "parser.y"
+ { (yyval.var) = NULL; }
+#line 4258 "parser.tab.c"
break;
case 260:
-#line 782 "parser.y" /* yacc.c:1651 */
- { (yyval.str) = NULL; }
-#line 4170 "parser.tab.c" /* yacc.c:1651 */
+#line 782 "parser.y"
+ { (yyval.str) = NULL; }
+#line 4264 "parser.tab.c"
break;
case 261:
-#line 783 "parser.y" /* yacc.c:1651 */
- { (yyval.str) = (yyvsp[0].str); }
-#line 4176 "parser.tab.c" /* yacc.c:1651 */
+#line 783 "parser.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 4270 "parser.tab.c"
break;
case 262:
-#line 784 "parser.y" /* yacc.c:1651 */
- { (yyval.str) = (yyvsp[0].str); }
-#line 4182 "parser.tab.c" /* yacc.c:1651 */
+#line 784 "parser.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 4276 "parser.tab.c"
break;
case 263:
-#line 787 "parser.y" /* yacc.c:1651 */
- { (yyval.var) = make_var((yyvsp[0].str)); }
-#line 4188 "parser.tab.c" /* yacc.c:1651 */
+#line 787 "parser.y"
+ { (yyval.var) = make_var((yyvsp[0].str)); }
+#line 4282 "parser.tab.c"
break;
case 264:
-#line 789 "parser.y" /* yacc.c:1651 */
- { (yyval.var) = make_var((yyvsp[0].str)); }
-#line 4194 "parser.tab.c" /* yacc.c:1651 */
+#line 789 "parser.y"
+ { (yyval.var) = make_var((yyvsp[0].str)); }
+#line 4288 "parser.tab.c"
break;
case 265:
-#line 792 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); }
-#line 4200 "parser.tab.c" /* yacc.c:1651 */
+#line 792 "parser.y"
+ { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); }
+#line 4294 "parser.tab.c"
break;
case 266:
-#line 793 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); }
-#line 4206 "parser.tab.c" /* yacc.c:1651 */
+#line 793 "parser.y"
+ { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); }
+#line 4300 "parser.tab.c"
break;
case 268:
-#line 795 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_int(type_basic_get_type((yyvsp[0].type)), -1); }
-#line 4212 "parser.tab.c" /* yacc.c:1651 */
+#line 795 "parser.y"
+ { (yyval.type) = type_new_int(type_basic_get_type((yyvsp[0].type)), -1); }
+#line 4306 "parser.tab.c"
break;
case 269:
-#line 796 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_int(type_basic_get_type((yyvsp[0].type)), 1); }
-#line 4218 "parser.tab.c" /* yacc.c:1651 */
+#line 796 "parser.y"
+ { (yyval.type) = type_new_int(type_basic_get_type((yyvsp[0].type)), 1); }
+#line 4312 "parser.tab.c"
break;
case 270:
-#line 797 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_int(TYPE_BASIC_INT, 1); }
-#line 4224 "parser.tab.c" /* yacc.c:1651 */
+#line 797 "parser.y"
+ { (yyval.type) = type_new_int(TYPE_BASIC_INT, 1); }
+#line 4318 "parser.tab.c"
break;
case 271:
-#line 798 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); }
-#line 4230 "parser.tab.c" /* yacc.c:1651 */
+#line 798 "parser.y"
+ { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); }
+#line 4324 "parser.tab.c"
break;
case 272:
-#line 799 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); }
-#line 4236 "parser.tab.c" /* yacc.c:1651 */
+#line 799 "parser.y"
+ { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); }
+#line 4330 "parser.tab.c"
break;
case 273:
-#line 800 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); }
-#line 4242 "parser.tab.c" /* yacc.c:1651 */
+#line 800 "parser.y"
+ { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); }
+#line 4336 "parser.tab.c"
break;
case 274:
-#line 801 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); }
-#line 4248 "parser.tab.c" /* yacc.c:1651 */
+#line 801 "parser.y"
+ { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); }
+#line 4342 "parser.tab.c"
break;
case 275:
-#line 802 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); }
-#line 4254 "parser.tab.c" /* yacc.c:1651 */
+#line 802 "parser.y"
+ { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); }
+#line 4348 "parser.tab.c"
break;
case 278:
-#line 809 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_int(TYPE_BASIC_INT, 0); }
-#line 4260 "parser.tab.c" /* yacc.c:1651 */
+#line 809 "parser.y"
+ { (yyval.type) = type_new_int(TYPE_BASIC_INT, 0); }
+#line 4354 "parser.tab.c"
break;
case 279:
-#line 810 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_int(TYPE_BASIC_INT16, 0); }
-#line 4266 "parser.tab.c" /* yacc.c:1651 */
+#line 810 "parser.y"
+ { (yyval.type) = type_new_int(TYPE_BASIC_INT16, 0); }
+#line 4360 "parser.tab.c"
break;
case 280:
-#line 811 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_int(TYPE_BASIC_INT8, 0); }
-#line 4272 "parser.tab.c" /* yacc.c:1651 */
+#line 811 "parser.y"
+ { (yyval.type) = type_new_int(TYPE_BASIC_INT8, 0); }
+#line 4366 "parser.tab.c"
break;
case 281:
-#line 812 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_int(TYPE_BASIC_LONG, 0); }
-#line 4278 "parser.tab.c" /* yacc.c:1651 */
+#line 812 "parser.y"
+ { (yyval.type) = type_new_int(TYPE_BASIC_LONG, 0); }
+#line 4372 "parser.tab.c"
break;
case 282:
-#line 813 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_int(TYPE_BASIC_HYPER, 0); }
-#line 4284 "parser.tab.c" /* yacc.c:1651 */
+#line 813 "parser.y"
+ { (yyval.type) = type_new_int(TYPE_BASIC_HYPER, 0); }
+#line 4378 "parser.tab.c"
break;
case 283:
-#line 814 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_int(TYPE_BASIC_INT64, 0); }
-#line 4290 "parser.tab.c" /* yacc.c:1651 */
+#line 814 "parser.y"
+ { (yyval.type) = type_new_int(TYPE_BASIC_INT64, 0); }
+#line 4384 "parser.tab.c"
break;
case 284:
-#line 815 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_int(TYPE_BASIC_CHAR, 0); }
-#line 4296 "parser.tab.c" /* yacc.c:1651 */
+#line 815 "parser.y"
+ { (yyval.type) = type_new_int(TYPE_BASIC_CHAR, 0); }
+#line 4390 "parser.tab.c"
break;
case 285:
-#line 816 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_int(TYPE_BASIC_INT32, 0); }
-#line 4302 "parser.tab.c" /* yacc.c:1651 */
+#line 816 "parser.y"
+ { (yyval.type) = type_new_int(TYPE_BASIC_INT32, 0); }
+#line 4396 "parser.tab.c"
break;
case 286:
-#line 817 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_int(TYPE_BASIC_INT3264, 0); }
-#line 4308 "parser.tab.c" /* yacc.c:1651 */
+#line 817 "parser.y"
+ { (yyval.type) = type_new_int(TYPE_BASIC_INT3264, 0); }
+#line 4402 "parser.tab.c"
break;
case 287:
-#line 820 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_coclass((yyvsp[0].str)); }
-#line 4314 "parser.tab.c" /* yacc.c:1651 */
+#line 820 "parser.y"
+ { (yyval.type) = type_new_coclass((yyvsp[0].str)); }
+#line 4408 "parser.tab.c"
break;
case 288:
-#line 821 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = find_type((yyvsp[0].str), NULL, 0);
+#line 821 "parser.y"
+ { (yyval.type) = find_type((yyvsp[0].str), NULL, 0);
if (type_get_type_detect_alias((yyval.type)) != TYPE_COCLASS)
error_loc("%s was not declared a coclass at %s:%d\n",
(yyvsp[0].str), (yyval.type)->loc_info.input_name,
(yyval.type)->loc_info.line_number);
}
-#line 4325 "parser.tab.c" /* yacc.c:1651 */
+#line 4419 "parser.tab.c"
break;
case 289:
-#line 829 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = (yyvsp[0].type);
+#line 829 "parser.y"
+ { (yyval.type) = (yyvsp[0].type);
check_def((yyval.type));
(yyval.type)->attrs = check_coclass_attrs((yyvsp[0].type)->name, (yyvsp[-1].attr_list));
}
-#line 4334 "parser.tab.c" /* yacc.c:1651 */
+#line 4428 "parser.tab.c"
break;
case 290:
-#line 836 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_coclass_define((yyvsp[-4].type), (yyvsp[-2].ifref_list)); }
-#line 4340 "parser.tab.c" /* yacc.c:1651 */
+#line 836 "parser.y"
+ { (yyval.type) = type_coclass_define((yyvsp[-4].type), (yyvsp[-2].ifref_list)); }
+#line 4434 "parser.tab.c"
break;
case 291:
-#line 839 "parser.y" /* yacc.c:1651 */
- { (yyval.str) = (yyvsp[0].str); }
-#line 4346 "parser.tab.c" /* yacc.c:1651 */
+#line 839 "parser.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 4440 "parser.tab.c"
break;
case 292:
-#line 842 "parser.y" /* yacc.c:1651 */
- { (yyval.ifref_list) = NULL; }
-#line 4352 "parser.tab.c" /* yacc.c:1651 */
+#line 842 "parser.y"
+ { (yyval.ifref_list) = NULL; }
+#line 4446 "parser.tab.c"
break;
case 293:
-#line 843 "parser.y" /* yacc.c:1651 */
- { (yyval.ifref_list) = append_ifref( (yyvsp[-1].ifref_list), (yyvsp[0].ifref) ); }
-#line 4358 "parser.tab.c" /* yacc.c:1651 */
+#line 843 "parser.y"
+ { (yyval.ifref_list) = append_ifref( (yyvsp[-1].ifref_list), (yyvsp[0].ifref) ); }
+#line 4452 "parser.tab.c"
break;
case 294:
-#line 847 "parser.y" /* yacc.c:1651 */
- { (yyval.ifref) = make_ifref((yyvsp[0].type)); (yyval.ifref)->attrs = (yyvsp[-1].attr_list); }
-#line 4364 "parser.tab.c" /* yacc.c:1651 */
+#line 847 "parser.y"
+ { (yyval.ifref) = make_ifref((yyvsp[0].type)); (yyval.ifref)->attrs = (yyvsp[-1].attr_list); }
+#line 4458 "parser.tab.c"
break;
case 295:
-#line 850 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), current_namespace, 0); }
-#line 4370 "parser.tab.c" /* yacc.c:1651 */
+#line 850 "parser.y"
+ { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), current_namespace, 0); }
+#line 4464 "parser.tab.c"
break;
case 296:
-#line 851 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), current_namespace, 0); }
-#line 4376 "parser.tab.c" /* yacc.c:1651 */
+#line 851 "parser.y"
+ { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), current_namespace, 0); }
+#line 4470 "parser.tab.c"
break;
case 297:
-#line 854 "parser.y" /* yacc.c:1651 */
- { attr_t *attrs;
+#line 854 "parser.y"
+ { attr_t *attrs;
(yyval.type) = (yyvsp[0].type);
check_def((yyval.type));
attrs = make_attr(ATTR_DISPINTERFACE);
(yyval.type)->attrs = append_attr( check_dispiface_attrs((yyvsp[0].type)->name, (yyvsp[-1].attr_list)), attrs );
(yyval.type)->defined = TRUE;
}
-#line 4388 "parser.tab.c" /* yacc.c:1651 */
+#line 4482 "parser.tab.c"
break;
case 298:
-#line 863 "parser.y" /* yacc.c:1651 */
- { (yyval.var_list) = NULL; }
-#line 4394 "parser.tab.c" /* yacc.c:1651 */
+#line 863 "parser.y"
+ { (yyval.var_list) = NULL; }
+#line 4488 "parser.tab.c"
break;
case 299:
-#line 864 "parser.y" /* yacc.c:1651 */
- { (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[-1].var) ); }
-#line 4400 "parser.tab.c" /* yacc.c:1651 */
+#line 864 "parser.y"
+ { (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[-1].var) ); }
+#line 4494 "parser.tab.c"
break;
case 300:
-#line 867 "parser.y" /* yacc.c:1651 */
- { (yyval.var_list) = NULL; }
-#line 4406 "parser.tab.c" /* yacc.c:1651 */
+#line 867 "parser.y"
+ { (yyval.var_list) = NULL; }
+#line 4500 "parser.tab.c"
break;
case 301:
-#line 868 "parser.y" /* yacc.c:1651 */
- { (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[-1].var) ); }
-#line 4412 "parser.tab.c" /* yacc.c:1651 */
+#line 868 "parser.y"
+ { (yyval.var_list) = append_var( (yyvsp[-2].var_list), (yyvsp[-1].var) ); }
+#line 4506 "parser.tab.c"
break;
case 302:
-#line 874 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = (yyvsp[-4].type);
+#line 874 "parser.y"
+ { (yyval.type) = (yyvsp[-4].type);
type_dispinterface_define((yyval.type), (yyvsp[-2].var_list), (yyvsp[-1].var_list));
}
-#line 4420 "parser.tab.c" /* yacc.c:1651 */
+#line 4514 "parser.tab.c"
break;
case 303:
-#line 878 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = (yyvsp[-4].type);
+#line 878 "parser.y"
+ { (yyval.type) = (yyvsp[-4].type);
type_dispinterface_define_from_iface((yyval.type), (yyvsp[-2].type));
}
-#line 4428 "parser.tab.c" /* yacc.c:1651 */
+#line 4522 "parser.tab.c"
break;
case 304:
-#line 883 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = NULL; }
-#line 4434 "parser.tab.c" /* yacc.c:1651 */
+#line 883 "parser.y"
+ { (yyval.type) = NULL; }
+#line 4528 "parser.tab.c"
break;
case 305:
-#line 884 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = find_type_or_error2((yyvsp[0].str), 0); }
-#line 4440 "parser.tab.c" /* yacc.c:1651 */
+#line 884 "parser.y"
+ { (yyval.type) = find_type_or_error2((yyvsp[0].str), 0); }
+#line 4534 "parser.tab.c"
break;
case 306:
-#line 887 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), current_namespace, 0); }
-#line 4446 "parser.tab.c" /* yacc.c:1651 */
+#line 887 "parser.y"
+ { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), current_namespace, 0); }
+#line 4540 "parser.tab.c"
break;
case 307:
-#line 888 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), current_namespace, 0); }
-#line 4452 "parser.tab.c" /* yacc.c:1651 */
+#line 888 "parser.y"
+ { (yyval.type) = get_type(TYPE_INTERFACE, (yyvsp[0].str), current_namespace, 0); }
+#line 4546 "parser.tab.c"
break;
case 308:
-#line 891 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = (yyvsp[0].type);
+#line 891 "parser.y"
+ { (yyval.type) = (yyvsp[0].type);
check_def((yyvsp[0].type));
(yyvsp[0].type)->attrs = check_iface_attrs((yyvsp[0].type)->name, (yyvsp[-1].attr_list));
(yyvsp[0].type)->defined = TRUE;
}
-#line 4462 "parser.tab.c" /* yacc.c:1651 */
+#line 4556 "parser.tab.c"
break;
case 309:
-#line 899 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = (yyvsp[-5].type);
+#line 899 "parser.y"
+ { (yyval.type) = (yyvsp[-5].type);
if((yyval.type) == (yyvsp[-4].type))
error_loc("Interface can't inherit from itself\n");
type_interface_define((yyval.type), (yyvsp[-4].type), (yyvsp[-2].stmt_list));
check_async_uuid((yyval.type));
}
-#line 4473 "parser.tab.c" /* yacc.c:1651 */
+#line 4567 "parser.tab.c"
break;
case 310:
-#line 909 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = (yyvsp[-7].type);
+#line 909 "parser.y"
+ { (yyval.type) = (yyvsp[-7].type);
type_interface_define((yyval.type), find_type_or_error2((yyvsp[-5].str), 0), (yyvsp[-2].stmt_list));
}
-#line 4481 "parser.tab.c" /* yacc.c:1651 */
+#line 4575 "parser.tab.c"
break;
case 311:
-#line 912 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = (yyvsp[-1].type); }
-#line 4487 "parser.tab.c" /* yacc.c:1651 */
+#line 912 "parser.y"
+ { (yyval.type) = (yyvsp[-1].type); }
+#line 4581 "parser.tab.c"
break;
case 312:
-#line 916 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = (yyvsp[-1].type); }
-#line 4493 "parser.tab.c" /* yacc.c:1651 */
+#line 916 "parser.y"
+ { (yyval.type) = (yyvsp[-1].type); }
+#line 4587 "parser.tab.c"
break;
case 313:
-#line 917 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = (yyvsp[-1].type); }
-#line 4499 "parser.tab.c" /* yacc.c:1651 */
+#line 917 "parser.y"
+ { (yyval.type) = (yyvsp[-1].type); }
+#line 4593 "parser.tab.c"
break;
case 314:
-#line 920 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_module((yyvsp[0].str)); }
-#line 4505 "parser.tab.c" /* yacc.c:1651 */
+#line 920 "parser.y"
+ { (yyval.type) = type_new_module((yyvsp[0].str)); }
+#line 4599 "parser.tab.c"
break;
case 315:
-#line 921 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_module((yyvsp[0].str)); }
-#line 4511 "parser.tab.c" /* yacc.c:1651 */
+#line 921 "parser.y"
+ { (yyval.type) = type_new_module((yyvsp[0].str)); }
+#line 4605 "parser.tab.c"
break;
case 316:
-#line 924 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = (yyvsp[0].type);
+#line 924 "parser.y"
+ { (yyval.type) = (yyvsp[0].type);
(yyval.type)->attrs = check_module_attrs((yyvsp[0].type)->name, (yyvsp[-1].attr_list));
}
-#line 4519 "parser.tab.c" /* yacc.c:1651 */
+#line 4613 "parser.tab.c"
break;
case 317:
-#line 930 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = (yyvsp[-4].type);
+#line 930 "parser.y"
+ { (yyval.type) = (yyvsp[-4].type);
type_module_define((yyval.type), (yyvsp[-2].stmt_list));
}
-#line 4527 "parser.tab.c" /* yacc.c:1651 */
+#line 4621 "parser.tab.c"
break;
case 318:
-#line 936 "parser.y" /* yacc.c:1651 */
- { (yyval.stgclass) = STG_EXTERN; }
-#line 4533 "parser.tab.c" /* yacc.c:1651 */
+#line 936 "parser.y"
+ { (yyval.stgclass) = STG_EXTERN; }
+#line 4627 "parser.tab.c"
break;
case 319:
-#line 937 "parser.y" /* yacc.c:1651 */
- { (yyval.stgclass) = STG_STATIC; }
-#line 4539 "parser.tab.c" /* yacc.c:1651 */
+#line 937 "parser.y"
+ { (yyval.stgclass) = STG_STATIC; }
+#line 4633 "parser.tab.c"
break;
case 320:
-#line 938 "parser.y" /* yacc.c:1651 */
- { (yyval.stgclass) = STG_REGISTER; }
-#line 4545 "parser.tab.c" /* yacc.c:1651 */
+#line 938 "parser.y"
+ { (yyval.stgclass) = STG_REGISTER; }
+#line 4639 "parser.tab.c"
break;
case 321:
-#line 942 "parser.y" /* yacc.c:1651 */
- { (yyval.function_specifier) = FUNCTION_SPECIFIER_INLINE; }
-#line 4551 "parser.tab.c" /* yacc.c:1651 */
+#line 942 "parser.y"
+ { (yyval.function_specifier) = FUNCTION_SPECIFIER_INLINE; }
+#line 4645 "parser.tab.c"
break;
case 322:
-#line 946 "parser.y" /* yacc.c:1651 */
- { (yyval.type_qualifier) = TYPE_QUALIFIER_CONST; }
-#line 4557 "parser.tab.c" /* yacc.c:1651 */
+#line 946 "parser.y"
+ { (yyval.type_qualifier) = TYPE_QUALIFIER_CONST; }
+#line 4651 "parser.tab.c"
break;
case 323:
-#line 949 "parser.y" /* yacc.c:1651 */
- { (yyval.type_qualifier) = 0; }
-#line 4563 "parser.tab.c" /* yacc.c:1651 */
+#line 949 "parser.y"
+ { (yyval.type_qualifier) = 0; }
+#line 4657 "parser.tab.c"
break;
case 324:
-#line 950 "parser.y" /* yacc.c:1651 */
- { (yyval.type_qualifier) = (yyvsp[-1].type_qualifier) | (yyvsp[0].type_qualifier); }
-#line 4569 "parser.tab.c" /* yacc.c:1651 */
+#line 950 "parser.y"
+ { (yyval.type_qualifier) = (yyvsp[-1].type_qualifier) | (yyvsp[0].type_qualifier); }
+#line 4663 "parser.tab.c"
break;
case 325:
-#line 953 "parser.y" /* yacc.c:1651 */
- { (yyval.declspec) = make_decl_spec((yyvsp[-1].type), (yyvsp[0].declspec), NULL, STG_NONE, 0, 0); }
-#line 4575 "parser.tab.c" /* yacc.c:1651 */
+#line 953 "parser.y"
+ { (yyval.declspec) = make_decl_spec((yyvsp[-1].type), (yyvsp[0].declspec), NULL, STG_NONE, 0, 0); }
+#line 4669 "parser.tab.c"
break;
case 326:
-#line 955 "parser.y" /* yacc.c:1651 */
- { (yyval.declspec) = make_decl_spec((yyvsp[-1].type), (yyvsp[-2].declspec), (yyvsp[0].declspec), STG_NONE, 0, 0); }
-#line 4581 "parser.tab.c" /* yacc.c:1651 */
+#line 955 "parser.y"
+ { (yyval.declspec) = make_decl_spec((yyvsp[-1].type), (yyvsp[-2].declspec), (yyvsp[0].declspec), STG_NONE, 0, 0); }
+#line 4675 "parser.tab.c"
break;
case 327:
-#line 958 "parser.y" /* yacc.c:1651 */
- { (yyval.declspec) = NULL; }
-#line 4587 "parser.tab.c" /* yacc.c:1651 */
+#line 958 "parser.y"
+ { (yyval.declspec) = NULL; }
+#line 4681 "parser.tab.c"
break;
case 329:
-#line 963 "parser.y" /* yacc.c:1651 */
- { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, STG_NONE, (yyvsp[-1].type_qualifier), 0); }
-#line 4593 "parser.tab.c" /* yacc.c:1651 */
+#line 963 "parser.y"
+ { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, STG_NONE, (yyvsp[-1].type_qualifier), 0); }
+#line 4687 "parser.tab.c"
break;
case 330:
-#line 964 "parser.y" /* yacc.c:1651 */
- { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, STG_NONE, 0, (yyvsp[-1].function_specifier)); }
-#line 4599 "parser.tab.c" /* yacc.c:1651 */
+#line 964 "parser.y"
+ { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, STG_NONE, 0, (yyvsp[-1].function_specifier)); }
+#line 4693 "parser.tab.c"
break;
case 331:
-#line 965 "parser.y" /* yacc.c:1651 */
- { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, (yyvsp[-1].stgclass), 0, 0); }
-#line 4605 "parser.tab.c" /* yacc.c:1651 */
+#line 965 "parser.y"
+ { (yyval.declspec) = make_decl_spec(NULL, (yyvsp[0].declspec), NULL, (yyvsp[-1].stgclass), 0, 0); }
+#line 4699 "parser.tab.c"
break;
case 332:
-#line 970 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); }
-#line 4611 "parser.tab.c" /* yacc.c:1651 */
+#line 970 "parser.y"
+ { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); }
+#line 4705 "parser.tab.c"
break;
case 333:
-#line 971 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv((yyval.declarator)->type, (yyvsp[-1].str)); }
-#line 4617 "parser.tab.c" /* yacc.c:1651 */
+#line 971 "parser.y"
+ { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv((yyval.declarator)->type, (yyvsp[-1].str)); }
+#line 4711 "parser.tab.c"
break;
case 335:
-#line 976 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = make_declarator((yyvsp[0].var)); }
-#line 4623 "parser.tab.c" /* yacc.c:1651 */
+#line 976 "parser.y"
+ { (yyval.declarator) = make_declarator((yyvsp[0].var)); }
+#line 4717 "parser.tab.c"
break;
case 336:
-#line 977 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = (yyvsp[-1].declarator); }
-#line 4629 "parser.tab.c" /* yacc.c:1651 */
+#line 977 "parser.y"
+ { (yyval.declarator) = (yyvsp[-1].declarator); }
+#line 4723 "parser.tab.c"
break;
case 337:
-#line 978 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = (yyvsp[-1].declarator); append_array((yyval.declarator), (yyvsp[0].expr)); }
-#line 4635 "parser.tab.c" /* yacc.c:1651 */
+#line 978 "parser.y"
+ { (yyval.declarator) = (yyvsp[-1].declarator); append_array((yyval.declarator), (yyvsp[0].expr)); }
+#line 4729 "parser.tab.c"
break;
case 338:
-#line 979 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = (yyvsp[-3].declarator); append_chain_type((yyval.declarator), type_new_function((yyvsp[-1].var_list)), 0); }
-#line 4641 "parser.tab.c" /* yacc.c:1651 */
+#line 979 "parser.y"
+ { (yyval.declarator) = (yyvsp[-3].declarator); append_chain_type((yyval.declarator), type_new_function((yyvsp[-1].var_list)), 0); }
+#line 4735 "parser.tab.c"
break;
case 339:
-#line 985 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); }
-#line 4647 "parser.tab.c" /* yacc.c:1651 */
+#line 985 "parser.y"
+ { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); }
+#line 4741 "parser.tab.c"
break;
case 340:
-#line 986 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv((yyval.declarator)->type, (yyvsp[-1].str)); }
-#line 4653 "parser.tab.c" /* yacc.c:1651 */
+#line 986 "parser.y"
+ { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv((yyval.declarator)->type, (yyvsp[-1].str)); }
+#line 4747 "parser.tab.c"
break;
case 342:
-#line 993 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); }
-#line 4659 "parser.tab.c" /* yacc.c:1651 */
+#line 993 "parser.y"
+ { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); }
+#line 4753 "parser.tab.c"
break;
case 343:
-#line 994 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv((yyval.declarator)->type, (yyvsp[-1].str)); }
-#line 4665 "parser.tab.c" /* yacc.c:1651 */
+#line 994 "parser.y"
+ { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv((yyval.declarator)->type, (yyvsp[-1].str)); }
+#line 4759 "parser.tab.c"
break;
case 344:
-#line 998 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = make_declarator(NULL); }
-#line 4671 "parser.tab.c" /* yacc.c:1651 */
+#line 998 "parser.y"
+ { (yyval.declarator) = make_declarator(NULL); }
+#line 4765 "parser.tab.c"
break;
case 346:
-#line 1004 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = (yyvsp[-1].declarator); }
-#line 4677 "parser.tab.c" /* yacc.c:1651 */
+#line 1004 "parser.y"
+ { (yyval.declarator) = (yyvsp[-1].declarator); }
+#line 4771 "parser.tab.c"
break;
case 347:
-#line 1005 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = (yyvsp[-1].declarator); append_array((yyval.declarator), (yyvsp[0].expr)); }
-#line 4683 "parser.tab.c" /* yacc.c:1651 */
+#line 1005 "parser.y"
+ { (yyval.declarator) = (yyvsp[-1].declarator); append_array((yyval.declarator), (yyvsp[0].expr)); }
+#line 4777 "parser.tab.c"
break;
case 348:
-#line 1006 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = make_declarator(NULL); append_array((yyval.declarator), (yyvsp[0].expr)); }
-#line 4689 "parser.tab.c" /* yacc.c:1651 */
+#line 1006 "parser.y"
+ { (yyval.declarator) = make_declarator(NULL); append_array((yyval.declarator), (yyvsp[0].expr)); }
+#line 4783 "parser.tab.c"
break;
case 349:
-#line 1008 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = make_declarator(NULL);
+#line 1008 "parser.y"
+ { (yyval.declarator) = make_declarator(NULL);
append_chain_type((yyval.declarator), type_new_function((yyvsp[-1].var_list)), 0);
}
-#line 4697 "parser.tab.c" /* yacc.c:1651 */
+#line 4791 "parser.tab.c"
break;
case 350:
-#line 1012 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = (yyvsp[-3].declarator);
+#line 1012 "parser.y"
+ { (yyval.declarator) = (yyvsp[-3].declarator);
append_chain_type((yyval.declarator), type_new_function((yyvsp[-1].var_list)), 0);
}
-#line 4705 "parser.tab.c" /* yacc.c:1651 */
+#line 4799 "parser.tab.c"
break;
case 351:
-#line 1020 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); }
-#line 4711 "parser.tab.c" /* yacc.c:1651 */
+#line 1020 "parser.y"
+ { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); }
+#line 4805 "parser.tab.c"
break;
case 352:
-#line 1021 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv((yyval.declarator)->type, (yyvsp[-1].str)); }
-#line 4717 "parser.tab.c" /* yacc.c:1651 */
+#line 1021 "parser.y"
+ { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv((yyval.declarator)->type, (yyvsp[-1].str)); }
+#line 4811 "parser.tab.c"
break;
case 354:
-#line 1028 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); }
-#line 4723 "parser.tab.c" /* yacc.c:1651 */
+#line 1028 "parser.y"
+ { (yyval.declarator) = (yyvsp[0].declarator); append_chain_type((yyval.declarator), type_new_pointer(NULL), (yyvsp[-1].type_qualifier)); }
+#line 4817 "parser.tab.c"
break;
case 355:
-#line 1029 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv((yyval.declarator)->type, (yyvsp[-1].str)); }
-#line 4729 "parser.tab.c" /* yacc.c:1651 */
+#line 1029 "parser.y"
+ { (yyval.declarator) = (yyvsp[0].declarator); append_chain_callconv((yyval.declarator)->type, (yyvsp[-1].str)); }
+#line 4823 "parser.tab.c"
break;
case 356:
-#line 1033 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = make_declarator(NULL); }
-#line 4735 "parser.tab.c" /* yacc.c:1651 */
+#line 1033 "parser.y"
+ { (yyval.declarator) = make_declarator(NULL); }
+#line 4829 "parser.tab.c"
break;
case 358:
-#line 1041 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = make_declarator((yyvsp[0].var)); }
-#line 4741 "parser.tab.c" /* yacc.c:1651 */
+#line 1041 "parser.y"
+ { (yyval.declarator) = make_declarator((yyvsp[0].var)); }
+#line 4835 "parser.tab.c"
break;
case 359:
-#line 1042 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = (yyvsp[-1].declarator); }
-#line 4747 "parser.tab.c" /* yacc.c:1651 */
+#line 1042 "parser.y"
+ { (yyval.declarator) = (yyvsp[-1].declarator); }
+#line 4841 "parser.tab.c"
break;
case 360:
-#line 1043 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = (yyvsp[-1].declarator); append_array((yyval.declarator), (yyvsp[0].expr)); }
-#line 4753 "parser.tab.c" /* yacc.c:1651 */
+#line 1043 "parser.y"
+ { (yyval.declarator) = (yyvsp[-1].declarator); append_array((yyval.declarator), (yyvsp[0].expr)); }
+#line 4847 "parser.tab.c"
break;
case 361:
-#line 1044 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = make_declarator(NULL); append_array((yyval.declarator), (yyvsp[0].expr)); }
-#line 4759 "parser.tab.c" /* yacc.c:1651 */
+#line 1044 "parser.y"
+ { (yyval.declarator) = make_declarator(NULL); append_array((yyval.declarator), (yyvsp[0].expr)); }
+#line 4853 "parser.tab.c"
break;
case 362:
-#line 1046 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = make_declarator(NULL);
+#line 1046 "parser.y"
+ { (yyval.declarator) = make_declarator(NULL);
append_chain_type((yyval.declarator), type_new_function((yyvsp[-1].var_list)), 0);
}
-#line 4767 "parser.tab.c" /* yacc.c:1651 */
+#line 4861 "parser.tab.c"
break;
case 363:
-#line 1050 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = (yyvsp[-3].declarator);
+#line 1050 "parser.y"
+ { (yyval.declarator) = (yyvsp[-3].declarator);
append_chain_type((yyval.declarator), type_new_function((yyvsp[-1].var_list)), 0);
}
-#line 4775 "parser.tab.c" /* yacc.c:1651 */
+#line 4869 "parser.tab.c"
break;
case 364:
-#line 1056 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator_list) = append_declarator( NULL, (yyvsp[0].declarator) ); }
-#line 4781 "parser.tab.c" /* yacc.c:1651 */
+#line 1056 "parser.y"
+ { (yyval.declarator_list) = append_declarator( NULL, (yyvsp[0].declarator) ); }
+#line 4875 "parser.tab.c"
break;
case 365:
-#line 1057 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator_list) = append_declarator( (yyvsp[-2].declarator_list), (yyvsp[0].declarator) ); }
-#line 4787 "parser.tab.c" /* yacc.c:1651 */
+#line 1057 "parser.y"
+ { (yyval.declarator_list) = append_declarator( (yyvsp[-2].declarator_list), (yyvsp[0].declarator) ); }
+#line 4881 "parser.tab.c"
break;
case 366:
-#line 1060 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = NULL; }
-#line 4793 "parser.tab.c" /* yacc.c:1651 */
+#line 1060 "parser.y"
+ { (yyval.expr) = NULL; }
+#line 4887 "parser.tab.c"
break;
case 367:
-#line 1061 "parser.y" /* yacc.c:1651 */
- { (yyval.expr) = (yyvsp[0].expr); }
-#line 4799 "parser.tab.c" /* yacc.c:1651 */
+#line 1061 "parser.y"
+ { (yyval.expr) = (yyvsp[0].expr); }
+#line 4893 "parser.tab.c"
break;
case 368:
-#line 1064 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = (yyvsp[-1].declarator); (yyval.declarator)->bits = (yyvsp[0].expr);
+#line 1064 "parser.y"
+ { (yyval.declarator) = (yyvsp[-1].declarator); (yyval.declarator)->bits = (yyvsp[0].expr);
if (!(yyval.declarator)->bits && !(yyval.declarator)->var->name)
error_loc("unnamed fields are not allowed\n");
}
-#line 4808 "parser.tab.c" /* yacc.c:1651 */
+#line 4902 "parser.tab.c"
break;
case 369:
-#line 1071 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator_list) = append_declarator( NULL, (yyvsp[0].declarator) ); }
-#line 4814 "parser.tab.c" /* yacc.c:1651 */
+#line 1071 "parser.y"
+ { (yyval.declarator_list) = append_declarator( NULL, (yyvsp[0].declarator) ); }
+#line 4908 "parser.tab.c"
break;
case 370:
-#line 1073 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator_list) = append_declarator( (yyvsp[-2].declarator_list), (yyvsp[0].declarator) ); }
-#line 4820 "parser.tab.c" /* yacc.c:1651 */
+#line 1073 "parser.y"
+ { (yyval.declarator_list) = append_declarator( (yyvsp[-2].declarator_list), (yyvsp[0].declarator) ); }
+#line 4914 "parser.tab.c"
break;
case 371:
-#line 1077 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = (yyvsp[0].declarator); }
-#line 4826 "parser.tab.c" /* yacc.c:1651 */
+#line 1077 "parser.y"
+ { (yyval.declarator) = (yyvsp[0].declarator); }
+#line 4920 "parser.tab.c"
break;
case 372:
-#line 1078 "parser.y" /* yacc.c:1651 */
- { (yyval.declarator) = (yyvsp[-2].declarator); (yyvsp[-2].declarator)->var->eval = (yyvsp[0].expr); }
-#line 4832 "parser.tab.c" /* yacc.c:1651 */
+#line 1078 "parser.y"
+ { (yyval.declarator) = (yyvsp[-2].declarator); (yyvsp[-2].declarator)->var->eval = (yyvsp[0].expr); }
+#line 4926 "parser.tab.c"
break;
case 373:
-#line 1082 "parser.y" /* yacc.c:1651 */
- { (yyval.num) = THREADING_APARTMENT; }
-#line 4838 "parser.tab.c" /* yacc.c:1651 */
+#line 1082 "parser.y"
+ { (yyval.num) = THREADING_APARTMENT; }
+#line 4932 "parser.tab.c"
break;
case 374:
-#line 1083 "parser.y" /* yacc.c:1651 */
- { (yyval.num) = THREADING_NEUTRAL; }
-#line 4844 "parser.tab.c" /* yacc.c:1651 */
+#line 1083 "parser.y"
+ { (yyval.num) = THREADING_NEUTRAL; }
+#line 4938 "parser.tab.c"
break;
case 375:
-#line 1084 "parser.y" /* yacc.c:1651 */
- { (yyval.num) = THREADING_SINGLE; }
-#line 4850 "parser.tab.c" /* yacc.c:1651 */
+#line 1084 "parser.y"
+ { (yyval.num) = THREADING_SINGLE; }
+#line 4944 "parser.tab.c"
break;
case 376:
-#line 1085 "parser.y" /* yacc.c:1651 */
- { (yyval.num) = THREADING_FREE; }
-#line 4856 "parser.tab.c" /* yacc.c:1651 */
+#line 1085 "parser.y"
+ { (yyval.num) = THREADING_FREE; }
+#line 4950 "parser.tab.c"
break;
case 377:
-#line 1086 "parser.y" /* yacc.c:1651 */
- { (yyval.num) = THREADING_BOTH; }
-#line 4862 "parser.tab.c" /* yacc.c:1651 */
+#line 1086 "parser.y"
+ { (yyval.num) = THREADING_BOTH; }
+#line 4956 "parser.tab.c"
break;
case 378:
-#line 1090 "parser.y" /* yacc.c:1651 */
- { (yyval.num) = FC_RP; }
-#line 4868 "parser.tab.c" /* yacc.c:1651 */
+#line 1090 "parser.y"
+ { (yyval.num) = FC_RP; }
+#line 4962 "parser.tab.c"
break;
case 379:
-#line 1091 "parser.y" /* yacc.c:1651 */
- { (yyval.num) = FC_UP; }
-#line 4874 "parser.tab.c" /* yacc.c:1651 */
+#line 1091 "parser.y"
+ { (yyval.num) = FC_UP; }
+#line 4968 "parser.tab.c"
break;
case 380:
-#line 1092 "parser.y" /* yacc.c:1651 */
- { (yyval.num) = FC_FP; }
-#line 4880 "parser.tab.c" /* yacc.c:1651 */
+#line 1092 "parser.y"
+ { (yyval.num) = FC_FP; }
+#line 4974 "parser.tab.c"
break;
case 381:
-#line 1095 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_struct((yyvsp[-3].str), current_namespace, TRUE, (yyvsp[-1].var_list)); }
-#line 4886 "parser.tab.c" /* yacc.c:1651 */
+#line 1095 "parser.y"
+ { (yyval.type) = type_new_struct((yyvsp[-3].str), current_namespace, TRUE, (yyvsp[-1].var_list)); }
+#line 4980 "parser.tab.c"
break;
case 382:
-#line 1098 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_void(); }
-#line 4892 "parser.tab.c" /* yacc.c:1651 */
+#line 1098 "parser.y"
+ { (yyval.type) = type_new_void(); }
+#line 4986 "parser.tab.c"
break;
case 383:
-#line 1099 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); }
-#line 4898 "parser.tab.c" /* yacc.c:1651 */
+#line 1099 "parser.y"
+ { (yyval.type) = find_type_or_error((yyvsp[0].str), 0); }
+#line 4992 "parser.tab.c"
break;
case 384:
-#line 1100 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = (yyvsp[0].type); }
-#line 4904 "parser.tab.c" /* yacc.c:1651 */
+#line 1100 "parser.y"
+ { (yyval.type) = (yyvsp[0].type); }
+#line 4998 "parser.tab.c"
break;
case 385:
-#line 1101 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = (yyvsp[0].type); }
-#line 4910 "parser.tab.c" /* yacc.c:1651 */
+#line 1101 "parser.y"
+ { (yyval.type) = (yyvsp[0].type); }
+#line 5004 "parser.tab.c"
break;
case 386:
-#line 1102 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_enum((yyvsp[0].str), current_namespace, FALSE, NULL); }
-#line 4916 "parser.tab.c" /* yacc.c:1651 */
+#line 1102 "parser.y"
+ { (yyval.type) = type_new_enum((yyvsp[0].str), current_namespace, FALSE, NULL); }
+#line 5010 "parser.tab.c"
break;
case 387:
-#line 1103 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = (yyvsp[0].type); }
-#line 4922 "parser.tab.c" /* yacc.c:1651 */
+#line 1103 "parser.y"
+ { (yyval.type) = (yyvsp[0].type); }
+#line 5016 "parser.tab.c"
break;
case 388:
-#line 1104 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_struct((yyvsp[0].str), current_namespace, FALSE, NULL); }
-#line 4928 "parser.tab.c" /* yacc.c:1651 */
+#line 1104 "parser.y"
+ { (yyval.type) = type_new_struct((yyvsp[0].str), current_namespace, FALSE, NULL); }
+#line 5022 "parser.tab.c"
break;
case 389:
-#line 1105 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = (yyvsp[0].type); }
-#line 4934 "parser.tab.c" /* yacc.c:1651 */
+#line 1105 "parser.y"
+ { (yyval.type) = (yyvsp[0].type); }
+#line 5028 "parser.tab.c"
break;
case 390:
-#line 1106 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_nonencapsulated_union((yyvsp[0].str), FALSE, NULL); }
-#line 4940 "parser.tab.c" /* yacc.c:1651 */
+#line 1106 "parser.y"
+ { (yyval.type) = type_new_nonencapsulated_union((yyvsp[0].str), FALSE, NULL); }
+#line 5034 "parser.tab.c"
break;
case 391:
-#line 1107 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = make_safearray((yyvsp[-1].type)); }
-#line 4946 "parser.tab.c" /* yacc.c:1651 */
+#line 1107 "parser.y"
+ { (yyval.type) = make_safearray((yyvsp[-1].type)); }
+#line 5040 "parser.tab.c"
break;
case 392:
-#line 1111 "parser.y" /* yacc.c:1651 */
- { (yyvsp[-4].attr_list) = append_attribs((yyvsp[-4].attr_list), (yyvsp[-2].attr_list));
+#line 1111 "parser.y"
+ { (yyvsp[-4].attr_list) = append_attribs((yyvsp[-4].attr_list), (yyvsp[-2].attr_list));
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 4955 "parser.tab.c" /* yacc.c:1651 */
+#line 5049 "parser.tab.c"
break;
case 393:
-#line 1118 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_nonencapsulated_union((yyvsp[-3].str), TRUE, (yyvsp[-1].var_list)); }
-#line 4961 "parser.tab.c" /* yacc.c:1651 */
+#line 1118 "parser.y"
+ { (yyval.type) = type_new_nonencapsulated_union((yyvsp[-3].str), TRUE, (yyvsp[-1].var_list)); }
+#line 5055 "parser.tab.c"
break;
case 394:
-#line 1121 "parser.y" /* yacc.c:1651 */
- { (yyval.type) = type_new_encapsulated_union((yyvsp[-8].str), (yyvsp[-5].var), (yyvsp[-3].var), (yyvsp[-1].var_list)); }
-#line 4967 "parser.tab.c" /* yacc.c:1651 */
+#line 1121 "parser.y"
+ { (yyval.type) = type_new_encapsulated_union((yyvsp[-8].str), (yyvsp[-5].var), (yyvsp[-3].var), (yyvsp[-1].var_list)); }
+#line 5061 "parser.tab.c"
break;
case 395:
-#line 1125 "parser.y" /* yacc.c:1651 */
- { (yyval.num) = MAKEVERSION((yyvsp[0].num), 0); }
-#line 4973 "parser.tab.c" /* yacc.c:1651 */
+#line 1125 "parser.y"
+ { (yyval.num) = MAKEVERSION((yyvsp[0].num), 0); }
+#line 5067 "parser.tab.c"
break;
case 396:
-#line 1126 "parser.y" /* yacc.c:1651 */
- { (yyval.num) = MAKEVERSION((yyvsp[-2].num), (yyvsp[0].num)); }
-#line 4979 "parser.tab.c" /* yacc.c:1651 */
+#line 1126 "parser.y"
+ { (yyval.num) = MAKEVERSION((yyvsp[-2].num), (yyvsp[0].num)); }
+#line 5073 "parser.tab.c"
break;
case 397:
-#line 1127 "parser.y" /* yacc.c:1651 */
- { (yyval.num) = (yyvsp[0].num); }
-#line 4985 "parser.tab.c" /* yacc.c:1651 */
+#line 1127 "parser.y"
+ { (yyval.num) = (yyvsp[0].num); }
+#line 5079 "parser.tab.c"
break;
case 402:
-#line 1140 "parser.y" /* yacc.c:1651 */
- { type_t *type = find_type_or_error((yyvsp[-1].str), 0);
+#line 1140 "parser.y"
+ { type_t *type = find_type_or_error((yyvsp[-1].str), 0);
type->attrs = append_attr_list(type->attrs, (yyvsp[-2].attr_list));
}
-#line 4993 "parser.tab.c" /* yacc.c:1651 */
+#line 5087 "parser.tab.c"
break;
case 403:
-#line 1145 "parser.y" /* yacc.c:1651 */
- { type_t *iface = find_type_or_error2((yyvsp[-3].str), 0);
+#line 1145 "parser.y"
+ { type_t *iface = find_type_or_error2((yyvsp[-3].str), 0);
if (type_get_type(iface) != TYPE_INTERFACE)
error_loc("%s is not an interface\n", iface->name);
iface->attrs = append_attr_list(iface->attrs, (yyvsp[-5].attr_list));
}
-#line 5003 "parser.tab.c" /* yacc.c:1651 */
+#line 5097 "parser.tab.c"
break;
case 404:
-#line 1152 "parser.y" /* yacc.c:1651 */
- { (yyval.attr_list) = NULL; }
-#line 5009 "parser.tab.c" /* yacc.c:1651 */
+#line 1152 "parser.y"
+ { (yyval.attr_list) = NULL; }
+#line 5103 "parser.tab.c"
break;
case 405:
-#line 1153 "parser.y" /* yacc.c:1651 */
- { (yyval.attr_list) = (yyvsp[-1].attr_list); }
-#line 5015 "parser.tab.c" /* yacc.c:1651 */
+#line 1153 "parser.y"
+ { (yyval.attr_list) = (yyvsp[-1].attr_list); }
+#line 5109 "parser.tab.c"
break;
case 406:
-#line 1156 "parser.y" /* yacc.c:1651 */
- { (yyval.attr_list) = append_attr(NULL, (yyvsp[0].attr)); }
-#line 5021 "parser.tab.c" /* yacc.c:1651 */
+#line 1156 "parser.y"
+ { (yyval.attr_list) = append_attr(NULL, (yyvsp[0].attr)); }
+#line 5115 "parser.tab.c"
break;
case 407:
-#line 1157 "parser.y" /* yacc.c:1651 */
- { (yyval.attr_list) = append_attr((yyvsp[-2].attr_list), (yyvsp[0].attr)); }
-#line 5027 "parser.tab.c" /* yacc.c:1651 */
+#line 1157 "parser.y"
+ { (yyval.attr_list) = append_attr((yyvsp[-2].attr_list), (yyvsp[0].attr)); }
+#line 5121 "parser.tab.c"
break;
case 408:
-#line 1160 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_ENCODE); }
-#line 5033 "parser.tab.c" /* yacc.c:1651 */
+#line 1160 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_ENCODE); }
+#line 5127 "parser.tab.c"
break;
case 409:
-#line 1161 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_DECODE); }
-#line 5039 "parser.tab.c" /* yacc.c:1651 */
+#line 1161 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_DECODE); }
+#line 5133 "parser.tab.c"
break;
case 410:
-#line 1162 "parser.y" /* yacc.c:1651 */
- { (yyval.attr) = make_attr(ATTR_EXPLICIT_HANDLE); }
-#line 5045 "parser.tab.c" /* yacc.c:1651 */
+#line 1162 "parser.y"
+ { (yyval.attr) = make_attr(ATTR_EXPLICIT_HANDLE); }
+#line 5139 "parser.tab.c"
break;
-#line 5049 "parser.tab.c" /* yacc.c:1651 */
+#line 5143 "parser.tab.c"
+
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -5070,14 +5165,13 @@
/* Now 'shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
-
- yyn = yyr1[yyn];
-
- yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
- if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
- yystate = yytable[yystate];
- else
- yystate = yydefgoto[yyn - YYNTOKENS];
+ {
+ const int yylhs = yyr1[yyn] - YYNTOKENS;
+ const int yyi = yypgoto[yylhs] + *yyssp;
+ yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
+ ? yytable[yyi]
+ : yydefgoto[yylhs]);
+ }
goto yynewstate;
@@ -5109,7 +5203,7 @@
{
if (yymsg != yymsgbuf)
YYSTACK_FREE (yymsg);
- yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
+ yymsg = YY_CAST (char *, YYSTACK_ALLOC (YY_CAST (YYSIZE_T, yymsg_alloc)));
if (!yymsg)
{
yymsg = yymsgbuf;
@@ -5160,12 +5254,10 @@
| yyerrorlab -- error raised explicitly by YYERROR. |
`---------------------------------------------------*/
yyerrorlab:
-
- /* Pacify compilers like GCC when the user code never invokes
- YYERROR and the label yyerrorlab therefore never appears in user
- code. */
- if (/*CONSTCOND*/ 0)
- goto yyerrorlab;
+ /* Pacify compilers when the user code never invokes YYERROR and the
+ label yyerrorlab therefore never appears in user code. */
+ if (0)
+ YYERROR;
/* Do not reclaim the symbols of the rule whose action triggered
this YYERROR. */
@@ -5227,6 +5319,7 @@
yyresult = 0;
goto yyreturn;
+
/*-----------------------------------.
| yyabortlab -- YYABORT comes here. |
`-----------------------------------*/
@@ -5234,6 +5327,7 @@
yyresult = 1;
goto yyreturn;
+
#if !defined yyoverflow || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
@@ -5244,6 +5338,10 @@
/* Fall through. */
#endif
+
+/*-----------------------------------------------------.
+| yyreturn -- parsing is finished, return the result. |
+`-----------------------------------------------------*/
yyreturn:
if (yychar != YYEMPTY)
{
@@ -5260,7 +5358,7 @@
while (yyssp != yyss)
{
yydestruct ("Cleanup: popping",
- yystos[*yyssp], yyvsp);
+ yystos[+*yyssp], yyvsp);
YYPOPSTACK (1);
}
#ifndef yyoverflow
@@ -5273,7 +5371,7 @@
#endif
return yyresult;
}
-#line 1164 "parser.y" /* yacc.c:1910 */
+#line 1164 "parser.y"
static void decl_builtin_basic(const char *name, enum type_basic_type type)
@@ -5905,6 +6003,7 @@
static typelib_t *make_library(const char *name, const attr_list_t *attrs)
{
typelib_t *typelib = xmalloc(sizeof(*typelib));
+ memset(typelib, 0, sizeof(*typelib));
typelib->name = xstrdup(name);
typelib->attrs = attrs;
list_init( &typelib->importlibs );
@@ -6813,6 +6912,25 @@
static void check_functions(const type_t *iface, int is_inside_library)
{
const statement_t *stmt;
+ /* check for duplicates */
+ if (is_attr(iface->attrs, ATTR_DISPINTERFACE))
+ {
+ var_list_t *methods = type_dispiface_get_methods(iface);
+ var_t *func, *func_iter;
+
+ if (methods) LIST_FOR_EACH_ENTRY( func, methods, var_t, entry )
+ {
+ LIST_FOR_EACH_ENTRY( func_iter, methods, var_t, entry )
+ {
+ if (func == func_iter) break;
+ if (strcmp(func->name, func_iter->name)) continue;
+ if (is_attr(func->attrs, ATTR_PROPGET) != is_attr(func_iter->attrs, ATTR_PROPGET)) continue;
+ if (is_attr(func->attrs, ATTR_PROPPUT) != is_attr(func_iter->attrs, ATTR_PROPPUT)) continue;
+ if (is_attr(func->attrs, ATTR_PROPPUTREF) != is_attr(func_iter->attrs, ATTR_PROPPUTREF)) continue;
+ error_loc_info(&func->loc_info, "duplicated function \'%s\'\n", func->name);
+ }
+ }
+ }
if (is_attr(iface->attrs, ATTR_EXPLICIT_HANDLE))
{
STATEMENTS_FOR_EACH_FUNC( stmt, type_iface_get_stmts(iface) )
diff --git a/mingw-w64-tools/widl/src/parser.tab.h b/mingw-w64-tools/widl/src/parser.tab.h
index 289ba0f..453bf31 100644
--- a/mingw-w64-tools/widl/src/parser.tab.h
+++ b/mingw-w64-tools/widl/src/parser.tab.h
@@ -1,8 +1,9 @@
-/* A Bison parser, made by GNU Bison 3.1. */
+/* A Bison parser, made by GNU Bison 3.5.4. */
/* Bison interface for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
+ Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -30,6 +31,9 @@
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
+/* Undocumented macros, especially those whose name start with YY_,
+ are private implementation details. Do not rely on them. */
+
#ifndef YY_PARSER_PARSER_TAB_H_INCLUDED
# define YY_PARSER_PARSER_TAB_H_INCLUDED
/* Debug traces. */
@@ -236,10 +240,9 @@
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-
union YYSTYPE
{
-#line 129 "parser.y" /* yacc.c:1913 */
+#line 129 "parser.y"
attr_t *attr;
attr_list_t *attr_list;
@@ -268,9 +271,9 @@
enum type_qualifier type_qualifier;
enum function_specifier function_specifier;
-#line 272 "parser.tab.h" /* yacc.c:1913 */
-};
+#line 275 "parser.tab.h"
+};
typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1
diff --git a/mingw-w64-tools/widl/src/parser.y b/mingw-w64-tools/widl/src/parser.y
index 5f6eb50..3ef8d89 100644
--- a/mingw-w64-tools/widl/src/parser.y
+++ b/mingw-w64-tools/widl/src/parser.y
@@ -1792,6 +1792,7 @@
static typelib_t *make_library(const char *name, const attr_list_t *attrs)
{
typelib_t *typelib = xmalloc(sizeof(*typelib));
+ memset(typelib, 0, sizeof(*typelib));
typelib->name = xstrdup(name);
typelib->attrs = attrs;
list_init( &typelib->importlibs );
@@ -2700,6 +2701,25 @@
static void check_functions(const type_t *iface, int is_inside_library)
{
const statement_t *stmt;
+ /* check for duplicates */
+ if (is_attr(iface->attrs, ATTR_DISPINTERFACE))
+ {
+ var_list_t *methods = type_dispiface_get_methods(iface);
+ var_t *func, *func_iter;
+
+ if (methods) LIST_FOR_EACH_ENTRY( func, methods, var_t, entry )
+ {
+ LIST_FOR_EACH_ENTRY( func_iter, methods, var_t, entry )
+ {
+ if (func == func_iter) break;
+ if (strcmp(func->name, func_iter->name)) continue;
+ if (is_attr(func->attrs, ATTR_PROPGET) != is_attr(func_iter->attrs, ATTR_PROPGET)) continue;
+ if (is_attr(func->attrs, ATTR_PROPPUT) != is_attr(func_iter->attrs, ATTR_PROPPUT)) continue;
+ if (is_attr(func->attrs, ATTR_PROPPUTREF) != is_attr(func_iter->attrs, ATTR_PROPPUTREF)) continue;
+ error_loc_info(&func->loc_info, "duplicated function \'%s\'\n", func->name);
+ }
+ }
+ }
if (is_attr(iface->attrs, ATTR_EXPLICIT_HANDLE))
{
STATEMENTS_FOR_EACH_FUNC( stmt, type_iface_get_stmts(iface) )
diff --git a/mingw-w64-tools/widl/src/register.c b/mingw-w64-tools/widl/src/register.c
index f65cbdd..c03ab3c 100644
--- a/mingw-w64-tools/widl/src/register.c
+++ b/mingw-w64-tools/widl/src/register.c
@@ -119,8 +119,6 @@
if (!uuid) return;
if (!is_object( iface )) return;
- if (!is_attr( iface->attrs, ATTR_OLEAUTOMATION ) && !is_attr( iface->attrs, ATTR_DISPINTERFACE ))
- return;
put_str( indent, "'%s' = s '%s'\n", format_uuid( uuid ), iface->name );
put_str( indent, "{\n" );
indent++;
@@ -137,13 +135,10 @@
static void write_typelib_interfaces( const typelib_t *typelib )
{
- const statement_t *stmt;
+ unsigned int i;
- if (typelib->stmts) LIST_FOR_EACH_ENTRY( stmt, typelib->stmts, const statement_t, entry )
- {
- if (stmt->type == STMT_TYPE && type_get_type( stmt->u.type ) == TYPE_INTERFACE)
- write_typelib_interface( stmt->u.type, typelib );
- }
+ for (i = 0; i < typelib->reg_iface_count; ++i)
+ write_typelib_interface( typelib->reg_ifaces[i], typelib );
}
static int write_coclass( const type_t *class, const typelib_t *typelib )
diff --git a/mingw-w64-tools/widl/src/server.c b/mingw-w64-tools/widl/src/server.c
index 79dc079..cce880b 100644
--- a/mingw-w64-tools/widl/src/server.c
+++ b/mingw-w64-tools/widl/src/server.c
@@ -307,7 +307,7 @@
{
var_t *func = stmt->u.var;
if (is_local( func->attrs )) continue;
- print_server( "(SERVER_ROUTINE)%s%s,\n", prefix_server, get_name(func));
+ print_server( "(void *)%s%s,\n", prefix_server, get_name(func));
}
indent--;
print_server( "};\n\n" );
diff --git a/mingw-w64-tools/widl/src/typegen.c b/mingw-w64-tools/widl/src/typegen.c
index 9b8aa1a..04280cb 100644
--- a/mingw-w64-tools/widl/src/typegen.c
+++ b/mingw-w64-tools/widl/src/typegen.c
@@ -4813,20 +4813,21 @@
if (is_array( arg->declspec.type ) || is_ptr( arg->declspec.type )) align = pointer_size;
else type_memsize_and_alignment( arg->declspec.type, &align );
- if (align >= pointer_size)
- fprintf( file, "%s;\n", arg->name );
- else
- fprintf( file, "%s DECLSPEC_ALIGN(%u);\n", arg->name, pointer_size );
+ if (align < pointer_size)
+ fprintf( file, "DECLSPEC_ALIGN(%u) ", pointer_size );
+ fprintf( file, "%s;\n", arg->name );
}
if (add_retval && !is_void( retval->declspec.type ))
{
print_file(file, 2, "%s", "");
- write_type_decl( file, &retval->declspec, retval->name );
- if (is_array( retval->declspec.type ) || is_ptr( retval->declspec.type ) ||
- type_memsize( retval->declspec.type ) == pointer_size)
- fprintf( file, ";\n" );
- else
- fprintf( file, " DECLSPEC_ALIGN(%u);\n", pointer_size );
+ write_type_left( file, &retval->declspec, NAME_DEFAULT, TRUE, TRUE );
+ if (needs_space_after( retval->declspec.type )) fputc( ' ', file );
+ if (!is_array( retval->declspec.type ) && !is_ptr( retval->declspec.type ) &&
+ type_memsize( retval->declspec.type ) != pointer_size)
+ {
+ fprintf( file, "DECLSPEC_ALIGN(%u) ", pointer_size );
+ }
+ fprintf( file, "%s;\n", retval->name );
}
print_file(file, 1, "} %s;\n", var_decl );
if (needs_packing) print_file( file, 0, "#include <poppack.h>\n" );
diff --git a/mingw-w64-tools/widl/src/widl.c b/mingw-w64-tools/widl/src/widl.c
index 35d37d9..38b9d86 100644
--- a/mingw-w64-tools/widl/src/widl.c
+++ b/mingw-w64-tools/widl/src/widl.c
@@ -151,6 +151,7 @@
char *temp_name;
const char *prefix_client = "";
const char *prefix_server = "";
+static const char *includedir;
int line_number = 1;
@@ -573,6 +574,27 @@
fclose(idfile);
}
+static void init_argv0_dir( const char *argv0 )
+{
+#ifndef _WIN32
+ char *p, *dir;
+
+#if defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__)
+ dir = realpath( "/proc/self/exe", NULL );
+#elif defined (__FreeBSD__) || defined(__DragonFly__)
+ dir = realpath( "/proc/curproc/file", NULL );
+#else
+ dir = realpath( argv0, NULL );
+#endif
+ if (!dir) return;
+ if (!(p = strrchr( dir, '/' ))) return;
+ if (p == dir) p++;
+ *p = 0;
+ includedir = strmake( "%s/%s", dir, BIN_TO_INCLUDEDIR );
+ free( dir );
+#endif
+}
+
int main(int argc,char *argv[])
{
int i, optc;
@@ -586,6 +608,7 @@
#ifdef SIGHUP
signal( SIGHUP, exit_on_signal );
#endif
+ init_argv0_dir( argv[0] );
now = time(NULL);
diff --git a/mingw-w64-tools/widl/src/widltypes.h b/mingw-w64-tools/widl/src/widltypes.h
index 5e28329..085a0ff 100644
--- a/mingw-w64-tools/widl/src/widltypes.h
+++ b/mingw-w64-tools/widl/src/widltypes.h
@@ -538,6 +538,9 @@
const attr_list_t *attrs;
struct list importlibs;
statement_list_t *stmts;
+
+ type_t **reg_ifaces;
+ unsigned int reg_iface_count;
};
struct _user_type_t {
diff --git a/mingw-w64-tools/widl/src/wpp/ppl.l b/mingw-w64-tools/widl/src/wpp/ppl.l
index 4fd12c6..a681243 100644
--- a/mingw-w64-tools/widl/src/wpp/ppl.l
+++ b/mingw-w64-tools/widl/src/wpp/ppl.l
@@ -1620,8 +1620,8 @@
pp_incl_state.ppp = NULL;
if(pp_status.debug)
- fprintf(stderr, "pp_do_include: %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);
+ fprintf(stderr, "pp_do_include: %s:%d: include_state=%d, include_ifdepth=%d\n",
+ pp_status.input, pp_status.line_number, pp_incl_state.state, pp_incl_state.ifdepth);
pp_status.file = fp;
ppy__switch_to_buffer(ppy__create_buffer(NULL, YY_BUF_SIZE));
diff --git a/mingw-w64-tools/widl/src/wpp/ppl.yy.c b/mingw-w64-tools/widl/src/wpp/ppl.yy.c
index c7b1e1c..aff35a1 100644
--- a/mingw-w64-tools/widl/src/wpp/ppl.yy.c
+++ b/mingw-w64-tools/widl/src/wpp/ppl.yy.c
@@ -4827,8 +4827,8 @@
pp_incl_state.ppp = NULL;
if(pp_status.debug)
- fprintf(stderr, "pp_do_include: %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);
+ fprintf(stderr, "pp_do_include: %s:%d: include_state=%d, include_ifdepth=%d\n",
+ pp_status.input, pp_status.line_number, pp_incl_state.state, pp_incl_state.ifdepth);
pp_status.file = fp;
ppy__switch_to_buffer(ppy__create_buffer(NULL, YY_BUF_SIZE));
diff --git a/mingw-w64-tools/widl/src/wpp/ppy.tab.c b/mingw-w64-tools/widl/src/wpp/ppy.tab.c
index c5a1323..7b8686c 100644
--- a/mingw-w64-tools/widl/src/wpp/ppy.tab.c
+++ b/mingw-w64-tools/widl/src/wpp/ppy.tab.c
@@ -1,8 +1,9 @@
-/* A Bison parser, made by GNU Bison 3.1. */
+/* A Bison parser, made by GNU Bison 3.5.4. */
/* Bison implementation for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
+ Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -40,11 +41,14 @@
define necessary library symbols; they are noted "INFRINGES ON
USER NAME SPACE" below. */
+/* Undocumented macros, especially those whose name start with YY_,
+ are private implementation details. Do not rely on them. */
+
/* Identify Bison output. */
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "3.1"
+#define YYBISON_VERSION "3.5.4"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -65,12 +69,11 @@
#define yyerror ppy_error
#define yydebug ppy_debug
#define yynerrs ppy_nerrs
-
#define yylval ppy_lval
#define yychar ppy_char
-/* Copy the first part of user declarations. */
-#line 30 "ppy.y" /* yacc.c:339 */
+/* First part of user prologue. */
+#line 30 "ppy.y"
#include "config.h"
#include "wine/port.h"
@@ -166,13 +169,26 @@
static int nmacro_args;
-#line 170 "ppy.tab.c" /* yacc.c:339 */
+#line 173 "ppy.tab.c"
-# ifndef YY_NULLPTR
-# if defined __cplusplus && 201103L <= __cplusplus
-# define YY_NULLPTR nullptr
+# ifndef YY_CAST
+# ifdef __cplusplus
+# define YY_CAST(Type, Val) static_cast<Type> (Val)
+# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
# else
-# define YY_NULLPTR 0
+# define YY_CAST(Type, Val) ((Type) (Val))
+# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
+# endif
+# endif
+# ifndef YY_NULLPTR
+# if defined __cplusplus
+# if 201103L <= __cplusplus
+# define YY_NULLPTR nullptr
+# else
+# define YY_NULLPTR 0
+# endif
+# else
+# define YY_NULLPTR ((void*)0)
# endif
# endif
@@ -246,10 +262,9 @@
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-
union YYSTYPE
{
-#line 126 "ppy.y" /* yacc.c:355 */
+#line 126 "ppy.y"
int sint;
unsigned int uint;
@@ -263,9 +278,9 @@
marg_t *marg;
mtext_t *mtext;
-#line 267 "ppy.tab.c" /* yacc.c:355 */
-};
+#line 282 "ppy.tab.c"
+};
typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1
@@ -278,44 +293,89 @@
-/* Copy the second part of user declarations. */
-#line 284 "ppy.tab.c" /* yacc.c:358 */
#ifdef short
# undef short
#endif
-#ifdef YYTYPE_UINT8
-typedef YYTYPE_UINT8 yytype_uint8;
-#else
-typedef unsigned char yytype_uint8;
+/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
+ <limits.h> and (if available) <stdint.h> are included
+ so that the code can choose integer types of a good width. */
+
+#ifndef __PTRDIFF_MAX__
+# include <limits.h> /* INFRINGES ON USER NAME SPACE */
+# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
+# include <stdint.h> /* INFRINGES ON USER NAME SPACE */
+# define YY_STDINT_H
+# endif
#endif
-#ifdef YYTYPE_INT8
-typedef YYTYPE_INT8 yytype_int8;
+/* Narrow types that promote to a signed type and that can represent a
+ signed or unsigned integer of at least N bits. In tables they can
+ save space and decrease cache pressure. Promoting to a signed type
+ helps avoid bugs in integer arithmetic. */
+
+#ifdef __INT_LEAST8_MAX__
+typedef __INT_LEAST8_TYPE__ yytype_int8;
+#elif defined YY_STDINT_H
+typedef int_least8_t yytype_int8;
#else
typedef signed char yytype_int8;
#endif
-#ifdef YYTYPE_UINT16
-typedef YYTYPE_UINT16 yytype_uint16;
-#else
-typedef unsigned short yytype_uint16;
-#endif
-
-#ifdef YYTYPE_INT16
-typedef YYTYPE_INT16 yytype_int16;
+#ifdef __INT_LEAST16_MAX__
+typedef __INT_LEAST16_TYPE__ yytype_int16;
+#elif defined YY_STDINT_H
+typedef int_least16_t yytype_int16;
#else
typedef short yytype_int16;
#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 \
+ && UINT_LEAST8_MAX <= INT_MAX)
+typedef uint_least8_t yytype_uint8;
+#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
+typedef unsigned char yytype_uint8;
+#else
+typedef short yytype_uint8;
+#endif
+
+#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
+typedef __UINT_LEAST16_TYPE__ yytype_uint16;
+#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
+ && UINT_LEAST16_MAX <= INT_MAX)
+typedef uint_least16_t yytype_uint16;
+#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
+typedef unsigned short yytype_uint16;
+#else
+typedef int yytype_uint16;
+#endif
+
+#ifndef YYPTRDIFF_T
+# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
+# define YYPTRDIFF_T __PTRDIFF_TYPE__
+# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
+# elif defined PTRDIFF_MAX
+# ifndef ptrdiff_t
+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+# endif
+# define YYPTRDIFF_T ptrdiff_t
+# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
+# else
+# define YYPTRDIFF_T long
+# define YYPTRDIFF_MAXIMUM LONG_MAX
+# endif
+#endif
+
#ifndef YYSIZE_T
# ifdef __SIZE_TYPE__
# define YYSIZE_T __SIZE_TYPE__
# elif defined size_t
# define YYSIZE_T size_t
-# elif ! defined YYSIZE_T
+# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
# else
@@ -323,7 +383,19 @@
# endif
#endif
-#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
+#define YYSIZE_MAXIMUM \
+ YY_CAST (YYPTRDIFF_T, \
+ (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
+ ? YYPTRDIFF_MAXIMUM \
+ : YY_CAST (YYSIZE_T, -1)))
+
+#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
+
+/* Stored state numbers (used for stacks). */
+typedef yytype_uint8 yy_state_t;
+
+/* State numbers in computations. */
+typedef int yy_state_fast_t;
#ifndef YY_
# if defined YYENABLE_NLS && YYENABLE_NLS
@@ -337,30 +409,19 @@
# endif
#endif
-#ifndef YY_ATTRIBUTE
-# if (defined __GNUC__ \
- && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
- || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
-# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
+#ifndef YY_ATTRIBUTE_PURE
+# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
+# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
# else
-# define YY_ATTRIBUTE(Spec) /* empty */
+# define YY_ATTRIBUTE_PURE
# endif
#endif
-#ifndef YY_ATTRIBUTE_PURE
-# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
-#endif
-
#ifndef YY_ATTRIBUTE_UNUSED
-# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
-#endif
-
-#if !defined _Noreturn \
- && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
-# if defined _MSC_VER && 1200 <= _MSC_VER
-# define _Noreturn __declspec (noreturn)
+# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
+# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
# else
-# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
+# define YY_ATTRIBUTE_UNUSED
# endif
#endif
@@ -373,11 +434,11 @@
#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
/* Suppress an incorrect diagnostic about yylval being uninitialized. */
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
- _Pragma ("GCC diagnostic push") \
- _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
+ _Pragma ("GCC diagnostic push") \
+ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
_Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
_Pragma ("GCC diagnostic pop")
#else
# define YY_INITIAL_VALUE(Value) Value
@@ -390,6 +451,20 @@
# define YY_INITIAL_VALUE(Value) /* Nothing. */
#endif
+#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
+# define YY_IGNORE_USELESS_CAST_BEGIN \
+ _Pragma ("GCC diagnostic push") \
+ _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
+# define YY_IGNORE_USELESS_CAST_END \
+ _Pragma ("GCC diagnostic pop")
+#endif
+#ifndef YY_IGNORE_USELESS_CAST_BEGIN
+# define YY_IGNORE_USELESS_CAST_BEGIN
+# define YY_IGNORE_USELESS_CAST_END
+#endif
+
+
+#define YY_ASSERT(E) ((void) (0 && (E)))
#if ! defined yyoverflow || YYERROR_VERBOSE
@@ -466,17 +541,17 @@
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yytype_int16 yyss_alloc;
+ yy_state_t yyss_alloc;
YYSTYPE yyvs_alloc;
};
/* The size of the maximum gap between one aligned stack and the next. */
-# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
/* The size of an array large to enough to hold all stacks, each with
N elements. */
# define YYSTACK_BYTES(N) \
- ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+ ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
+ YYSTACK_GAP_MAXIMUM)
# define YYCOPY_NEEDED 1
@@ -489,11 +564,11 @@
# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
do \
{ \
- YYSIZE_T yynewbytes; \
+ YYPTRDIFF_T yynewbytes; \
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
Stack = &yyptr->Stack_alloc; \
- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
- yyptr += yynewbytes / sizeof (*yyptr); \
+ yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / YYSIZEOF (*yyptr); \
} \
while (0)
@@ -505,12 +580,12 @@
# ifndef YYCOPY
# if defined __GNUC__ && 1 < __GNUC__
# define YYCOPY(Dst, Src, Count) \
- __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
+ __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
# else
# define YYCOPY(Dst, Src, Count) \
do \
{ \
- YYSIZE_T yyi; \
+ YYPTRDIFF_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
@@ -533,17 +608,18 @@
/* YYNSTATES -- Number of states. */
#define YYNSTATES 153
-/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
- by yylex, with out-of-bounds checking. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 300
+
+/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
+ as returned by yylex, with out-of-bounds checking. */
#define YYTRANSLATE(YYX) \
- ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+ (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
- as returned by yylex, without out-of-bounds checking. */
-static const yytype_uint8 yytranslate[] =
+ as returned by yylex. */
+static const yytype_int8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -580,7 +656,7 @@
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
-static const yytype_uint16 yyrline[] =
+static const yytype_int16 yyrline[] =
{
0, 181, 181, 182, 186, 187, 188, 189, 190, 210,
234, 260, 277, 278, 279, 282, 283, 284, 286, 288,
@@ -616,7 +692,7 @@
# ifdef YYPRINT
/* YYTOKNUM[NUM] -- (External) token number corresponding to the
(internal) symbol number NUM (which must be that of a token). */
-static const yytype_uint16 yytoknum[] =
+static const yytype_int16 yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
@@ -628,14 +704,14 @@
};
# endif
-#define YYPACT_NINF -27
+#define YYPACT_NINF (-27)
-#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-27)))
+#define yypact_value_is_default(Yyn) \
+ ((Yyn) == YYPACT_NINF)
-#define YYTABLE_NINF -1
+#define YYTABLE_NINF (-1)
-#define yytable_value_is_error(Yytable_value) \
+#define yytable_value_is_error(Yyn) \
0
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
@@ -663,7 +739,7 @@
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
Performed when YYTABLE does not specify something else to do. Zero
means the default is an error. */
-static const yytype_uint8 yydefact[] =
+static const yytype_int8 yydefact[] =
{
2, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 28, 28, 28, 28, 0, 36, 28,
@@ -772,7 +848,7 @@
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
-static const yytype_uint8 yystos[] =
+static const yytype_int8 yystos[] =
{
0, 63, 0, 3, 4, 5, 6, 7, 8, 9,
12, 13, 14, 15, 16, 17, 18, 19, 26, 27,
@@ -793,7 +869,7 @@
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const yytype_uint8 yyr1[] =
+static const yytype_int8 yyr1[] =
{
0, 62, 63, 63, 64, 64, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
@@ -807,7 +883,7 @@
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
-static const yytype_uint8 yyr2[] =
+static const yytype_int8 yyr2[] =
{
0, 2, 0, 2, 3, 3, 3, 3, 3, 3,
2, 2, 3, 3, 6, 4, 4, 5, 6, 7,
@@ -833,22 +909,22 @@
#define YYRECOVERING() (!!yyerrstatus)
-#define YYBACKUP(Token, Value) \
-do \
- if (yychar == YYEMPTY) \
- { \
- yychar = (Token); \
- yylval = (Value); \
- YYPOPSTACK (yylen); \
- yystate = *yyssp; \
- goto yybackup; \
- } \
- else \
- { \
- yyerror (YY_("syntax error: cannot back up")); \
- YYERROR; \
- } \
-while (0)
+#define YYBACKUP(Token, Value) \
+ do \
+ if (yychar == YYEMPTY) \
+ { \
+ yychar = (Token); \
+ yylval = (Value); \
+ YYPOPSTACK (yylen); \
+ yystate = *yyssp; \
+ goto yybackup; \
+ } \
+ else \
+ { \
+ yyerror (YY_("syntax error: cannot back up")); \
+ YYERROR; \
+ } \
+ while (0)
/* Error token number */
#define YYTERROR 1
@@ -888,37 +964,39 @@
} while (0)
-/*----------------------------------------.
-| Print this symbol's value on YYOUTPUT. |
-`----------------------------------------*/
+/*-----------------------------------.
+| Print this symbol's value on YYO. |
+`-----------------------------------*/
static void
-yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep)
{
- FILE *yyo = yyoutput;
- YYUSE (yyo);
+ FILE *yyoutput = yyo;
+ YYUSE (yyoutput);
if (!yyvaluep)
return;
# ifdef YYPRINT
if (yytype < YYNTOKENS)
- YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+ YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
# endif
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
YYUSE (yytype);
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
}
-/*--------------------------------.
-| Print this symbol on YYOUTPUT. |
-`--------------------------------*/
+/*---------------------------.
+| Print this symbol on YYO. |
+`---------------------------*/
static void
-yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep)
{
- YYFPRINTF (yyoutput, "%s %s (",
+ YYFPRINTF (yyo, "%s %s (",
yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
- yy_symbol_value_print (yyoutput, yytype, yyvaluep);
- YYFPRINTF (yyoutput, ")");
+ yy_symbol_value_print (yyo, yytype, yyvaluep);
+ YYFPRINTF (yyo, ")");
}
/*------------------------------------------------------------------.
@@ -927,7 +1005,7 @@
`------------------------------------------------------------------*/
static void
-yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
+yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
{
YYFPRINTF (stderr, "Stack now");
for (; yybottom <= yytop; yybottom++)
@@ -950,20 +1028,20 @@
`------------------------------------------------*/
static void
-yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
+yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, int yyrule)
{
- unsigned long yylno = yyrline[yyrule];
+ int yylno = yyrline[yyrule];
int yynrhs = yyr2[yyrule];
int yyi;
- YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
+ YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
yyrule - 1, yylno);
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr,
- yystos[yyssp[yyi + 1 - yynrhs]],
- &(yyvsp[(yyi + 1) - (yynrhs)])
+ yystos[+yyssp[yyi + 1 - yynrhs]],
+ &yyvsp[(yyi + 1) - (yynrhs)]
);
YYFPRINTF (stderr, "\n");
}
@@ -1007,13 +1085,13 @@
# ifndef yystrlen
# if defined __GLIBC__ && defined _STRING_H
-# define yystrlen strlen
+# define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S)))
# else
/* Return the length of YYSTR. */
-static YYSIZE_T
+static YYPTRDIFF_T
yystrlen (const char *yystr)
{
- YYSIZE_T yylen;
+ YYPTRDIFF_T yylen;
for (yylen = 0; yystr[yylen]; yylen++)
continue;
return yylen;
@@ -1049,12 +1127,12 @@
backslash-backslash). YYSTR is taken from yytname. If YYRES is
null, do not copy; instead, return the length of what the result
would have been. */
-static YYSIZE_T
+static YYPTRDIFF_T
yytnamerr (char *yyres, const char *yystr)
{
if (*yystr == '"')
{
- YYSIZE_T yyn = 0;
+ YYPTRDIFF_T yyn = 0;
char const *yyp = yystr;
for (;;)
@@ -1067,7 +1145,10 @@
case '\\':
if (*++yyp != '\\')
goto do_not_strip_quotes;
- /* Fall through. */
+ else
+ goto append;
+
+ append:
default:
if (yyres)
yyres[yyn] = *yyp;
@@ -1082,10 +1163,10 @@
do_not_strip_quotes: ;
}
- if (! yyres)
+ if (yyres)
+ return yystpcpy (yyres, yystr) - yyres;
+ else
return yystrlen (yystr);
-
- return yystpcpy (yyres, yystr) - yyres;
}
# endif
@@ -1098,19 +1179,19 @@
*YYMSG_ALLOC to the required number of bytes. Return 2 if the
required number of bytes is too large to store. */
static int
-yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
- yytype_int16 *yyssp, int yytoken)
+yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg,
+ yy_state_t *yyssp, int yytoken)
{
- YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
- YYSIZE_T yysize = yysize0;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */
const char *yyformat = YY_NULLPTR;
- /* Arguments of yyformat. */
+ /* Arguments of yyformat: reported tokens (one for the "unexpected",
+ one per "expected"). */
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
- /* Number of reported tokens (one for the "unexpected", one per
- "expected"). */
+ /* Actual size of YYARG. */
int yycount = 0;
+ /* Cumulated lengths of YYARG. */
+ YYPTRDIFF_T yysize = 0;
/* There are many possibilities here to consider:
- If this state is a consistent state with a default action, then
@@ -1137,7 +1218,9 @@
*/
if (yytoken != YYEMPTY)
{
- int yyn = yypact[*yyssp];
+ int yyn = yypact[+*yyssp];
+ YYPTRDIFF_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
+ yysize = yysize0;
yyarg[yycount++] = yytname[yytoken];
if (!yypact_value_is_default (yyn))
{
@@ -1162,11 +1245,12 @@
}
yyarg[yycount++] = yytname[yyx];
{
- YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
- if (! (yysize <= yysize1
- && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ YYPTRDIFF_T yysize1
+ = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
+ if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
+ yysize = yysize1;
+ else
return 2;
- yysize = yysize1;
}
}
}
@@ -1189,10 +1273,13 @@
}
{
- YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
- if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ /* Don't count the "%s"s in the final size, but reserve room for
+ the terminator. */
+ YYPTRDIFF_T yysize1 = yysize + (yystrlen (yyformat) - 2 * yycount) + 1;
+ if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
+ yysize = yysize1;
+ else
return 2;
- yysize = yysize1;
}
if (*yymsg_alloc < yysize)
@@ -1218,8 +1305,8 @@
}
else
{
- yyp++;
- yyformat++;
+ ++yyp;
+ ++yyformat;
}
}
return 0;
@@ -1262,7 +1349,7 @@
int
yyparse (void)
{
- int yystate;
+ yy_state_fast_t yystate;
/* Number of tokens to shift before error messages enabled. */
int yyerrstatus;
@@ -1274,16 +1361,16 @@
to reallocate them elsewhere. */
/* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss;
- yytype_int16 *yyssp;
+ yy_state_t yyssa[YYINITDEPTH];
+ yy_state_t *yyss;
+ yy_state_t *yyssp;
/* The semantic value stack. */
YYSTYPE yyvsa[YYINITDEPTH];
YYSTYPE *yyvs;
YYSTYPE *yyvsp;
- YYSIZE_T yystacksize;
+ YYPTRDIFF_T yystacksize;
int yyn;
int yyresult;
@@ -1297,7 +1384,7 @@
/* Buffer for error messages, and its allocated size. */
char yymsgbuf[128];
char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+ YYPTRDIFF_T yymsg_alloc = sizeof yymsgbuf;
#endif
#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
@@ -1318,46 +1405,54 @@
yychar = YYEMPTY; /* Cause a token to be read. */
goto yysetstate;
+
/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate. |
+| yynewstate -- push a new state, which is found in yystate. |
`------------------------------------------------------------*/
- yynewstate:
+yynewstate:
/* In all cases, when you get here, the value and location stacks
have just been pushed. So pushing a state here evens the stacks. */
yyssp++;
- yysetstate:
- *yyssp = yystate;
+
+/*--------------------------------------------------------------------.
+| yysetstate -- set current state (the top of the stack) to yystate. |
+`--------------------------------------------------------------------*/
+yysetstate:
+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
+ YY_IGNORE_USELESS_CAST_BEGIN
+ *yyssp = YY_CAST (yy_state_t, yystate);
+ YY_IGNORE_USELESS_CAST_END
if (yyss + yystacksize - 1 <= yyssp)
+#if !defined yyoverflow && !defined YYSTACK_RELOCATE
+ goto yyexhaustedlab;
+#else
{
/* Get the current used size of the three stacks, in elements. */
- YYSIZE_T yysize = yyssp - yyss + 1;
+ YYPTRDIFF_T yysize = yyssp - yyss + 1;
-#ifdef yyoverflow
+# if defined yyoverflow
{
/* Give user a chance to reallocate the stack. Use copies of
these so that the &'s don't force the real ones into
memory. */
+ yy_state_t *yyss1 = yyss;
YYSTYPE *yyvs1 = yyvs;
- yytype_int16 *yyss1 = yyss;
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
be undefined if yyoverflow is a macro. */
yyoverflow (YY_("memory exhausted"),
- &yyss1, yysize * sizeof (*yyssp),
- &yyvs1, yysize * sizeof (*yyvsp),
+ &yyss1, yysize * YYSIZEOF (*yyssp),
+ &yyvs1, yysize * YYSIZEOF (*yyvsp),
&yystacksize);
-
yyss = yyss1;
yyvs = yyvs1;
}
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
- goto yyexhaustedlab;
-# else
+# else /* defined YYSTACK_RELOCATE */
/* Extend the stack our own way. */
if (YYMAXDEPTH <= yystacksize)
goto yyexhaustedlab;
@@ -1366,42 +1461,43 @@
yystacksize = YYMAXDEPTH;
{
- yytype_int16 *yyss1 = yyss;
+ yy_state_t *yyss1 = yyss;
union yyalloc *yyptr =
- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ YY_CAST (union yyalloc *,
+ YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
if (! yyptr)
goto yyexhaustedlab;
YYSTACK_RELOCATE (yyss_alloc, yyss);
YYSTACK_RELOCATE (yyvs_alloc, yyvs);
-# undef YYSTACK_RELOCATE
+# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
}
# endif
-#endif /* no yyoverflow */
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
- YYDPRINTF ((stderr, "Stack size increased to %lu\n",
- (unsigned long) yystacksize));
+ YY_IGNORE_USELESS_CAST_BEGIN
+ YYDPRINTF ((stderr, "Stack size increased to %ld\n",
+ YY_CAST (long, yystacksize)));
+ YY_IGNORE_USELESS_CAST_END
if (yyss + yystacksize - 1 <= yyssp)
YYABORT;
}
-
- YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
if (yystate == YYFINAL)
YYACCEPT;
goto yybackup;
+
/*-----------.
| yybackup. |
`-----------*/
yybackup:
-
/* Do appropriate processing given the current state. Read a
lookahead token if we need one and don't already have one. */
@@ -1451,15 +1547,13 @@
/* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
-
- /* Discard the shifted token. */
- yychar = YYEMPTY;
-
yystate = yyn;
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
*++yyvsp = yylval;
YY_IGNORE_MAYBE_UNINITIALIZED_END
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
goto yynewstate;
@@ -1474,7 +1568,7 @@
/*-----------------------------.
-| yyreduce -- Do a reduction. |
+| yyreduce -- do a reduction. |
`-----------------------------*/
yyreduce:
/* yyn is the number of a rule to reduce with. */
@@ -1494,33 +1588,33 @@
YY_REDUCE_PRINT (yyn);
switch (yyn)
{
- case 4:
-#line 186 "ppy.y" /* yacc.c:1651 */
- { pp_do_include((yyvsp[-1].cptr), 1); }
-#line 1501 "ppy.tab.c" /* yacc.c:1651 */
+ case 4:
+#line 186 "ppy.y"
+ { pp_do_include((yyvsp[-1].cptr), 1); }
+#line 1595 "ppy.tab.c"
break;
case 5:
-#line 187 "ppy.y" /* yacc.c:1651 */
- { pp_do_include((yyvsp[-1].cptr), 0); }
-#line 1507 "ppy.tab.c" /* yacc.c:1651 */
+#line 187 "ppy.y"
+ { pp_do_include((yyvsp[-1].cptr), 0); }
+#line 1601 "ppy.tab.c"
break;
case 6:
-#line 188 "ppy.y" /* yacc.c:1651 */
- { pp_next_if_state(boolean(&(yyvsp[-1].cval))); }
-#line 1513 "ppy.tab.c" /* yacc.c:1651 */
+#line 188 "ppy.y"
+ { pp_next_if_state(boolean(&(yyvsp[-1].cval))); }
+#line 1607 "ppy.tab.c"
break;
case 7:
-#line 189 "ppy.y" /* yacc.c:1651 */
- { pp_next_if_state(pplookup((yyvsp[-1].cptr)) != NULL); free((yyvsp[-1].cptr)); }
-#line 1519 "ppy.tab.c" /* yacc.c:1651 */
+#line 189 "ppy.y"
+ { pp_next_if_state(pplookup((yyvsp[-1].cptr)) != NULL); free((yyvsp[-1].cptr)); }
+#line 1613 "ppy.tab.c"
break;
case 8:
-#line 190 "ppy.y" /* yacc.c:1651 */
- {
+#line 190 "ppy.y"
+ {
int t = pplookup((yyvsp[-1].cptr)) == NULL;
if(pp_incl_state.state == 0 && t && !pp_incl_state.seen_junk)
{
@@ -1540,12 +1634,12 @@
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 1544 "ppy.tab.c" /* yacc.c:1651 */
+#line 1638 "ppy.tab.c"
break;
case 9:
-#line 210 "ppy.y" /* yacc.c:1651 */
- {
+#line 210 "ppy.y"
+ {
pp_if_state_t s = pp_pop_if();
switch(s)
{
@@ -1569,12 +1663,12 @@
pp_internal_error(__FILE__, __LINE__, "Invalid pp_if_state (%d) in #elif directive", s);
}
}
-#line 1573 "ppy.tab.c" /* yacc.c:1651 */
+#line 1667 "ppy.tab.c"
break;
case 10:
-#line 234 "ppy.y" /* yacc.c:1651 */
- {
+#line 234 "ppy.y"
+ {
pp_if_state_t s = pp_pop_if();
switch(s)
{
@@ -1600,12 +1694,12 @@
pp_internal_error(__FILE__, __LINE__, "Invalid pp_if_state (%d) in #else directive", s);
}
}
-#line 1604 "ppy.tab.c" /* yacc.c:1651 */
+#line 1698 "ppy.tab.c"
break;
case 11:
-#line 260 "ppy.y" /* yacc.c:1651 */
- {
+#line 260 "ppy.y"
+ {
if(pp_pop_if() != if_error)
{
if(pp_incl_state.ifdepth == pp_get_if_depth() && pp_incl_state.state == 1)
@@ -1622,92 +1716,92 @@
pp_status.input, pp_status.line_number, pp_incl_state.state, pp_incl_state.ppp, pp_incl_state.ifdepth);
}
}
-#line 1626 "ppy.tab.c" /* yacc.c:1651 */
+#line 1720 "ppy.tab.c"
break;
case 12:
-#line 277 "ppy.y" /* yacc.c:1651 */
- { pp_del_define((yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
-#line 1632 "ppy.tab.c" /* yacc.c:1651 */
+#line 277 "ppy.y"
+ { pp_del_define((yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
+#line 1726 "ppy.tab.c"
break;
case 13:
-#line 278 "ppy.y" /* yacc.c:1651 */
- { pp_add_define((yyvsp[-2].cptr), (yyvsp[-1].cptr)); free((yyvsp[-2].cptr)); free((yyvsp[-1].cptr)); }
-#line 1638 "ppy.tab.c" /* yacc.c:1651 */
+#line 278 "ppy.y"
+ { pp_add_define((yyvsp[-2].cptr), (yyvsp[-1].cptr)); free((yyvsp[-2].cptr)); free((yyvsp[-1].cptr)); }
+#line 1732 "ppy.tab.c"
break;
case 14:
-#line 279 "ppy.y" /* yacc.c:1651 */
- {
+#line 279 "ppy.y"
+ {
pp_add_macro((yyvsp[-5].cptr), macro_args, nmacro_args, (yyvsp[-1].mtext));
}
-#line 1646 "ppy.tab.c" /* yacc.c:1651 */
+#line 1740 "ppy.tab.c"
break;
case 15:
-#line 282 "ppy.y" /* yacc.c:1651 */
- { if((yyvsp[-1].cptr)) pp_writestring("# %d %s\n", (yyvsp[-2].sint) , (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
-#line 1652 "ppy.tab.c" /* yacc.c:1651 */
+#line 282 "ppy.y"
+ { if((yyvsp[-1].cptr)) pp_writestring("# %d %s\n", (yyvsp[-2].sint) , (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
+#line 1746 "ppy.tab.c"
break;
case 16:
-#line 283 "ppy.y" /* yacc.c:1651 */
- { if((yyvsp[-1].cptr)) pp_writestring("# %d %s\n", (yyvsp[-2].sint) , (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
-#line 1658 "ppy.tab.c" /* yacc.c:1651 */
+#line 283 "ppy.y"
+ { if((yyvsp[-1].cptr)) pp_writestring("# %d %s\n", (yyvsp[-2].sint) , (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
+#line 1752 "ppy.tab.c"
break;
case 17:
-#line 285 "ppy.y" /* yacc.c:1651 */
- { if((yyvsp[-2].cptr)) pp_writestring("# %d %s %d\n", (yyvsp[-3].sint), (yyvsp[-2].cptr), (yyvsp[-1].sint)); free((yyvsp[-2].cptr)); }
-#line 1664 "ppy.tab.c" /* yacc.c:1651 */
+#line 285 "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 1758 "ppy.tab.c"
break;
case 18:
-#line 287 "ppy.y" /* yacc.c:1651 */
- { 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 1670 "ppy.tab.c" /* yacc.c:1651 */
+#line 287 "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 1764 "ppy.tab.c"
break;
case 19:
-#line 289 "ppy.y" /* yacc.c:1651 */
- { 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 1676 "ppy.tab.c" /* yacc.c:1651 */
+#line 289 "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 1770 "ppy.tab.c"
break;
case 20:
-#line 291 "ppy.y" /* yacc.c:1651 */
- { 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 1682 "ppy.tab.c" /* yacc.c:1651 */
+#line 291 "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 1776 "ppy.tab.c"
break;
case 22:
-#line 293 "ppy.y" /* yacc.c:1651 */
- { ppy_error("#error directive: '%s'", (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
-#line 1688 "ppy.tab.c" /* yacc.c:1651 */
+#line 293 "ppy.y"
+ { ppy_error("#error directive: '%s'", (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
+#line 1782 "ppy.tab.c"
break;
case 23:
-#line 294 "ppy.y" /* yacc.c:1651 */
- { ppy_warning("#warning directive: '%s'", (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
-#line 1694 "ppy.tab.c" /* yacc.c:1651 */
+#line 294 "ppy.y"
+ { ppy_warning("#warning directive: '%s'", (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
+#line 1788 "ppy.tab.c"
break;
case 24:
-#line 295 "ppy.y" /* yacc.c:1651 */
- { pp_writestring("#pragma %s\n", (yyvsp[-1].cptr) ? (yyvsp[-1].cptr) : ""); free((yyvsp[-1].cptr)); }
-#line 1700 "ppy.tab.c" /* yacc.c:1651 */
+#line 295 "ppy.y"
+ { pp_writestring("#pragma %s\n", (yyvsp[-1].cptr) ? (yyvsp[-1].cptr) : ""); free((yyvsp[-1].cptr)); }
+#line 1794 "ppy.tab.c"
break;
case 25:
-#line 296 "ppy.y" /* yacc.c:1651 */
- { if(pp_status.pedantic) ppy_warning("#ident ignored (arg: '%s')", (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
-#line 1706 "ppy.tab.c" /* yacc.c:1651 */
+#line 296 "ppy.y"
+ { if(pp_status.pedantic) ppy_warning("#ident ignored (arg: '%s')", (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
+#line 1800 "ppy.tab.c"
break;
case 26:
-#line 297 "ppy.y" /* yacc.c:1651 */
- {
+#line 297 "ppy.y"
+ {
if((yyvsp[0].cptr))
{
int nl=strlen((yyvsp[0].cptr)) +3;
@@ -1720,376 +1814,377 @@
free((yyvsp[0].cptr));
}
}
-#line 1724 "ppy.tab.c" /* yacc.c:1651 */
+#line 1818 "ppy.tab.c"
break;
case 27:
-#line 310 "ppy.y" /* yacc.c:1651 */
- {
+#line 310 "ppy.y"
+ {
pp_do_include((yyvsp[0].cptr),1);
}
-#line 1732 "ppy.tab.c" /* yacc.c:1651 */
+#line 1826 "ppy.tab.c"
break;
case 28:
-#line 316 "ppy.y" /* yacc.c:1651 */
- { (yyval.cptr) = NULL; }
-#line 1738 "ppy.tab.c" /* yacc.c:1651 */
+#line 316 "ppy.y"
+ { (yyval.cptr) = NULL; }
+#line 1832 "ppy.tab.c"
break;
case 29:
-#line 317 "ppy.y" /* yacc.c:1651 */
- { (yyval.cptr) = (yyvsp[0].cptr); }
-#line 1744 "ppy.tab.c" /* yacc.c:1651 */
+#line 317 "ppy.y"
+ { (yyval.cptr) = (yyvsp[0].cptr); }
+#line 1838 "ppy.tab.c"
break;
case 30:
-#line 320 "ppy.y" /* yacc.c:1651 */
- { (yyval.cptr) = (yyvsp[0].cptr); }
-#line 1750 "ppy.tab.c" /* yacc.c:1651 */
+#line 320 "ppy.y"
+ { (yyval.cptr) = (yyvsp[0].cptr); }
+#line 1844 "ppy.tab.c"
break;
case 31:
-#line 321 "ppy.y" /* yacc.c:1651 */
- { (yyval.cptr) = (yyvsp[0].cptr); }
-#line 1756 "ppy.tab.c" /* yacc.c:1651 */
+#line 321 "ppy.y"
+ { (yyval.cptr) = (yyvsp[0].cptr); }
+#line 1850 "ppy.tab.c"
break;
case 32:
-#line 322 "ppy.y" /* yacc.c:1651 */
- { (yyval.cptr) = (yyvsp[0].cptr); }
-#line 1762 "ppy.tab.c" /* yacc.c:1651 */
+#line 322 "ppy.y"
+ { (yyval.cptr) = (yyvsp[0].cptr); }
+#line 1856 "ppy.tab.c"
break;
case 33:
-#line 323 "ppy.y" /* yacc.c:1651 */
- { (yyval.cptr) = merge_text((yyvsp[-1].cptr), (yyvsp[0].cptr)); }
-#line 1768 "ppy.tab.c" /* yacc.c:1651 */
+#line 323 "ppy.y"
+ { (yyval.cptr) = merge_text((yyvsp[-1].cptr), (yyvsp[0].cptr)); }
+#line 1862 "ppy.tab.c"
break;
case 34:
-#line 324 "ppy.y" /* yacc.c:1651 */
- { (yyval.cptr) = merge_text((yyvsp[-1].cptr), (yyvsp[0].cptr)); }
-#line 1774 "ppy.tab.c" /* yacc.c:1651 */
+#line 324 "ppy.y"
+ { (yyval.cptr) = merge_text((yyvsp[-1].cptr), (yyvsp[0].cptr)); }
+#line 1868 "ppy.tab.c"
break;
case 35:
-#line 325 "ppy.y" /* yacc.c:1651 */
- { (yyval.cptr) = merge_text((yyvsp[-1].cptr), (yyvsp[0].cptr)); }
-#line 1780 "ppy.tab.c" /* yacc.c:1651 */
+#line 325 "ppy.y"
+ { (yyval.cptr) = merge_text((yyvsp[-1].cptr), (yyvsp[0].cptr)); }
+#line 1874 "ppy.tab.c"
break;
case 36:
-#line 328 "ppy.y" /* yacc.c:1651 */
- { macro_args = NULL; nmacro_args = 0; }
-#line 1786 "ppy.tab.c" /* yacc.c:1651 */
+#line 328 "ppy.y"
+ { macro_args = NULL; nmacro_args = 0; }
+#line 1880 "ppy.tab.c"
break;
case 37:
-#line 331 "ppy.y" /* yacc.c:1651 */
- { (yyval.sint) = 0; macro_args = NULL; nmacro_args = 0; }
-#line 1792 "ppy.tab.c" /* yacc.c:1651 */
+#line 331 "ppy.y"
+ { (yyval.sint) = 0; macro_args = NULL; nmacro_args = 0; }
+#line 1886 "ppy.tab.c"
break;
case 38:
-#line 332 "ppy.y" /* yacc.c:1651 */
- { (yyval.sint) = nmacro_args; }
-#line 1798 "ppy.tab.c" /* yacc.c:1651 */
+#line 332 "ppy.y"
+ { (yyval.sint) = nmacro_args; }
+#line 1892 "ppy.tab.c"
break;
case 39:
-#line 335 "ppy.y" /* yacc.c:1651 */
- { (yyval.marg) = (yyvsp[0].marg); }
-#line 1804 "ppy.tab.c" /* yacc.c:1651 */
+#line 335 "ppy.y"
+ { (yyval.marg) = (yyvsp[0].marg); }
+#line 1898 "ppy.tab.c"
break;
case 40:
-#line 336 "ppy.y" /* yacc.c:1651 */
- { (yyval.marg) = add_new_marg(NULL, arg_list); nmacro_args *= -1; }
-#line 1810 "ppy.tab.c" /* yacc.c:1651 */
+#line 336 "ppy.y"
+ { (yyval.marg) = add_new_marg(NULL, arg_list); nmacro_args *= -1; }
+#line 1904 "ppy.tab.c"
break;
case 41:
-#line 339 "ppy.y" /* yacc.c:1651 */
- { (yyval.marg) = add_new_marg((yyvsp[0].cptr), arg_single); }
-#line 1816 "ppy.tab.c" /* yacc.c:1651 */
+#line 339 "ppy.y"
+ { (yyval.marg) = add_new_marg((yyvsp[0].cptr), arg_single); }
+#line 1910 "ppy.tab.c"
break;
case 42:
-#line 340 "ppy.y" /* yacc.c:1651 */
- { (yyval.marg) = add_new_marg((yyvsp[0].cptr), arg_single); }
-#line 1822 "ppy.tab.c" /* yacc.c:1651 */
+#line 340 "ppy.y"
+ { (yyval.marg) = add_new_marg((yyvsp[0].cptr), arg_single); }
+#line 1916 "ppy.tab.c"
break;
case 43:
-#line 344 "ppy.y" /* yacc.c:1651 */
- { (yyval.mtext) = NULL; }
-#line 1828 "ppy.tab.c" /* yacc.c:1651 */
+#line 344 "ppy.y"
+ { (yyval.mtext) = NULL; }
+#line 1922 "ppy.tab.c"
break;
case 44:
-#line 345 "ppy.y" /* yacc.c:1651 */
- {
+#line 345 "ppy.y"
+ {
for((yyval.mtext) = (yyvsp[0].mtext); (yyval.mtext) && (yyval.mtext)->prev; (yyval.mtext) = (yyval.mtext)->prev)
;
}
-#line 1837 "ppy.tab.c" /* yacc.c:1651 */
+#line 1931 "ppy.tab.c"
break;
case 45:
-#line 351 "ppy.y" /* yacc.c:1651 */
- { (yyval.mtext) = (yyvsp[0].mtext); }
-#line 1843 "ppy.tab.c" /* yacc.c:1651 */
+#line 351 "ppy.y"
+ { (yyval.mtext) = (yyvsp[0].mtext); }
+#line 1937 "ppy.tab.c"
break;
case 46:
-#line 352 "ppy.y" /* yacc.c:1651 */
- { (yyval.mtext) = combine_mtext((yyvsp[-1].mtext), (yyvsp[0].mtext)); }
-#line 1849 "ppy.tab.c" /* yacc.c:1651 */
+#line 352 "ppy.y"
+ { (yyval.mtext) = combine_mtext((yyvsp[-1].mtext), (yyvsp[0].mtext)); }
+#line 1943 "ppy.tab.c"
break;
case 47:
-#line 355 "ppy.y" /* yacc.c:1651 */
- { (yyval.mtext) = new_mtext((yyvsp[0].cptr), 0, exp_text); }
-#line 1855 "ppy.tab.c" /* yacc.c:1651 */
+#line 355 "ppy.y"
+ { (yyval.mtext) = new_mtext((yyvsp[0].cptr), 0, exp_text); }
+#line 1949 "ppy.tab.c"
break;
case 48:
-#line 356 "ppy.y" /* yacc.c:1651 */
- { (yyval.mtext) = new_mtext((yyvsp[0].cptr), 0, exp_text); }
-#line 1861 "ppy.tab.c" /* yacc.c:1651 */
+#line 356 "ppy.y"
+ { (yyval.mtext) = new_mtext((yyvsp[0].cptr), 0, exp_text); }
+#line 1955 "ppy.tab.c"
break;
case 49:
-#line 357 "ppy.y" /* yacc.c:1651 */
- { (yyval.mtext) = new_mtext((yyvsp[0].cptr), 0, exp_text); }
-#line 1867 "ppy.tab.c" /* yacc.c:1651 */
+#line 357 "ppy.y"
+ { (yyval.mtext) = new_mtext((yyvsp[0].cptr), 0, exp_text); }
+#line 1961 "ppy.tab.c"
break;
case 50:
-#line 358 "ppy.y" /* yacc.c:1651 */
- { (yyval.mtext) = new_mtext(NULL, 0, exp_concat); }
-#line 1873 "ppy.tab.c" /* yacc.c:1651 */
+#line 358 "ppy.y"
+ { (yyval.mtext) = new_mtext(NULL, 0, exp_concat); }
+#line 1967 "ppy.tab.c"
break;
case 51:
-#line 359 "ppy.y" /* yacc.c:1651 */
- {
+#line 359 "ppy.y"
+ {
int mat = marg_index((yyvsp[0].cptr));
if(mat < 0)
ppy_error("Stringification identifier must be an argument parameter");
else
(yyval.mtext) = new_mtext(NULL, mat, exp_stringize);
}
-#line 1885 "ppy.tab.c" /* yacc.c:1651 */
+#line 1979 "ppy.tab.c"
break;
case 52:
-#line 366 "ppy.y" /* yacc.c:1651 */
- {
+#line 366 "ppy.y"
+ {
int mat = marg_index((yyvsp[0].cptr));
if(mat >= 0)
(yyval.mtext) = new_mtext(NULL, mat, exp_subst);
else if((yyvsp[0].cptr))
(yyval.mtext) = new_mtext((yyvsp[0].cptr), 0, exp_text);
}
-#line 1897 "ppy.tab.c" /* yacc.c:1651 */
+#line 1991 "ppy.tab.c"
break;
case 53:
-#line 375 "ppy.y" /* yacc.c:1651 */
- { (yyval.cval).type = cv_sint; (yyval.cval).val.si = (yyvsp[0].sint); }
-#line 1903 "ppy.tab.c" /* yacc.c:1651 */
+#line 375 "ppy.y"
+ { (yyval.cval).type = cv_sint; (yyval.cval).val.si = (yyvsp[0].sint); }
+#line 1997 "ppy.tab.c"
break;
case 54:
-#line 376 "ppy.y" /* yacc.c:1651 */
- { (yyval.cval).type = cv_uint; (yyval.cval).val.ui = (yyvsp[0].uint); }
-#line 1909 "ppy.tab.c" /* yacc.c:1651 */
+#line 376 "ppy.y"
+ { (yyval.cval).type = cv_uint; (yyval.cval).val.ui = (yyvsp[0].uint); }
+#line 2003 "ppy.tab.c"
break;
case 55:
-#line 377 "ppy.y" /* yacc.c:1651 */
- { (yyval.cval).type = cv_slong; (yyval.cval).val.sl = (yyvsp[0].slong); }
-#line 1915 "ppy.tab.c" /* yacc.c:1651 */
+#line 377 "ppy.y"
+ { (yyval.cval).type = cv_slong; (yyval.cval).val.sl = (yyvsp[0].slong); }
+#line 2009 "ppy.tab.c"
break;
case 56:
-#line 378 "ppy.y" /* yacc.c:1651 */
- { (yyval.cval).type = cv_ulong; (yyval.cval).val.ul = (yyvsp[0].ulong); }
-#line 1921 "ppy.tab.c" /* yacc.c:1651 */
+#line 378 "ppy.y"
+ { (yyval.cval).type = cv_ulong; (yyval.cval).val.ul = (yyvsp[0].ulong); }
+#line 2015 "ppy.tab.c"
break;
case 57:
-#line 379 "ppy.y" /* yacc.c:1651 */
- { (yyval.cval).type = cv_sll; (yyval.cval).val.sll = (yyvsp[0].sll); }
-#line 1927 "ppy.tab.c" /* yacc.c:1651 */
+#line 379 "ppy.y"
+ { (yyval.cval).type = cv_sll; (yyval.cval).val.sll = (yyvsp[0].sll); }
+#line 2021 "ppy.tab.c"
break;
case 58:
-#line 380 "ppy.y" /* yacc.c:1651 */
- { (yyval.cval).type = cv_ull; (yyval.cval).val.ull = (yyvsp[0].ull); }
-#line 1933 "ppy.tab.c" /* yacc.c:1651 */
+#line 380 "ppy.y"
+ { (yyval.cval).type = cv_ull; (yyval.cval).val.ull = (yyvsp[0].ull); }
+#line 2027 "ppy.tab.c"
break;
case 59:
-#line 381 "ppy.y" /* yacc.c:1651 */
- { (yyval.cval).type = cv_sint; (yyval.cval).val.si = pplookup((yyvsp[0].cptr)) != NULL; }
-#line 1939 "ppy.tab.c" /* yacc.c:1651 */
+#line 381 "ppy.y"
+ { (yyval.cval).type = cv_sint; (yyval.cval).val.si = pplookup((yyvsp[0].cptr)) != NULL; }
+#line 2033 "ppy.tab.c"
break;
case 60:
-#line 382 "ppy.y" /* yacc.c:1651 */
- { (yyval.cval).type = cv_sint; (yyval.cval).val.si = pplookup((yyvsp[-1].cptr)) != NULL; }
-#line 1945 "ppy.tab.c" /* yacc.c:1651 */
+#line 382 "ppy.y"
+ { (yyval.cval).type = cv_sint; (yyval.cval).val.si = pplookup((yyvsp[-1].cptr)) != NULL; }
+#line 2039 "ppy.tab.c"
break;
case 61:
-#line 383 "ppy.y" /* yacc.c:1651 */
- { (yyval.cval).type = cv_sint; (yyval.cval).val.si = 0; }
-#line 1951 "ppy.tab.c" /* yacc.c:1651 */
+#line 383 "ppy.y"
+ { (yyval.cval).type = cv_sint; (yyval.cval).val.si = 0; }
+#line 2045 "ppy.tab.c"
break;
case 62:
-#line 384 "ppy.y" /* yacc.c:1651 */
- { (yyval.cval).type = cv_sint; (yyval.cval).val.si = boolean(&(yyvsp[-2].cval)) || boolean(&(yyvsp[0].cval)); }
-#line 1957 "ppy.tab.c" /* yacc.c:1651 */
+#line 384 "ppy.y"
+ { (yyval.cval).type = cv_sint; (yyval.cval).val.si = boolean(&(yyvsp[-2].cval)) || boolean(&(yyvsp[0].cval)); }
+#line 2051 "ppy.tab.c"
break;
case 63:
-#line 385 "ppy.y" /* yacc.c:1651 */
- { (yyval.cval).type = cv_sint; (yyval.cval).val.si = boolean(&(yyvsp[-2].cval)) && boolean(&(yyvsp[0].cval)); }
-#line 1963 "ppy.tab.c" /* yacc.c:1651 */
+#line 385 "ppy.y"
+ { (yyval.cval).type = cv_sint; (yyval.cval).val.si = boolean(&(yyvsp[-2].cval)) && boolean(&(yyvsp[0].cval)); }
+#line 2057 "ppy.tab.c"
break;
case 64:
-#line 386 "ppy.y" /* yacc.c:1651 */
- { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), ==); }
-#line 1969 "ppy.tab.c" /* yacc.c:1651 */
+#line 386 "ppy.y"
+ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), ==); }
+#line 2063 "ppy.tab.c"
break;
case 65:
-#line 387 "ppy.y" /* yacc.c:1651 */
- { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), !=); }
-#line 1975 "ppy.tab.c" /* yacc.c:1651 */
+#line 387 "ppy.y"
+ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), !=); }
+#line 2069 "ppy.tab.c"
break;
case 66:
-#line 388 "ppy.y" /* yacc.c:1651 */
- { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), <); }
-#line 1981 "ppy.tab.c" /* yacc.c:1651 */
+#line 388 "ppy.y"
+ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), <); }
+#line 2075 "ppy.tab.c"
break;
case 67:
-#line 389 "ppy.y" /* yacc.c:1651 */
- { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), >); }
-#line 1987 "ppy.tab.c" /* yacc.c:1651 */
+#line 389 "ppy.y"
+ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), >); }
+#line 2081 "ppy.tab.c"
break;
case 68:
-#line 390 "ppy.y" /* yacc.c:1651 */
- { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), <=); }
-#line 1993 "ppy.tab.c" /* yacc.c:1651 */
+#line 390 "ppy.y"
+ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), <=); }
+#line 2087 "ppy.tab.c"
break;
case 69:
-#line 391 "ppy.y" /* yacc.c:1651 */
- { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), >=); }
-#line 1999 "ppy.tab.c" /* yacc.c:1651 */
+#line 391 "ppy.y"
+ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), >=); }
+#line 2093 "ppy.tab.c"
break;
case 70:
-#line 392 "ppy.y" /* yacc.c:1651 */
- { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), +); }
-#line 2005 "ppy.tab.c" /* yacc.c:1651 */
+#line 392 "ppy.y"
+ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), +); }
+#line 2099 "ppy.tab.c"
break;
case 71:
-#line 393 "ppy.y" /* yacc.c:1651 */
- { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), -); }
-#line 2011 "ppy.tab.c" /* yacc.c:1651 */
+#line 393 "ppy.y"
+ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), -); }
+#line 2105 "ppy.tab.c"
break;
case 72:
-#line 394 "ppy.y" /* yacc.c:1651 */
- { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), ^); }
-#line 2017 "ppy.tab.c" /* yacc.c:1651 */
+#line 394 "ppy.y"
+ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), ^); }
+#line 2111 "ppy.tab.c"
break;
case 73:
-#line 395 "ppy.y" /* yacc.c:1651 */
- { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), &); }
-#line 2023 "ppy.tab.c" /* yacc.c:1651 */
+#line 395 "ppy.y"
+ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), &); }
+#line 2117 "ppy.tab.c"
break;
case 74:
-#line 396 "ppy.y" /* yacc.c:1651 */
- { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), |); }
-#line 2029 "ppy.tab.c" /* yacc.c:1651 */
+#line 396 "ppy.y"
+ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), |); }
+#line 2123 "ppy.tab.c"
break;
case 75:
-#line 397 "ppy.y" /* yacc.c:1651 */
- { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), *); }
-#line 2035 "ppy.tab.c" /* yacc.c:1651 */
+#line 397 "ppy.y"
+ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), *); }
+#line 2129 "ppy.tab.c"
break;
case 76:
-#line 398 "ppy.y" /* yacc.c:1651 */
- { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), /); }
-#line 2041 "ppy.tab.c" /* yacc.c:1651 */
+#line 398 "ppy.y"
+ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), /); }
+#line 2135 "ppy.tab.c"
break;
case 77:
-#line 399 "ppy.y" /* yacc.c:1651 */
- { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), <<); }
-#line 2047 "ppy.tab.c" /* yacc.c:1651 */
+#line 399 "ppy.y"
+ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), <<); }
+#line 2141 "ppy.tab.c"
break;
case 78:
-#line 400 "ppy.y" /* yacc.c:1651 */
- { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), >>); }
-#line 2053 "ppy.tab.c" /* yacc.c:1651 */
+#line 400 "ppy.y"
+ { promote_equal_size(&(yyvsp[-2].cval), &(yyvsp[0].cval)); BIN_OP((yyval.cval), (yyvsp[-2].cval), (yyvsp[0].cval), >>); }
+#line 2147 "ppy.tab.c"
break;
case 79:
-#line 401 "ppy.y" /* yacc.c:1651 */
- { (yyval.cval) = (yyvsp[0].cval); }
-#line 2059 "ppy.tab.c" /* yacc.c:1651 */
+#line 401 "ppy.y"
+ { (yyval.cval) = (yyvsp[0].cval); }
+#line 2153 "ppy.tab.c"
break;
case 80:
-#line 402 "ppy.y" /* yacc.c:1651 */
- { UNARY_OP((yyval.cval), (yyvsp[0].cval), -); }
-#line 2065 "ppy.tab.c" /* yacc.c:1651 */
+#line 402 "ppy.y"
+ { UNARY_OP((yyval.cval), (yyvsp[0].cval), -); }
+#line 2159 "ppy.tab.c"
break;
case 81:
-#line 403 "ppy.y" /* yacc.c:1651 */
- { UNARY_OP((yyval.cval), (yyvsp[0].cval), ~); }
-#line 2071 "ppy.tab.c" /* yacc.c:1651 */
+#line 403 "ppy.y"
+ { UNARY_OP((yyval.cval), (yyvsp[0].cval), ~); }
+#line 2165 "ppy.tab.c"
break;
case 82:
-#line 404 "ppy.y" /* yacc.c:1651 */
- { (yyval.cval).type = cv_sint; (yyval.cval).val.si = !boolean(&(yyvsp[0].cval)); }
-#line 2077 "ppy.tab.c" /* yacc.c:1651 */
+#line 404 "ppy.y"
+ { (yyval.cval).type = cv_sint; (yyval.cval).val.si = !boolean(&(yyvsp[0].cval)); }
+#line 2171 "ppy.tab.c"
break;
case 83:
-#line 405 "ppy.y" /* yacc.c:1651 */
- { (yyval.cval) = (yyvsp[-1].cval); }
-#line 2083 "ppy.tab.c" /* yacc.c:1651 */
+#line 405 "ppy.y"
+ { (yyval.cval) = (yyvsp[-1].cval); }
+#line 2177 "ppy.tab.c"
break;
case 84:
-#line 406 "ppy.y" /* yacc.c:1651 */
- { (yyval.cval) = boolean(&(yyvsp[-4].cval)) ? (yyvsp[-2].cval) : (yyvsp[0].cval); }
-#line 2089 "ppy.tab.c" /* yacc.c:1651 */
+#line 406 "ppy.y"
+ { (yyval.cval) = boolean(&(yyvsp[-4].cval)) ? (yyvsp[-2].cval) : (yyvsp[0].cval); }
+#line 2183 "ppy.tab.c"
break;
-#line 2093 "ppy.tab.c" /* yacc.c:1651 */
+#line 2187 "ppy.tab.c"
+
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -2114,14 +2209,13 @@
/* Now 'shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
-
- yyn = yyr1[yyn];
-
- yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
- if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
- yystate = yytable[yystate];
- else
- yystate = yydefgoto[yyn - YYNTOKENS];
+ {
+ const int yylhs = yyr1[yyn] - YYNTOKENS;
+ const int yyi = yypgoto[yylhs] + *yyssp;
+ yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
+ ? yytable[yyi]
+ : yydefgoto[yylhs]);
+ }
goto yynewstate;
@@ -2153,7 +2247,7 @@
{
if (yymsg != yymsgbuf)
YYSTACK_FREE (yymsg);
- yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
+ yymsg = YY_CAST (char *, YYSTACK_ALLOC (YY_CAST (YYSIZE_T, yymsg_alloc)));
if (!yymsg)
{
yymsg = yymsgbuf;
@@ -2204,12 +2298,10 @@
| yyerrorlab -- error raised explicitly by YYERROR. |
`---------------------------------------------------*/
yyerrorlab:
-
- /* Pacify compilers like GCC when the user code never invokes
- YYERROR and the label yyerrorlab therefore never appears in user
- code. */
- if (/*CONSTCOND*/ 0)
- goto yyerrorlab;
+ /* Pacify compilers when the user code never invokes YYERROR and the
+ label yyerrorlab therefore never appears in user code. */
+ if (0)
+ YYERROR;
/* Do not reclaim the symbols of the rule whose action triggered
this YYERROR. */
@@ -2271,6 +2363,7 @@
yyresult = 0;
goto yyreturn;
+
/*-----------------------------------.
| yyabortlab -- YYABORT comes here. |
`-----------------------------------*/
@@ -2278,6 +2371,7 @@
yyresult = 1;
goto yyreturn;
+
#if !defined yyoverflow || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
@@ -2288,6 +2382,10 @@
/* Fall through. */
#endif
+
+/*-----------------------------------------------------.
+| yyreturn -- parsing is finished, return the result. |
+`-----------------------------------------------------*/
yyreturn:
if (yychar != YYEMPTY)
{
@@ -2304,7 +2402,7 @@
while (yyssp != yyss)
{
yydestruct ("Cleanup: popping",
- yystos[*yyssp], yyvsp);
+ yystos[+*yyssp], yyvsp);
YYPOPSTACK (1);
}
#ifndef yyoverflow
@@ -2317,7 +2415,7 @@
#endif
return yyresult;
}
-#line 409 "ppy.y" /* yacc.c:1910 */
+#line 409 "ppy.y"
/*
diff --git a/mingw-w64-tools/widl/src/wpp/ppy.tab.h b/mingw-w64-tools/widl/src/wpp/ppy.tab.h
index 3ec785e..76e3700 100644
--- a/mingw-w64-tools/widl/src/wpp/ppy.tab.h
+++ b/mingw-w64-tools/widl/src/wpp/ppy.tab.h
@@ -1,8 +1,9 @@
-/* A Bison parser, made by GNU Bison 3.1. */
+/* A Bison parser, made by GNU Bison 3.5.4. */
/* Bison interface for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
+ Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -30,6 +31,9 @@
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
+/* Undocumented macros, especially those whose name start with YY_,
+ are private implementation details. Do not rely on them. */
+
#ifndef YY_PPY_PPY_TAB_H_INCLUDED
# define YY_PPY_PPY_TAB_H_INCLUDED
/* Debug traces. */
@@ -93,10 +97,9 @@
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-
union YYSTYPE
{
-#line 126 "ppy.y" /* yacc.c:1913 */
+#line 126 "ppy.y"
int sint;
unsigned int uint;
@@ -110,9 +113,9 @@
marg_t *marg;
mtext_t *mtext;
-#line 114 "ppy.tab.h" /* yacc.c:1913 */
-};
+#line 117 "ppy.tab.h"
+};
typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1
diff --git a/mingw-w64-tools/widl/src/wpp/preproc.c b/mingw-w64-tools/widl/src/wpp/preproc.c
index df5adf0..284704b 100644
--- a/mingw-w64-tools/widl/src/wpp/preproc.c
+++ b/mingw-w64-tools/widl/src/wpp/preproc.c
@@ -692,7 +692,7 @@
{
va_list ap;
va_start(ap, s);
- generic_msg(s, "Error", ppy_text, ap);
+ generic_msg(s, "error", ppy_text, ap);
va_end(ap);
exit(1);
}
@@ -701,7 +701,7 @@
{
va_list ap;
va_start(ap, s);
- generic_msg(s, "Warning", ppy_text, ap);
+ generic_msg(s, "warning", ppy_text, ap);
va_end(ap);
return 0;
}
diff --git a/mingw-w64-tools/widl/src/write_msft.c b/mingw-w64-tools/widl/src/write_msft.c
index dc0a6cb..7cfe9e1 100644
--- a/mingw-w64-tools/widl/src/write_msft.c
+++ b/mingw-w64-tools/widl/src/write_msft.c
@@ -1630,6 +1630,9 @@
unsigned char *namedata;
int var_num = (typeinfo->typeinfo->cElement >> 16) & 0xffff;
+ if (!var->name)
+ var->name = gen_name();
+
chat("add_var_desc(%d, %s)\n", index, var->name);
id = 0x40000000 + index;
@@ -2068,6 +2071,10 @@
if(add_func_desc(msft_typeinfo, func, idx) == S_OK)
idx++;
}
+
+ typelib->typelib->reg_ifaces = xrealloc(typelib->typelib->reg_ifaces,
+ (typelib->typelib->reg_iface_count + 1) * sizeof(dispinterface));
+ typelib->typelib->reg_ifaces[typelib->typelib->reg_iface_count++] = dispinterface;
}
static void add_interface_typeinfo(msft_typelib_t *typelib, type_t *interface)
@@ -2142,6 +2149,13 @@
if(add_func_desc(msft_typeinfo, func, idx) == S_OK)
idx++;
}
+
+ if (is_attr(interface->attrs, ATTR_OLEAUTOMATION) || is_attr(interface->attrs, ATTR_DUAL))
+ {
+ typelib->typelib->reg_ifaces = xrealloc(typelib->typelib->reg_ifaces,
+ (typelib->typelib->reg_iface_count + 1) * sizeof(interface));
+ typelib->typelib->reg_ifaces[typelib->typelib->reg_iface_count++] = interface;
+ }
}
static void add_structure_typeinfo(msft_typelib_t *typelib, type_t *structure)
@@ -2197,6 +2211,9 @@
if (-1 < tunion->typelib_idx)
return;
+ if (!tunion->name)
+ tunion->name = gen_name();
+
tunion->typelib_idx = typelib->typelib_header.nrtypeinfos;
msft_typeinfo = create_msft_typeinfo(typelib, TKIND_UNION, tunion->name, tunion->attrs);
msft_typeinfo->typeinfo->size = 0;