1//===- llvm/CodeGen/DIEValue.def - DIEValue types ---------------*- 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// 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) 37HANDLE_DIEVALUE_LARGE(BaseTypeRef) 38HANDLE_DIEVALUE_LARGE(Delta) 39HANDLE_DIEVALUE_SMALL(Entry) 40HANDLE_DIEVALUE_LARGE(Block) 41HANDLE_DIEVALUE_LARGE(Loc) 42HANDLE_DIEVALUE_SMALL(LocList) 43HANDLE_DIEVALUE_LARGE(InlineString) 44HANDLE_DIEVALUE_LARGE(AddrOffset) 45 46#undef HANDLE_DIEVALUE 47#undef HANDLE_DIEVALUE_SMALL 48#undef HANDLE_DIEVALUE_LARGE 49