summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArseny Kapoulkine <arseny.kapoulkine@gmail.com>2024-04-10 10:18:05 -0700
committerGitHub <noreply@github.com>2024-04-10 10:18:05 -0700
commit078838212830ddb9e5a9d2962ff456b42cc33895 (patch)
treeacf4233891a24c5ea65ecae2cea47447d30543b6
parenta2ca5374023899c20d100dda86b8556b4188b952 (diff)
parent5f1cffeb7e8714f970d5a736772890121947394c (diff)
downloadvolk-078838212830ddb9e5a9d2962ff456b42cc33895.tar.gz
Merge pull request #182 from spanzeri/gcc-pendatic-function-ptr
Ignore pedantic check on function pointer cast for GCC
-rw-r--r--volk.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/volk.c b/volk.c
index b097b1e..b0bc01b 100644
--- a/volk.c
+++ b/volk.c
@@ -31,6 +31,17 @@ __declspec(dllimport) FARPROC __stdcall GetProcAddress(HMODULE, LPCSTR);
__declspec(dllimport) int __stdcall FreeLibrary(HMODULE);
#endif
+#if defined(__GNUC__)
+# define VOLK_DISABLE_GCC_PEDANTIC_WARNINGS \
+ _Pragma("GCC diagnostic push") \
+ _Pragma("GCC diagnostic ignored \"-Wpedantic\"")
+# define VOLK_RESTORE_GCC_PEDANTIC_WARNINGS \
+ _Pragma("GCC diagnostic pop")
+#else
+# define VOLK_DISABLE_GCC_PEDANTIC_WARNINGS
+# define VOLK_RESTORE_GCC_PEDANTIC_WARNINGS
+#endif
+
static void* loadedModule = NULL;
static VkInstance loadedInstance = VK_NULL_HANDLE;
static VkDevice loadedDevice = VK_NULL_HANDLE;
@@ -92,8 +103,9 @@ VkResult volkInitialize(void)
module = dlopen("libvulkan.so", RTLD_NOW | RTLD_LOCAL);
if (!module)
return VK_ERROR_INITIALIZATION_FAILED;
-
+ VOLK_DISABLE_GCC_PEDANTIC_WARNINGS
vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)dlsym(module, "vkGetInstanceProcAddr");
+ VOLK_RESTORE_GCC_PEDANTIC_WARNINGS
#endif
loadedModule = module;