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