staging: rtl8192u: remove redundant assignment to pointer crypt
[linux/fpc-iii.git] / tools / testing / selftests / bpf / progs / btf_dump_test_case_padding.c
blob3a62119c74986c4405d6026a59c7daf2c09bd982
1 // SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)
3 /*
4 * BTF-to-C dumper tests for implicit and explicit padding between fields and
5 * at the end of a struct.
7 * Copyright (c) 2019 Facebook
8 */
9 /* ----- START-EXPECTED-OUTPUT ----- */
10 struct padded_implicitly {
11 int a;
12 long int b;
13 char c;
16 /* ------ END-EXPECTED-OUTPUT ------ */
18 /* ----- START-EXPECTED-OUTPUT ----- */
20 *struct padded_explicitly {
21 * int a;
22 * int: 32;
23 * int b;
24 *};
27 /* ------ END-EXPECTED-OUTPUT ------ */
29 struct padded_explicitly {
30 int a;
31 int: 1; /* algo will explicitly pad with full 32 bits here */
32 int b;
35 /* ----- START-EXPECTED-OUTPUT ----- */
37 *struct padded_a_lot {
38 * int a;
39 * long: 32;
40 * long: 64;
41 * long: 64;
42 * int b;
43 *};
46 /* ------ END-EXPECTED-OUTPUT ------ */
48 struct padded_a_lot {
49 int a;
50 /* 32 bit of implicit padding here, which algo will make explicit */
51 long: 64;
52 long: 64;
53 int b;
56 /* ----- START-EXPECTED-OUTPUT ----- */
58 *struct padded_cache_line {
59 * int a;
60 * long: 32;
61 * long: 64;
62 * long: 64;
63 * long: 64;
64 * int b;
65 *};
68 /* ------ END-EXPECTED-OUTPUT ------ */
70 struct padded_cache_line {
71 int a;
72 int b __attribute__((aligned(32)));
75 /* ----- START-EXPECTED-OUTPUT ----- */
77 *struct zone_padding {
78 * char x[0];
79 *};
81 *struct zone {
82 * int a;
83 * short b;
84 * short: 16;
85 * struct zone_padding __pad__;
86 *};
89 /* ------ END-EXPECTED-OUTPUT ------ */
91 struct zone_padding {
92 char x[0];
93 } __attribute__((__aligned__(8)));
95 struct zone {
96 int a;
97 short b;
98 short: 16;
99 struct zone_padding __pad__;
102 int f(struct {
103 struct padded_implicitly _1;
104 struct padded_explicitly _2;
105 struct padded_a_lot _3;
106 struct padded_cache_line _4;
107 struct zone _5;
108 } *_)
110 return 0;