On Mon, 2016-08-29 at 13:44 +0200, Marek Polacek wrote: > On Mon, Aug 29, 2016 at 12:35:38PM +0200, Marek Polacek wrote: > > On Mon, Aug 29, 2016 at 11:16:25AM +0200, Andreas Schwab wrote: > > > On Aug 25 2016, Marek Polacek <pola...@redhat.com> wrote: > > > > > > > * c-c++-common/Wlogical-not-parentheses-2.c: New test. > > > > > > FAIL: c-c++-common/Wlogical-not-parentheses-2.c -std=gnu++11 > > > expected multiline pattern lines 13-17 not found: "\s*r \+= !aaa > > > == bbb;.*\n \^~\n r \+= !aaa == bbb;.*\n > > > \^~~~\n \( \).*\n" > > > FAIL: c-c++-common/Wlogical-not-parentheses-2.c -std=gnu++11 > > > (test for excess errors) > > > Excess errors: > > > r += !aaa == bbb; /* { dg-warning "logical not is only > > > applied" } */ > > > ^~ > > > r += !aaa == bbb; /* { dg-warning "logical not is only > > > applied" } */ > > > ^~~~ > > > > This has regressed with David's > > > > commit 367964faf71a99ebd511dffb81075b58bff345a1 > > Author: dmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4> > > Date: Fri Aug 26 21:25:41 2016 +0000 > > > > Add validation and consolidation of fix-it hints > > > > I don't know yet what exactly went wrong here. > > So we reject printing fix-it hint because in reject_impossible_fixit: > > 2187 if (where <= LINE_MAP_MAX_LOCATION_WITH_COLS) > 2188 /* WHERE is a reasonable location for a fix-it; don't reject > it. */ > 2189 return false; > > (gdb) p where > $1 = 2147483652 > (gdb) p LINE_MAP_MAX_LOCATION_WITH_COLS > $2 = 1610612736 > > so we set m_seen_impossible_fixit. > > David, why is that happening?
Sorry about this; I believe I did my testing of my patch against a tree that didn't yet have your change. (gdb) p /x 2147483652 $2 = 0x80000004 so "where", the insertion-point, is an ad-hoc location (describing a range), and it looks like I somehow forgot to deal with that case in the validation code. I'm working on a fix. Sorry again. Dave