1 //===- LLVMDriver.h ---------------------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_SUPPORT_LLVMDRIVER_H
10 #define LLVM_SUPPORT_LLVMDRIVER_H
11 
12 #include "llvm/ADT/SmallVector.h"
13 
14 namespace llvm {
15 
16 struct ToolContext {
17   const char *Path;
18   const char *PrependArg;
19   // PrependArg will be added unconditionally by the llvm-driver, but
20   // NeedsPrependArg will be false if Path is adequate to reinvoke the tool.
21   // This is useful if realpath is ever called on Path, in which case it will
22   // point to the llvm-driver executable, where PrependArg will be needed to
23   // invoke the correct tool.
24   bool NeedsPrependArg;
25 };
26 
27 } // namespace llvm
28 
29 #endif
30