Pass -x instead of incorrectly -std to the preprocessor.
authorChristoph Mallon <christoph.mallon@gmx.de>
Sat, 5 May 2012 06:42:39 +0000 (08:42 +0200)
committerChristoph Mallon <christoph.mallon@gmx.de>
Sat, 5 May 2012 21:09:54 +0000 (23:09 +0200)
main.c

diff --git a/main.c b/main.c
index d00d6d1..6c825c6 100644 (file)
--- a/main.c
+++ b/main.c
@@ -302,20 +302,16 @@ static FILE *preprocess(const char *fname, filetype_t filetype)
                obstack_printf(&cppflags_obst, PREPROCESSOR);
        }
 
+       char const *lang;
        switch (filetype) {
-       case FILETYPE_C:
-               add_flag(&cppflags_obst, "-std=c99");
-               break;
-       case FILETYPE_CXX:
-               add_flag(&cppflags_obst, "-std=c++98");
-               break;
-       case FILETYPE_ASSEMBLER:
-               add_flag(&cppflags_obst, "-x");
-               add_flag(&cppflags_obst, "assembler-with-cpp");
-               break;
-       default:
-               break;
+       case FILETYPE_C:         lang = "c";                  break;
+       case FILETYPE_CXX:       lang = "c++";                break;
+       case FILETYPE_ASSEMBLER: lang = "assembler-with-cpp"; break;
+       default:                 lang = NULL;                 break;
        }
+       if (lang)
+               add_flag(&cppflags_obst, "-x%s", lang);
+
        obstack_printf(&cppflags_obst, "%s", common_flags);
 
        /* handle dependency generation */