1 //===- AsmCond.h - Assembly file conditional assembly ----------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLVM_MC_MCPARSER_ASMCOND_H
11 #define LLVM_MC_MCPARSER_ASMCOND_H
15 /// AsmCond - Class to support conditional assembly
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.
24 enum ConditionalAssemblyType {
25 NoCond, // no conditional is being processed
26 IfCond, // inside if conditional
27 ElseIfCond, // inside elseif conditional
28 ElseCond // inside else conditional
31 ConditionalAssemblyType TheCond;
35 AsmCond() : TheCond(NoCond), CondMet(false), Ignore(false) {}
38 } // end namespace llvm