diff options
Diffstat (limited to 'include/llvm/CompilerDriver')
-rw-r--r-- | include/llvm/CompilerDriver/Common.td | 7 | ||||
-rw-r--r-- | include/llvm/CompilerDriver/Main.inc | 2 | ||||
-rw-r--r-- | include/llvm/CompilerDriver/Tool.h | 9 |
3 files changed, 15 insertions, 3 deletions
diff --git a/include/llvm/CompilerDriver/Common.td b/include/llvm/CompilerDriver/Common.td index 9c3e861..479bd6e 100644 --- a/include/llvm/CompilerDriver/Common.td +++ b/include/llvm/CompilerDriver/Common.td @@ -20,9 +20,12 @@ class Tool<list<dag> l> { def in_language; def out_language; def output_suffix; -def cmd_line; +def command; +def out_file_option; +def in_file_option; def join; def sink; +def works_on_empty; def actions; // Possible option types. @@ -46,6 +49,7 @@ def optional; def really_hidden; def required; def comma_separated; +def forward_not_split; // The 'case' construct. def case; @@ -81,6 +85,7 @@ def forward_as; def forward_value; def forward_transformed_value; def stop_compilation; +def no_out_file; def unpack_values; def warning; def error; diff --git a/include/llvm/CompilerDriver/Main.inc b/include/llvm/CompilerDriver/Main.inc index fc8b503..71bb8cb 100644 --- a/include/llvm/CompilerDriver/Main.inc +++ b/include/llvm/CompilerDriver/Main.inc @@ -10,7 +10,7 @@ // This tool provides a single point of access to the LLVM // compilation tools. It has many options. To discover the options // supported please refer to the tools' manual page or run the tool -// with the --help option. +// with the -help option. // // This file provides the default entry point for the driver executable. // diff --git a/include/llvm/CompilerDriver/Tool.h b/include/llvm/CompilerDriver/Tool.h index a982e2d..85d1690 100644 --- a/include/llvm/CompilerDriver/Tool.h +++ b/include/llvm/CompilerDriver/Tool.h @@ -20,15 +20,19 @@ #include "llvm/ADT/StringSet.h" #include "llvm/System/Path.h" +#include <string> #include <vector> +#include <utility> namespace llvmc { class LanguageMap; + typedef std::vector<std::pair<unsigned, std::string> > ArgsVector; typedef std::vector<llvm::sys::Path> PathVector; + typedef std::vector<std::string> StrVector; typedef llvm::StringSet<> InputLanguagesSet; - /// Tool - A class + /// Tool - Represents a single tool. class Tool : public llvm::RefCountedBaseVPTR<Tool> { public: @@ -51,6 +55,7 @@ namespace llvmc { virtual const char* OutputLanguage() const = 0; virtual bool IsJoin() const = 0; + virtual bool WorksOnEmpty() const = 0; protected: /// OutFileName - Generate the output file name. @@ -58,6 +63,8 @@ namespace llvmc { const llvm::sys::Path& TempDir, bool StopCompilation, const char* OutputSuffix) const; + + StrVector SortArgs(ArgsVector& Args) const; }; /// JoinTool - A Tool that has an associated input file list. |