scanner: move include directives before extern "C" wrapper
authorEmil Velikov <emil.l.velikov@gmail.com>
Sun, 17 Apr 2016 11:29:22 +0000 (12:29 +0100)
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>
Tue, 19 Apr 2016 08:06:49 +0000 (11:06 +0300)
Adding extern "C" wrapper before includes (especially system ones) is
illadvised as the headers themselves can behave diffently in that case.

See the section "Including C Headers in C++ Code" in the following
http://www.oracle.com/technetwork/articles/servers-storage-dev/mixingcandcpluspluscode-305840.html

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
src/scanner.c

index 65df3ae..52c07a6 100644 (file)
@@ -1423,13 +1423,13 @@ emit_header(struct protocol *protocol, enum side side)
        printf("#ifndef %s_%s_PROTOCOL_H\n"
               "#define %s_%s_PROTOCOL_H\n"
               "\n"
+              "#include <stdint.h>\n"
+              "#include <stddef.h>\n"
+              "#include \"%s\"\n\n"
               "#ifdef  __cplusplus\n"
               "extern \"C\" {\n"
               "#endif\n"
               "\n"
-              "#include <stdint.h>\n"
-              "#include <stddef.h>\n"
-              "#include \"%s\"\n\n"
               "struct wl_client;\n"
               "struct wl_resource;\n\n",
               protocol->uppercase_name, s,