LLVM  10.0.0svn
AsmCond.h
Go to the documentation of this file.
1 //===- AsmCond.h - Assembly file conditional assembly ----------*- 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_MC_MCPARSER_ASMCOND_H
10 #define LLVM_MC_MCPARSER_ASMCOND_H
11 
12 namespace llvm {
13 
14 /// AsmCond - Class to support conditional assembly
15 ///
16 /// The conditional assembly feature (.if, .else, .elseif and .endif) is
17 /// implemented with AsmCond that tells us what we are in the middle of
18 /// processing. Ignore can be either true or false. When true we are ignoring
19 /// the block of code in the middle of a conditional.
20 
21 class AsmCond {
22 public:
24  NoCond, // no conditional is being processed
25  IfCond, // inside if conditional
26  ElseIfCond, // inside elseif conditional
27  ElseCond // inside else conditional
28  };
29 
31  bool CondMet = false;
32  bool Ignore = false;
33 
34  AsmCond() = default;
35 };
36 
37 } // end namespace llvm
38 
39 #endif // LLVM_MC_MCPARSER_ASMCOND_H
This class represents lattice values for constants.
Definition: AllocatorList.h:23
ConditionalAssemblyType
Definition: AsmCond.h:23
AsmCond - Class to support conditional assembly.
Definition: AsmCond.h:21
bool Ignore
Definition: AsmCond.h:32
bool CondMet
Definition: AsmCond.h:31
AsmCond()=default
ConditionalAssemblyType TheCond
Definition: AsmCond.h:30