On Fri, 16 Feb 2018 16:22:32 +0000 Emil Velikov <emil.l.veli...@gmail.com> wrote:
> From: Emil Velikov <emil.veli...@collabora.com> > > A more generic way to evaluating various attributes, __has_attribute is > available with gcc, clang, even the Oracle/Sun compiler. > > Signed-off-by: Emil Velikov <emil.veli...@collabora.com> > --- > src/scanner.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/src/scanner.c b/src/scanner.c > index 679e006..c93070c 100644 > --- a/src/scanner.c > +++ b/src/scanner.c > @@ -1744,7 +1744,11 @@ emit_code(struct protocol *protocol, enum visibility > vis) > * we want to have the symbols hidden. */ > if (vis == PRIVATE) { > symbol_visibility = "WL_PRIVATE"; > - printf("#if defined(__GNUC__) && __GNUC__ >= 4\n" > + printf("#ifndef __has_attribute\n" > + "# define __has_attribute(x) 0 /* Compatibility with > non-clang compilers. */\n" > + "#endif\n\n"); > + > + printf("#if (__has_attribute(visibility) || defined(__GNUC__) > && __GNUC__ >= 4\n" > "#define WL_PRIVATE __attribute__ > ((visibility(\"hidden\")))\n" > "#else\n" > "#define WL_PRIVATE\n" Reviewed-by: Pekka Paalanen <pekka.paala...@collabora.co.uk> Thanks, pq
pgpzsoo53zhrT.pgp
Description: OpenPGP digital signature
_______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel