aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDevin Heitmueller <dheitmueller@ltnglobal.com>2018-01-08 20:16:58 -0500
committerMarton Balint <cus@passwd.hu>2018-01-20 18:38:29 +0100
commitb5b48685043e4761335c4ab7086eba3b24a9c03d (patch)
treed5e63e717672533bfb7c66b0f44829c4563a8e07
parent5409f065f2c48ad9c4baf787d08384176cbc62a4 (diff)
downloadffmpeg-b5b48685043e4761335c4ab7086eba3b24a9c03d.tar.gz
avdevice/decklink: Fix compilation of module on OSX
Clang applies the missing-prototypes warning on C++ files, whereas gcc only applies it to C. As a result, the decklink_common.cpp file fails to build because of missing prototypes in DecklinkDispatch.cpp (which is #included by decklink_common.cpp). We don't want to change the actual Blackmagic SDK sources, so suppress the warning just for that one #include. Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com> Signed-off-by: Marton Balint <cus@passwd.hu>
-rw-r--r--libavdevice/decklink_common.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/libavdevice/decklink_common.cpp b/libavdevice/decklink_common.cpp
index 6ef2c529f4..d1576b8553 100644
--- a/libavdevice/decklink_common.cpp
+++ b/libavdevice/decklink_common.cpp
@@ -29,7 +29,18 @@ extern "C" {
#ifdef _WIN32
#include <DeckLinkAPI_i.c>
#else
+/* The file provided by the SDK is known to be missing prototypes, which doesn't
+ cause issues with GCC since the warning doesn't apply to C++ files. However
+ Clang does complain (and warnings are treated as errors), so suppress the
+ warning just for this one file */
+#ifdef __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wmissing-prototypes"
+#endif
#include <DeckLinkAPIDispatch.cpp>
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
#endif
extern "C" {