]> granicus.if.org Git - clang/commitdiff
Driver: Provide food and shelter for Action vtables.
authorDaniel Dunbar <daniel@zuster.org>
Fri, 13 Mar 2009 23:08:03 +0000 (23:08 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Fri, 13 Mar 2009 23:08:03 +0000 (23:08 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66978 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Driver/Action.h
lib/Driver/Action.cpp

index 9cd17f76b9cfcd58306329e3a811c611b4f5c535..a9da267a550425e2bf1d13d379cbcbe68ec13564 100644 (file)
@@ -84,8 +84,7 @@ public:
 class InputAction : public Action {
   const Arg &Input;
 public:
-  InputAction(const Arg &_Input, types::ID _Type) : Action(InputClass, _Type),
-                                                    Input(_Input) {}
+  InputAction(const Arg &_Input, types::ID _Type);
 
   const Arg &getInputArg() const { return Input; }
 
@@ -99,9 +98,7 @@ class BindArchAction : public Action {
   const char *ArchName;
 
 public:
-  BindArchAction(Action *Input, const char *_ArchName) 
-    : Action(BindArchClass, Input, Input->getType()), ArchName(_ArchName) {
-  }
+  BindArchAction(Action *Input, const char *_ArchName);
 
   const char *getArchName() const { return ArchName; }
 
@@ -113,10 +110,8 @@ public:
 
 class JobAction : public Action {
 protected:
-  JobAction(ActionClass Kind, Action *Input, types::ID Type) 
-    : Action(Kind, Input, Type) {}
-  JobAction(ActionClass Kind, const ActionList &Inputs, types::ID Type) 
-    : Action(Kind, Inputs, Type) {}
+  JobAction(ActionClass Kind, Action *Input, types::ID Type);
+  JobAction(ActionClass Kind, const ActionList &Inputs, types::ID Type);
 
 public:
   static bool classof(const Action *A) { 
@@ -128,9 +123,7 @@ public:
 
 class PreprocessJobAction : public JobAction {
 public:
-  PreprocessJobAction(Action *Input, types::ID OutputType)
-    : JobAction(PreprocessJobClass, Input, OutputType) {
-  }
+  PreprocessJobAction(Action *Input, types::ID OutputType);
 
   static bool classof(const Action *A) { 
     return A->getKind() == PreprocessJobClass;
@@ -140,9 +133,7 @@ public:
 
 class PrecompileJobAction : public JobAction {
 public:
-  PrecompileJobAction(Action *Input, types::ID OutputType)
-    : JobAction(PrecompileJobClass, Input, OutputType) {
-  }
+  PrecompileJobAction(Action *Input, types::ID OutputType);
 
   static bool classof(const Action *A) { 
     return A->getKind() == PrecompileJobClass;
@@ -152,9 +143,7 @@ public:
 
 class AnalyzeJobAction : public JobAction {
 public:
-  AnalyzeJobAction(Action *Input, types::ID OutputType)
-    : JobAction(AnalyzeJobClass, Input, OutputType) {
-  }
+  AnalyzeJobAction(Action *Input, types::ID OutputType);
 
   static bool classof(const Action *A) { 
     return A->getKind() == AnalyzeJobClass;
@@ -164,9 +153,7 @@ public:
 
 class CompileJobAction : public JobAction {
 public:
-  CompileJobAction(Action *Input, types::ID OutputType)
-    : JobAction(CompileJobClass, Input, OutputType) {
-  }
+  CompileJobAction(Action *Input, types::ID OutputType);
 
   static bool classof(const Action *A) { 
     return A->getKind() == CompileJobClass;
@@ -176,9 +163,7 @@ public:
 
 class AssembleJobAction : public JobAction {
 public:
-  AssembleJobAction(Action *Input, types::ID OutputType)
-    : JobAction(AssembleJobClass, Input, OutputType) {
-  }
+  AssembleJobAction(Action *Input, types::ID OutputType);
 
   static bool classof(const Action *A) { 
     return A->getKind() == AssembleJobClass;
@@ -188,8 +173,7 @@ public:
 
 class LinkJobAction : public JobAction {
 public:
-  LinkJobAction(ActionList &Inputs, types::ID Type) 
-    : JobAction(LinkJobClass, Inputs, Type) {}
+  LinkJobAction(ActionList &Inputs, types::ID Type);
 
   static bool classof(const Action *A) { 
     return A->getKind() == LinkJobClass;
@@ -199,8 +183,7 @@ public:
 
 class LipoJobAction : public JobAction {
 public:
-  LipoJobAction(ActionList &Inputs, types::ID Type) 
-    : JobAction(LipoJobClass, Inputs, Type) {}
+  LipoJobAction(ActionList &Inputs, types::ID Type);
 
   static bool classof(const Action *A) { 
     return A->getKind() == LipoJobClass;
index 0ffc8f0f64febd8b93d3ae93c59c503438c06f20..d4cdb13527a8c9cccae1f917aca190dd38d62684 100644 (file)
@@ -30,3 +30,47 @@ const char *Action::getClassName(ActionClass AC) {
   assert(0 && "invalid class");
   return 0;
 }
+
+InputAction::InputAction(const Arg &_Input, types::ID _Type) 
+  : Action(InputClass, _Type), Input(_Input) {
+}
+
+BindArchAction::BindArchAction(Action *Input, const char *_ArchName) 
+  : Action(BindArchClass, Input, Input->getType()), ArchName(_ArchName) {
+}
+
+JobAction::JobAction(ActionClass Kind, Action *Input, types::ID Type)
+  : Action(Kind, Input, Type) {
+}
+
+JobAction::JobAction(ActionClass Kind, const ActionList &Inputs, types::ID Type) 
+  : Action(Kind, Inputs, Type) {
+}
+
+PreprocessJobAction::PreprocessJobAction(Action *Input, types::ID OutputType)
+  : JobAction(PreprocessJobClass, Input, OutputType) {
+}
+
+PrecompileJobAction::PrecompileJobAction(Action *Input, types::ID OutputType)
+  : JobAction(PrecompileJobClass, Input, OutputType) {
+}
+
+AnalyzeJobAction::AnalyzeJobAction(Action *Input, types::ID OutputType)
+  : JobAction(AnalyzeJobClass, Input, OutputType) {
+}
+
+CompileJobAction::CompileJobAction(Action *Input, types::ID OutputType)
+  : JobAction(CompileJobClass, Input, OutputType) {
+}
+
+AssembleJobAction::AssembleJobAction(Action *Input, types::ID OutputType)
+  : JobAction(AssembleJobClass, Input, OutputType) {
+}
+
+LinkJobAction::LinkJobAction(ActionList &Inputs, types::ID Type) 
+  : JobAction(LinkJobClass, Inputs, Type) {
+}
+
+LipoJobAction(ActionList &Inputs, types::ID Type)     
+  : JobAction(LipoJobClass, Inputs, Type) {
+}