blob: e6d86b61a0f8d29c61c5a830ad0d448a15c38802 (
plain)
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
|
#ifndef _FORMAT_MANGLING_ITANIUM_ABI2_H
#define _FORMAT_MANGLING_ITANIUM_ABI2_H
#include "component.h"
/* Composant extrait de l'encodage */
struct _itanium_component
{
ItaniumComponentType type; /* Type de composant */
GItaniumDContext *context; /* Regroupement de composants */
unsigned int refcount; /* Compteur de références */
fnv64_t hash; /* Empreinte en cache */
union
{
/* ICT_NAME */
struct
{
const char *str;
size_t len;
} s_name;
/* ICT_OPERATOR_NAME */
struct
{
ItaniumOperatorType otype; /* Sélection dans l'union */
union
{
itanium_operator_info info; /* Opérateur simple */
};
} operator;
/* ICT_NON_VIRTUAL_OFFSET */
/* ICT_VIRTUAL_OFFSET */
ssize_t offset; /* Décallage de fonction */
/* ICT_TYPE */
GDataType *dtype; /* Type instancié */
/* ICT_* */
struct
{
itanium_component *left; /* Elément premier */
itanium_component *right; /* Elément second */
} binary;
/* ICT_* */
struct
{
itanium_component *first; /* Elément premier */
itanium_component *second; /* Elément second */
itanium_component *third; /* Elément troisième */
} ternary;
/* ICT_* */
itanium_component *unary; /* Sous-élément */
};
};
#endif /* _FORMAT_MANGLING_ITANIUM_ABI2_H */
|