[Bug c++/85515] Bogus suggestions from "GCC's leaky abstractions"

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Jul 25 16:47:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85515

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Wed Jul 25 16:46:34 2018
New Revision: 262975

URL: https://gcc.gnu.org/viewcvs?rev=262975&root=gcc&view=rev
Log:
        PR c++/85515
        * cp-tree.h (enum cp_tree_index): Add
        CPTI_FOR_{RANGE,BEGIN,END}{,_}_IDENTIFIER.
        (for_range__identifier, for_begin__identifier, for_end__identifier,
        for_range_identifier, for_begin_identifier, for_end_identifier):
        Define.
        * decl.c (initialize_predefined_identifiers): Initialize
        for_{range,begin,end}{,_}_identifier.
        * parser.c (build_range_temp): Use for_range__identifier instead of
        get_identifier ("__for_range").
        (cp_convert_range_for): Use for_begin__identifier and
        for_end__identifier instead of get_identifier ("__for_begin") and
        get_identifier ("__for_end").
        * semantics.c (finish_for_stmt): Rename "__for_{range,begin,end} "
        local symbols to "__for_{range,begin,end}".

        * g++.dg/pr85515-2.C: Add expected dg-error.
        * g++.dg/cpp0x/range-for36.C: New test.

Added:
    trunk/gcc/testsuite/g++.dg/cpp0x/range-for36.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/decl.c
    trunk/gcc/cp/parser.c
    trunk/gcc/cp/semantics.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/pr85515-2.C


More information about the Gcc-bugs mailing list