1 | /*===-- targets.c - tool for testing libLLVM and llvm-c API ---------------===*\ |
---|---|
2 | |* *| |
3 | |* Part of the LLVM Project, under the Apache License v2.0 with LLVM *| |
4 | |* Exceptions. *| |
5 | |* See https://llvm.org/LICENSE.txt for license information. *| |
6 | |* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *| |
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 | |
17 | int llvm_targets_list(void) { |
18 | LLVMTargetRef t; |
19 | LLVMInitializeAllTargetInfos(); |
20 | LLVMInitializeAllTargets(); |
21 | |
22 | for (t = LLVMGetFirstTarget(); t; t = LLVMGetNextTarget(T: t)) { |
23 | printf(format: "%s", LLVMGetTargetName(T: t)); |
24 | if (LLVMTargetHasJIT(T: t)) |
25 | printf(format: " (+jit)"); |
26 | printf(format: "\n - %s\n", LLVMGetTargetDescription(T: t)); |
27 | } |
28 | |
29 | return 0; |
30 | } |
31 |