| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- //===- AsmCond.h - Assembly file conditional assembly ----------*- C++ -*-===//
- //
- // The LLVM Compiler Infrastructure
- //
- // This file is distributed under the University of Illinois Open Source
- // License. See LICENSE.TXT for details.
- //
- //===----------------------------------------------------------------------===//
- #ifndef LLVM_MC_MCPARSER_ASMCOND_H
- #define LLVM_MC_MCPARSER_ASMCOND_H
- namespace llvm {
- /// AsmCond - Class to support conditional assembly
- ///
- /// The conditional assembly feature (.if, .else, .elseif and .endif) is
- /// implemented with AsmCond that tells us what we are in the middle of
- /// processing. Ignore can be either true or false. When true we are ignoring
- /// the block of code in the middle of a conditional.
- class AsmCond {
- public:
- enum ConditionalAssemblyType {
- NoCond, // no conditional is being processed
- IfCond, // inside if conditional
- ElseIfCond, // inside elseif conditional
- ElseCond // inside else conditional
- };
- ConditionalAssemblyType TheCond;
- bool CondMet;
- bool Ignore;
- AsmCond() : TheCond(NoCond), CondMet(false), Ignore(false) {}
- };
- } // end namespace llvm
- #endif
|