RFR 8172443: Change use of tree.pos to line:col in rawDiagnostics
Vicente Romero
vicente.romero at oracle.com
Thu Oct 5 14:05:08 UTC 2017
On 10/05/2017 09:51 AM, Maurizio Cimadamore wrote:
>
>
> On 05/10/17 14:49, Vicente Romero wrote:
>> Hi,
>>
>> +100 to this effort, that will save us a lot of time. Regarding the
>> patch, sometimes new lines need to be added to a test, sometimes in
>> the jtreg header, sometimes somewhere else. How bad would be to use
>> the column number only instead of line:col?
> I understand the concern. I think the goal of this patch is to fix the
> #1 offender. As you say there could be other offenders. But getting
> rid of them all is hard - if you just use 'col' you basically lose
> uniqueness, which makes looking at the golden file more obscure, I think.
well it's true that uniqueness could be a problem for errors reported at
statements that spans more than one line, but I'm not sure if it is
worthy to still keep a source of brittleness because of that. I mean
what could be the probability of introducing a change that will swap two
identical column positions in the diagnostics and still produce the same
diagnostics such that we won't detect it. In the worst case we can add
the line if we see that the particular statement we are generating the
diagnostics for spans more than one line and use only the column for all
other cases
Vicente
>
> Maurizio
>>
>> Thanks,
>> Vicente
>>
>> On 10/05/2017 09:29 AM, Maurizio Cimadamore wrote:
>>> Hi,
>>> this is a fix to our raw diagnostic machinery that will allow for
>>> more robust compiler negative tests. Currently, when a functional
>>> expression is found in a diagnostic, it can sometimes be represented
>>> using the absoluted cursor position of the expression in the source
>>> file. This makes the golden files for such tests extremely
>>> unreliable, as simply adding/removing chars from lines before the
>>> functional expression would result in golden file mismatches. This
>>> is extremely annoying when e.g. the jtreg header of a test must be
>>> change for some reason (e.g. to add an extra bug id).
>>>
>>> The solution is to use a more robust encoding with line:col - so
>>> that there's less dependencies on what happens on previous lines.
>>>
>>> http://cr.openjdk.java.net/~mcimadamore/8172443/
>>>
>>> Cheers
>>> Maurizio
>>>
>>
>
More information about the compiler-dev
mailing list