Thread: Suppress warnings on mingw

Suppress warnings on mingw

From
ITAGAKI Takahiro
Date:
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


Re: Suppress warnings on mingw

From
Magnus Hagander
Date:
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

Re: Suppress warnings on mingw

From
ITAGAKI Takahiro
Date:
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