Coverage Report

Created: 2019-02-20 07:29

/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/llvm/include/llvm/MC/MCParser/AsmCond.h
Line
Count
Source
1
//===- AsmCond.h - Assembly file conditional assembly  ----------*- C++ -*-===//
2
//
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
6
//
7
//===----------------------------------------------------------------------===//
8
9
#ifndef LLVM_MC_MCPARSER_ASMCOND_H
10
#define LLVM_MC_MCPARSER_ASMCOND_H
11
12
namespace llvm {
13
14
/// AsmCond - Class to support conditional assembly
15
///
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.
20
21
class AsmCond {
22
public:
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
28
  };
29
30
  ConditionalAssemblyType TheCond = NoCond;
31
  bool CondMet = false;
32
  bool Ignore = false;
33
34
15.8k
  AsmCond() = default;
35
};
36
37
} // end namespace llvm
38
39
#endif // LLVM_MC_MCPARSER_ASMCOND_H