binutils-gdb/gdb/testsuite/gdb.cp
Tom Tromey 3e1d3d8c24 Allow "info address" of a template parameter
PR symtab/16842 shows that gdb will crash when the user tries to
invoke "info address" of a template parameter.

The bug here is that dwarf2read.c does not set the symtab on the
template parameter symbols.  This is pedantically correct, given that
the template symbols do not appear in a symtab.  However, gdb
primarily uses the symtab backlink to find the symbol's objfile.  So,
this patch simply sets the symtab on these symbols.

Tested by the buildbot.

gdb/ChangeLog
2018-08-02  Tom Tromey  <tom@tromey.com>

	PR symtab/16842.
	* dwarf2read.c (read_func_scope): Set symtab on template parameter
	symbols.
	(process_structure_scope): Likewise.

gdb/testsuite/ChangeLog
2018-08-02  Tom Tromey  <tom@tromey.com>

	PR symtab/16842.
	* gdb.cp/temargs.exp: Test "info address" of a template
	parameter.
2018-08-02 16:12:42 -06:00
..
abstract-origin.cc
abstract-origin.exp
align.exp Handle alignof and _Alignof 2018-04-30 11:25:31 -06:00
ambiguous.cc
ambiguous.exp
annota2.cc
annota2.exp
annota3.cc
annota3.exp
anon-ns2.cc
anon-ns.cc
anon-ns.exp
anon-struct.cc
anon-struct.exp
anon-union.cc
anon-union.exp
arg-reference.cc
arg-reference.exp
baseenum.cc
baseenum.exp
bool.cc
bool.exp
breakpoint.cc
breakpoint.exp
bs15503.cc
bs15503.exp
call-c-1.c
call-c.cc
call-c.exp
casts03.cc
casts.cc
casts.exp
chained-calls.cc
chained-calls.exp
class2.cc
class2.exp
classes.cc
classes.exp
cmpd-minsyms.cc
cmpd-minsyms.exp
converts.cc
converts.exp
cp-relocate.cc
cp-relocate.exp Show line numbers in output for "info var/func/type" 2018-04-13 19:26:05 +02:00
cpcompletion.exp
cpexprs.cc
cpexprs.exp
cplabel.cc
cplabel.exp
cplusfuncs.cc
cplusfuncs.exp Show line numbers in output for "info var/func/type" 2018-04-13 19:26:05 +02:00
cpsizeof.cc
cpsizeof.exp
ctti.exp
cttiadd1.cc
cttiadd2.cc
cttiadd3.cc
cttiadd.cc
debug-expr.exp
demangle.exp
derivation2.cc
derivation.cc
derivation.exp
destrprint.cc
destrprint.exp
dispcxx.cc
dispcxx.exp
ena-dis-br-range.cc
ena-dis-br-range.exp
enum-class.cc
enum-class.exp
exception.cc
exception.exp
exceptprint.cc
exceptprint.exp
expand-psymtabs-cxx.cc
expand-psymtabs-cxx.exp
expand-sals.cc
expand-sals.exp
extern-c.cc
extern-c.exp
filename.cc
filename.exp
formatted-ref.cc
formatted-ref.exp
fpointer.cc
fpointer.exp
gdb1355.cc
gdb1355.exp
gdb2384-base.cc
gdb2384-base.h
gdb2384.cc
gdb2384.exp
gdb2495.cc
gdb2495.exp
hang1.cc
hang2.cc
hang3.cc
hang.exp
hang.H
impl-this.cc
impl-this.exp
includefile
infcall-dlopen-lib.cc
infcall-dlopen.cc
infcall-dlopen.exp
inherit.exp
iostream.cc
iostream.exp
koenig.cc
koenig.exp
local-static.c
local-static.cc
local-static.exp
local.cc
local.exp
m-data.cc
m-data.exp
m-static1.cc
m-static.cc
m-static.exp
m-static.h
maint.exp
mb-ctor.cc
mb-ctor.exp
mb-inline1.cc
mb-inline2.cc
mb-inline.exp
mb-inline.h
mb-templates.cc
mb-templates.exp
member-name.cc
member-name.exp
member-ptr.cc
member-ptr.exp
meth-typedefs.cc
meth-typedefs.exp
method2.cc
method2.exp
method.cc
method.exp
minsym-fallback-main.cc
minsym-fallback.cc
minsym-fallback.exp
minsym-fallback.h
misc.cc
misc.exp
namelessclass.cc
namelessclass.exp
namelessclass.S
namespace1.cc
namespace-enum-main.cc
namespace-enum.cc
namespace-enum.exp
namespace-nested-import.cc
namespace-nested-import.exp
namespace.cc
namespace.exp Show line numbers in output for "info var/func/type" 2018-04-13 19:26:05 +02:00
nested-types.cc
nested-types.exp
nextoverthrow.cc
nextoverthrow.exp
no-dmgl-verbose.cc
no-dmgl-verbose.exp
non-trivial-retval.cc
non-trivial-retval.exp
noparam.cc
noparam.exp
nsalias.cc
nsalias.exp
nsdecl.cc
nsdecl.exp
nsimport.cc
nsimport.exp
nsnested.cc
nsnested.exp
nsnoimports.cc
nsnoimports.exp
nsrecurs.cc
nsrecurs.exp
nsstress.cc
nsstress.exp
nsusing.cc
nsusing.exp
operator.cc
operator.exp
oranking.cc
oranking.exp
overload-const.cc
overload-const.exp
overload.cc
overload.exp
ovldbreak.cc
ovldbreak.exp
ovsrch1.cc
ovsrch2.cc
ovsrch3.cc
ovsrch4.cc
ovsrch.exp
ovsrch.h
paren-type.cc
paren-type.exp
parse-lang.cc
parse-lang.exp
pass-by-ref.cc
pass-by-ref.exp
pr9067.cc
pr9067.exp
pr9167.cc
pr9167.exp
pr9594.cc
pr9631.cc
pr9631.exp
pr10687.cc
pr10687.exp
pr10728-x.cc
pr10728-x.h
pr10728-y.cc
pr10728.exp
pr12028.cc
pr12028.exp
pr17132.cc
pr17132.exp
pr17494.cc
pr17494.exp
pr-574.cc
pr-574.exp
pr-1023.cc
pr-1023.exp
pr-1210.cc
pr-1210.exp
printmethod.cc
printmethod.exp
psmang1.cc
psmang2.cc
psmang.exp
psymtab-parameter.cc
psymtab-parameter.exp
ptype-cv-cp.cc
ptype-cv-cp.exp
ptype-flags.cc
ptype-flags.exp
punctuator.exp
re-set-overloaded.cc
re-set-overloaded.exp
readnow-language.cc
readnow-language.exp
ref-params.cc
ref-params.exp
ref-types.cc
ref-types.exp
rtti1.cc
rtti2.cc
rtti.exp
rtti.h
rvalue-ref-casts.cc
rvalue-ref-casts.exp
rvalue-ref-overload.cc
rvalue-ref-overload.exp
rvalue-ref-params.cc
rvalue-ref-params.exp
rvalue-ref-sizeof.cc
rvalue-ref-sizeof.exp
rvalue-ref-types.cc
rvalue-ref-types.exp
save-bp-qualified.cc
save-bp-qualified.exp
scope-err.cc
scope-err.exp
shadow.cc
shadow.exp
smartp.cc
smartp.exp
static-method.cc
static-method.exp
static-print-quit.cc
static-print-quit.exp Add "continue" response to pager 2018-06-05 11:02:52 -06:00
static-typedef-print.cc Fix infinite recursion when printing static member with typedef 2018-04-02 12:53:43 -05:00
static-typedef-print.exp Fix infinite recursion when printing static member with typedef 2018-04-02 12:53:43 -05:00
subtypes-2.cc Add psymbols for nested types 2018-03-23 11:58:32 -07:00
subtypes.cc Add psymbols for nested types 2018-03-23 11:58:32 -07:00
subtypes.exp Add psymbols for nested types 2018-03-23 11:58:32 -07:00
subtypes.h Add psymbols for nested types 2018-03-23 11:58:32 -07:00
temargs.cc
temargs.exp Allow "info address" of a template parameter 2018-08-02 16:12:42 -06:00
templates.cc
templates.exp
try_catch.cc
try_catch.exp
typedef-base.cc Fix failure to find member of a typedef base class 2018-06-18 21:31:55 +00:00
typedef-base.exp Fix failure to find member of a typedef base class 2018-06-18 21:31:55 +00:00
typedef-operator.cc
typedef-operator.exp
typeid.cc
typeid.exp Remove TYPE_TAG_NAME 2018-06-01 10:19:55 -06:00
userdef.cc
userdef.exp
using-crash.cc
using-crash.exp
var-tag-2.cc
var-tag-3.cc
var-tag-4.cc
var-tag.cc
var-tag.exp
virtbase.cc
virtbase.exp
virtfunc2.cc
virtfunc2.exp
virtfunc.cc
virtfunc.exp
vla-cxx.cc
vla-cxx.exp
watch-cp.cc Fix watching structs in C++ 2018-03-07 14:29:19 +01:00
watch-cp.exp Fix watching structs in C++ 2018-03-07 14:29:19 +01:00
wide_char_types.c
wide_char_types.exp