1// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)
2
3/*
4 * BTF-to-C dumper test validating no name versioning happens between
5 * independent C namespaces (struct/union/enum vs typedef/enum values).
6 *
7 * Copyright (c) 2019 Facebook
8 */
9/* ----- START-EXPECTED-OUTPUT ----- */
10struct S {
11	int S;
12	int U;
13};
14
15typedef struct S S;
16
17union U {
18	int S;
19	int U;
20};
21
22typedef union U U;
23
24enum E {
25	V = 0,
26};
27
28typedef enum E E;
29
30struct A {};
31
32union B {};
33
34enum C {
35	A = 1,
36	B = 2,
37	C = 3,
38};
39
40struct X {};
41
42union Y {};
43
44enum Z;
45
46typedef int X;
47
48typedef int Y;
49
50typedef int Z;
51
52/*------ END-EXPECTED-OUTPUT ------ */
53
54int f(struct {
55	struct S _1;
56	S _2;
57	union U _3;
58	U _4;
59	enum E _5;
60	E _6;
61	struct A a;
62	union B b;
63	enum C c;
64	struct X x;
65	union Y y;
66	enum Z *z;
67	X xx;
68	Y yy;
69	Z zz;
70} *_)
71{
72	return 0;
73}
74