10 struct type_descriptor {
16 struct source_location {
17 const char *file_name;
19 unsigned long reported;
27 struct overflow_data {
28 struct source_location location;
29 struct type_descriptor *type;
32 struct type_mismatch_data {
33 struct source_location location;
34 struct type_descriptor *type;
35 unsigned long alignment;
36 unsigned char type_check_kind;
39 struct type_mismatch_data_v1 {
40 struct source_location location;
41 struct type_descriptor *type;
42 unsigned char log_alignment;
43 unsigned char type_check_kind;
46 struct type_mismatch_data_common {
47 struct source_location *location;
48 struct type_descriptor *type;
49 unsigned long alignment;
50 unsigned char type_check_kind;
53 struct nonnull_arg_data {
54 struct source_location location;
55 struct source_location attr_location;
59 struct nonnull_return_data {
60 struct source_location location;
61 struct source_location attr_location;
64 struct vla_bound_data {
65 struct source_location location;
66 struct type_descriptor *type;
69 struct out_of_bounds_data {
70 struct source_location location;
71 struct type_descriptor *array_type;
72 struct type_descriptor *index_type;
75 struct shift_out_of_bounds_data {
76 struct source_location location;
77 struct type_descriptor *lhs_type;
78 struct type_descriptor *rhs_type;
81 struct unreachable_data {
82 struct source_location location;
85 struct invalid_value_data {
86 struct source_location location;
87 struct type_descriptor *type;
90 #if defined(CONFIG_ARCH_SUPPORTS_INT128) && defined(__SIZEOF_INT128__)
91 typedef __int128 s_max;
92 typedef unsigned __int128 u_max;