Suppress warnings on mingw

Started by ITAGAKI Takahiroover 19 years ago3 messagespatches
Jump to latest
#1ITAGAKI Takahiro
itagaki.takahiro@oss.ntt.co.jp

This trivial patch fixes the following warnings on mingw.

----
pthread-win32.c:20: warning: no previous prototype for 'pthread_self'
dllwrap --def pgevent.def -o pgevent.dll pgevent.o pgmsgevent.o
Warning: resolving _DllUnregisterServer by linking to _DllUnregisterServer@0
Use --enable-stdcall-fixup to disable these warnings
Use --disable-stdcall-fixup to disable these fixups
Warning: resolving _DllRegisterServer by linking to _DllRegisterServer@0
Warning: resolving _DllUnregisterServer by linking to _DllUnregisterServer@0
Use --enable-stdcall-fixup to disable these warnings
Use --disable-stdcall-fixup to disable these fixups
Warning: resolving _DllRegisterServer by linking to _DllRegisterServer@0
----

Index: src/bin/pgevent/pgevent.def
===================================================================
--- src/bin/pgevent/pgevent.def	(HEAD)
+++ src/bin/pgevent/pgevent.def	(working copy)
@@ -1,4 +1,4 @@
 ; dlltool --output-def pgevent.def pgevent.o pgmsgevent.o
 EXPORTS
-	DllUnregisterServer ;
-	DllRegisterServer ;
+	DllUnregisterServer = DllUnregisterServer@0 ;
+	DllRegisterServer = DllRegisterServer@0 ;
Index: src/port/pthread-win32.h
===================================================================
--- src/port/pthread-win32.h	(HEAD)
+++ src/port/pthread-win32.h	(working copy)
@@ -5,7 +5,7 @@
 typedef HANDLE pthread_mutex_t;
 typedef int pthread_once_t;
-DWORD		pthread_self();
+DWORD		pthread_self(void);

void pthread_setspecific(pthread_key_t, void *);
void *pthread_getspecific(pthread_key_t);

Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center

#2Magnus Hagander
magnus@hagander.net
In reply to: ITAGAKI Takahiro (#1)
Re: Suppress warnings on mingw

On Mon, Apr 16, 2007 at 12:32:56PM +0900, ITAGAKI Takahiro wrote:

This trivial patch fixes the following warnings on mingw.

----
pthread-win32.c:20: warning: no previous prototype for 'pthread_self'

Index: src/bin/pgevent/pgevent.def
===================================================================
--- src/bin/pgevent/pgevent.def	(HEAD)
+++ src/bin/pgevent/pgevent.def	(working copy)
@@ -1,4 +1,4 @@
; dlltool --output-def pgevent.def pgevent.o pgmsgevent.o
EXPORTS
-	DllUnregisterServer ;
-	DllRegisterServer ;
+	DllUnregisterServer = DllUnregisterServer@0 ;
+	DllRegisterServer = DllRegisterServer@0 ;

This breaks the MSVC build, so not applied. Are you sure we should not just
follow the instructions given in the error msg?

pgevent.exp : error LNK2001: unresolved external symbol DllRegisterServer@0
.\Debug\pgevent\pgevent.dll : fatal error LNK1120: 1 unresolved externals

Index: src/port/pthread-win32.h
===================================================================
--- src/port/pthread-win32.h	(HEAD)
+++ src/port/pthread-win32.h	(working copy)
@@ -5,7 +5,7 @@
typedef HANDLE pthread_mutex_t;
typedef int pthread_once_t;
-DWORD		pthread_self();
+DWORD		pthread_self(void);

void pthread_setspecific(pthread_key_t, void *);
void *pthread_getspecific(pthread_key_t);

I've applied the fix for this. I also updated the C file, since with your
patch the C and the H file had different things. If there was a reason you
didn't update the C file, let me know and I'll revert that part.

//Magnus

#3ITAGAKI Takahiro
itagaki.takahiro@oss.ntt.co.jp
In reply to: Magnus Hagander (#2)
Re: Suppress warnings on mingw

Magnus Hagander <magnus@hagander.net> wrote:

EXPORTS
-	DllUnregisterServer ;
-	DllRegisterServer ;
+	DllUnregisterServer = DllUnregisterServer@0 ;
+	DllRegisterServer = DllRegisterServer@0 ;

This breaks the MSVC build, so not applied. Are you sure we should not just
follow the instructions given in the error msg?

pgevent.exp : error LNK2001: unresolved external symbol DllRegisterServer@0
.\Debug\pgevent\pgevent.dll : fatal error LNK1120: 1 unresolved externals

Hmmm, ok. I'll try the MSVC build and find better solutions.

Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center