1 | // SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) |
2 | |
3 | /* |
4 | * BTF-to-C dumper test for topological sorting of dependent structs. |
5 | * |
6 | * Copyright (c) 2019 Facebook |
7 | */ |
8 | /* ----- START-EXPECTED-OUTPUT ----- */ |
9 | struct s1 {}; |
10 | |
11 | struct s3; |
12 | |
13 | struct s4; |
14 | |
15 | struct s2 { |
16 | struct s2 *s2; |
17 | struct s3 *s3; |
18 | struct s4 *s4; |
19 | }; |
20 | |
21 | struct s3 { |
22 | struct s1 s1; |
23 | struct s2 s2; |
24 | }; |
25 | |
26 | struct s4 { |
27 | struct s1 s1; |
28 | struct s3 s3; |
29 | }; |
30 | |
31 | struct list_head { |
32 | struct list_head *next; |
33 | struct list_head *prev; |
34 | }; |
35 | |
36 | struct hlist_node { |
37 | struct hlist_node *next; |
38 | struct hlist_node **pprev; |
39 | }; |
40 | |
41 | struct hlist_head { |
42 | struct hlist_node *first; |
43 | }; |
44 | |
45 | struct callback_head { |
46 | struct callback_head *next; |
47 | void (*func)(struct callback_head *); |
48 | }; |
49 | |
50 | struct root_struct { |
51 | struct s4 s4; |
52 | struct list_head l; |
53 | struct hlist_node n; |
54 | struct hlist_head h; |
55 | struct callback_head cb; |
56 | }; |
57 | |
58 | /*------ END-EXPECTED-OUTPUT ------ */ |
59 | |
60 | int f(struct root_struct *root) |
61 | { |
62 | return 0; |
63 | } |
64 | |