Make it possible to use the generalised 'case' construct in the cmd_line property.
[oota-llvm.git] / tools / llvmc2 / Tool.h
index bfa7e46f9e855fcbe2d7cb7faf9538ace11d08bc..3527817026d19b377b495ef8739e03535a662fed 100644 (file)
@@ -15,6 +15,7 @@
 #define LLVM_TOOLS_LLVMC2_TOOL_H
 
 #include "Action.h"
+#include "StringSet.h"
 
 #include "llvm/ADT/IntrusiveRefCntPtr.h"
 #include "llvm/System/Path.h"
@@ -33,10 +34,12 @@ namespace llvmc {
     virtual ~Tool() {}
 
     virtual Action GenerateAction (const PathVector& inFiles,
-                                   const llvm::sys::Path& outFile) const = 0;
+                                   const llvm::sys::Path& outFile,
+                                   const StringSet<>& InLangs) const = 0;
 
     virtual Action GenerateAction (const llvm::sys::Path& inFile,
-                                   const llvm::sys::Path& outFile) const = 0;
+                                   const llvm::sys::Path& outFile,
+                                   const StringSet<>& InLangs) const = 0;
 
     virtual const char* Name() const = 0;
     virtual const char* InputLanguage() const = 0;
@@ -54,8 +57,10 @@ namespace llvmc {
     void ClearJoinList() { JoinList_.clear(); }
     bool JoinListEmpty() const { return JoinList_.empty(); }
 
-    Action GenerateAction(const llvm::sys::Path& outFile) const
-    { return GenerateAction(JoinList_, outFile); }
+    Action GenerateAction(const llvm::sys::Path& outFile,
+                          const StringSet<>& InLangs) const {
+      return GenerateAction(JoinList_, outFile, InLangs);
+    }
     // We shouldn't shadow base class's version of GenerateAction.
     using Tool::GenerateAction;