fixes to gcc_jit_context_dump_reproducer_to_file
authorDavid Malcolm <dmalcolm@redhat.com>
Tue, 30 Jun 2015 19:18:34 +0000 (19:18 +0000)
committerDavid Malcolm <dmalcolm@gcc.gnu.org>
Tue, 30 Jun 2015 19:18:34 +0000 (19:18 +0000)
gcc/jit/ChangeLog:
* jit-recording.c
(gcc::jit::recording::context::dump_reproducer_to_file):
Add pragma to generated reproducers to disable -Wunused-variable.
Fix handling of NULL string options.

From-SVN: r225204

gcc/jit/ChangeLog
gcc/jit/jit-recording.c

index 10b8ec7ba11b454bf20d52650c0cd791d0e04dca..2ab6153dc7946bbe83552fb54c59c088a134c686 100644 (file)
@@ -1,3 +1,10 @@
+2015-06-30  David Malcolm  <dmalcolm@redhat.com>
+
+       * jit-recording.c
+       (gcc::jit::recording::context::dump_reproducer_to_file):
+       Add pragma to generated reproducers to disable -Wunused-variable.
+       Fix handling of NULL string options.
+
 2015-06-30  David Malcolm  <dmalcolm@redhat.com>
 
        * docs/cp/topics/expressions.rst: Remove stray semicolon.
index f379b58ec81fff1c79f03275befe70add9eae62e..11b9739ed5a3ac9bfeaf7fce9b77b853416eaf04 100644 (file)
@@ -1494,6 +1494,7 @@ recording::context::dump_reproducer_to_file (const char *path)
   print_version (r.get_file (), "  ", false);
   r.write ("*/\n");
   r.write ("#include <libgccjit.h>\n\n");
+  r.write ("#pragma GCC diagnostic ignored \"-Wunused-variable\"\n\n");
   r.write ("static void\nset_options (");
   r.write_params (contexts);
   r.write (");\n\n");
@@ -1564,12 +1565,17 @@ recording::context::dump_reproducer_to_file (const char *path)
 
       r.write ("  /* String options.  */\n");
       for (int opt_idx = 0; opt_idx < GCC_JIT_NUM_STR_OPTIONS; opt_idx++)
-       r.write ("  gcc_jit_context_set_str_option (%s,\n"
-                "                                  %s,\n"
-                "                                  \"%s\");\n",
-                r.get_identifier (contexts[ctxt_idx]),
-                str_option_reproducer_strings[opt_idx],
-                m_str_options[opt_idx] ? m_str_options[opt_idx] : "NULL");
+       {
+         r.write ("  gcc_jit_context_set_str_option (%s,\n"
+                  "                                  %s,\n",
+                  r.get_identifier (contexts[ctxt_idx]),
+                  str_option_reproducer_strings[opt_idx]);
+         if (m_str_options[opt_idx])
+           r.write ("                                  \"%s\");\n",
+                    m_str_options[opt_idx]);
+         else
+           r.write ("                                  NULL);\n");
+       }
       r.write ("  /* Int options.  */\n");
       for (int opt_idx = 0; opt_idx < GCC_JIT_NUM_INT_OPTIONS; opt_idx++)
        r.write ("  gcc_jit_context_set_int_option (%s,\n"