blob: f2a9e924a74a3e3169b8dcc47d7368edf0dbb9c5 [file] [log] [blame]
Anders Waldenborg2bef1a62013-10-23 08:10:20 +00001/*===-- targets.c - tool for testing libLLVM and llvm-c API ---------------===*\
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 implements the --targets command in llvm-c-test. *|
11|* *|
12\*===----------------------------------------------------------------------===*/
13
14#include "llvm-c/TargetMachine.h"
15#include <stdio.h>
16
Benjamin Kramer2e130532016-02-05 13:31:14 +000017int llvm_targets_list(void) {
NAKAMURA Takumi90fd79a2013-10-23 17:56:37 +000018 LLVMTargetRef t;
Anders Waldenborg2bef1a62013-10-23 08:10:20 +000019 LLVMInitializeAllTargetInfos();
20 LLVMInitializeAllTargets();
21
NAKAMURA Takumi90fd79a2013-10-23 17:56:37 +000022 for (t = LLVMGetFirstTarget(); t; t = LLVMGetNextTarget(t)) {
Anders Waldenborg2bef1a62013-10-23 08:10:20 +000023 printf("%s", LLVMGetTargetName(t));
24 if (LLVMTargetHasJIT(t))
25 printf(" (+jit)");
26 printf("\n - %s\n", LLVMGetTargetDescription(t));
27 }
28
29 return 0;
30}