blob: 6d3c477e4b73af5f3f86760ce97cad7c16573c7d [file] [log] [blame]
Olivier Deprezf4ef2d02021-04-20 13:36:24 +02001//===-- 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
20namespace llvm {
21
22class MCTargetOptions;
23
24namespace mc {
25
26bool getRelaxAll();
27Optional<bool> getExplicitRelaxAll();
28
29bool getIncrementalLinkerCompatible();
30
31int getDwarfVersion();
32
33bool getDwarf64();
34
35bool getShowMCInst();
36
37bool getFatalWarnings();
38
39bool getNoWarn();
40
41bool getNoDeprecatedWarn();
42
43std::string getABIName();
44
45/// Create this object with static storage to register mc-related command
46/// line options.
47struct RegisterMCTargetOptionsFlags {
48 RegisterMCTargetOptionsFlags();
49};
50
51MCTargetOptions InitMCTargetOptionsFromFlags();
52
53} // namespace mc
54
55} // namespace llvm
56
57#endif