diff options
author | Søren Sandmann <sandmann@redhat.com> | 2007-10-18 03:23:13 -0400 |
---|---|---|
committer | Søren Sandmann <sandmann@redhat.com> | 2007-10-18 03:23:13 -0400 |
commit | 96a289be9ed694e89f55aec28c98a63515cd95b3 (patch) | |
tree | d8ce7c80e49a50a517b1572af5f6eaf87ee2cf8c /graph.c | |
parent | 0a1cf87703944156cf885eb3f437ca2e425546d2 (diff) |
Print out literal nodes
Diffstat (limited to 'graph.c')
-rw-r--r-- | graph.c | 15 |
1 files changed, 10 insertions, 5 deletions
@@ -115,12 +115,14 @@ node_new_if (label_node_t *taken, static node_t * node_new_literal (value_t value, + ast_type_spec_t *type, node_t *pred, ast_t *ast) { node_t *node = node_new (NODE_LITERAL, pred, ast); node->literal.value = value; + node->literal.type_spec = type; return node; } @@ -479,17 +481,17 @@ graph_expression (ast_expression_t *expr, case AST_INT_LITERAL_EXPRESSION: value.int32_val = expr->int_literal.value; - node = node_new_literal (value, node, ast); + node = node_new_literal (value, expr->common.type_spec, node, ast); break; case AST_BOOL_LITERAL_EXPRESSION: value.bool_val = expr->bool_literal.value; - node = node_new_literal (value, node, ast); + node = node_new_literal (value, expr->common.type_spec, node, ast); break; case AST_NULL_EXPRESSION: value.pointer_val = NULL; - node = node_new_literal (value, node, ast); + node = node_new_literal (value, expr->common.type_spec, node, ast); break; case AST_VOID_EXPRESSION: @@ -517,7 +519,8 @@ graph_expression (ast_expression_t *expr, } value.int32_val = 1; - node = node_new_literal (value, node, ast); + node = node_new_literal ( + value, expr->unary.expr->common.type_spec, node, ast); if (expr->unary.operator == AST_POSTFIX_DEC || expr->unary.operator == AST_PREFIX_DEC) @@ -740,7 +743,9 @@ graph_switch_statement (ast_switch_statement_t *switch_, node_t *node) case_ = &cases[i]->expression; node = node_new_dup (node, ast); - node = node_new_literal (case_->value, node, ast); + node = node_new_literal (case_->value, + case_->expression->common.type_spec, + node, ast); node = node_new_binop ( AST_EQUAL, switch_->condition->common.type_spec, |