diff options
author | Jason Merrill <jason@redhat.com> | 2011-05-20 14:01:22 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2011-05-20 14:01:22 -0400 |
commit | 94df301fa033641561145d44ed48cf4c85d43a2c (patch) | |
tree | a133483f2142f1c02de48fd4af4865636ad9ed75 /gcc/cp/parser.c | |
parent | 6e04dcd56f7d94288467234f065fca6006761cfe (diff) | |
download | gcc-94df301fa033641561145d44ed48cf4c85d43a2c.zip gcc-94df301fa033641561145d44ed48cf4c85d43a2c.tar.gz gcc-94df301fa033641561145d44ed48cf4c85d43a2c.tar.bz2 |
re PR c++/24163 (dependent Base class scope examined during unqualified name lookup in template)
PR c++/24163
PR c++/29131
gcc/cp/
* pt.c (tsubst_copy_and_build) [CALL_EXPR]: Avoid repeating
unqualified lookup.
* semantics.c (perform_koenig_lookup): Add complain parm.
* cp-tree.h: Adjust.
* parser.c (cp_parser_postfix_expression): Adjust.
(cp_parser_perform_range_for_lookup): Adjust.
libstdc++-v3/
* include/ext/pb_ds/assoc_container.hpp: Explicitly qualify calls to
functions from dependent bases.
* include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/rb_tree_map_/
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/tree_policy/
order_statistics_imp.hpp: Likewise.
* include/ext/pb_ds/detail/trie_policy/
prefix_search_node_update_imp.hpp: Likewise.
* include/ext/rc_string_base.h: Likewise.
* include/ext/rope: Likewise.
* include/ext/ropeimpl.h: Likewise.
* testsuite/util/exception/safety.h: Likewise.
* testsuite/util/native_type/native_priority_queue.hpp: Likewise.
* testsuite/util/testsuite_io.h: Likewise.
* include/std/functional: Declare mem_fn earlier.
* include/tr1/functional: Likewise.
* include/tr1/exp_integral.tcc: Declare __expint_E1 earlier.
From-SVN: r173965
Diffstat (limited to 'gcc/cp/parser.c')
-rw-r--r-- | gcc/cp/parser.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index cf9286a..2b45260 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -5019,7 +5019,8 @@ cp_parser_postfix_expression (cp_parser *parser, bool address_p, bool cast_p, if (!any_type_dependent_arguments_p (args)) postfix_expression = perform_koenig_lookup (postfix_expression, args, - /*include_std=*/false); + /*include_std=*/false, + tf_warning_or_error); } else postfix_expression @@ -5044,7 +5045,8 @@ cp_parser_postfix_expression (cp_parser *parser, bool address_p, bool cast_p, if (!any_type_dependent_arguments_p (args)) postfix_expression = perform_koenig_lookup (postfix_expression, args, - /*include_std=*/false); + /*include_std=*/false, + tf_warning_or_error); } } } @@ -8741,11 +8743,13 @@ cp_parser_perform_range_for_lookup (tree range, tree *begin, tree *end) VEC_safe_push (tree, gc, vec, range); member_begin = perform_koenig_lookup (id_begin, vec, - /*include_std=*/true); + /*include_std=*/true, + tf_warning_or_error); *begin = finish_call_expr (member_begin, &vec, false, true, tf_warning_or_error); member_end = perform_koenig_lookup (id_end, vec, - /*include_std=*/true); + /*include_std=*/true, + tf_warning_or_error); *end = finish_call_expr (member_end, &vec, false, true, tf_warning_or_error); |