# HG changeset patch
# User laurent
# Date 1255968764 -7200
# Node ID 5249d313ff7c682afdb64ca892cb8bc7f24cc543
# Parent  8387cac2aba64d63dd0b8ddf7eb5ab1a14678f57
Remove warnings when compiling IL generated C code

diff -r 8387cac2aba6 -r 5249d313ff7c stage4/generate_c/generate_c_il.cc
--- a/stage4/generate_c/generate_c_il.cc	Mon Sep 21 12:04:15 2009 +0200
+++ b/stage4/generate_c/generate_c_il.cc	Mon Oct 19 18:12:44 2009 +0200
@@ -513,10 +513,25 @@
   s4o.print(IL_DEFVAR_T);
   s4o.print(" ");
   this->default_variable_name.accept(*this);
-  s4o.print(";\n\n");
+  s4o.print(";\n");
+  s4o.print(s4o.indent_spaces);
+  print_backup_variable();
+  s4o.print(".INTvar = 0;\n\n");
 
   print_list(symbol, s4o.indent_spaces, ";\n" + s4o.indent_spaces, ";\n");
 
+  /* label not used by at least one goto result in a warning.
+   * To work around this we introduce the useless goto
+   * to humour the compiler...
+   */
+  s4o.print("\n");
+  s4o.print(s4o.indent_spaces);
+  s4o.print("/* to humour the compiler, we insert a goto */\n");
+  s4o.print(s4o.indent_spaces);
+  s4o.print("goto ");
+  s4o.print(END_LABEL);
+  s4o.print(";\n");
+
   /* write the label marking the end of the code block */
   /* please see the comment before the RET_operator_c visitor for details... */
   s4o.print("\n");