From: Aric Stewart Subject: Re: [PATCH v2] imm32: Avoid using GCC's typeof extension Message-Id: <60102b58-dd07-78ad-69c0-f75bf4b789a3@codeweavers.com> Date: Thu, 20 Sep 2018 07:50:12 -0500 In-Reply-To: <20180920044434.8953-1-alexhenrie24@gmail.com> References: <20180920044434.8953-1-alexhenrie24@gmail.com> Signed-off-by: Aric Stewart On 9/19/18 11:44 PM, Alex Henrie wrote: > Signed-off-by: Alex Henrie > --- > dlls/imm32/imm.c | 34 ++++++++++++++++------------------ > 1 file changed, 16 insertions(+), 18 deletions(-) > > diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c > index f235e228ad..28eb00f355 100644 > --- a/dlls/imm32/imm.c > +++ b/dlls/imm32/imm.c > @@ -40,7 +40,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(imm); > #define IMM_INIT_MAGIC 0x19650412 > BOOL WINAPI User32InitializeImmEntryTable(DWORD); > > -#define MAKE_FUNCPTR(f) typeof(f) * p##f > typedef struct _tagImmHkl{ > struct list entry; > HKL hkl; > @@ -51,24 +50,23 @@ typedef struct _tagImmHkl{ > HWND UIWnd; > > /* Function Pointers */ > - MAKE_FUNCPTR(ImeInquire); > - MAKE_FUNCPTR(ImeConfigure); > - MAKE_FUNCPTR(ImeDestroy); > - MAKE_FUNCPTR(ImeEscape); > - MAKE_FUNCPTR(ImeSelect); > - MAKE_FUNCPTR(ImeSetActiveContext); > - MAKE_FUNCPTR(ImeToAsciiEx); > - MAKE_FUNCPTR(NotifyIME); > - MAKE_FUNCPTR(ImeRegisterWord); > - MAKE_FUNCPTR(ImeUnregisterWord); > - MAKE_FUNCPTR(ImeEnumRegisterWord); > - MAKE_FUNCPTR(ImeSetCompositionString); > - MAKE_FUNCPTR(ImeConversionList); > - MAKE_FUNCPTR(ImeProcessKey); > - MAKE_FUNCPTR(ImeGetRegisterWordStyle); > - MAKE_FUNCPTR(ImeGetImeMenuItems); > + BOOL (WINAPI *pImeInquire)(IMEINFO *, WCHAR *, const WCHAR *); > + BOOL (WINAPI *pImeConfigure)(HKL, HWND, DWORD, void *); > + BOOL (WINAPI *pImeDestroy)(UINT); > + LRESULT (WINAPI *pImeEscape)(HIMC, UINT, void *); > + BOOL (WINAPI *pImeSelect)(HIMC, BOOL); > + BOOL (WINAPI *pImeSetActiveContext)(HIMC, BOOL); > + UINT (WINAPI *pImeToAsciiEx)(UINT, UINT, const BYTE *, DWORD *, UINT, HIMC); > + BOOL (WINAPI *pNotifyIME)(HIMC, DWORD, DWORD, DWORD); > + BOOL (WINAPI *pImeRegisterWord)(const WCHAR *, DWORD, const WCHAR *); > + BOOL (WINAPI *pImeUnregisterWord)(const WCHAR *, DWORD, const WCHAR *); > + UINT (WINAPI *pImeEnumRegisterWord)(REGISTERWORDENUMPROCW, const WCHAR *, DWORD, const WCHAR *, void *); > + BOOL (WINAPI *pImeSetCompositionString)(HIMC, DWORD, const void *, DWORD, const void *, DWORD); > + DWORD (WINAPI *pImeConversionList)(HIMC, const WCHAR *, CANDIDATELIST *, DWORD, UINT); > + BOOL (WINAPI *pImeProcessKey)(HIMC, UINT, LPARAM, const BYTE *); > + UINT (WINAPI *pImeGetRegisterWordStyle)(UINT, STYLEBUFW *); > + DWORD (WINAPI *pImeGetImeMenuItems)(HIMC, DWORD, DWORD, IMEMENUITEMINFOW *, IMEMENUITEMINFOW *, DWORD); > } ImmHkl; > -#undef MAKE_FUNCPTR > > typedef struct tagInputContextData > { >