1*82d56013Sjoerg //===-- MCTargetOptionsCommandFlags.h --------------------------*- C++ -*-===// 2*82d56013Sjoerg // 3*82d56013Sjoerg // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*82d56013Sjoerg // See https://llvm.org/LICENSE.txt for license information. 5*82d56013Sjoerg // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*82d56013Sjoerg // 7*82d56013Sjoerg //===----------------------------------------------------------------------===// 8*82d56013Sjoerg // 9*82d56013Sjoerg // This file contains machine code-specific flags that are shared between 10*82d56013Sjoerg // different command line tools. 11*82d56013Sjoerg // 12*82d56013Sjoerg //===----------------------------------------------------------------------===// 13*82d56013Sjoerg 14*82d56013Sjoerg #ifndef LLVM_MC_MCTARGETOPTIONSCOMMANDFLAGS_H 15*82d56013Sjoerg #define LLVM_MC_MCTARGETOPTIONSCOMMANDFLAGS_H 16*82d56013Sjoerg 17*82d56013Sjoerg #include "llvm/ADT/Optional.h" 18*82d56013Sjoerg #include <string> 19*82d56013Sjoerg 20*82d56013Sjoerg namespace llvm { 21*82d56013Sjoerg 22*82d56013Sjoerg class MCTargetOptions; 23*82d56013Sjoerg 24*82d56013Sjoerg namespace mc { 25*82d56013Sjoerg 26*82d56013Sjoerg bool getRelaxAll(); 27*82d56013Sjoerg Optional<bool> getExplicitRelaxAll(); 28*82d56013Sjoerg 29*82d56013Sjoerg bool getIncrementalLinkerCompatible(); 30*82d56013Sjoerg 31*82d56013Sjoerg int getDwarfVersion(); 32*82d56013Sjoerg 33*82d56013Sjoerg bool getDwarf64(); 34*82d56013Sjoerg 35*82d56013Sjoerg bool getShowMCInst(); 36*82d56013Sjoerg 37*82d56013Sjoerg bool getFatalWarnings(); 38*82d56013Sjoerg 39*82d56013Sjoerg bool getNoWarn(); 40*82d56013Sjoerg 41*82d56013Sjoerg bool getNoDeprecatedWarn(); 42*82d56013Sjoerg 43*82d56013Sjoerg std::string getABIName(); 44*82d56013Sjoerg 45*82d56013Sjoerg /// Create this object with static storage to register mc-related command 46*82d56013Sjoerg /// line options. 47*82d56013Sjoerg struct RegisterMCTargetOptionsFlags { 48*82d56013Sjoerg RegisterMCTargetOptionsFlags(); 49*82d56013Sjoerg }; 50*82d56013Sjoerg 51*82d56013Sjoerg MCTargetOptions InitMCTargetOptionsFromFlags(); 52*82d56013Sjoerg 53*82d56013Sjoerg } // namespace mc 54*82d56013Sjoerg 55*82d56013Sjoerg } // namespace llvm 56*82d56013Sjoerg 57*82d56013Sjoerg #endif 58