File: | build/gcc/cp/ptree.cc |
Warning: | line 320, column 5 Value stored to 'len' is never read |
Press '?' to see keyboard shortcuts
Keyboard shortcuts:
1 | /* Prints out trees in human readable form. |
2 | Copyright (C) 1992-2023 Free Software Foundation, Inc. |
3 | Hacked by Michael Tiemann (tiemann@cygnus.com) |
4 | |
5 | This file is part of GCC. |
6 | |
7 | GCC is free software; you can redistribute it and/or modify |
8 | it under the terms of the GNU General Public License as published by |
9 | the Free Software Foundation; either version 3, or (at your option) |
10 | any later version. |
11 | |
12 | GCC is distributed in the hope that it will be useful, |
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
15 | GNU General Public License for more details. |
16 | |
17 | You should have received a copy of the GNU General Public License |
18 | along with GCC; see the file COPYING3. If not see |
19 | <http://www.gnu.org/licenses/>. */ |
20 | |
21 | |
22 | #include "config.h" |
23 | #include "system.h" |
24 | #include "coretypes.h" |
25 | #include "cp-tree.h" |
26 | #include "print-tree.h" |
27 | |
28 | void |
29 | cxx_print_decl (FILE *file, tree node, int indent) |
30 | { |
31 | if (TREE_CODE (node)((enum tree_code) (node)->base.code) == FIELD_DECL) |
32 | { |
33 | if (DECL_MUTABLE_P (node)(((contains_struct_check (((tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 33, __FUNCTION__, (FIELD_DECL)))), (TS_DECL_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 33, __FUNCTION__))->decl_common.lang_flag_0))) |
34 | { |
35 | indent_to (file, indent + 3); |
36 | fprintf (file, " mutable "); |
37 | } |
38 | return; |
39 | } |
40 | |
41 | if (!CODE_CONTAINS_STRUCT (TREE_CODE (node), TS_DECL_COMMON)(tree_contains_struct[(((enum tree_code) (node)->base.code ))][(TS_DECL_COMMON)]) |
42 | || !DECL_LANG_SPECIFIC (node)((contains_struct_check ((node), (TS_DECL_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 42, __FUNCTION__))->decl_common.lang_specific)) |
43 | return; |
44 | |
45 | if (TREE_CODE (node)((enum tree_code) (node)->base.code) == FUNCTION_DECL) |
46 | { |
47 | int flags = TFF_DECL_SPECIFIERS(1 << 2)|TFF_RETURN_TYPE(1 << 4) |
48 | |TFF_FUNCTION_DEFAULT_ARGUMENTS(1 << 5)|TFF_EXCEPTION_SPECIFICATION(1 << 6) ; |
49 | indent_to (file, indent + 3); |
50 | fprintf (file, " full-name \"%s\"", decl_as_string (node, flags)); |
51 | } |
52 | else if (TREE_CODE (node)((enum tree_code) (node)->base.code) == TEMPLATE_DECL) |
53 | { |
54 | print_node (file, "result", DECL_TEMPLATE_RESULT (node)((struct tree_template_decl *)(const_cast<union tree_node * > ((((tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 54, __FUNCTION__, (TEMPLATE_DECL))))))))->result, indent + 4); |
55 | print_node (file, "parms", DECL_TEMPLATE_PARMS (node)((struct tree_template_decl *)(const_cast<union tree_node * > ((((tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 55, __FUNCTION__, (TEMPLATE_DECL))))))))->arguments, indent + 4); |
56 | indent_to (file, indent + 3); |
57 | fprintf (file, " full-name \"%s\"", |
58 | decl_as_string (node, TFF_TEMPLATE_HEADER(1 << 7))); |
59 | } |
60 | |
61 | bool need_indent = true; |
62 | |
63 | tree ntnode = STRIP_TEMPLATE (node)(((enum tree_code) (node)->base.code) == TEMPLATE_DECL ? ( (struct tree_template_decl *)(const_cast<union tree_node * > ((((tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 63, __FUNCTION__, (TEMPLATE_DECL))))))))->result : node); |
64 | if (TREE_CODE (ntnode)((enum tree_code) (ntnode)->base.code) == FUNCTION_DECL |
65 | || TREE_CODE (ntnode)((enum tree_code) (ntnode)->base.code) == VAR_DECL |
66 | || TREE_CODE (ntnode)((enum tree_code) (ntnode)->base.code) == TYPE_DECL |
67 | || TREE_CODE (ntnode)((enum tree_code) (ntnode)->base.code) == CONCEPT_DECL |
68 | || TREE_CODE (ntnode)((enum tree_code) (ntnode)->base.code) == NAMESPACE_DECL) |
69 | { |
70 | unsigned m = 0; |
71 | if (DECL_LANG_SPECIFIC (ntnode)((contains_struct_check ((ntnode), (TS_DECL_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 71, __FUNCTION__))->decl_common.lang_specific) && DECL_MODULE_IMPORT_P (ntnode)(((contains_struct_check (((tree_not_check ((ntnode), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 71, __FUNCTION__, (TEMPLATE_DECL)))), (TS_DECL_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 71, __FUNCTION__))->decl_common.lang_specific)->u.base .module_import_p)) |
72 | m = get_importing_module (ntnode, true); |
73 | |
74 | if (const char *name = m == ~0u ? "" : module_name (m, true)) |
75 | { |
76 | if (need_indent) |
77 | indent_to (file, indent + 3); |
78 | fprintf (file, " module %d:%s", m, name); |
79 | need_indent = false; |
80 | } |
81 | |
82 | if (DECL_LANG_SPECIFIC (ntnode)((contains_struct_check ((ntnode), (TS_DECL_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 82, __FUNCTION__))->decl_common.lang_specific)) |
83 | { |
84 | if (DECL_MODULE_PURVIEW_P (ntnode)(((contains_struct_check (((tree_not_check ((ntnode), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 84, __FUNCTION__, (TEMPLATE_DECL)))), (TS_DECL_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 84, __FUNCTION__))->decl_common.lang_specific)->u.base .module_purview_p)) |
85 | { |
86 | if (need_indent) |
87 | indent_to (file, indent + 3); |
88 | fprintf (file, " purview"); |
89 | need_indent = false; |
90 | } |
91 | if (DECL_MODULE_ATTACH_P (ntnode)(((contains_struct_check (((tree_not_check ((ntnode), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 91, __FUNCTION__, (TEMPLATE_DECL)))), (TS_DECL_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 91, __FUNCTION__))->decl_common.lang_specific)->u.base .module_attach_p)) |
92 | { |
93 | if (need_indent) |
94 | indent_to (file, indent + 3); |
95 | fprintf (file, " attached"); |
96 | need_indent = false; |
97 | } |
98 | } |
99 | } |
100 | |
101 | if (DECL_MODULE_EXPORT_P (node)((tree_not_check2 ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 101, __FUNCTION__, (TREE_VEC), (SSA_NAME)))->base.u.bits .lang_flag_3)) |
102 | { |
103 | if (need_indent) |
104 | indent_to (file, indent + 3); |
105 | fprintf (file, " exported"); |
106 | need_indent = false; |
107 | } |
108 | |
109 | if (DECL_EXTERNAL (node)((contains_struct_check ((node), (TS_DECL_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 109, __FUNCTION__))->decl_common.decl_flag_1) && DECL_NOT_REALLY_EXTERN (node)(((contains_struct_check ((node), (TS_DECL_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 109, __FUNCTION__))->decl_common.lang_specific)->u.base .not_really_extern)) |
110 | { |
111 | if (need_indent) |
112 | indent_to (file, indent + 3); |
113 | fprintf (file, " not-really-extern"); |
114 | need_indent = false; |
115 | } |
116 | |
117 | if (TREE_CODE (node)((enum tree_code) (node)->base.code) == FUNCTION_DECL |
118 | && DECL_PENDING_INLINE_INFO (node)(__extension__ ({ struct lang_decl *lt = ((contains_struct_check (((((enum tree_code) (node)->base.code) == TEMPLATE_DECL ? ((struct tree_template_decl *)(const_cast<union tree_node *> ((((tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 118, __FUNCTION__, (TEMPLATE_DECL))))))))->result : node )), (TS_DECL_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 118, __FUNCTION__))->decl_common.lang_specific); if (!(( (enum tree_code) (node)->base.code) == FUNCTION_DECL || (( (enum tree_code) (node)->base.code) == TEMPLATE_DECL && ((struct tree_template_decl *)(const_cast<union tree_node *> ((((tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 118, __FUNCTION__, (TEMPLATE_DECL))))))))->result != (tree ) nullptr && ((enum tree_code) (((struct tree_template_decl *)(const_cast<union tree_node *> ((((tree_check ((node ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 118, __FUNCTION__, (TEMPLATE_DECL))))))))->result)->base .code) == FUNCTION_DECL)) || lt->u.base.selector != lds_fn ) lang_check_failed ("/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 118, __FUNCTION__); <->u.fn; })->u.pending_inline_info )) |
119 | { |
120 | if (need_indent) |
121 | indent_to (file, indent + 3); |
122 | fprintf (file, " pending-inline-info %p", |
123 | (void *) DECL_PENDING_INLINE_INFO (node)(__extension__ ({ struct lang_decl *lt = ((contains_struct_check (((((enum tree_code) (node)->base.code) == TEMPLATE_DECL ? ((struct tree_template_decl *)(const_cast<union tree_node *> ((((tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 123, __FUNCTION__, (TEMPLATE_DECL))))))))->result : node )), (TS_DECL_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 123, __FUNCTION__))->decl_common.lang_specific); if (!(( (enum tree_code) (node)->base.code) == FUNCTION_DECL || (( (enum tree_code) (node)->base.code) == TEMPLATE_DECL && ((struct tree_template_decl *)(const_cast<union tree_node *> ((((tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 123, __FUNCTION__, (TEMPLATE_DECL))))))))->result != (tree ) nullptr && ((enum tree_code) (((struct tree_template_decl *)(const_cast<union tree_node *> ((((tree_check ((node ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 123, __FUNCTION__, (TEMPLATE_DECL))))))))->result)->base .code) == FUNCTION_DECL)) || lt->u.base.selector != lds_fn ) lang_check_failed ("/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 123, __FUNCTION__); <->u.fn; })->u.pending_inline_info )); |
124 | need_indent = false; |
125 | } |
126 | |
127 | if (VAR_OR_FUNCTION_DECL_P (node)(((enum tree_code) (node)->base.code) == VAR_DECL || ((enum tree_code) (node)->base.code) == FUNCTION_DECL) |
128 | && DECL_TEMPLATE_INFO (node)(((contains_struct_check ((template_info_decl_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 128, __FUNCTION__)), (TS_DECL_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 128, __FUNCTION__))->decl_common.lang_specific) ->u.min .template_info)) |
129 | print_node (file, "template-info", DECL_TEMPLATE_INFO (node)(((contains_struct_check ((template_info_decl_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 129, __FUNCTION__)), (TS_DECL_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 129, __FUNCTION__))->decl_common.lang_specific) ->u.min .template_info), |
130 | indent + 4); |
131 | } |
132 | |
133 | void |
134 | cxx_print_type (FILE *file, tree node, int indent) |
135 | { |
136 | switch (TREE_CODE (node)((enum tree_code) (node)->base.code)) |
137 | { |
138 | case BOUND_TEMPLATE_TEMPLATE_PARM: |
139 | print_node (file, "args", TYPE_TI_ARGS (node)(((struct tree_template_info*)(tree_check (((((enum tree_code ) (node)->base.code) == ENUMERAL_TYPE || ((enum tree_code) (node)->base.code) == BOUND_TEMPLATE_TEMPLATE_PARM || ((( enum tree_code) (node)->base.code) == RECORD_TYPE || ((enum tree_code) (node)->base.code) == UNION_TYPE || ((enum tree_code ) (node)->base.code) == QUAL_UNION_TYPE) ? ((tree_class_check ((node), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 139, __FUNCTION__))->type_non_common.lang_1) : (tree) nullptr )), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 139, __FUNCTION__, (TEMPLATE_INFO))))->args), indent + 4); |
140 | gcc_fallthrough (); |
141 | |
142 | case TEMPLATE_TYPE_PARM: |
143 | case TEMPLATE_TEMPLATE_PARM: |
144 | indent_to (file, indent + 3); |
145 | fprintf (file, "index %d level %d orig_level %d", |
146 | TEMPLATE_TYPE_IDX (node)((((template_parm_index*)(tree_check (((((tree_class_check (( (tree_check3 (((node)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 146, __FUNCTION__, (TEMPLATE_TYPE_PARM), (TEMPLATE_TEMPLATE_PARM ), (BOUND_TEMPLATE_TEMPLATE_PARM)))), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 146, __FUNCTION__))->type_non_common.values))), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 146, __FUNCTION__, (TEMPLATE_PARM_INDEX))))->index)), TEMPLATE_TYPE_LEVEL (node)((((template_parm_index*)(tree_check (((((tree_class_check (( (tree_check3 (((node)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 146, __FUNCTION__, (TEMPLATE_TYPE_PARM), (TEMPLATE_TEMPLATE_PARM ), (BOUND_TEMPLATE_TEMPLATE_PARM)))), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 146, __FUNCTION__))->type_non_common.values))), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 146, __FUNCTION__, (TEMPLATE_PARM_INDEX))))->level)), |
147 | TEMPLATE_TYPE_ORIG_LEVEL (node)((((template_parm_index*)(tree_check (((((tree_class_check (( (tree_check3 (((node)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 147, __FUNCTION__, (TEMPLATE_TYPE_PARM), (TEMPLATE_TEMPLATE_PARM ), (BOUND_TEMPLATE_TEMPLATE_PARM)))), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 147, __FUNCTION__))->type_non_common.values))), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 147, __FUNCTION__, (TEMPLATE_PARM_INDEX))))->orig_level) )); |
148 | return; |
149 | |
150 | case FUNCTION_TYPE: |
151 | case METHOD_TYPE: |
152 | if (TYPE_RAISES_EXCEPTIONS (node)((tree_class_check (((tree_check2 ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 152, __FUNCTION__, (FUNCTION_TYPE), (METHOD_TYPE)))), (tcc_type ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 152, __FUNCTION__))->type_non_common.lang_1)) |
153 | print_node (file, "throws", TYPE_RAISES_EXCEPTIONS (node)((tree_class_check (((tree_check2 ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 153, __FUNCTION__, (FUNCTION_TYPE), (METHOD_TYPE)))), (tcc_type ), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 153, __FUNCTION__))->type_non_common.lang_1), indent + 4); |
154 | return; |
155 | |
156 | case RECORD_TYPE: |
157 | case UNION_TYPE: |
158 | break; |
159 | |
160 | case DECLTYPE_TYPE: |
161 | print_node (file, "expr", DECLTYPE_TYPE_EXPR (node)(((tree_class_check (((tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 161, __FUNCTION__, (DECLTYPE_TYPE)))), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 161, __FUNCTION__))->type_non_common.values)), indent + 4); |
162 | return; |
163 | |
164 | case DEPENDENT_OPERATOR_TYPE: |
165 | print_node (file, "saved_lookups", |
166 | DEPENDENT_OPERATOR_TYPE_SAVED_LOOKUPS (node)((tree_class_check (((tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 166, __FUNCTION__, (DEPENDENT_OPERATOR_TYPE)))), (tcc_type) , "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 166, __FUNCTION__))->type_non_common.values), |
167 | indent + 4); |
168 | return; |
169 | |
170 | case TYPENAME_TYPE: |
171 | print_node (file, "fullname", TYPENAME_TYPE_FULLNAME (node)(((tree_class_check (((tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 171, __FUNCTION__, (TYPENAME_TYPE)))), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 171, __FUNCTION__))->type_non_common.values)), |
172 | indent + 4); |
173 | return; |
174 | |
175 | case TYPEOF_TYPE: |
176 | print_node (file, "expr", TYPEOF_TYPE_EXPR (node)(((tree_class_check (((tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 176, __FUNCTION__, (TYPEOF_TYPE)))), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 176, __FUNCTION__))->type_non_common.values)), indent + 4); |
177 | return; |
178 | |
179 | case BASES: |
180 | if (BASES_DIRECT (node)((tree_not_check2 (((tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 180, __FUNCTION__, (BASES)))), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 180, __FUNCTION__, (TREE_VEC), (SSA_NAME)))->base.u.bits .lang_flag_0)) |
181 | fputs (" direct", file); |
182 | print_node (file, "type", BASES_TYPE (node)(((tree_class_check (((tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 182, __FUNCTION__, (BASES)))), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 182, __FUNCTION__))->type_non_common.values)), indent + 4); |
183 | return; |
184 | |
185 | case TYPE_PACK_EXPANSION: |
186 | print_node (file, "pattern", PACK_EXPANSION_PATTERN (node)(((enum tree_code) ((tree_check2 ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 186, __FUNCTION__, (TYPE_PACK_EXPANSION), (EXPR_PACK_EXPANSION ))))->base.code) == TYPE_PACK_EXPANSION ? ((contains_struct_check ((node), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 186, __FUNCTION__))->typed.type) : (*((const_cast<tree *> (tree_operand_check ((node), (0), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 186, __FUNCTION__)))))), indent + 4); |
187 | print_node (file, "args", PACK_EXPANSION_EXTRA_ARGS (node)*(((enum tree_code) ((tree_check2 ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 187, __FUNCTION__, (TYPE_PACK_EXPANSION), (EXPR_PACK_EXPANSION ))))->base.code) == TYPE_PACK_EXPANSION ? &((tree_class_check ((node), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 187, __FUNCTION__))->type_non_common.maxval) : &(*(( const_cast<tree*> (tree_operand_check (((node)), (2), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 187, __FUNCTION__)))))), indent + 4); |
188 | return; |
189 | |
190 | default: |
191 | return; |
192 | } |
193 | |
194 | if (TYPE_PTRMEMFUNC_P (node)(((enum tree_code) (node)->base.code) == RECORD_TYPE && (((tree_class_check (((tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 194, __FUNCTION__, (RECORD_TYPE)))), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 194, __FUNCTION__))->type_common.lang_flag_2)))) |
195 | print_node (file, "ptrmemfunc fn type", TYPE_PTRMEMFUNC_FN_TYPE (node)(cp_build_qualified_type (((contains_struct_check ((((tree_check3 ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 195, __FUNCTION__, (RECORD_TYPE), (UNION_TYPE), (QUAL_UNION_TYPE )))->type_non_common.values)), (TS_TYPED), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 195, __FUNCTION__))->typed.type), cp_type_quals (node))), |
196 | indent + 4); |
197 | |
198 | if (! CLASS_TYPE_P (node)(((((enum tree_code) (node)->base.code)) == RECORD_TYPE || (((enum tree_code) (node)->base.code)) == UNION_TYPE) && ((tree_class_check ((node), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 198, __FUNCTION__))->type_common.lang_flag_5))) |
199 | return; |
200 | |
201 | indent_to (file, indent + 4); |
202 | fprintf (file, "full-name \"%s\"", |
203 | type_as_string (node, TFF_CLASS_KEY_OR_ENUM(1 << 3))); |
204 | |
205 | indent_to (file, indent + 3); |
206 | |
207 | if (TYPE_NEEDS_CONSTRUCTING (node)((tree_class_check ((node), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 207, __FUNCTION__))->type_common.needs_constructing_flag )) |
208 | fputs ( " needs-constructor", file); |
209 | if (TYPE_HAS_NONTRIVIAL_DESTRUCTOR (node)(((tree_class_check ((node), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 209, __FUNCTION__))->type_common.lang_flag_4))) |
210 | fputs (" needs-destructor", file); |
211 | if (TYPE_HAS_DEFAULT_CONSTRUCTOR (node)((((tree_class_check ((node), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 211, __FUNCTION__))->type_with_lang_specific.lang_specific ))->has_default_ctor)) |
212 | fputs (" X()", file); |
213 | if (TYPE_HAS_CONVERSION (node)((((tree_class_check ((node), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 213, __FUNCTION__))->type_with_lang_specific.lang_specific ))->has_type_conversion)) |
214 | fputs (" has-type-conversion", file); |
215 | if (TYPE_HAS_COPY_CTOR (node)((((tree_class_check ((node), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 215, __FUNCTION__))->type_with_lang_specific.lang_specific ))->has_copy_ctor)) |
216 | { |
217 | if (TYPE_HAS_CONST_COPY_CTOR (node)((((tree_class_check ((node), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 217, __FUNCTION__))->type_with_lang_specific.lang_specific ))->has_const_copy_ctor)) |
218 | fputs (" X(constX&)", file); |
219 | else |
220 | fputs (" X(X&)", file); |
221 | } |
222 | if (TYPE_HAS_NEW_OPERATOR (node)((((tree_class_check ((node), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 222, __FUNCTION__))->type_with_lang_specific.lang_specific ))->has_new)) |
223 | fputs (" new", file); |
224 | if (TYPE_HAS_ARRAY_NEW_OPERATOR (node)((((tree_class_check ((node), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 224, __FUNCTION__))->type_with_lang_specific.lang_specific ))->has_array_new)) |
225 | fputs (" new[]", file); |
226 | if (TYPE_GETS_DELETE (node)((((tree_class_check ((node), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 226, __FUNCTION__))->type_with_lang_specific.lang_specific ))->gets_delete) & 1) |
227 | fputs (" delete", file); |
228 | if (TYPE_GETS_DELETE (node)((((tree_class_check ((node), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 228, __FUNCTION__))->type_with_lang_specific.lang_specific ))->gets_delete) & 2) |
229 | fputs (" delete[]", file); |
230 | if (TYPE_HAS_COPY_ASSIGN (node)((((tree_class_check ((node), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 230, __FUNCTION__))->type_with_lang_specific.lang_specific ))->has_copy_assign)) |
231 | fputs (" this=(X&)", file); |
232 | |
233 | if (TREE_CODE (node)((enum tree_code) (node)->base.code) == RECORD_TYPE) |
234 | { |
235 | if (TYPE_BINFO (node)((tree_check3 ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 235, __FUNCTION__, (RECORD_TYPE), (UNION_TYPE), (QUAL_UNION_TYPE )))->type_non_common.maxval)) |
236 | fprintf (file, " n_parents=%d", |
237 | BINFO_N_BASE_BINFOS (TYPE_BINFO (node))((&(tree_check ((((tree_check3 ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 237, __FUNCTION__, (RECORD_TYPE), (UNION_TYPE), (QUAL_UNION_TYPE )))->type_non_common.maxval)), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 237, __FUNCTION__, (TREE_BINFO)))->binfo.base_binfos)-> length ())); |
238 | else |
239 | fprintf (file, " no-binfo"); |
240 | |
241 | fprintf (file, " use_template=%d", CLASSTYPE_USE_TEMPLATE (node)((((tree_class_check ((node), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 241, __FUNCTION__))->type_with_lang_specific.lang_specific ))->use_template)); |
242 | if (CLASSTYPE_INTERFACE_ONLY (node)((((tree_class_check ((node), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 242, __FUNCTION__))->type_with_lang_specific.lang_specific ))->interface_only)) |
243 | fprintf (file, " interface-only"); |
244 | if (CLASSTYPE_INTERFACE_UNKNOWN (node)((((tree_class_check ((node), (tcc_type), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 244, __FUNCTION__))->type_with_lang_specific.lang_specific ))->interface_unknown)) |
245 | fprintf (file, " interface-unknown"); |
246 | } |
247 | } |
248 | |
249 | void |
250 | cxx_print_identifier (FILE *file, tree node, int indent) |
251 | { |
252 | if (indent == 0) |
253 | fprintf (file, " "); |
254 | else |
255 | indent_to (file, indent + 4); |
256 | fprintf (file, "%s local bindings <%p>", get_identifier_kind_name (node), |
257 | (void *) IDENTIFIER_BINDING (node)(((struct lang_identifier*)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 257, __FUNCTION__, (IDENTIFIER_NODE))))->bindings)); |
258 | } |
259 | |
260 | void |
261 | cxx_print_lambda_node (FILE *file, tree node, int indent) |
262 | { |
263 | if (LAMBDA_EXPR_MUTABLE_P (node)((tree_not_check2 (((tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 263, __FUNCTION__, (LAMBDA_EXPR)))), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 263, __FUNCTION__, (TREE_VEC), (SSA_NAME)))->base.u.bits .lang_flag_1)) |
264 | fprintf (file, " /mutable"); |
265 | fprintf (file, " default_capture_mode=["); |
266 | switch (LAMBDA_EXPR_DEFAULT_CAPTURE_MODE (node)(((struct tree_lambda_expr *)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 266, __FUNCTION__, (LAMBDA_EXPR))))->default_capture_mode )) |
267 | { |
268 | case CPLD_NONE: |
269 | fprintf (file, "NONE"); |
270 | break; |
271 | case CPLD_COPY: |
272 | fprintf (file, "COPY"); |
273 | break; |
274 | case CPLD_REFERENCE: |
275 | fprintf (file, "CPLD_REFERENCE"); |
276 | break; |
277 | default: |
278 | fprintf (file, "??"); |
279 | break; |
280 | } |
281 | fprintf (file, "] "); |
282 | print_node (file, "capture_list", LAMBDA_EXPR_CAPTURE_LIST (node)(((struct tree_lambda_expr *)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 282, __FUNCTION__, (LAMBDA_EXPR))))->capture_list), indent + 4); |
283 | print_node (file, "this_capture", LAMBDA_EXPR_THIS_CAPTURE (node)(((struct tree_lambda_expr *)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 283, __FUNCTION__, (LAMBDA_EXPR))))->this_capture), indent + 4); |
284 | } |
285 | |
286 | void |
287 | cxx_print_xnode (FILE *file, tree node, int indent) |
288 | { |
289 | switch (TREE_CODE (node)((enum tree_code) (node)->base.code)) |
290 | { |
291 | case BASELINK: |
292 | print_node (file, "functions", BASELINK_FUNCTIONS (node)(((struct tree_baselink*) (tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 292, __FUNCTION__, (BASELINK))))->functions), indent + 4); |
293 | print_node (file, "binfo", BASELINK_BINFO (node)(((struct tree_baselink*) (tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 293, __FUNCTION__, (BASELINK))))->binfo), indent + 4); |
294 | print_node (file, "access_binfo", BASELINK_ACCESS_BINFO (node)(((struct tree_baselink*) (tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 294, __FUNCTION__, (BASELINK))))->access_binfo), |
295 | indent + 4); |
296 | print_node (file, "optype", BASELINK_OPTYPE (node)(((contains_struct_check (((tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 296, __FUNCTION__, (BASELINK)))), (TS_COMMON), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 296, __FUNCTION__))->common.chain)), indent + 4); |
297 | break; |
298 | case OVERLOAD: |
299 | print_node (file, "function", OVL_FUNCTION (node)(((struct tree_overload*)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 299, __FUNCTION__, (OVERLOAD))))->function), indent + 4); |
300 | print_node (file, "next", OVL_CHAIN (node)(((struct tree_overload*)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 300, __FUNCTION__, (OVERLOAD))))->common.chain), indent + 4); |
301 | break; |
302 | case BINDING_VECTOR: |
303 | { |
304 | unsigned len = BINDING_VECTOR_NUM_CLUSTERS (node)((tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 304, __FUNCTION__, (BINDING_VECTOR)))->base.u.dependence_info .base); |
305 | print_node (file, "name", BINDING_VECTOR_NAME (node)(((tree_binding_vec *)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 305, __FUNCTION__, (BINDING_VECTOR))))->name), indent + 4); |
306 | fprintf (file, " clusters %u, alloc %u", len, |
307 | BINDING_VECTOR_ALLOC_CLUSTERS (node)((tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 307, __FUNCTION__, (BINDING_VECTOR)))->base.u.dependence_info .clique)); |
308 | for (unsigned ix = 0; ix != len; ix++) |
309 | { |
310 | binding_cluster *cluster = &BINDING_VECTOR_CLUSTER (node, ix)(((tree_binding_vec *)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 310, __FUNCTION__, (BINDING_VECTOR))))->vec[ix]); |
311 | char pfx[32]; |
312 | for (unsigned jx = 0; jx != BINDING_VECTOR_SLOTS_PER_CLUSTER2; jx++) |
313 | if (cluster->indices[jx].span) |
314 | { |
315 | int len = sprintf (pfx, "module:%u", |
316 | cluster->indices[jx].base); |
317 | if (cluster->indices[jx].span > 1) |
318 | len += sprintf (&pfx[len], "(+%u)", |
319 | cluster->indices[jx].span); |
320 | len += sprintf (&pfx[len], " cluster:%u/%u", ix, jx); |
Value stored to 'len' is never read | |
321 | binding_slot &slot = cluster->slots[jx]; |
322 | if (slot.is_lazy ()) |
323 | { |
324 | indent_to (file, indent + 4); |
325 | unsigned lazy = slot.get_lazy (); |
326 | fprintf (file, "%s snum:%u", pfx, lazy); |
327 | } |
328 | else if (slot) |
329 | print_node (file, pfx, slot, indent + 4); |
330 | else |
331 | { |
332 | indent_to (file, indent + 4); |
333 | fprintf (file, "%s NULL", pfx); |
334 | } |
335 | } |
336 | } |
337 | } |
338 | break; |
339 | case TEMPLATE_PARM_INDEX: |
340 | print_node (file, "decl", TEMPLATE_PARM_DECL (node)(((template_parm_index*)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 340, __FUNCTION__, (TEMPLATE_PARM_INDEX))))->decl), indent+4); |
341 | indent_to (file, indent + 3); |
342 | fprintf (file, "index %d level %d orig_level %d", |
343 | TEMPLATE_PARM_IDX (node)(((template_parm_index*)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 343, __FUNCTION__, (TEMPLATE_PARM_INDEX))))->index), TEMPLATE_PARM_LEVEL (node)(((template_parm_index*)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 343, __FUNCTION__, (TEMPLATE_PARM_INDEX))))->level), |
344 | TEMPLATE_PARM_ORIG_LEVEL (node)(((template_parm_index*)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 344, __FUNCTION__, (TEMPLATE_PARM_INDEX))))->orig_level)); |
345 | break; |
346 | case TEMPLATE_INFO: |
347 | print_node (file, "template", TI_TEMPLATE (node)((struct tree_template_info*)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 347, __FUNCTION__, (TEMPLATE_INFO))))->tmpl, indent+4); |
348 | print_node (file, "args", TI_ARGS (node)((struct tree_template_info*)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 348, __FUNCTION__, (TEMPLATE_INFO))))->args, indent+4); |
349 | if (TI_PENDING_TEMPLATE_FLAG (node)((tree_not_check2 (((tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 349, __FUNCTION__, (TEMPLATE_INFO)))), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 349, __FUNCTION__, (TREE_VEC), (SSA_NAME)))->base.u.bits .lang_flag_1)) |
350 | { |
351 | indent_to (file, indent + 3); |
352 | fprintf (file, "pending_template"); |
353 | } |
354 | break; |
355 | case CONSTRAINT_INFO: |
356 | { |
357 | tree_constraint_info *cinfo = (tree_constraint_info *)node; |
358 | if (cinfo->template_reqs) |
359 | print_node (file, "template_reqs", cinfo->template_reqs, indent+4); |
360 | if (cinfo->declarator_reqs) |
361 | print_node (file, "declarator_reqs", cinfo->declarator_reqs, |
362 | indent+4); |
363 | print_node (file, "associated_constr", |
364 | cinfo->associated_constr, indent+4); |
365 | break; |
366 | } |
367 | case ARGUMENT_PACK_SELECT: |
368 | print_node (file, "pack", ARGUMENT_PACK_SELECT_FROM_PACK (node)(((struct tree_argument_pack_select *)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 368, __FUNCTION__, (ARGUMENT_PACK_SELECT))))->argument_pack ), |
369 | indent+4); |
370 | indent_to (file, indent + 3); |
371 | fprintf (file, "index %d", ARGUMENT_PACK_SELECT_INDEX (node)(((struct tree_argument_pack_select *)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 371, __FUNCTION__, (ARGUMENT_PACK_SELECT))))->index)); |
372 | break; |
373 | case DEFERRED_NOEXCEPT: |
374 | print_node (file, "pattern", DEFERRED_NOEXCEPT_PATTERN (node)(((struct tree_deferred_noexcept *)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 374, __FUNCTION__, (DEFERRED_NOEXCEPT))))->pattern), indent+4); |
375 | print_node (file, "args", DEFERRED_NOEXCEPT_ARGS (node)(((struct tree_deferred_noexcept *)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 375, __FUNCTION__, (DEFERRED_NOEXCEPT))))->args), indent+4); |
376 | break; |
377 | case TRAIT_EXPR: |
378 | indent_to (file, indent+4); |
379 | fprintf (file, "kind %d", TRAIT_EXPR_KIND (node)(((struct tree_trait_expr *)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 379, __FUNCTION__, (TRAIT_EXPR))))->kind)); |
380 | print_node (file, "type 1", TRAIT_EXPR_TYPE1 (node)(((struct tree_trait_expr *)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 380, __FUNCTION__, (TRAIT_EXPR))))->type1), indent+4); |
381 | if (TRAIT_EXPR_TYPE2 (node)(((struct tree_trait_expr *)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 381, __FUNCTION__, (TRAIT_EXPR))))->type2)) |
382 | print_node (file, "type 2", TRAIT_EXPR_TYPE2 (node)(((struct tree_trait_expr *)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 382, __FUNCTION__, (TRAIT_EXPR))))->type2), indent+4); |
383 | break; |
384 | case LAMBDA_EXPR: |
385 | cxx_print_lambda_node (file, node, indent); |
386 | break; |
387 | case STATIC_ASSERT: |
388 | if (location_t loc = STATIC_ASSERT_SOURCE_LOCATION (node)(((struct tree_static_assert *)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 388, __FUNCTION__, (STATIC_ASSERT))))->location)) |
389 | { |
390 | expanded_location xloc = expand_location (loc); |
391 | indent_to (file, indent+4); |
392 | fprintf (file, "%s:%d:%d", xloc.file, xloc.line, xloc.column); |
393 | } |
394 | print_node (file, "condition", STATIC_ASSERT_CONDITION (node)(((struct tree_static_assert *)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 394, __FUNCTION__, (STATIC_ASSERT))))->condition), indent+4); |
395 | if (tree message = STATIC_ASSERT_MESSAGE (node)(((struct tree_static_assert *)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 395, __FUNCTION__, (STATIC_ASSERT))))->message)) |
396 | print_node (file, "message", message, indent+4); |
397 | break; |
398 | case PTRMEM_CST: |
399 | print_node (file, "member", PTRMEM_CST_MEMBER (node)(((ptrmem_cst_t)(tree_check ((node), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 399, __FUNCTION__, (PTRMEM_CST))))->member), indent+4); |
400 | break; |
401 | default: |
402 | break; |
403 | } |
404 | } |
405 | |
406 | /* Print the node NODE on standard error, for debugging. */ |
407 | |
408 | DEBUG_FUNCTION__attribute__ ((__used__)) void |
409 | debug_tree (cp_expr node) |
410 | { |
411 | debug_tree (node.get_value()); |
412 | } |
413 | |
414 | DEBUG_FUNCTION__attribute__ ((__used__)) void |
415 | debug_overload (tree node) |
416 | { |
417 | FILE *file = stdoutstdout; |
418 | |
419 | for (lkp_iterator iter (node); iter; ++iter) |
420 | { |
421 | tree decl = *iter; |
422 | auto xloc = expand_location (DECL_SOURCE_LOCATION (decl)((contains_struct_check ((decl), (TS_DECL_MINIMAL), "/buildworker/marxinbox-gcc-clang-static-analyzer/build/gcc/cp/ptree.cc" , 422, __FUNCTION__))->decl_minimal.locus)); |
423 | auto fullname = decl_as_string (decl, 0); |
424 | bool using_p = iter.using_p (); |
425 | bool hidden_p = iter.hidden_p (); |
426 | |
427 | fprintf (file, "%p:%c%c %s:%d:%d \"%s\"\n", (void *)decl, |
428 | hidden_p ? 'H' : '-', |
429 | using_p ? 'U' : '-', |
430 | xloc.file, xloc.line, xloc.column, fullname); |
431 | } |
432 | } |