Linux Audio

Check our new training course

Loading...
Note: File does not exist in v4.6.
 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