From a3b5eb07b22824fc8e902067dc2f668ba947b615 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Tue, 26 Dec 2023 10:19:22 -0800 Subject: [PATCH] Removed extern "C" linkage from main() declaration According to the C++ spec, main() should not have any linkage specifier: https://en.cppreference.com/w/cpp/language/main_function Fixes https://github.com/libsdl-org/SDL/issues/8738 --- include/SDL3/SDL_main_impl.h | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/include/SDL3/SDL_main_impl.h b/include/SDL3/SDL_main_impl.h index dd35dbd52c..8eb8bb5495 100644 --- a/include/SDL3/SDL_main_impl.h +++ b/include/SDL3/SDL_main_impl.h @@ -72,12 +72,6 @@ int SDL_main(int argc, char **argv) #define WINAPI __stdcall #endif -#include - -#ifdef __cplusplus -extern "C" { -#endif - typedef struct HINSTANCE__ * HINSTANCE; typedef char* LPSTR; typedef wchar_t* PWSTR; @@ -119,12 +113,6 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine, int sw) return SDL_RunApp(0, NULL, SDL_main, NULL); } -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#include - /* end of __WIN32__ and __GDK__ impls */ #elif defined(__WINRT__) @@ -196,23 +184,11 @@ TInt E32Main() #else /* platforms that use a standard main() and just call SDL_RunApp(), like iOS and 3DS */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - int main(int argc, char *argv[]) { return SDL_RunApp(argc, argv, SDL_main, NULL); } -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#include - /* end of impls for standard-conforming platforms */ #endif /* __WIN32__ etc */