binutils-gdb/gdb/testsuite/gdb.cp
Weimin Pan bf2977b5f3 Fix failure to find member of a typedef base class
The test case below demonstrates the problem, as described in this PR's Comment 5:

typedef struct {
        int x;
} A;

struct C : A {
        int y;
};

int main()
{
        C c;
        return 55;
}

$ gdb a.out
(gdb) ptype C::x
Internal error: non-aggregate type to value_struct_elt_for_reference

In value_struct_elt_for_reference(), need to call check_typedef() on
the aggregate type to handle the case of *curtype being ptr->typedef.

Tested on x86_64-linux. No regressions.
2018-06-18 21:31:55 +00: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
cpcompletion.exp
cpexprs.cc
cpexprs.exp
cplabel.cc
cplabel.exp
cplusfuncs.cc
cplusfuncs.exp
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
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
static-typedef-print.exp
subtypes-2.cc
subtypes.cc
subtypes.exp
subtypes.h
temargs.cc
temargs.exp
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
watch-cp.exp
wide_char_types.c
wide_char_types.exp