blob: 82acbf8af2adcbce794b605fbfa2b0f36d095ad5 [file] [log] [blame]
/*===- llvm/Config/Targets.def - LLVM Target Architectures ------*- 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 target architectures supported by *|
|* this build of LLVM. Clients of this file should define the *|
|* LLVM_TARGET macro to be a function-like macro with a single *|
|* parameter (the name of the target); including this file will then *|
|* enumerate all of the targets. *|
|* *|
|* 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_TARGET
# error Please define the macro LLVM_TARGET(TargetName)
#endif
#if defined(__arm__)
LLVM_TARGET(ARM)
#elif defined(__mips__)
LLVM_TARGET(Mips)
#elif defined(__i386__) || defined(__x86_64__)
LLVM_TARGET(X86)
#if defined(FORCE_BUILD_ARM)
LLVM_TARGET(ARM)
LLVM_TARGET(AArch64)
#endif
#elif defined(__aarch64__)
LLVM_TARGET(ARM)
LLVM_TARGET(AArch64)
#else
# error Unsupported TARGET_ARCH for LLVM_TARGET
#endif
#undef LLVM_TARGET