From a60befce40572d5867e603a71ff274db797b0532 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Mon, 3 Oct 2022 16:22:55 +0200 Subject: [PATCH] avutil/attributes_internal: Add visibility pragma GCC 4.0 not only added a visibility attribute, but also a pragma to set it for a whole region of code.* This commit exposes this via macros. *: See https://gcc.gnu.org/gcc-4.0/changes.html Reviewed-by: Lynne Signed-off-by: Andreas Rheinhardt --- libavutil/attributes_internal.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavutil/attributes_internal.h b/libavutil/attributes_internal.h index 9d3d10b63e..3df1ee6af3 100644 --- a/libavutil/attributes_internal.h +++ b/libavutil/attributes_internal.h @@ -23,8 +23,12 @@ #if (AV_GCC_VERSION_AT_LEAST(4,0) || defined(__clang__)) && (defined(__ELF__) || defined(__MACH__)) # define attribute_visibility_hidden __attribute__((visibility("hidden"))) +# define FF_VISIBILITY_PUSH_HIDDEN _Pragma("GCC visibility push(hidden)") +# define FF_VISIBILITY_POP_HIDDEN _Pragma("GCC visibility pop") #else # define attribute_visibility_hidden +# define FF_VISIBILITY_PUSH_HIDDEN +# define FF_VISIBILITY_POP_HIDDEN #endif #endif /* AVUTIL_ATTRIBUTES_INTERNAL_H */