diff gcc/go/gofrontend/go.cc @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
line wrap: on
line diff
--- a/gcc/go/gofrontend/go.cc	Fri Oct 27 22:46:09 2017 +0900
+++ b/gcc/go/gofrontend/go.cc	Thu Oct 25 07:37:49 2018 +0900
@@ -41,6 +41,9 @@
   if (args->c_header != NULL)
     ::gogo->set_c_header(args->c_header);
   ::gogo->set_debug_escape_level(args->debug_escape_level);
+  if (args->debug_escape_hash != NULL)
+    ::gogo->set_debug_escape_hash(args->debug_escape_hash);
+  ::gogo->set_nil_check_size_threshold(args->nil_check_size_threshold);
 }
 
 // Parse the input files.
@@ -140,12 +143,12 @@
   // Export global identifiers as appropriate.
   ::gogo->do_exports();
 
+  // Use temporary variables to force order of evaluation.
+  ::gogo->order_evaluations();
+
   // Turn short-cut operators (&&, ||) into explicit if statements.
   ::gogo->remove_shortcuts();
 
-  // Use temporary variables to force order of evaluation.
-  ::gogo->order_evaluations();
-
   // Convert named types to backend representation.
   ::gogo->convert_named_types();
 
@@ -164,6 +167,9 @@
   // Flatten the parse tree.
   ::gogo->flatten();
 
+  // Reclaim memory of escape analysis Nodes.
+  ::gogo->reclaim_escape_nodes();
+
   // Dump ast, use filename[0] as the base name
   ::gogo->dump_ast(filenames[0]);
 }