Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:44:11

0001 //===- AsmCond.h - Assembly file conditional assembly  ----------*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 
0009 #ifndef LLVM_MC_MCPARSER_ASMCOND_H
0010 #define LLVM_MC_MCPARSER_ASMCOND_H
0011 
0012 namespace llvm {
0013 
0014 /// AsmCond - Class to support conditional assembly
0015 ///
0016 /// The conditional assembly feature (.if, .else, .elseif and .endif) is
0017 /// implemented with AsmCond that tells us what we are in the middle of
0018 /// processing.  Ignore can be either true or false.  When true we are ignoring
0019 /// the block of code in the middle of a conditional.
0020 
0021 class AsmCond {
0022 public:
0023   enum ConditionalAssemblyType {
0024     NoCond,     // no conditional is being processed
0025     IfCond,     // inside if conditional
0026     ElseIfCond, // inside elseif conditional
0027     ElseCond    // inside else conditional
0028   };
0029 
0030   ConditionalAssemblyType TheCond = NoCond;
0031   bool CondMet = false;
0032   bool Ignore = false;
0033 };
0034 
0035 } // end namespace llvm
0036 
0037 #endif // LLVM_MC_MCPARSER_ASMCOND_H