gdb: test to check one aspect of the linespec parsing code
authorAndrew Burgess <aburgess@redhat.com>
Thu, 27 Jan 2022 15:12:25 +0000 (15:12 +0000)
committerAndrew Burgess <aburgess@redhat.com>
Wed, 2 Feb 2022 16:27:36 +0000 (16:27 +0000)
commita591084285cc16a435258641691aa0a8f5bf42ee
treeb096fa3b9073303942ef7c20070bef1092648ae5
parent82d0a72cdc9ca6cd37a8987e2bcd2eb707c51149
gdb: test to check one aspect of the linespec parsing code

While working on the fix for PR cli/28665 (see previous couple of
commits), I was playing with making a change in the linespec parsing
code.  Specifically, I was thinking about whether the spec_string for
LINESPEC_LOCATION locations should ever be nullptr.

I made a change to prevent the spec_string from ever being nullptr,
tested gdb, and saw no regressions.

However, as part of this work I was reviewing how the breakpoint code
handles this case (spec_string being nullptr), and spotted that in
parse_breakpoint_sals the nullptr case is specifically handled, so
changing this should have caused a regression.  But I didn't see one.

So, this commit adds a comment in location.c mentioning that the
nullptr case is (a) not an oversight, and (b) is required.  Then I add
a new test to gdb.base/break.exp that ensures a change in this area
will cause a regression.

This test passes on current gdb, but with my modified (and broken)
gdb, the test would fail.
gdb/location.c
gdb/testsuite/gdb.base/break.exp