On Tue, Nov 22, 2016 at 10:38:42AM -0500, David Malcolm wrote: > On Tue, 2016-11-22 at 15:45 +0100, Jakub Jelinek wrote: > > On Tue, Nov 22, 2016 at 03:38:04PM +0100, Bernd Schmidt wrote: > > > On 11/22/2016 02:37 PM, Jakub Jelinek wrote: > > > > Can't it be done only if xloc.file contains any fancy characters? > > > > > > Sure, but why? Strings generally get emitted with quotes around > > > them, I > > > don't see a good reason for filenames to be different, especially > > > if it > > > makes the output easier to parse. > > > > Because printing common filenames matches what we emit in > > diagnostics, > > what e.g. sanitizers emit at runtime diagnostics, what we emit as > > locations > > in gimple dumps etc. > > It sounds like a distinction between human-readable vs machine > -readable. > > How about something like the following, which only adds the quotes if > outputting the RTL FE's input format? > > Does this fix the failing tests?
Yep. > --- a/gcc/print-rtl.c > +++ b/gcc/print-rtl.c > @@ -371,7 +371,10 @@ rtx_writer::print_rtx_operand_code_i (const_rtx in_rtx, > int idx) > if (INSN_HAS_LOCATION (in_insn)) > { > expanded_location xloc = insn_location (in_insn); > - fprintf (m_outfile, " \"%s\":%i", xloc.file, xloc.line); > + if (m_compact) > + fprintf (m_outfile, " \"%s\":%i", xloc.file, xloc.line); > + else > + fprintf (m_outfile, " %s:%i", xloc.file, xloc.line); Looks sensible to me. Ciao Dominik ^_^ ^_^ -- Dominik Vogt IBM Germany