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