[Bug debug/104517] '-fcompare-debug' failure w/ -O1 -fopenmp -fno-tree-ter

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Feb 15 09:25:24 GMT 2022


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

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:6a0d6e7ca9b9e338e82572db79c26168684a7441

commit r12-7237-g6a0d6e7ca9b9e338e82572db79c26168684a7441
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Tue Feb 15 10:22:30 2022 +0100

    openmp: Make finalize_task_copyfn order reproduceable [PR104517]

    The following testcase fails -fcompare-debug, because finalize_task_copyfn
    was invoked from splay tree destruction, whose order can in some cases
    depend on -g/-g0.  The fix is to queue the task stmts that need copyfn
    in a vector and run finalize_task_copyfn on elements of that vector.

    2022-02-15  Jakub Jelinek  <jakub@redhat.com>

            PR debug/104517
            * omp-low.cc (task_cpyfns): New variable.
            (delete_omp_context): Don't call finalize_task_copyfn from here.
            (create_task_copyfn): Push task_stmt into task_cpyfns.
            (execute_lower_omp): Call finalize_task_copyfn here on entries from
            task_cpyfns vector and release the vector.

            * gcc.dg/gomp/pr104517.c: New test.


More information about the Gcc-bugs mailing list