[UCRT] Add GCC compatible definition of _CRT_STDIO_INLINE

In C99 mode GCC emits global symbols for inline functions, as soon as the compilation unit contains a declaration that marks the function as "extern". A number of functions like printf are implicitly declared as extern by GCC, which seemingly cannot be disabled. This would lead to the inline function being emitted as a global symbol in every compilation unit. Using static inline prevents duplicate symbol errors.
This commit is contained in:
Timo Kreuzer 2024-11-09 19:19:52 +02:00
parent 4ca68ffb1c
commit a438d7c3b8

View file

@ -23,7 +23,11 @@ _CRT_BEGIN_C_HEADER
#undef _CRT_STDIO_INLINE
#define _CRT_STDIO_INLINE
#elif !defined _CRT_STDIO_INLINE
#if defined(__GNUC__)
#define _CRT_STDIO_INLINE static __inline
#else
#define _CRT_STDIO_INLINE __inline
#endif
#endif
#if !defined RC_INVOKED // RC has no target architecture