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 9c3e861c2202..479bd6e12f0c 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 fc8b5035e0c9..71bb8cb3bf73 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 a982e2d397e7..85d1690bcfed 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.  | 
