LLVM  8.0.1
AsmCond.h
Go to the documentation of this file.
1 //===- AsmCond.h - Assembly file conditional assembly ----------*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #ifndef LLVM_MC_MCPARSER_ASMCOND_H
11 #define LLVM_MC_MCPARSER_ASMCOND_H
12 
13 namespace llvm {
14 
15 /// AsmCond - Class to support conditional assembly
16 ///
17 /// The conditional assembly feature (.if, .else, .elseif and .endif) is
18 /// implemented with AsmCond that tells us what we are in the middle of
19 /// processing. Ignore can be either true or false. When true we are ignoring
20 /// the block of code in the middle of a conditional.
21 
22 class AsmCond {
23 public:
25  NoCond, // no conditional is being processed
26  IfCond, // inside if conditional
27  ElseIfCond, // inside elseif conditional
28  ElseCond // inside else conditional
29  };
30 
32  bool CondMet = false;
33  bool Ignore = false;
34 
35  AsmCond() = default;
36 };
37 
38 } // end namespace llvm
39 
40 #endif // LLVM_MC_MCPARSER_ASMCOND_H
This class represents lattice values for constants.
Definition: AllocatorList.h:24
ConditionalAssemblyType
Definition: AsmCond.h:24
AsmCond - Class to support conditional assembly.
Definition: AsmCond.h:22
bool Ignore
Definition: AsmCond.h:33
bool CondMet
Definition: AsmCond.h:32
AsmCond()=default
ConditionalAssemblyType TheCond
Definition: AsmCond.h:31