/*===- 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(__aarch64__)
LLVM_ASM_PARSER(AArch64)
#endif
#if defined(__arm__)
LLVM_ASM_PARSER(ARM)
#endif
#if defined(__i386__) || defined(__x86_64__)
LLVM_ASM_PARSER(X86)
#endif
#if defined(__mips__)
LLVM_ASM_PARSER(Mips)
#endif


#undef LLVM_ASM_PARSER
