diff options
author | Jason Merrill <jason@redhat.com> | 2011-07-01 16:24:25 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2011-07-01 16:24:25 -0400 |
commit | d816a3ba71e05342e7ddbf9c0a7b0bb67d05dc12 (patch) | |
tree | d1ea8adbb7a89330a40f22b4d90fd74b7d2be45b /gcc/cp/pt.c | |
parent | a771bf1cf6a6d6f785f5b6f714e9d732ccfcc757 (diff) | |
download | gcc-d816a3ba71e05342e7ddbf9c0a7b0bb67d05dc12.zip gcc-d816a3ba71e05342e7ddbf9c0a7b0bb67d05dc12.tar.gz gcc-d816a3ba71e05342e7ddbf9c0a7b0bb67d05dc12.tar.bz2 |
re PR c++/48593 (Wrong return type when applying address operator to inherited, template dependend member, using a typedef)
PR c++/48593
* pt.c (tsubst_qualified_id): Check PTRMEM_OK_P.
* tree.c (build_qualified_name): Set PTRMEM_OK_P.
* semantics.c (finish_parenthesized_expr): Clear PTRMEM_OK_P on
SCOPE_REF, too.
* cp-tree.h (PTRMEM_OK_P): Apply to SCOPE_REF, too.
(QUALIFIED_NAME_IS_TEMPLATE): Switch to lang flag 1.
From-SVN: r175765
Diffstat (limited to 'gcc/cp/pt.c')
-rw-r--r-- | gcc/cp/pt.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 947e19e..5743159 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -11344,7 +11344,7 @@ tsubst_qualified_id (tree qualified_id, tree args, expr = (adjust_result_of_qualified_name_lookup (expr, scope, current_class_type)); expr = (finish_qualified_id_expr - (scope, expr, done, address_p, + (scope, expr, done, address_p && PTRMEM_OK_P (qualified_id), QUALIFIED_NAME_IS_TEMPLATE (qualified_id), /*template_arg_p=*/false)); } |