LLVMC2: Teach llvm_gcc_c tool about -include and -fsyntax-only.
authorDaniel Dunbar <daniel@zuster.org>
Wed, 19 Nov 2008 02:59:00 +0000 (02:59 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Wed, 19 Nov 2008 02:59:00 +0000 (02:59 +0000)
 - Only focusing on llvm_gcc_c for now, eventually this needs to be
   refactored so it can be shared via all the gcc-like tools.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59582 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CompilerDriver/Tools.td
test/LLVMC/include.c [new file with mode: 0644]

index 7bd6dd4d940e650d72abaea35051dccb74e921e0..4ff1a52822f8dec2fe0b90a5d7f11e2da18818bf 100644 (file)
@@ -21,10 +21,16 @@ def llvm_gcc_c : Tool<
                     "llvm-gcc -E -x c++ $INFILE -o $OUTFILE",
                     (default),
                     "llvm-gcc -E -x c++ $INFILE"),
+            (switch_on "fsyntax-only"),
+              "llvm-gcc -c -x c $INFILE",
             (default),
               "llvm-gcc -c -x c $INFILE -o $OUTFILE -emit-llvm")),
  (switch_option "E", (stop_compilation),
    (help "Stop after the preprocessing stage, do not run the compiler")),
+ (switch_option "fsyntax-only", (stop_compilation),
+   (help "Stop after checking the input for syntax errors")),
+ (parameter_list_option "include", (forward),
+   (help "Include the named file prior to preprocessing")),
  (sink)
 ]>;
 
diff --git a/test/LLVMC/include.c b/test/LLVMC/include.c
new file mode 100644 (file)
index 0000000..eeb6ca6
--- /dev/null
@@ -0,0 +1,9 @@
+/*
+ * Check that the 'include' options work.
+ * RUN: echo "int x;\n" > %t1.inc
+ * RUN: llvmc2 -include %t1.inc -fsyntax-only %s
+ */
+
+int f0(void) {
+  return x;
+}