summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut2020-10-21 06:17:51 +0000
committerPeter Eisentraut2020-10-21 06:17:51 +0000
commit8a58347a3c10126ce9eb38872a46c55e91faa174 (patch)
tree6df4f43fe6027a6df8ce014e5e4735b38f6389ee
parent19ae53c92d5f5bdfb971d560a562e84c5f65c8b0 (diff)
Fix -Wcast-function-type warnings on Windows/MinGW
After de8feb1f3a23465b5737e8a8c160e8ca62f61339, some warnings remained that were only visible when using GCC on Windows. Fix those as well. Note that the ecpg test source files don't use the full pg_config.h, so we can't use pg_funcptr_t there but have to do it the long way.
-rw-r--r--src/backend/libpq/auth.c4
-rw-r--r--src/backend/port/win32/crashdump.c2
-rw-r--r--src/bin/pg_ctl/pg_ctl.c12
-rw-r--r--src/common/restricted_token.c2
-rw-r--r--src/interfaces/ecpg/test/expected/thread-thread.c2
-rw-r--r--src/interfaces/ecpg/test/expected/thread-thread_implicit.c2
-rw-r--r--src/interfaces/ecpg/test/thread/thread.pgc2
-rw-r--r--src/interfaces/ecpg/test/thread/thread_implicit.pgc2
-rw-r--r--src/port/getaddrinfo.c12
-rw-r--r--src/port/win32env.c2
-rw-r--r--src/port/win32stat.c2
11 files changed, 22 insertions, 22 deletions
diff --git a/src/backend/libpq/auth.c b/src/backend/libpq/auth.c
index 36565df4fc..d132c5cb48 100644
--- a/src/backend/libpq/auth.c
+++ b/src/backend/libpq/auth.c
@@ -1521,7 +1521,7 @@ pg_SSPI_recvauth(Port *port)
(errmsg("could not load library \"%s\": error code %lu",
"SECUR32.DLL", GetLastError())));
- _QuerySecurityContextToken = (QUERY_SECURITY_CONTEXT_TOKEN_FN)
+ _QuerySecurityContextToken = (QUERY_SECURITY_CONTEXT_TOKEN_FN) (pg_funcptr_t)
GetProcAddress(secur32, "QuerySecurityContextToken");
if (_QuerySecurityContextToken == NULL)
{
@@ -2522,7 +2522,7 @@ InitializeLDAPConnection(Port *port, LDAP **ldap)
ldap_unbind(*ldap);
return STATUS_ERROR;
}
- _ldap_start_tls_sA = (__ldap_start_tls_sA) GetProcAddress(ldaphandle, "ldap_start_tls_sA");
+ _ldap_start_tls_sA = (__ldap_start_tls_sA) (pg_funcptr_t) GetProcAddress(ldaphandle, "ldap_start_tls_sA");
if (_ldap_start_tls_sA == NULL)
{
ereport(LOG,
diff --git a/src/backend/port/win32/crashdump.c b/src/backend/port/win32/crashdump.c
index e6c68379b2..47114d916c 100644
--- a/src/backend/port/win32/crashdump.c
+++ b/src/backend/port/win32/crashdump.c
@@ -122,7 +122,7 @@ crashDumpHandler(struct _EXCEPTION_POINTERS *pExceptionInfo)
return EXCEPTION_CONTINUE_SEARCH;
}
- pDump = (MINIDUMPWRITEDUMP) GetProcAddress(hDll, "MiniDumpWriteDump");
+ pDump = (MINIDUMPWRITEDUMP) (pg_funcptr_t) GetProcAddress(hDll, "MiniDumpWriteDump");
if (pDump == NULL)
{
diff --git a/src/bin/pg_ctl/pg_ctl.c b/src/bin/pg_ctl/pg_ctl.c
index 1cdc3ebaa3..fc07f1aba6 100644
--- a/src/bin/pg_ctl/pg_ctl.c
+++ b/src/bin/pg_ctl/pg_ctl.c
@@ -1778,7 +1778,7 @@ CreateRestrictedProcess(char *cmd, PROCESS_INFORMATION *processInfo, bool as_ser
Advapi32Handle = LoadLibrary("ADVAPI32.DLL");
if (Advapi32Handle != NULL)
{
- _CreateRestrictedToken = (__CreateRestrictedToken) GetProcAddress(Advapi32Handle, "CreateRestrictedToken");
+ _CreateRestrictedToken = (__CreateRestrictedToken) (pg_funcptr_t) GetProcAddress(Advapi32Handle, "CreateRestrictedToken");
}
if (_CreateRestrictedToken == NULL)
@@ -1852,11 +1852,11 @@ CreateRestrictedProcess(char *cmd, PROCESS_INFORMATION *processInfo, bool as_ser
Kernel32Handle = LoadLibrary("KERNEL32.DLL");
if (Kernel32Handle != NULL)
{
- _IsProcessInJob = (__IsProcessInJob) GetProcAddress(Kernel32Handle, "IsProcessInJob");
- _CreateJobObject = (__CreateJobObject) GetProcAddress(Kernel32Handle, "CreateJobObjectA");
- _SetInformationJobObject = (__SetInformationJobObject) GetProcAddress(Kernel32Handle, "SetInformationJobObject");
- _AssignProcessToJobObject = (__AssignProcessToJobObject) GetProcAddress(Kernel32Handle, "AssignProcessToJobObject");
- _QueryInformationJobObject = (__QueryInformationJobObject) GetProcAddress(Kernel32Handle, "QueryInformationJobObject");
+ _IsProcessInJob = (__IsProcessInJob) (pg_funcptr_t) GetProcAddress(Kernel32Handle, "IsProcessInJob");
+ _CreateJobObject = (__CreateJobObject) (pg_funcptr_t) GetProcAddress(Kernel32Handle, "CreateJobObjectA");
+ _SetInformationJobObject = (__SetInformationJobObject) (pg_funcptr_t) GetProcAddress(Kernel32Handle, "SetInformationJobObject");
+ _AssignProcessToJobObject = (__AssignProcessToJobObject) (pg_funcptr_t) GetProcAddress(Kernel32Handle, "AssignProcessToJobObject");
+ _QueryInformationJobObject = (__QueryInformationJobObject) (pg_funcptr_t) GetProcAddress(Kernel32Handle, "QueryInformationJobObject");
}
/* Verify that we found all functions */
diff --git a/src/common/restricted_token.c b/src/common/restricted_token.c
index d8d3aeffcd..dcc88a75c5 100644
--- a/src/common/restricted_token.c
+++ b/src/common/restricted_token.c
@@ -66,7 +66,7 @@ CreateRestrictedProcess(char *cmd, PROCESS_INFORMATION *processInfo)
return 0;
}
- _CreateRestrictedToken = (__CreateRestrictedToken) GetProcAddress(Advapi32Handle, "CreateRestrictedToken");
+ _CreateRestrictedToken = (__CreateRestrictedToken) (pg_funcptr_t) GetProcAddress(Advapi32Handle, "CreateRestrictedToken");
if (_CreateRestrictedToken == NULL)
{
diff --git a/src/interfaces/ecpg/test/expected/thread-thread.c b/src/interfaces/ecpg/test/expected/thread-thread.c
index a7e401570a..0e75c47fab 100644
--- a/src/interfaces/ecpg/test/expected/thread-thread.c
+++ b/src/interfaces/ecpg/test/expected/thread-thread.c
@@ -99,7 +99,7 @@ int main()
#ifndef WIN32
pthread_create(&threads[n], NULL, test_thread, (void *) (n + 1));
#else
- threads[n] = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)test_thread, (void *) (n + 1), 0, NULL);
+ threads[n] = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) (void (*) (void)) test_thread, (void *) (n + 1), 0, NULL);
#endif
}
diff --git a/src/interfaces/ecpg/test/expected/thread-thread_implicit.c b/src/interfaces/ecpg/test/expected/thread-thread_implicit.c
index 6c7adb062c..0df2794530 100644
--- a/src/interfaces/ecpg/test/expected/thread-thread_implicit.c
+++ b/src/interfaces/ecpg/test/expected/thread-thread_implicit.c
@@ -99,7 +99,7 @@ int main()
#ifndef WIN32
pthread_create(&threads[n], NULL, test_thread, (void *) (n + 1));
#else
- threads[n] = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) test_thread, (void *) (n+1), 0, NULL);
+ threads[n] = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) (void (*) (void)) test_thread, (void *) (n+1), 0, NULL);
#endif
}
diff --git a/src/interfaces/ecpg/test/thread/thread.pgc b/src/interfaces/ecpg/test/thread/thread.pgc
index e149b91d97..e7d8c00af6 100644
--- a/src/interfaces/ecpg/test/thread/thread.pgc
+++ b/src/interfaces/ecpg/test/thread/thread.pgc
@@ -68,7 +68,7 @@ int main()
#ifndef WIN32
pthread_create(&threads[n], NULL, test_thread, (void *) (n + 1));
#else
- threads[n] = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)test_thread, (void *) (n + 1), 0, NULL);
+ threads[n] = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) (void (*) (void)) test_thread, (void *) (n + 1), 0, NULL);
#endif
}
diff --git a/src/interfaces/ecpg/test/thread/thread_implicit.pgc b/src/interfaces/ecpg/test/thread/thread_implicit.pgc
index 3209da22bc..b4cae7e1ae 100644
--- a/src/interfaces/ecpg/test/thread/thread_implicit.pgc
+++ b/src/interfaces/ecpg/test/thread/thread_implicit.pgc
@@ -68,7 +68,7 @@ int main()
#ifndef WIN32
pthread_create(&threads[n], NULL, test_thread, (void *) (n + 1));
#else
- threads[n] = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) test_thread, (void *) (n+1), 0, NULL);
+ threads[n] = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) (void (*) (void)) test_thread, (void *) (n+1), 0, NULL);
#endif
}
diff --git a/src/port/getaddrinfo.c b/src/port/getaddrinfo.c
index 3b51eea481..495ad343f3 100644
--- a/src/port/getaddrinfo.c
+++ b/src/port/getaddrinfo.c
@@ -79,12 +79,12 @@ haveNativeWindowsIPv6routines(void)
{
/* We found a dll, so now get the addresses of the routines */
- getaddrinfo_ptr = (getaddrinfo_ptr_t) GetProcAddress(hLibrary,
- "getaddrinfo");
- freeaddrinfo_ptr = (freeaddrinfo_ptr_t) GetProcAddress(hLibrary,
- "freeaddrinfo");
- getnameinfo_ptr = (getnameinfo_ptr_t) GetProcAddress(hLibrary,
- "getnameinfo");
+ getaddrinfo_ptr = (getaddrinfo_ptr_t) (pg_funcptr_t) GetProcAddress(hLibrary,
+ "getaddrinfo");
+ freeaddrinfo_ptr = (freeaddrinfo_ptr_t) (pg_funcptr_t) GetProcAddress(hLibrary,
+ "freeaddrinfo");
+ getnameinfo_ptr = (getnameinfo_ptr_t) (pg_funcptr_t) GetProcAddress(hLibrary,
+ "getnameinfo");
/*
* If any one of the routines is missing, let's play it safe and
diff --git a/src/port/win32env.c b/src/port/win32env.c
index 2021f3d5aa..177488cc67 100644
--- a/src/port/win32env.c
+++ b/src/port/win32env.c
@@ -95,7 +95,7 @@ pgwin32_putenv(const char *envval)
{
PUTENVPROC putenvFunc;
- putenvFunc = (PUTENVPROC) GetProcAddress(hmodule, "_putenv");
+ putenvFunc = (PUTENVPROC) (pg_funcptr_t) GetProcAddress(hmodule, "_putenv");
if (putenvFunc)
putenvFunc(envval);
FreeLibrary(hmodule);
diff --git a/src/port/win32stat.c b/src/port/win32stat.c
index 9051c713e7..4351aa4d08 100644
--- a/src/port/win32stat.c
+++ b/src/port/win32stat.c
@@ -227,7 +227,7 @@ _pgstat64(const char *name, struct stat *buf)
return -1;
}
- _NtQueryInformationFile = (PFN_NTQUERYINFORMATIONFILE)
+ _NtQueryInformationFile = (PFN_NTQUERYINFORMATIONFILE) (pg_funcptr_t)
GetProcAddress(ntdll, "NtQueryInformationFile");
if (_NtQueryInformationFile == NULL)
{