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
17int 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

source code of llvm/tools/llvm-c-test/targets.c