blob: 92afeb3868b436a3914263621f1fff984145c384 [file] [log] [blame]
Andrew Scull5e1ddfa2018-08-14 10:06:54 +01001//===- llvm/CodeGen/DIEValue.def - DIEValue types ---------------*- C++ -*-===//
2//
Andrew Walbran16937d02019-10-22 13:54:20 +01003// 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
Andrew Scull5e1ddfa2018-08-14 10:06:54 +01006//
7//===----------------------------------------------------------------------===//
8//
9// Macros for running through all types of DIEValue.
10//
11//===----------------------------------------------------------------------===//
12
13#if !(defined HANDLE_DIEVALUE || defined HANDLE_DIEVALUE_SMALL || \
14 defined HANDLE_DIEVALUE_LARGE)
15#error "Missing macro definition of HANDLE_DIEVALUE"
16#endif
17
18// Handler for all values.
19#ifndef HANDLE_DIEVALUE
20#define HANDLE_DIEVALUE(T)
21#endif
22
23// Handler for small values.
24#ifndef HANDLE_DIEVALUE_SMALL
25#define HANDLE_DIEVALUE_SMALL(T) HANDLE_DIEVALUE(T)
26#endif
27
28// Handler for large values.
29#ifndef HANDLE_DIEVALUE_LARGE
30#define HANDLE_DIEVALUE_LARGE(T) HANDLE_DIEVALUE(T)
31#endif
32
33HANDLE_DIEVALUE_SMALL(Integer)
34HANDLE_DIEVALUE_SMALL(String)
35HANDLE_DIEVALUE_SMALL(Expr)
36HANDLE_DIEVALUE_SMALL(Label)
Andrew Walbran3d2c1972020-04-07 12:24:26 +010037HANDLE_DIEVALUE_LARGE(BaseTypeRef)
Andrew Scull5e1ddfa2018-08-14 10:06:54 +010038HANDLE_DIEVALUE_LARGE(Delta)
39HANDLE_DIEVALUE_SMALL(Entry)
40HANDLE_DIEVALUE_LARGE(Block)
41HANDLE_DIEVALUE_LARGE(Loc)
42HANDLE_DIEVALUE_SMALL(LocList)
43HANDLE_DIEVALUE_LARGE(InlineString)
44
45#undef HANDLE_DIEVALUE
46#undef HANDLE_DIEVALUE_SMALL
47#undef HANDLE_DIEVALUE_LARGE