diff options
Diffstat (limited to 'include/clang/Driver/Action.h')
-rw-r--r-- | include/clang/Driver/Action.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/include/clang/Driver/Action.h b/include/clang/Driver/Action.h index 679704c..ab3162a 100644 --- a/include/clang/Driver/Action.h +++ b/include/clang/Driver/Action.h @@ -66,17 +66,23 @@ private: ActionList Inputs; + unsigned OwnsInputs : 1; + protected: - Action(ActionClass _Kind, types::ID _Type) : Kind(_Kind), Type(_Type) {} + Action(ActionClass _Kind, types::ID _Type) + : Kind(_Kind), Type(_Type), OwnsInputs(true) {} Action(ActionClass _Kind, Action *Input, types::ID _Type) - : Kind(_Kind), Type(_Type), Inputs(&Input, &Input + 1) {} + : Kind(_Kind), Type(_Type), Inputs(&Input, &Input + 1), OwnsInputs(true) {} Action(ActionClass _Kind, const ActionList &_Inputs, types::ID _Type) - : Kind(_Kind), Type(_Type), Inputs(_Inputs) {} + : Kind(_Kind), Type(_Type), Inputs(_Inputs), OwnsInputs(true) {} public: virtual ~Action(); const char *getClassName() const { return Action::getClassName(getKind()); } + bool getOwnsInputs() { return OwnsInputs; } + void setOwnsInputs(bool Value) { OwnsInputs = Value; } + ActionClass getKind() const { return Kind; } types::ID getType() const { return Type; } |