commit c9cccba538e9870b1177ae4c57dad716e9f02185
Author:     sin <s...@2f30.org>
AuthorDate: Wed May 11 17:38:15 2016 +0100
Commit:     Roberto E. Vargas Caballero <Roberto E. Vargas Caballero>
CommitDate: Wed May 11 17:35:52 2016 +0200

    Implement proper #pragma support

diff --git a/cc1/cpp.c b/cc1/cpp.c
index 2015b4e..2dc1b2c 100644
--- a/cc1/cpp.c
+++ b/cc1/cpp.c
@@ -546,8 +546,14 @@ set_line:
 static void
 pragma(void)
 {
+       static char magic[] = {
+       #include "pragma.msg"
+       }, *p = magic;
+
        if (cppoff)
                return;
+       for (; *p; p++)
+               putc(*p, stderr);
        *input->p = '\0';
        next();
 }
diff --git a/cc1/pragma.msg b/cc1/pragma.msg
new file mode 100644
index 0000000..cbd2f9b
--- /dev/null
+++ b/cc1/pragma.msg
@@ -0,0 +1,105 @@
+0x2a, 0x20, 0x67, 0x20, 0x6f, 0x20, 0x61, 0x20, 0x74, 0x20, 0x73, 0x20,
+0x65, 0x20, 0x78, 0x20, 0x2a, 0x20, 0x67, 0x20, 0x6f, 0x20, 0x61, 0x20,
+0x74, 0x20, 0x73, 0x20, 0x65, 0x20, 0x78, 0x20, 0x2a, 0x20, 0x67, 0x20,
+0x6f, 0x20, 0x61, 0x20, 0x74, 0x20, 0x73, 0x20, 0x65, 0x20, 0x78, 0x20,
+0x2a, 0x0a, 0x67, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x67, 0x0a, 0x6f, 0x20, 0x2f, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x5c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x5c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x2f, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x6f, 0x0a, 0x61, 0x7c, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x0a, 0x74, 0x7c, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x60, 0x2e, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x0a, 0x73, 0x60,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x7c, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x0a,
+0x65, 0x20, 0x5c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x20,
+0x2f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x20, 0x20, 0x5c,
+0x5c, 0x5c, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x5f, 0x5f, 0x20, 0x5c, 0x5c,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x20, 0x20, 0x20,
+0x65, 0x0a, 0x78, 0x20, 0x20, 0x5c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x5c, 0x2f, 0x20, 0x20, 0x20, 0x5f, 0x2d, 0x2d, 0x7e, 0x7e, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7e, 0x2d, 0x2d, 0x5f,
+0x5f, 0x7c, 0x20, 0x5c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x20, 0x20,
+0x20, 0x20, 0x78, 0x0a, 0x2a, 0x20, 0x20, 0x20, 0x5c, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x5c, 0x5f, 0x2d, 0x7e, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x7e, 0x2d, 0x5f, 0x5c, 0x20, 0x20, 0x20, 0x20, 0x7c,
+0x20, 0x20, 0x20, 0x20, 0x2a, 0x0a, 0x67, 0x20, 0x20, 0x20, 0x20, 0x5c,
+0x5f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x5f, 0x2e, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+0x2d, 0x2e, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5c, 0x7c, 0x20, 0x20,
+0x20, 0x7c, 0x20, 0x20, 0x20, 0x20, 0x67, 0x0a, 0x6f, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x5c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x5f, 0x5f,
+0x5f, 0x5f, 0x5f, 0x5f, 0x2f, 0x2f, 0x20, 0x5f, 0x20, 0x5f, 0x5f, 0x5f,
+0x20, 0x5f, 0x20, 0x28, 0x5f, 0x28, 0x5f, 0x5f, 0x3e, 0x20, 0x20, 0x5c,
+0x20, 0x20, 0x20, 0x7c, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x0a, 0x61, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x20, 0x20, 0x20, 0x2e, 0x20,
+0x20, 0x43, 0x20, 0x5f, 0x5f, 0x5f, 0x29, 0x20, 0x20, 0x5f, 0x5f, 0x5f,
+0x5f, 0x5f, 0x5f, 0x20, 0x28, 0x5f, 0x28, 0x5f, 0x5f, 0x5f, 0x5f, 0x3e,
+0x20, 0x20, 0x7c, 0x20, 0x20, 0x2f, 0x20, 0x20, 0x20, 0x20, 0x61, 0x0a,
+0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x5c, 0x20, 0x7c,
+0x20, 0x20, 0x20, 0x43, 0x20, 0x5f, 0x5f, 0x5f, 0x5f, 0x29, 0x2f, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x20, 0x28, 0x5f, 0x5f, 0x5f, 0x5f,
+0x5f, 0x3e, 0x20, 0x20, 0x7c, 0x5f, 0x2f, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x74, 0x0a, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x20, 0x2f,
+0x5c, 0x7c, 0x20, 0x20, 0x20, 0x43, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x29,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x20, 0x20, 0x28, 0x5f,
+0x5f, 0x5f, 0x3e, 0x20, 0x20, 0x20, 0x2f, 0x20, 0x20, 0x5c, 0x20, 0x20,
+0x20, 0x20, 0x73, 0x0a, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x20,
+0x20, 0x20, 0x28, 0x20, 0x20, 0x20, 0x5f, 0x43, 0x5f, 0x5f, 0x5f, 0x5f,
+0x5f, 0x29, 0x5c, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x2f, 0x20, 0x20,
+0x2f, 0x2f, 0x20, 0x5f, 0x2f, 0x20, 0x2f, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x5c, 0x20, 0x20, 0x20, 0x65, 0x0a, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x7c, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x20, 0x20, 0x7c, 0x5f, 0x5f, 0x20,
+0x20, 0x20, 0x5c, 0x5c, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
+0x5f, 0x2f, 0x2f, 0x20, 0x28, 0x5f, 0x5f, 0x2f, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x7c, 0x20, 0x20, 0x78, 0x0a, 0x2a, 0x20, 0x20, 0x20,
+0x20, 0x7c, 0x20, 0x5c, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x5f, 0x5f, 0x5f,
+0x5f, 0x29, 0x20, 0x20, 0x20, 0x60, 0x2d, 0x2d, 0x2d, 0x2d, 0x20, 0x20,
+0x20, 0x2d, 0x2d, 0x27, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x20, 0x20, 0x2a, 0x0a, 0x67, 0x20,
+0x20, 0x20, 0x20, 0x7c, 0x20, 0x20, 0x5c, 0x5f, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x5f, 0x5c, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x5f, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x2f, 0x20, 0x7c, 0x20, 0x67, 0x0a,
+0x6f, 0x20, 0x20, 0x20, 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x20, 0x20, 0x20, 0x20,
+0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x20, 0x20, 0x5c, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x20,
+0x6f, 0x0a, 0x61, 0x20, 0x20, 0x20, 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x20, 0x20, 0x20,
+0x20, 0x2f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x20, 0x20,
+0x5c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x7c, 0x20, 0x61, 0x0a, 0x74, 0x20, 0x20, 0x20, 0x7c, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x20, 0x2f, 0x20, 0x20,
+0x20, 0x20, 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x7c, 0x20, 0x20, 0x5c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x7c, 0x74, 0x0a, 0x73, 0x20, 0x20, 0x20, 0x7c, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x20, 0x2f, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x5f, 0x5f, 0x2f, 0x5c, 0x5f, 0x5f,
+0x5f, 0x2f, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x73, 0x0a, 0x65, 0x20, 0x20, 0x7c,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x20, 0x20, 0x20,
+0x20, 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x65, 0x0a, 0x78, 0x20,
+0x20, 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x20,
+0x20, 0x20, 0x20, 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c,
+0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x78, 0x0a,
+0x2a, 0x20, 0x67, 0x20, 0x6f, 0x20, 0x61, 0x20, 0x74, 0x20, 0x73, 0x20,
+0x65, 0x20, 0x78, 0x20, 0x2a, 0x20, 0x67, 0x20, 0x6f, 0x20, 0x61, 0x20,
+0x74, 0x20, 0x73, 0x20, 0x65, 0x20, 0x78, 0x20, 0x2a, 0x20, 0x67, 0x20,
+0x6f, 0x20, 0x61, 0x20, 0x74, 0x20, 0x73, 0x20, 0x65, 0x20, 0x78, 0x20,
+0x2a, 0x0a, 0x0

Reply via email to