blob: a0cdc199607f1f2d1197961230f705557b91497e [file] [log] [blame]
//===- llvm/Config/AsmParsers.def - LLVM Assembly Parsers -------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file enumerates all of the assembly-language parsers
// supported by this build of LLVM. Clients of this file should define
// the LLVM_ASM_PARSER macro to be a function-like macro with a
// single parameter (the name of the target whose assembly can be
// generated); including this file will then enumerate all of the
// targets with assembly parsers.
//
// The set of targets supported by LLVM is generated at configuration
// time, at which point this header is generated. Do not modify this
// header directly.
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_ASM_PARSER
# error Please define the macro LLVM_ASM_PARSER(TargetName)
#endif
#if defined(__arm__)
LLVM_ASM_PARSER(ARM)
#elif defined(__mips__)
LLVM_ASM_PARSER(Mips)
#elif defined(__i386__) || defined(__x86_64__)
LLVM_ASM_PARSER(X86)
#if defined(FORCE_BUILD_ARM)
LLVM_ASM_PARSER(ARM)
#endif
#elif defined(__aarch64__)
LLVM_ASM_PARSER(ARM)
LLVM_ASM_PARSER(AArch64)
#else
# error Unsupported TARGET_ARCH for LLVM_ASM_PARSER
#endif
#undef LLVM_ASM_PARSER