gdb/
PR c++/14177 - Fix parsing TYPENAME:: in parentheses. * c-exp.y (classify_inner_name): Remove caller assumptions in the function comment. Return ERROR for unresolved cases. Implement returning proper NAME. (yylex): Accept also NAME from classify_inner_name. * cp-namespace.c (cp_lookup_nested_type): Rename to ... (cp_lookup_nested_symbol): ... here. Return any found symbol, not just LOC_TYPEDEF type. * cp-support.h (cp_lookup_nested_type): Update its declaration. gdb/testsuite/ PR c++/14177 - Fix parsing TYPENAME:: in parentheses. * gdb.cp/cpexprs.cc (class CV, CV::i, ATTRIBUTE_USED, CV_f): New. (test_function): Call CV_f. * gdb.cp/cpexprs.exp (p 'CV::m(int)', p CV::m(int)) (p 'CV::m(int) const', p CV::m(int) const, p 'CV::m(int) volatile') (p CV::m(int) volatile, p 'CV::m(int) const volatile') (p CV::m(int) const volatile, p CV_f(int), p CV_f(CV::t)) (p CV_f(CV::i)): New tests.
This commit is contained in:
parent
d55637df69
commit
50af5481d5
7 changed files with 104 additions and 27 deletions
|
@ -213,9 +213,9 @@ extern struct symbol *cp_lookup_symbol_imports_or_template
|
|||
const struct block *block,
|
||||
const domain_enum domain);
|
||||
|
||||
extern struct type *cp_lookup_nested_type (struct type *parent_type,
|
||||
const char *nested_name,
|
||||
const struct block *block);
|
||||
extern struct symbol *cp_lookup_nested_symbol (struct type *parent_type,
|
||||
const char *nested_name,
|
||||
const struct block *block);
|
||||
|
||||
struct type *cp_lookup_transparent_type (const char *name);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue