blob: cf9a0f99de64e1e57e4aa9eb85e1984e38c5bf80 [file] [log] [blame]
Anders Waldenborg2bef1a62013-10-23 08:10:20 +00001/*===-- llvm-c-test.h - tool for testing libLLVM and llvm-c API -----------===*\
2|* *|
3|* The LLVM Compiler Infrastructure *|
4|* *|
5|* This file is distributed under the University of Illinois Open Source *|
6|* License. See LICENSE.TXT for details. *|
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
Rafael Espindola0b270d12015-12-18 03:57:26 +000016#include <stdbool.h>
Amaury Sechet88242802016-02-04 23:26:19 +000017#include "llvm-c/Core.h"
18
19#ifdef __cplusplus
20extern "C" {
21#endif
Rafael Espindola0b270d12015-12-18 03:57:26 +000022
Anders Waldenborg2bef1a62013-10-23 08:10:20 +000023// helpers.c
Benjamin Kramer2e130532016-02-05 13:31:14 +000024void llvm_tokenize_stdin(void (*cb)(char **tokens, int ntokens));
Anders Waldenborg2bef1a62013-10-23 08:10:20 +000025
26// module.c
Benjamin Kramer2e130532016-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 Waldenborg2bef1a62013-10-23 08:10:20 +000031
32// calc.c
Benjamin Kramer2e130532016-02-05 13:31:14 +000033int llvm_calc(void);
Anders Waldenborg2bef1a62013-10-23 08:10:20 +000034
35// disassemble.c
Benjamin Kramer2e130532016-02-05 13:31:14 +000036int llvm_disassemble(void);
Anders Waldenborg2bef1a62013-10-23 08:10:20 +000037
whitequark8b4e8332017-11-01 22:18:52 +000038// debuginfo.c
39int llvm_test_dibuilder(void);
40
Bjorn Steinbrink920382c2015-01-28 16:35:59 +000041// metadata.c
Benjamin Kramer2e130532016-02-05 13:31:14 +000042int llvm_add_named_metadata_operand(void);
43int llvm_set_metadata(void);
Bjorn Steinbrink920382c2015-01-28 16:35:59 +000044
Anders Waldenborg2bef1a62013-10-23 08:10:20 +000045// object.c
Benjamin Kramer2e130532016-02-05 13:31:14 +000046int llvm_object_list_sections(void);
47int llvm_object_list_symbols(void);
Anders Waldenborg2bef1a62013-10-23 08:10:20 +000048
49// targets.c
Benjamin Kramer2e130532016-02-05 13:31:14 +000050int llvm_targets_list(void);
Anders Waldenborg2bef1a62013-10-23 08:10:20 +000051
Amaury Sechet88242802016-02-04 23:26:19 +000052// echo.c
Benjamin Kramer2e130532016-02-05 13:31:14 +000053int llvm_echo(void);
Amaury Sechet88242802016-02-04 23:26:19 +000054
Jeroen Ketema9640ae72016-04-08 09:19:02 +000055// diagnostic.c
56int llvm_test_diagnostic_handler(void);
57
Amaury Sechetb451ba82016-11-15 22:19:59 +000058// attributes.c
Vitaly Buka9991c322016-11-16 21:51:39 +000059int llvm_test_function_attributes(void);
60int llvm_test_callsite_attributes(void);
Amaury Sechetb451ba82016-11-15 22:19:59 +000061
Amaury Sechet88242802016-02-04 23:26:19 +000062#ifdef __cplusplus
63}
Duncan P. N. Exon Smith2707ee32016-04-05 20:45:04 +000064#endif /* !defined(__cplusplus) */
Eugene Zelenko9a7a3bc2016-04-05 20:19:49 +000065
Duncan P. N. Exon Smith2707ee32016-04-05 20:45:04 +000066#endif