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
;