From a6314e15e0c5671e71f4511011a125aab3cc3d6a Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Tue, 30 Jun 2015 19:18:34 +0000 Subject: [PATCH] fixes to gcc_jit_context_dump_reproducer_to_file 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 | 7 +++++++ gcc/jit/jit-recording.c | 18 ++++++++++++------ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/gcc/jit/ChangeLog b/gcc/jit/ChangeLog index 10b8ec7ba11..2ab6153dc79 100644 --- a/gcc/jit/ChangeLog +++ b/gcc/jit/ChangeLog @@ -1,3 +1,10 @@ +2015-06-30 David Malcolm + + * 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 * docs/cp/topics/expressions.rst: Remove stray semicolon. diff --git a/gcc/jit/jit-recording.c b/gcc/jit/jit-recording.c index f379b58ec81..11b9739ed5a 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 \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" -- 2.30.2