12d2a3ad8SAndrii Nakryiko // SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)
22d2a3ad8SAndrii Nakryiko 
32d2a3ad8SAndrii Nakryiko /*
42d2a3ad8SAndrii Nakryiko  * BTF-to-C dumper test for multi-dimensional array output.
52d2a3ad8SAndrii Nakryiko  *
62d2a3ad8SAndrii Nakryiko  * Copyright (c) 2019 Facebook
72d2a3ad8SAndrii Nakryiko  */
82d2a3ad8SAndrii Nakryiko /* ----- START-EXPECTED-OUTPUT ----- */
92d2a3ad8SAndrii Nakryiko typedef int arr_t[2];
102d2a3ad8SAndrii Nakryiko 
112d2a3ad8SAndrii Nakryiko typedef int multiarr_t[3][4][5];
122d2a3ad8SAndrii Nakryiko 
132d2a3ad8SAndrii Nakryiko typedef int *ptr_arr_t[6];
142d2a3ad8SAndrii Nakryiko 
152d2a3ad8SAndrii Nakryiko typedef int *ptr_multiarr_t[7][8][9][10];
162d2a3ad8SAndrii Nakryiko 
172d2a3ad8SAndrii Nakryiko typedef int * (*fn_ptr_arr_t[11])();
182d2a3ad8SAndrii Nakryiko 
192d2a3ad8SAndrii Nakryiko typedef int * (*fn_ptr_multiarr_t[12][13])();
202d2a3ad8SAndrii Nakryiko 
212d2a3ad8SAndrii Nakryiko struct root_struct {
222d2a3ad8SAndrii Nakryiko 	arr_t _1;
232d2a3ad8SAndrii Nakryiko 	multiarr_t _2;
242d2a3ad8SAndrii Nakryiko 	ptr_arr_t _3;
252d2a3ad8SAndrii Nakryiko 	ptr_multiarr_t _4;
262d2a3ad8SAndrii Nakryiko 	fn_ptr_arr_t _5;
272d2a3ad8SAndrii Nakryiko 	fn_ptr_multiarr_t _6;
282d2a3ad8SAndrii Nakryiko };
292d2a3ad8SAndrii Nakryiko 
302d2a3ad8SAndrii Nakryiko /* ------ END-EXPECTED-OUTPUT ------ */
312d2a3ad8SAndrii Nakryiko 
f(struct root_struct * s)322d2a3ad8SAndrii Nakryiko int f(struct root_struct *s)
332d2a3ad8SAndrii Nakryiko {
342d2a3ad8SAndrii Nakryiko 	return 0;
352d2a3ad8SAndrii Nakryiko }
36