[Bug c++/43486] Preserve variable-use locations

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Nov 26 09:07:00 GMT 2020


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

--- Comment #19 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Thomas Schwinge
<tschwinge@gcc.gnu.org>:

https://gcc.gnu.org/g:e8e0357d129187b24085ce52172c87dbf6c2ecae

commit r10-9086-ge8e0357d129187b24085ce52172c87dbf6c2ecae
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Wed Nov 25 20:36:55 2020 +0100

    Don't create location wrapper nodes within OpenACC clauses

    This fixes a GCC 11, 10, 9 regression introduced by commit
    dfd7fdca2ac17d8b823a16700525824ca312ade0 (Subversion r267272) "C++: more
    location wrapper nodes (PR c++/43064, PR c++/43486)".  But: this isn't
    intending to blame David, because back then, the problem hasn't been
visible in
    the testsuite (or else I'm sure would've been addressed right away) because
of
    our all dear friend: missing testsuite coverage.  Thus, for GCC 8, I'm
likewise
    enhancing the testsuite, without the C++ front end code changes.

    I actually had presumed that there may be an issue for OpenACC:
    <http://mid.mail-archive.com/874lb9qr2u.fsf@euler.schwinge.homeip.net>, so
here
    we are, two years (and many "wasted" hours...) later...

            gcc/cp/
            * parser.c (cp_parser_omp_var_list_no_open): Assert that array
            section's 'low_bound', 'length' are not location wrapper nodes.
            (cp_parser_oacc_all_clauses, cp_parser_oacc_cache): Instantiate
            'auto_suppress_location_wrappers'.
            gcc/testsuite/
            * c-c++-common/goacc/cache-3-1.c: New.
            * c-c++-common/goacc/cache-3-2.c: Likewise.
            * c-c++-common/goacc/data-clause-1.c: Likewise.
            * c-c++-common/goacc/data-clause-2.c: Likewise.
            * c-c++-common/gomp/map-1.c: Adjust.
            * c-c++-common/gomp/map-2.c: Likewise.
            * g++.dg/goacc/cache-3-1.C: New.
            * g++.dg/goacc/cache-3-2.C: Likewise.
            * g++.dg/goacc/data-clause-1.C: Likewise.
            * g++.dg/goacc/data-clause-2.C: Likewise.
            * g++.dg/gomp/map-1.C: Adjust.
            * g++.dg/gomp/map-2.C: Likewise.

    Reported-by: Sandra Loosemore <sandra@codesourcery.com>
    (cherry picked from commit c0c7270cc4efd896fe99f8ad5409dbef089a407f)


More information about the Gcc-bugs mailing list