1//===- llvm/Config/AsmParsers.def - LLVM Assembly Parsers -------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// This file enumerates all of the assembly-language parsers 11// supported by this build of LLVM. Clients of this file should define 12// the LLVM_ASM_PARSER macro to be a function-like macro with a 13// single parameter (the name of the target whose assembly can be 14// generated); including this file will then enumerate all of the 15// targets with assembly parsers. 16// 17// The set of targets supported by LLVM is generated at configuration 18// time, at which point this header is generated. Do not modify this 19// header directly. 20// 21//===----------------------------------------------------------------------===// 22 23#ifndef LLVM_ASM_PARSER 24# error Please define the macro LLVM_ASM_PARSER(TargetName) 25#endif 26 27#if defined(__arm__) 28 LLVM_ASM_PARSER(ARM) 29 LLVM_ASM_PARSER(AArch64) 30#elif defined(__mips__) 31 LLVM_ASM_PARSER(Mips) 32#elif defined(__i386__) || defined(__x86_64__) 33 LLVM_ASM_PARSER(X86) 34 35#if defined(FORCE_BUILD_ARM) 36 LLVM_ASM_PARSER(ARM) 37 LLVM_ASM_PARSER(AArch64) 38#endif 39 40#elif defined(__aarch64__) 41 LLVM_ASM_PARSER(ARM) 42 LLVM_ASM_PARSER(AArch64) 43#else 44# error Unsupported TARGET_ARCH for LLVM_ASM_PARSER 45#endif 46 47#undef LLVM_ASM_PARSER 48