This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH, committed] fixes to gcc_jit_context_dump_reproducer_to_file
- From: David Malcolm <dmalcolm at redhat dot com>
- To: jit at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Cc: David Malcolm <dmalcolm at redhat dot com>
- Date: Tue, 30 Jun 2015 15:32:30 -0400
- Subject: [PATCH, committed] fixes to gcc_jit_context_dump_reproducer_to_file
- Authentication-results: sourceware.org; auth=none
Tested with "make check-jit" and visual inspection; jit.sum continues
to have 8014 passes.
Committed to trunk as r225204.
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.
---
gcc/jit/jit-recording.c | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/gcc/jit/jit-recording.c b/gcc/jit/jit-recording.c
index f379b58..11b9739 100644
--- a/gcc/jit/jit-recording.c
+++ b/gcc/jit/jit-recording.c
@@ -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"
--
1.8.5.3