From b5b48685043e4761335c4ab7086eba3b24a9c03d Mon Sep 17 00:00:00 2001 From: Devin Heitmueller Date: Mon, 8 Jan 2018 20:16:58 -0500 Subject: 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 Signed-off-by: Marton Balint --- libavdevice/decklink_common.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'libavdevice/decklink_common.cpp') 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 #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 +#ifdef __clang__ +#pragma clang diagnostic pop +#endif #endif extern "C" { -- cgit v1.2.3