-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathubsan.h
89 lines (73 loc) · 1.58 KB
/
ubsan.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <stdint.h>
typedef struct {
const char *fileName;
uint32_t line;
uint32_t column;
} SourceLocation;
typedef struct {
uint16_t kind;
uint16_t info;
char name[1];
} TypeDescriptor;
typedef struct {
SourceLocation location;
TypeDescriptor *type;
} InvalidValueData;
typedef struct {
SourceLocation location;
SourceLocation attributeLocation;
int argidx;
} NonnullArgData;
typedef struct {
SourceLocation attributeLocation;
} NonnullReturnData;
typedef struct {
SourceLocation location;
TypeDescriptor *type;
} OverflowData;
typedef struct {
SourceLocation location;
TypeDescriptor *type;
} VLABoundData;
typedef struct {
SourceLocation location;
TypeDescriptor *leftType;
TypeDescriptor *rightType;
} ShiftOutOfBoundsData;
typedef struct {
SourceLocation location;
TypeDescriptor *arrayType;
TypeDescriptor *indexType;
} OutOfBoundsData;
typedef struct {
SourceLocation location;
TypeDescriptor *type;
uint8_t logAlignment;
uint8_t typeCheckKind;
} TypeMismatchData;
typedef struct {
SourceLocation location;
SourceLocation assumptionLocation;
TypeDescriptor *type;
} AlignmentAssumptionData;
typedef struct {
SourceLocation location;
} UnreachableData;
typedef struct {
SourceLocation location;
TypeDescriptor *fromType;
TypeDescriptor *toType;
unsigned char kind;
} ImplicitConversionData;
typedef struct {
SourceLocation location;
unsigned char kind;
} InvalidBuiltinData;
typedef struct {
SourceLocation location;
} PointerOverflowData;
typedef struct {
SourceLocation location;
TypeDescriptor *fromType;
TypeDescriptor *toType;
} FloatCastOverflowData;