1 //===- AsmCond.h - Assembly file conditional assembly ----------*- C++ -*-===//
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
7 //===----------------------------------------------------------------------===//
9 #ifndef LLVM_MC_MCPARSER_ASMCOND_H
10 #define LLVM_MC_MCPARSER_ASMCOND_H
14 /// AsmCond - Class to support conditional assembly
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.
23 enum ConditionalAssemblyType
{
24 NoCond
, // no conditional is being processed
25 IfCond
, // inside if conditional
26 ElseIfCond
, // inside elseif conditional
27 ElseCond
// inside else conditional
30 ConditionalAssemblyType TheCond
= NoCond
;
37 } // end namespace llvm
39 #endif // LLVM_MC_MCPARSER_ASMCOND_H