On 8/18/2016 11:27 PM, David Wohlferd wrote:
> My next patch is very small, but it affects a bunch of code.  Ponder 
> it a bit before approving.  The goal is to fix all the warnings like 
> this:
>
>  warning: '_unlock_file' redeclared without dllimport attribute: 
> previous dllimport ignored [-Wattributes]
>
> This occurs because our headers use:
>
>   _CRTIMP void __cdecl _unlock_file(FILE *_File);
>
> and _CRTIMP is always defined like this:
>
> #ifndef _CRTIMP
> #define _CRTIMP __declspec(dllimport)
> #endif
>
> If we were *only* providing a mapping to the function in a DLL, this 
> would be fine.  But we actually create an implementation of this 
> function (mingw-w64-crt/stdio/mingw_lock.c).  And the implementation 
> uses the same header.  Since it makes no sense to have an 
> implementation tagged as dllimport, I assert that when building 
> mingw-w64, _CRTIMP should always be defined as blank (attached).

Below is the list of functions that have the problem.  Note most are in 
secapi.

.../mingw-w64-crt/misc/invalid_parameter_handler.c:21:36: warning: 
'_get_invalid_parameter_handler' redeclared without dllimport attribute: 
previous dllimport ignored [-Wattributes]
.../mingw-w64-crt/misc/invalid_parameter_handler.c:22:36: warning: 
'_set_invalid_parameter_handler' redeclared without dllimport attribute: 
previous dllimport ignored [-Wattributes]
.../mingw-w64-crt/misc/purecall.c:10:27: warning: 
'_set_purecall_handler' redeclared without dllimport attribute: previous 
dllimport ignored [-Wattributes]
.../mingw-w64-crt/secapi/_controlfp_s.c:14:17: warning: '_controlfp_s' 
redeclared without dllimport attribute: previous dllimport ignored 
[-Wattributes]
.../mingw-w64-crt/secapi/_ctime32_s.c:7:17: warning: '_localtime32_s' 
redeclared without dllimport attribute after being referenced with dll 
linkage
.../mingw-w64-crt/secapi/_ctime32_s.c:8:17: warning: 'asctime_s' 
redeclared without dllimport attribute: previous dllimport ignored 
[-Wattributes]
.../mingw-w64-crt/secapi/_ctime32_s.c:9:17: warning: '_ctime32_s' 
redeclared without dllimport attribute after being referenced with dll 
linkage
.../mingw-w64-crt/secapi/_ctime64_s.c:7:17: warning: '_localtime64_s' 
redeclared without dllimport attribute: previous dllimport ignored 
[-Wattributes]
.../mingw-w64-crt/secapi/_ctime64_s.c:8:17: warning: 'asctime_s' 
redeclared without dllimport attribute: previous dllimport ignored 
[-Wattributes]
.../mingw-w64-crt/secapi/_gmtime32_s.c:8:17: warning: '_gmtime32_s' 
redeclared without dllimport attribute after being referenced with dll 
linkage
.../mingw-w64-crt/secapi/_gmtime64_s.c:8:17: warning: '_gmtime64_s' 
redeclared without dllimport attribute: previous dllimport ignored 
[-Wattributes]
.../mingw-w64-crt/secapi/_localtime32_s.c:8:17: warning: 
'_localtime32_s' redeclared without dllimport attribute after being 
referenced with dll linkage
.../mingw-w64-crt/secapi/_localtime64_s.c:8:17: warning: 
'_localtime64_s' redeclared without dllimport attribute: previous 
dllimport ignored [-Wattributes]
.../mingw-w64-crt/secapi/_sopen_s.c:6:17: warning: '_sopen_s' redeclared 
without dllimport attribute: previous dllimport ignored [-Wattributes]
.../mingw-w64-crt/secapi/_wasctime_s.c:7:17: warning: '_wasctime_s' 
redeclared without dllimport attribute: previous dllimport ignored 
[-Wattributes]
.../mingw-w64-crt/secapi/_wctime32_s.c:7:17: warning: '_localtime32_s' 
redeclared without dllimport attribute after being referenced with dll 
linkage
.../mingw-w64-crt/secapi/_wctime32_s.c:8:17: warning: '_wasctime_s' 
redeclared without dllimport attribute: previous dllimport ignored 
[-Wattributes]
.../mingw-w64-crt/secapi/_wctime32_s.c:9:17: warning: '_wctime32_s' 
redeclared without dllimport attribute after being referenced with dll 
linkage
.../mingw-w64-crt/secapi/_wctime64_s.c:7:17: warning: '_localtime64_s' 
redeclared without dllimport attribute: previous dllimport ignored 
[-Wattributes]
.../mingw-w64-crt/secapi/_wctime64_s.c:8:17: warning: '_wasctime_s' 
redeclared without dllimport attribute: previous dllimport ignored 
[-Wattributes]
.../mingw-w64-crt/secapi/_wctime64_s.c:9:17: warning: '_wctime64_s' 
redeclared without dllimport attribute: previous dllimport ignored 
[-Wattributes]
.../mingw-w64-crt/secapi/asctime_s.c:7:17: warning: 'asctime_s' 
redeclared without dllimport attribute: previous dllimport ignored 
[-Wattributes]
.../mingw-w64-crt/secapi/memcpy_s.c:6:17: warning: 'memcpy_s' redeclared 
without dllimport attribute: previous dllimport ignored [-Wattributes]
.../mingw-w64-crt/secapi/memmove_s.c:6:17: warning: 'memmove_s' 
redeclared without dllimport attribute: previous dllimport ignored 
[-Wattributes]
.../mingw-w64-crt/secapi/strerror_s.c:7:17: warning: 'strerror_s' 
redeclared without dllimport attribute: previous dllimport ignored 
[-Wattributes]
.../mingw-w64-crt/stdio/mingw_lock.c:35:14: warning: '_lock_file' 
redeclared without dllimport attribute: previous dllimport ignored 
[-Wattributes]
.../mingw-w64-crt/stdio/mingw_lock.c:75:14: warning: '_unlock_file' 
redeclared without dllimport attribute: previous dllimport ignored 
[-Wattributes]

dw


------------------------------------------------------------------------------
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to