diff options
author | Nathan Sidwell <nathan@acm.org> | 2018-05-07 23:04:22 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2018-05-07 23:04:22 +0000 |
commit | ee336e846de46aa5523a96f712d247c31a07c6e1 (patch) | |
tree | 8c66e81acd1034522f08d278a608f49f42e64ee3 /gcc/cp/cp-objcp-common.c | |
parent | 1d473b8b9dd499a5e34d6a05d9ef2f4b521d1056 (diff) | |
download | gcc-ee336e846de46aa5523a96f712d247c31a07c6e1.zip gcc-ee336e846de46aa5523a96f712d247c31a07c6e1.tar.gz gcc-ee336e846de46aa5523a96f712d247c31a07c6e1.tar.bz2 |
[C++ PATCH] Kill -fno-for-scope
https://gcc.gnu.org/ml/gcc-patches/2018-05/msg00299.html
gcc/cp/
Remove fno-for-scope
* cp-tree.h (DECL_ERROR_REPORTED, DECL_DEAD_FOR_LOCAL)
(DECL_HAS_SHADOWED_FOR_VAR_P, DECL_SHADOWED_FOR_VAR)
(SET_DECL_SHADOWED_FOR_VAR): Delete.
(decl_shadowed_for_var_lookup, decl_shadowed_for_var_insert)
(check_for_out_of_scope_variable, init_shadowed_var_for_decl):
Don't declare.
* name-lookup.h (struct cp_binding_level): Remove
dead_vars_from_for field.
* cp-lang.c (cp_init_ts): Delete.
(LANG_HOOKS_INIT_TS): Override to cp_common_init_ts.
* cp-objcp-common.c (shadowed_var_for_decl): Delete.
(decl_shadowed_for_var_lookup, decl_shadowed_for_var_insert)
(init_shadowed_var_for_decl): Delete.
* decl.c (poplevel): Remove shadowed for var handling.
(cxx_init_decl_processing): Remove -ffor-scope deprecation.
* name-lookup.c (find_local_binding): Remove shadowed for var
handling.
(check_local_shadow): Likewise.
(check_for_out_of_scope_variable): Delete.
* parser.c (cp_parser_primary_expression): Remove shadowed for var
handling.
* pt.c (tsubst_decl): Remove DECL_DEAD_FOR_LOCAL setting.
* semantics.c (begin_for_scope): Always have a scope.
(begin_for_stmt, finish_for_stmt): Remove ARM-for scope handling.
(begin_range_for_stmt, finish_id_expression): Likewise.
gcc/
* doc/invoke.texi (C++ Dialect Options): Remove -ffor-scope.
* doc/extend.texi (Deprecated Features): Remove -fno-for-scope
(Backwards Compatibility): Likewise.
c-family/
* c.opt (ffor-scope): Remove functionality, issue warning.
gcc/objcp/
* objcp-lang.c (objcxx_init_ts): Don't call init_shadowed_var_for_decl.
gcc/testsuite/
* g++.dg/cpp0x/range-for10.C: Delete.
* g++.dg/ext/forscope1.C: Delete.
* g++.dg/ext/forscope2.C: Delete.
* g++.dg/template/for1.C: Delete.
From-SVN: r260015
Diffstat (limited to 'gcc/cp/cp-objcp-common.c')
-rw-r--r-- | gcc/cp/cp-objcp-common.c | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/gcc/cp/cp-objcp-common.c b/gcc/cp/cp-objcp-common.c index 5289a89..25f0b3e 100644 --- a/gcc/cp/cp-objcp-common.c +++ b/gcc/cp/cp-objcp-common.c @@ -298,43 +298,6 @@ has_c_linkage (const_tree decl) return DECL_EXTERN_C_P (decl); } -static GTY ((cache)) - hash_table<tree_decl_map_cache_hasher> *shadowed_var_for_decl; - -/* Lookup a shadowed var for FROM, and return it if we find one. */ - -tree -decl_shadowed_for_var_lookup (tree from) -{ - struct tree_decl_map *h, in; - in.base.from = from; - - h = shadowed_var_for_decl->find_with_hash (&in, DECL_UID (from)); - if (h) - return h->to; - return NULL_TREE; -} - -/* Insert a mapping FROM->TO in the shadowed var hashtable. */ - -void -decl_shadowed_for_var_insert (tree from, tree to) -{ - struct tree_decl_map *h; - - h = ggc_alloc<tree_decl_map> (); - h->base.from = from; - h->to = to; - *shadowed_var_for_decl->find_slot_with_hash (h, DECL_UID (from), INSERT) = h; -} - -void -init_shadowed_var_for_decl (void) -{ - shadowed_var_for_decl - = hash_table<tree_decl_map_cache_hasher>::create_ggc (512); -} - /* Return true if stmt can fall through. Used by block_may_fallthru default case. */ |