1 //===-- MCTargetOptionsCommandFlags.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 // This file contains machine code-specific flags that are shared between
10 // different command line tools.
11 //
12 //===----------------------------------------------------------------------===//
13 
14 #ifndef LLVM_MC_MCTARGETOPTIONSCOMMANDFLAGS_H
15 #define LLVM_MC_MCTARGETOPTIONSCOMMANDFLAGS_H
16 
17 #include "llvm/ADT/Optional.h"
18 #include <string>
19 
20 namespace llvm {
21 
22 class MCTargetOptions;
23 
24 namespace mc {
25 
26 bool getRelaxAll();
27 Optional<bool> getExplicitRelaxAll();
28 
29 bool getIncrementalLinkerCompatible();
30 
31 int getDwarfVersion();
32 
33 bool getDwarf64();
34 
35 bool getShowMCInst();
36 
37 bool getFatalWarnings();
38 
39 bool getNoWarn();
40 
41 bool getNoDeprecatedWarn();
42 
43 bool getNoTypeCheck();
44 
45 std::string getABIName();
46 
47 /// Create this object with static storage to register mc-related command
48 /// line options.
49 struct RegisterMCTargetOptionsFlags {
50   RegisterMCTargetOptionsFlags();
51 };
52 
53 MCTargetOptions InitMCTargetOptionsFromFlags();
54 
55 } // namespace mc
56 
57 } // namespace llvm
58 
59 #endif
60