summaryrefslogtreecommitdiffstats
path: root/osdep/compiler.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2017-05-08 13:11:46 +0200
committerwm4 <wm4@nowhere>2017-05-08 13:11:46 +0200
commitc64d40bad765d120907e24d9f5e8056f720dbd8c (patch)
tree31423da769fd4fb491c6ae6d529721c62666ab34 /osdep/compiler.h
parent7eccb62f85f89213953204ce0523fdcd7ffb560e (diff)
downloadmpv-c64d40bad765d120907e24d9f5e8056f720dbd8c.tar.bz2
mpv-c64d40bad765d120907e24d9f5e8056f720dbd8c.tar.xz
osdep/compiler.h: change license to LGPL
This didn't have a header and this was implied LGPL, but this was not entirely correct. It turns out the printf attribute code was leaked in from talloc, which is "LGPL v3 or later". talloc was added to the mplayer2 code base in 27a30e310e1. This remaining code was an oversight. Since we want to reduce LGPL v3 code, replace this code with the one from ta/ta.h. This code was explicitly written newly to get rid of talloc and its license in 0933f12d28e.
Diffstat (limited to 'osdep/compiler.h')
-rw-r--r--osdep/compiler.h22
1 files changed, 8 insertions, 14 deletions
diff --git a/osdep/compiler.h b/osdep/compiler.h
index 0edea7de4a..d25f0cd1e4 100644
--- a/osdep/compiler.h
+++ b/osdep/compiler.h
@@ -4,24 +4,18 @@
#define MP_EXPAND_ARGS(...) __VA_ARGS__
#ifdef __GNUC__
-
+#define PRINTF_ATTRIBUTE(a1, a2) __attribute__ ((format(printf, a1, a2)))
#define MP_NORETURN __attribute__((noreturn))
-
-/** Use gcc attribute to check printf fns. a1 is the 1-based index of
- * the parameter containing the format, and a2 the index of the first
- * argument. **/
-#if defined(__MINGW32__) && !defined(__clang__)
-// MinGW maps "printf" to the non-standard MSVCRT functions, even if
-// __USE_MINGW_ANSI_STDIO is defined and set to 1. We need to use "gnu_printf",
-// which isn't necessarily available on other GCC compatible compilers.
-#define PRINTF_ATTRIBUTE(a1, a2) __attribute__ ((format (gnu_printf, a1, a2)))
-#else
-#define PRINTF_ATTRIBUTE(a1, a2) __attribute__ ((format (printf, a1, a2)))
-#endif
-
#else
#define PRINTF_ATTRIBUTE(a1, a2)
#define MP_NORETURN
#endif
+// Broken crap with __USE_MINGW_ANSI_STDIO
+#if defined(__MINGW32__) && defined(__GNUC__) && !defined(__clang__)
+#undef PRINTF_ATTRIBUTE
+#define PRINTF_ATTRIBUTE(a1, a2) __attribute__ ((format (gnu_printf, a1, a2)))
+#endif
+
+
#endif