@@ -9,6 +9,22 @@ void field_type_TYPE_SIZE_UNIT_value(tree t)
9
9
fprintf ( code_outputfile ,PREFIX "\tTYPE_SIZE_UNIT_val(%ld),\n" ,tree_low_cst (TYPE_SIZE_UNIT (t ),1 ));
10
10
}
11
11
}
12
+
13
+ void field_type_TYPE_NAME (tree t )
14
+ {
15
+ ENTER ; if (TYPE_NAME (t )) {
16
+
17
+ if (TREE_CODE (TYPE_NAME (t )) == IDENTIFIER_NODE )
18
+ {
19
+ fprintf ( code_outputfile ,PREFIX "TYPE_NAME(\"%s\"),\n" ,IDENTIFIER_POINTER (TYPE_NAME (t )));
20
+ }
21
+ else if (TREE_CODE (TYPE_NAME (t )) == TYPE_DECL
22
+ && DECL_NAME (TYPE_NAME (t )))
23
+ {
24
+ fprintf ( code_outputfile ,PREFIX "TYPE_NAME(DECL_NAME(\"%s\")),\n" ,IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (t ))));
25
+ }
26
+ }
27
+ }
12
28
void field_type_TYPE_UNSIGNED (tree t )
13
29
{
14
30
ENTER ; if (TYPE_UNSIGNED (t )) {
@@ -29,6 +45,16 @@ void field_type_EXPR_P(tree t)
29
45
fprintf ( code_outputfile ,PREFIX "\tEXPR_P(%d),\n" ,EXPR_P (t ));
30
46
}
31
47
}
48
+ void field_type_TYPE_MAIN_VARIANT (tree t )
49
+ {
50
+ ENTER ; if (TYPE_MAIN_VARIANT (t )) {
51
+ // fprintf( code_outputfile,PREFIX "TYPE_MAIN_VARIANT\n");
52
+ fprintf ( code_outputfile ,PREFIX "TYPE_MAIN_VARIANT(\n" );
53
+ // field_type(TYPE_MAIN_VARIANT(t));
54
+ field_type_TYPE_NAME (TYPE_MAIN_VARIANT (t ));
55
+ fprintf ( code_outputfile ,PREFIX "),\n" );
56
+ }
57
+ }
32
58
33
59
void field_type_TREE_CONSTANT (tree t )
34
60
{
@@ -1714,27 +1740,15 @@ void field_type_TYPE_SYMTAB_DIE(tree t)
1714
1740
//struct die_struct *
1715
1741
}
1716
1742
}
1717
- void field_type_TYPE_NAME (tree t )
1718
- {
1719
- ENTER ; if (TYPE_NAME (t )) {
1720
- fprintf ( code_outputfile ,PREFIX "TYPE_NAME\n" );
1721
- fprintf ( code_outputfile ,PREFIX "TYPE_NAME %p\n" ,TYPE_NAME (t ));
1722
- }
1723
- }
1743
+
1724
1744
void field_type_TYPE_NEXT_VARIANT (tree t )
1725
1745
{
1726
1746
ENTER ; if (TYPE_NEXT_VARIANT (t )) {
1727
1747
fprintf ( code_outputfile ,PREFIX "TYPE_NEXT_VARIANT\n" );
1728
1748
fprintf ( code_outputfile ,PREFIX "TYPE_NEXT_VARIANT %p\n" ,TYPE_NEXT_VARIANT (t ));
1729
1749
}
1730
1750
}
1731
- void field_type_TYPE_MAIN_VARIANT (tree t )
1732
- {
1733
- ENTER ; if (TYPE_MAIN_VARIANT (t )) {
1734
- fprintf ( code_outputfile ,PREFIX "TYPE_MAIN_VARIANT\n" );
1735
- fprintf ( code_outputfile ,PREFIX "TYPE_MAIN_VARIANT %p\n" ,TYPE_MAIN_VARIANT (t ));
1736
- }
1737
- }
1751
+
1738
1752
void field_type_TYPE_CONTEXT (tree t )
1739
1753
{
1740
1754
ENTER ; if (TYPE_CONTEXT (t )) {
@@ -3030,12 +3044,16 @@ void field_type_MAIN_NAME_P(tree t)
3030
3044
void field_type (tree t )
3031
3045
{
3032
3046
fprintf ( code_outputfile , "declare_field_type(tree_code(%d,\"%s\"),\n" , TREE_CODE (t ),tree_code_name [TREE_CODE (t )]);
3033
- field_type_TREE_CODE (t );
3047
+ field_type_TYPE_NAME (t );
3048
+
3049
+ // field_type_TYPE_MAIN_VARIANT(t);
3050
+ // tree type = TYPE_MAIN_VARIANT(orig_type);
3034
3051
// field_type_TYPE_SIZE_UNIT(t);
3035
3052
field_type_TYPE_SIZE_UNIT_value (t );
3036
3053
field_type_TYPE_PRECISION (t );
3037
3054
field_type_TYPE_UNSIGNED (t );
3038
3055
field_type_TREE_CONSTANT (t );
3056
+ field_type_TREE_CODE (t );
3039
3057
fprintf ( code_outputfile ,"0),/*ft*/\n" );// field_type
3040
3058
3041
3059
return ;
@@ -3419,7 +3437,7 @@ void field_type(tree t)
3419
3437
field_type_TYPE_LANG_FLAG_6 (t );
3420
3438
field_type_TYPE_LANG_SLOT_1 (t );
3421
3439
field_type_TYPE_LANG_SPECIFIC (t );
3422
- field_type_TYPE_MAIN_VARIANT ( t );
3440
+
3423
3441
field_type_TYPE_MAXVAL (t );
3424
3442
field_type_TYPE_MAX_VALUE (t );
3425
3443
field_type_TYPE_METHODS (t );
0 commit comments