From d4f2394dcf8e5fc9e5be26c3022f8ce435b722a8 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sun, 13 Nov 2016 01:56:28 -0500 Subject: IR handles global variables correctly --- src/analyze.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/analyze.cpp') diff --git a/src/analyze.cpp b/src/analyze.cpp index a329fa540c..b85cea0379 100644 --- a/src/analyze.cpp +++ b/src/analyze.cpp @@ -847,7 +847,9 @@ static IrInstruction *analyze_const_value(CodeGen *g, BlockContext *scope, AstNo return g->invalid_instruction; if (g->verbose) { - fprintf(stderr, "{\n"); + fprintf(stderr, "\nSource: "); + ast_render(stderr, node, 4); + fprintf(stderr, "\n{ // (IR)\n"); ir_print(stderr, &ir_executable, 4); fprintf(stderr, "}\n"); } @@ -2573,7 +2575,9 @@ static void analyze_fn_body(CodeGen *g, FnTableEntry *fn_table_entry) { return; } if (g->verbose) { - fprintf(stderr, "fn %s {\n", buf_ptr(&fn_table_entry->symbol_name)); + fprintf(stderr, "\n"); + ast_render(stderr, fn_table_entry->fn_def_node, 4); + fprintf(stderr, "\n{ // (IR)\n"); ir_print(stderr, &fn_table_entry->ir_executable, 4); fprintf(stderr, "}\n"); } @@ -2583,7 +2587,7 @@ static void analyze_fn_body(CodeGen *g, FnTableEntry *fn_table_entry) { node->data.fn_def.implicit_return_type = block_return_type; if (block_return_type->id != TypeTableEntryIdInvalid && g->verbose) { - fprintf(stderr, "fn %s { // (analyzed)\n", buf_ptr(&fn_table_entry->symbol_name)); + fprintf(stderr, "{ // (analyzed)\n"); ir_print(stderr, &fn_table_entry->analyzed_executable, 4); fprintf(stderr, "}\n"); } -- cgit v1.2.3