gcc-8.3/gcc/print_call_name()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#dbeca042]
#backlinks
*説明 [#k8660e42]
-パス: [[gcc-8.3/gcc/tree-pretty-print.c]]
-FIXME: これは何?
--説明
**引数 [#e4df1d5e]
-pretty_printer *pp
--
--[[gcc-8.3/gcc/pretty_printer]]
-tree node
--
--[[gcc-8.3/gcc/tree]]
-dump_flags_t flags
--
--[[gcc-8.3/gcc/dump_flags_t]]
**返り値 [#i2a6e426]
-なし
**参考 [#p6047aef]
*実装 [#sd0ff63d]
/* Prints the name of a call. NODE is the CALL_EXPR_FN ...
the gimple_call_fn of a GIMPLE_CALL. */
void
print_call_name (pretty_printer *pp, tree node, dump_fla...
{
tree op0 = node;
if (TREE_CODE (op0) == NON_LVALUE_EXPR)
op0 = TREE_OPERAND (op0, 0);
-
--[[gcc-8.3/gcc/TREE_CODE()]]
--[[gcc-8.3/gcc/TREE_OPERAND()]]
again:
switch (TREE_CODE (op0))
{
case VAR_DECL:
case PARM_DECL:
case FUNCTION_DECL:
dump_function_name (pp, op0, flags);
break;
-
--[[gcc-8.3/gcc/dump_function_name()]]
case ADDR_EXPR:
case INDIRECT_REF:
CASE_CONVERT:
op0 = TREE_OPERAND (op0, 0);
goto again;
case COND_EXPR:
pp_left_paren (pp);
dump_generic_node (pp, TREE_OPERAND (op0, 0), 0, f...
pp_string (pp, ") ? ");
dump_generic_node (pp, TREE_OPERAND (op0, 1), 0, f...
pp_string (pp, " : ");
dump_generic_node (pp, TREE_OPERAND (op0, 2), 0, f...
break;
-
--[[gcc-8.3/gcc/dump_generic_node()]]
case ARRAY_REF:
if (TREE_CODE (TREE_OPERAND (op0, 0)) == VAR_DECL)
dump_function_name (pp, TREE_OPERAND (op0, 0), flags);
else
dump_generic_node (pp, op0, 0, flags, false);
break;
-
--[[gcc-8.3/gcc/dump_function_name()]]
--[[gcc-8.3/gcc/dump_generic_node()]]
case MEM_REF:
if (integer_zerop (TREE_OPERAND (op0, 1)))
{
op0 = TREE_OPERAND (op0, 0);
goto again;
}
/* Fallthru. */
case COMPONENT_REF:
case SSA_NAME:
case OBJ_TYPE_REF:
dump_generic_node (pp, op0, 0, flags, false);
break;
-
--[[gcc-8.3/gcc/integer_zerop()]]
--[[gcc-8.3/gcc/dump_generic_node()]]
default:
NIY;
}
}
*コメント [#uaa740ee]
終了行:
*参照元 [#dbeca042]
#backlinks
*説明 [#k8660e42]
-パス: [[gcc-8.3/gcc/tree-pretty-print.c]]
-FIXME: これは何?
--説明
**引数 [#e4df1d5e]
-pretty_printer *pp
--
--[[gcc-8.3/gcc/pretty_printer]]
-tree node
--
--[[gcc-8.3/gcc/tree]]
-dump_flags_t flags
--
--[[gcc-8.3/gcc/dump_flags_t]]
**返り値 [#i2a6e426]
-なし
**参考 [#p6047aef]
*実装 [#sd0ff63d]
/* Prints the name of a call. NODE is the CALL_EXPR_FN ...
the gimple_call_fn of a GIMPLE_CALL. */
void
print_call_name (pretty_printer *pp, tree node, dump_fla...
{
tree op0 = node;
if (TREE_CODE (op0) == NON_LVALUE_EXPR)
op0 = TREE_OPERAND (op0, 0);
-
--[[gcc-8.3/gcc/TREE_CODE()]]
--[[gcc-8.3/gcc/TREE_OPERAND()]]
again:
switch (TREE_CODE (op0))
{
case VAR_DECL:
case PARM_DECL:
case FUNCTION_DECL:
dump_function_name (pp, op0, flags);
break;
-
--[[gcc-8.3/gcc/dump_function_name()]]
case ADDR_EXPR:
case INDIRECT_REF:
CASE_CONVERT:
op0 = TREE_OPERAND (op0, 0);
goto again;
case COND_EXPR:
pp_left_paren (pp);
dump_generic_node (pp, TREE_OPERAND (op0, 0), 0, f...
pp_string (pp, ") ? ");
dump_generic_node (pp, TREE_OPERAND (op0, 1), 0, f...
pp_string (pp, " : ");
dump_generic_node (pp, TREE_OPERAND (op0, 2), 0, f...
break;
-
--[[gcc-8.3/gcc/dump_generic_node()]]
case ARRAY_REF:
if (TREE_CODE (TREE_OPERAND (op0, 0)) == VAR_DECL)
dump_function_name (pp, TREE_OPERAND (op0, 0), flags);
else
dump_generic_node (pp, op0, 0, flags, false);
break;
-
--[[gcc-8.3/gcc/dump_function_name()]]
--[[gcc-8.3/gcc/dump_generic_node()]]
case MEM_REF:
if (integer_zerop (TREE_OPERAND (op0, 1)))
{
op0 = TREE_OPERAND (op0, 0);
goto again;
}
/* Fallthru. */
case COMPONENT_REF:
case SSA_NAME:
case OBJ_TYPE_REF:
dump_generic_node (pp, op0, 0, flags, false);
break;
-
--[[gcc-8.3/gcc/integer_zerop()]]
--[[gcc-8.3/gcc/dump_generic_node()]]
default:
NIY;
}
}
*コメント [#uaa740ee]
ページ名: