Fix parameter-less template regression in new DWARF reader
authorTom Tromey <tromey@adacore.com>
Wed, 14 Dec 2022 21:37:41 +0000 (14:37 -0700)
committerTom Tromey <tromey@adacore.com>
Tue, 17 Jan 2023 14:03:26 +0000 (07:03 -0700)
commitac37b79cc440e37fc704d425a6e450afb3c7ee89
tree8d1418c5dc79b9b842fc3c22bd80f9c7a3577333
parent5a89072f36ddd3be71103e3806d42ff5e49ff616
Fix parameter-less template regression in new DWARF reader

PR c++/29896 points out a regression in the new DWARF reader.  It does
not properly handle a case like "break fn", where "fn" is a template
function.

This happens because the new index uses strncasecmp to compare.
However, to make this work correctly, we need a custom function that
ignores template parameters.

This patch adds a custom comparison function and fixes the bug.  A new
test case is included.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29896
gdb/dwarf2/cooked-index.c
gdb/dwarf2/cooked-index.h
gdb/dwarf2/read.c
gdb/testsuite/gdb.cp/paramless.cc [new file with mode: 0644]
gdb/testsuite/gdb.cp/paramless.exp [new file with mode: 0644]