1/*===-- llvm-c-test.h - 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|* Header file for llvm-c-test *|
11|* *|
12\*===----------------------------------------------------------------------===*/
13#ifndef LLVM_C_TEST_H
14#define LLVM_C_TEST_H
15
16#ifndef __cplusplus
17#include <stdbool.h>
18#endif
19
20#include "llvm-c/Core.h"
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26// helpers.c
27void llvm_tokenize_stdin(void (*cb)(char **tokens, int ntokens));
28
29// module.c
30LLVMModuleRef llvm_load_module(LLVMContextRef C, bool Lazy, bool New);
31int llvm_module_dump(bool Lazy, bool New);
32int llvm_module_list_functions(void);
33int llvm_module_list_globals(void);
34
35// calc.c
36int llvm_calc(void);
37
38// disassemble.c
39int llvm_disassemble(void);
40
41// debuginfo.c
42int llvm_test_dibuilder(void);
43int llvm_get_di_tag(void);
44int llvm_di_type_get_name(void);
45
46// metadata.c
47int llvm_add_named_metadata_operand(void);
48int llvm_set_metadata(void);
49int llvm_replace_md_operand(void);
50int llvm_is_a_value_as_metadata(void);
51int llvm_add_globaldebuginfo(void);
52
53// object.c
54int llvm_object_list_sections(void);
55int llvm_object_list_symbols(void);
56
57// targets.c
58int llvm_targets_list(void);
59
60// echo.c
61int llvm_echo(void);
62
63// diagnostic.c
64int llvm_test_diagnostic_handler(void);
65
66// attributes.c
67int llvm_test_function_attributes(void);
68int llvm_test_callsite_attributes(void);
69
70#ifdef __cplusplus
71}
72#endif /* !defined(__cplusplus) */
73
74#endif
75