diff options
author | Nick Alcock <nick.alcock@oracle.com> | 2021-01-19 12:45:18 +0000 |
---|---|---|
committer | Nick Alcock <nick.alcock@oracle.com> | 2021-01-19 12:45:19 +0000 |
commit | e05a3e5a491a8ef2079eef558bbe8e9feb0b3c03 (patch) | |
tree | 8b1526e2272d3ed24e412425e7979fef15bdf4e4 /libctf/testsuite/libctf-regression/pptrtab-b.c | |
parent | c98de297b37ffee7bdb48682eec73e4a608c3974 (diff) | |
download | binutils-e05a3e5a491a8ef2079eef558bbe8e9feb0b3c03.zip binutils-e05a3e5a491a8ef2079eef558bbe8e9feb0b3c03.tar.gz binutils-e05a3e5a491a8ef2079eef558bbe8e9feb0b3c03.tar.bz2 |
libctf: lookup_by_name: do not return success for nonexistent pointer types
The recent work allowing lookups of pointers in child dicts when the
pointed-to type is in the parent dict broke the case where a pointer
type that does not exist at all is looked up: we mistakenly return the
pointed-to type, which is likely not a pointer at all. This causes
considerable confusion.
Fixed, with a new testcase.
libctf/ChangeLog
2021-01-19 Nick Alcock <nick.alcock@oracle.com>
* ctf-lookup.c (ctf_lookup_by_name_internal): Do not return the
base type if looking up a nonexistent pointer type.
* testsuite/libctf-regression/pptrtab*: Test it.
Diffstat (limited to 'libctf/testsuite/libctf-regression/pptrtab-b.c')
-rw-r--r-- | libctf/testsuite/libctf-regression/pptrtab-b.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libctf/testsuite/libctf-regression/pptrtab-b.c b/libctf/testsuite/libctf-regression/pptrtab-b.c index 6142f19..e458021 100644 --- a/libctf/testsuite/libctf-regression/pptrtab-b.c +++ b/libctf/testsuite/libctf-regression/pptrtab-b.c @@ -1,4 +1,5 @@ typedef long a_t; +typedef long b_t; a_t b; - +b_t ignore1; |