diff options
Diffstat (limited to 'libctf/testsuite/libctf-regression')
-rw-r--r-- | libctf/testsuite/libctf-regression/pptrtab-a.c | 2 | ||||
-rw-r--r-- | libctf/testsuite/libctf-regression/pptrtab-b.c | 3 | ||||
-rw-r--r-- | libctf/testsuite/libctf-regression/pptrtab.c | 10 |
3 files changed, 13 insertions, 2 deletions
diff --git a/libctf/testsuite/libctf-regression/pptrtab-a.c b/libctf/testsuite/libctf-regression/pptrtab-a.c index e9f656a0bc8..65414877114 100644 --- a/libctf/testsuite/libctf-regression/pptrtab-a.c +++ b/libctf/testsuite/libctf-regression/pptrtab-a.c @@ -1,3 +1,5 @@ typedef long a_t; +typedef long b_t; a_t *a; +b_t ignore2; diff --git a/libctf/testsuite/libctf-regression/pptrtab-b.c b/libctf/testsuite/libctf-regression/pptrtab-b.c index 6142f194c19..e458021efb1 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; diff --git a/libctf/testsuite/libctf-regression/pptrtab.c b/libctf/testsuite/libctf-regression/pptrtab.c index 5d3c2f2ee93..fe1b8fe2b43 100644 --- a/libctf/testsuite/libctf-regression/pptrtab.c +++ b/libctf/testsuite/libctf-regression/pptrtab.c @@ -23,13 +23,18 @@ main (int argc, char *argv[]) goto open_err; /* Make sure we can look up a_t * by name in all non-parent dicts, even though - the a_t * and the type it points to are in distinct dicts. */ + the a_t * and the type it points to are in distinct dicts; make sure we + cannot look up b_t *. */ while ((fp = ctf_archive_next (ctf, &i, &arcname, 1, &err)) != NULL) { if ((type = ctf_lookup_by_name (fp, "a_t *")) == CTF_ERR) goto err; + if ((ctf_lookup_by_name (fp, "b_t *")) != CTF_ERR || + ctf_errno (fp) != ECTF_NOTYPE) + goto noerr; + if (ctf_type_reference (fp, type) == CTF_ERR) goto err; @@ -51,4 +56,7 @@ main (int argc, char *argv[]) err: fprintf (stderr, "Lookup failed in %s: %s\n", arcname, ctf_errmsg (ctf_errno (fp))); return 1; + noerr: + fprintf (stderr, "Lookup unexpectedly succeeded in %s\n", arcname); + return 1; } |