1*e038c9c4Sjoerg //===--- ZOS.h - z/OS ToolChain Implementations -----------------*- C++ -*-===// 2*e038c9c4Sjoerg // 3*e038c9c4Sjoerg // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*e038c9c4Sjoerg // See https://llvm.org/LICENSE.txt for license information. 5*e038c9c4Sjoerg // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*e038c9c4Sjoerg // 7*e038c9c4Sjoerg //===----------------------------------------------------------------------===// 8*e038c9c4Sjoerg 9*e038c9c4Sjoerg #ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ZOS_H 10*e038c9c4Sjoerg #define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ZOS_H 11*e038c9c4Sjoerg 12*e038c9c4Sjoerg #include "clang/Driver/Tool.h" 13*e038c9c4Sjoerg #include "clang/Driver/ToolChain.h" 14*e038c9c4Sjoerg 15*e038c9c4Sjoerg namespace clang { 16*e038c9c4Sjoerg namespace driver { 17*e038c9c4Sjoerg namespace toolchains { 18*e038c9c4Sjoerg 19*e038c9c4Sjoerg class LLVM_LIBRARY_VISIBILITY ZOS : public ToolChain { 20*e038c9c4Sjoerg public: 21*e038c9c4Sjoerg ZOS(const Driver &D, const llvm::Triple &Triple, 22*e038c9c4Sjoerg const llvm::opt::ArgList &Args); 23*e038c9c4Sjoerg ~ZOS() override; 24*e038c9c4Sjoerg isPICDefault()25*e038c9c4Sjoerg bool isPICDefault() const override { return false; } isPIEDefault()26*e038c9c4Sjoerg bool isPIEDefault() const override { return false; } isPICDefaultForced()27*e038c9c4Sjoerg bool isPICDefaultForced() const override { return false; } 28*e038c9c4Sjoerg IsIntegratedAssemblerDefault()29*e038c9c4Sjoerg bool IsIntegratedAssemblerDefault() const override { return true; } 30*e038c9c4Sjoerg 31*e038c9c4Sjoerg void addClangTargetOptions( 32*e038c9c4Sjoerg const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args, 33*e038c9c4Sjoerg Action::OffloadKind DeviceOffloadingKind) const override; 34*e038c9c4Sjoerg }; 35*e038c9c4Sjoerg 36*e038c9c4Sjoerg } // end namespace toolchains 37*e038c9c4Sjoerg } // end namespace driver 38*e038c9c4Sjoerg } // end namespace clang 39*e038c9c4Sjoerg 40*e038c9c4Sjoerg #endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ZOS_H 41