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