On Tue, Apr 10, 2012 at 1:33 PM, Manuel López-Ibáñez
<lopeziba...@gmail.com> wrote:
> On 10 April 2012 21:41, Manuel López-Ibáñez <lopeziba...@gmail.com> wrote:
>> On 10 April 2012 21:31, Jason Merrill <ja...@redhat.com> wrote:
>>> On 04/10/2012 12:46 PM, Manuel López-Ibáñez wrote:
>>>>
>>>> +  max_width = context->caret_max_width;
>>>> +  if (max_width<= 0)
>>>> +    max_width = INT_MAX;
>>>
>>>
>>> I don't think we need the test here; diagnostic_set_caret_max_width should
>>> make sure caret_max_width is set sensibly.  Otherwise, yes, thanks.
>>
>> It was just a bit of defensive programming, since nothing stops anyone
>> to set the value directly. But I will remove it.
>>
>>> On 04/10/2012 02:52 PM, Gabriel Dos Reis wrote:
>>>>
>>>> There is a novelty in this new version that I don't think we discussed
>>>> before: automatic expansion of tabs to 8 hard space characters.  That
>>>> number should not be hardcoded as there is no reason to believe a tab
>>>> character always expands to 8 space characters.  You should check
>>>> the environment first; if not present the default expansion number should
>>>> be a symbolic constant as opposed to a magic number sprinkled all over the
>>>> places.
>>>
>>>
>>> Hmm.  I don't know if there's any reliable way to query tab stops; the "it"
>>> termcap/terminfo capability tells you what it was originally (presumably 8),
>>> but it might have changed.
>>
>> No idea either, but it is in fact easier to print tabs a single
>> spaces. This simplifies the code a lot, as pointed by Gabriel. So if
>> you also prefer the simpler version, I am fine with committing that
>> one (it also saves space in the output).
>
> A new version of the patch. It removes the special handling of tabs.
> And abstracts out the adjusting of the line as Gabriel suggested. I am
> not sure what else could be abstracted out. The function is much
> shorter than other functions in diagnostic.c.
>
> This patch builds and I am running a full boostrap+check now.
>
> OK if it passes?
>
> Cheers,
>
> Manuel.
>
>
> 2012-04-05  Manuel López-Ibáñez  <m...@gcc.gnu.org>
>
>        PR 24985
> libstdc++-v3/
>        * testsuite/lib/prune.exp: Handle caret.
> libmudflap/
>        * testsuite/lib/libmudflap.exp: Handle caret.
> gcc/
>        * diagnostic.h (show_caret): Declare.
>        (caret_max_width): Declare.
>        (diagnostic_show_locus): Declare.
>        * diagnostic.c (diagnostic_initialize): Initialize to false.
>        (diagnostic_show_locus): New.
>        (diagnostic_report_diagnostic): Call it.
>        (getenv_columns): New.
>        (adjust_line): New.
>        (diagnostic_set_caret_max_width): New.
>        * input.c (read_line): New.
>        (location_get_source_line): New.
>        * input.h (location_get_source_line): Declare.
>        * toplev.c (general_init): Initialize show_caret from options.
>        * dwarf2out.c (gen_producer_string): Handle fdiagnostics-show-caret.
>        * opts.c (common_handle_option): Likewise.
>        * pretty-print.h (pp_get_prefix): New.
>        (pp_base_get_prefix): New.
>        * common.opt (fdiagnostics-show-caret): New option.
>        * doc/invoke.texi (fdiagnostics-show-caret): Document it.
> testsuite/
>        * lib/prune.exp: Add -fno-diagnostics-show-caret.

It breaks library tests:

ERROR: tcl error sourcing
../../../../src-trunk/boehm-gc/testsuite/../../gcc/testsuite/lib/prune.exp.
ERROR: tcl error sourcing
../../../../src-trunk/libgomp/testsuite/../../gcc/testsuite/lib/prune.exp.
ERROR: tcl error sourcing
../../../../src-trunk/libitm/testsuite/../../gcc/testsuite/lib/prune.exp.

RROR: tcl error sourcing
../../../../src-trunk/libitm/testsuite/../../gcc/testsuite/lib/prune.exp.
can't read "TEST_ALWAYS_FLAGS": no such variable
    while executing
"set TEST_ALWAYS_FLAGS "-fno-diagnostics-show-caret $TEST_ALWAYS_FLAGS""
    (file 
"../../../../src-trunk/libitm/testsuite/../../gcc/testsuite/lib/prune.exp"
line 20)
    invoked from within
"source 
../../../../src-trunk/libitm/testsuite/../../gcc/testsuite/lib/prune.exp"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 source
../../../../src-trunk/libitm/testsuite/../../gcc/testsuite/lib/prune.exp"
    invoked from within
"catch "uplevel #0 source $file""
make[8]: *** [check-DEJAGNU] Error 1

-- 
H.J.

Reply via email to