From 859b3e41f5529fefee5a5f866f257f8ae5def950 Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Sat, 15 Feb 2014 13:29:16 -0500 Subject: [PATCH] scanner: Add GCC pragmas to disable -Wredundant-decls The code very intentionally emits a lot of redundant declarations to simplify the scanner code. Somebody building with -Wredundant-decls would have compile errors, so emit special pragmas to turn those warnings off. These pragmas should be ignored outside of gcc/clang. --- src/scanner.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/scanner.c b/src/scanner.c index 243ddfd1..e8bfc7cb 100644 --- a/src/scanner.c +++ b/src/scanner.c @@ -1165,11 +1165,13 @@ emit_code(struct protocol *protocol) "#include \n" "#include \"wayland-util.h\"\n\n"); + printf("#pragma GCC diagnostic push\n" + "#pragma GCC diagnostic ignored \"-Wredundant-decls\"\n"); wl_list_for_each(i, &protocol->interface_list, link) { emit_types_forward_declarations(protocol, &i->request_list); emit_types_forward_declarations(protocol, &i->event_list); } - printf("\n"); + printf("#pragma GCC diagnostic pop\n\n"); printf("static const struct wl_interface *types[] = {\n"); emit_null_run(protocol);