Loading...
1// SPDX-License-Identifier: GPL-2.0
2#include "tests.h"
3#include "c++/clang-c.h"
4#include <linux/kernel.h>
5
6static struct {
7 int (*func)(void);
8 const char *desc;
9} clang_testcase_table[] = {
10#ifdef HAVE_LIBCLANGLLVM_SUPPORT
11 {
12 .func = test__clang_to_IR,
13 .desc = "builtin clang compile C source to IR",
14 },
15 {
16 .func = test__clang_to_obj,
17 .desc = "builtin clang compile C source to ELF object",
18 },
19#endif
20};
21
22int test__clang_subtest_get_nr(void)
23{
24 return (int)ARRAY_SIZE(clang_testcase_table);
25}
26
27const char *test__clang_subtest_get_desc(int i)
28{
29 if (i < 0 || i >= (int)ARRAY_SIZE(clang_testcase_table))
30 return NULL;
31 return clang_testcase_table[i].desc;
32}
33
34#ifndef HAVE_LIBCLANGLLVM_SUPPORT
35int test__clang(struct test *test __maybe_unused, int i __maybe_unused)
36{
37 return TEST_SKIP;
38}
39#else
40int test__clang(struct test *test __maybe_unused, int i)
41{
42 if (i < 0 || i >= (int)ARRAY_SIZE(clang_testcase_table))
43 return TEST_FAIL;
44 return clang_testcase_table[i].func();
45}
46#endif
1// SPDX-License-Identifier: GPL-2.0
2#include "tests.h"
3#include "debug.h"
4#include "util.h"
5#include "c++/clang-c.h"
6#include <linux/kernel.h>
7
8static struct {
9 int (*func)(void);
10 const char *desc;
11} clang_testcase_table[] = {
12#ifdef HAVE_LIBCLANGLLVM_SUPPORT
13 {
14 .func = test__clang_to_IR,
15 .desc = "builtin clang compile C source to IR",
16 },
17 {
18 .func = test__clang_to_obj,
19 .desc = "builtin clang compile C source to ELF object",
20 },
21#endif
22};
23
24int test__clang_subtest_get_nr(void)
25{
26 return (int)ARRAY_SIZE(clang_testcase_table);
27}
28
29const char *test__clang_subtest_get_desc(int i)
30{
31 if (i < 0 || i >= (int)ARRAY_SIZE(clang_testcase_table))
32 return NULL;
33 return clang_testcase_table[i].desc;
34}
35
36#ifndef HAVE_LIBCLANGLLVM_SUPPORT
37int test__clang(struct test *test __maybe_unused, int i __maybe_unused)
38{
39 return TEST_SKIP;
40}
41#else
42int test__clang(struct test *test __maybe_unused, int i)
43{
44 if (i < 0 || i >= (int)ARRAY_SIZE(clang_testcase_table))
45 return TEST_FAIL;
46 return clang_testcase_table[i].func();
47}
48#endif