aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-stmt.c
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@acm.org>2020-09-29 09:38:34 -0700
committerNathan Sidwell <nathan@acm.org>2020-09-29 09:41:50 -0700
commitadcf8a11c772e7a0c64d4ae3eb19a520566f32b9 (patch)
treec94405c1757de5e0bc8f56f679b143bfb9f4b4f0 /gcc/fortran/trans-stmt.c
parent74b5b8dec467f922f6c40a320859054081c7bb09 (diff)
downloadgcc-adcf8a11c772e7a0c64d4ae3eb19a520566f32b9.zip
gcc-adcf8a11c772e7a0c64d4ae3eb19a520566f32b9.tar.gz
gcc-adcf8a11c772e7a0c64d4ae3eb19a520566f32b9.tar.bz2
c++: Name lookup simplifications
Here are a few cleanups, prior to landing the hidden decl changes. 1) Clear cxx_binding flags in the allocator, not at each user of the allocator. 2) Refactor update_binding. The logic was getting too convoluted. 3) Set friendliness and anticipatedness before pushing a template decl (not after). gcc/cp/ * name-lookup.c (create_local_binding): Do not clear INHERITED_VALUE_BINDING_P here. (name_lookup::process_binding): Move done hidden-decl triage to ... (name_lookup::search_namespace_only): ... here, its only caller. (cxx_binding_make): Clear flags here. (push_binding): Not here. (pop_local_binding): RAII. (update_binding): Refactor. (do_pushdecl): Assert we're never revealing a local binding. (do_pushdecl_with_scope): Directly call do_pushdecl. (get_class_binding): Do not clear LOCAL_BINDING_P here. * pt.c (push_template_decl): Set friend & anticipated before pushing.
Diffstat (limited to 'gcc/fortran/trans-stmt.c')
0 files changed, 0 insertions, 0 deletions