blob: b828a827c55a2568f4cc1cc2525eb29ca01a7665 [file] [log] [blame]
Anders Waldenborgb932c662013-10-23 08:10:20 +00001/*===-- llvm-c-test.h - tool for testing libLLVM and llvm-c API -----------===*\
2|* *|
Chandler Carruth2946cd72019-01-19 08:50:56 +00003|* 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 *|
Anders Waldenborgb932c662013-10-23 08:10:20 +00007|* *|
8|*===----------------------------------------------------------------------===*|
9|* *|
10|* Header file for llvm-c-test *|
11|* *|
12\*===----------------------------------------------------------------------===*/
13#ifndef LLVM_C_TEST_H
14#define LLVM_C_TEST_H
15
Rafael Espindola125592d2015-12-18 03:57:26 +000016#include <stdbool.h>
Amaury Sechete8ea7d82016-02-04 23:26:19 +000017#include "llvm-c/Core.h"
18
19#ifdef __cplusplus
20extern "C" {
21#endif
Rafael Espindola125592d2015-12-18 03:57:26 +000022
Anders Waldenborgb932c662013-10-23 08:10:20 +000023// helpers.c
Benjamin Kramer9a3bd232016-02-05 13:31:14 +000024void llvm_tokenize_stdin(void (*cb)(char **tokens, int ntokens));
Anders Waldenborgb932c662013-10-23 08:10:20 +000025
26// module.c
Benjamin Kramer9a3bd232016-02-05 13:31:14 +000027LLVMModuleRef 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);
Anders Waldenborgb932c662013-10-23 08:10:20 +000031
32// calc.c
Benjamin Kramer9a3bd232016-02-05 13:31:14 +000033int llvm_calc(void);
Anders Waldenborgb932c662013-10-23 08:10:20 +000034
35// disassemble.c
Benjamin Kramer9a3bd232016-02-05 13:31:14 +000036int llvm_disassemble(void);
Anders Waldenborgb932c662013-10-23 08:10:20 +000037
whitequark789164d2017-11-01 22:18:52 +000038// debuginfo.c
39int llvm_test_dibuilder(void);
40
Bjorn Steinbrinka09ac002015-01-28 16:35:59 +000041// metadata.c
Benjamin Kramer9a3bd232016-02-05 13:31:14 +000042int llvm_add_named_metadata_operand(void);
43int llvm_set_metadata(void);
Bjorn Steinbrinka09ac002015-01-28 16:35:59 +000044
Anders Waldenborgb932c662013-10-23 08:10:20 +000045// object.c
Benjamin Kramer9a3bd232016-02-05 13:31:14 +000046int llvm_object_list_sections(void);
47int llvm_object_list_symbols(void);
Anders Waldenborgb932c662013-10-23 08:10:20 +000048
49// targets.c
Benjamin Kramer9a3bd232016-02-05 13:31:14 +000050int llvm_targets_list(void);
Anders Waldenborgb932c662013-10-23 08:10:20 +000051
Amaury Sechete8ea7d82016-02-04 23:26:19 +000052// echo.c
Benjamin Kramer9a3bd232016-02-05 13:31:14 +000053int llvm_echo(void);
Amaury Sechete8ea7d82016-02-04 23:26:19 +000054
Jeroen Ketemaad659c32016-04-08 09:19:02 +000055// diagnostic.c
56int llvm_test_diagnostic_handler(void);
57
Amaury Sechet003216b2016-11-15 22:19:59 +000058// attributes.c
Vitaly Bukae5969862016-11-16 21:51:39 +000059int llvm_test_function_attributes(void);
60int llvm_test_callsite_attributes(void);
Amaury Sechet003216b2016-11-15 22:19:59 +000061
Amaury Sechete8ea7d82016-02-04 23:26:19 +000062#ifdef __cplusplus
63}
Duncan P. N. Exon Smith91d3cfe2016-04-05 20:45:04 +000064#endif /* !defined(__cplusplus) */
Eugene Zelenko1760dc22016-04-05 20:19:49 +000065
Duncan P. N. Exon Smith91d3cfe2016-04-05 20:45:04 +000066#endif