This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch master in repository gcc.
from b41d7eb0e14 RISC-V: Enable Hoist to GCSE simple constants new a62c8324e7e OpenMP: Add OMP_STRUCTURED_BLOCK and GIMPLE_OMP_STRUCTURED_BLOCK. new 143151ac201 OpenMP: C front end support for imperfectly-nested loops new 53891f18f32 OpenMP: C++ support for imperfectly-nested loops new 410df0843db OpenMP: New C/C++ testcases for imperfectly nested loops. new b7c4a12a9df OpenMP: Fortran support for imperfectly-nested loops new 87f9b6c2cfd OpenMP: Document support for imperfectly-nested loops.
The 6 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
Summary of changes: gcc/c-family/c-common.h | 1 + gcc/c-family/c-omp.cc | 151 +++ gcc/c/c-parser.cc | 860 +++++++++---- gcc/cp/constexpr.cc | 1 + gcc/cp/cp-tree.h | 2 +- gcc/cp/parser.cc | 1315 ++++++++++++++------ gcc/cp/parser.h | 3 + gcc/cp/pt.cc | 4 +- gcc/cp/semantics.cc | 117 +- gcc/doc/generic.texi | 14 + gcc/doc/gimple.texi | 19 + gcc/fortran/gfortran.h | 3 + gcc/fortran/openmp.cc | 763 ++++++++++-- gcc/fortran/trans-stmt.cc | 7 +- gcc/gimple-low.cc | 4 + gcc/gimple-pretty-print.cc | 6 +- gcc/gimple-walk.cc | 1 + gcc/gimple.cc | 15 + gcc/gimple.def | 5 + gcc/gimple.h | 3 + gcc/gimplify.cc | 6 + gcc/{config/i386/winnt-stubs.cc => omp-api.h} | 33 +- gcc/omp-expand.cc | 4 + gcc/omp-general.cc | 134 ++ gcc/omp-general.h | 1 + gcc/omp-low.cc | 140 +-- gcc/testsuite/c-c++-common/goacc/collapse-1.c | 16 +- gcc/testsuite/c-c++-common/goacc/tile-2.c | 4 +- .../c-c++-common/gomp/imperfect-attributes.c | 81 ++ .../c-c++-common/gomp/imperfect-badloops.c | 50 + gcc/testsuite/c-c++-common/gomp/imperfect-blocks.c | 75 ++ .../c-c++-common/gomp/imperfect-extension.c | 55 + gcc/testsuite/c-c++-common/gomp/imperfect-gotos.c | 174 +++ .../c-c++-common/gomp/imperfect-invalid-scope.c | 77 ++ gcc/testsuite/c-c++-common/gomp/imperfect-labels.c | 85 ++ .../c-c++-common/gomp/imperfect-legacy-syntax.c | 44 + .../c-c++-common/gomp/imperfect-pragmas.c | 85 ++ gcc/testsuite/c-c++-common/gomp/imperfect1.c | 38 + gcc/testsuite/c-c++-common/gomp/imperfect2.c | 34 + gcc/testsuite/c-c++-common/gomp/imperfect3.c | 52 + gcc/testsuite/c-c++-common/gomp/imperfect4.c | 33 + gcc/testsuite/c-c++-common/gomp/imperfect5.c | 95 ++ gcc/testsuite/g++.dg/gomp/attrs-imperfect1.C | 38 + gcc/testsuite/g++.dg/gomp/attrs-imperfect2.C | 34 + gcc/testsuite/g++.dg/gomp/attrs-imperfect3.C | 33 + gcc/testsuite/g++.dg/gomp/attrs-imperfect4.C | 33 + gcc/testsuite/g++.dg/gomp/attrs-imperfect5.C | 57 + gcc/testsuite/g++.dg/gomp/pr41967.C | 2 +- gcc/testsuite/g++.dg/gomp/tpl-imperfect-gotos.C | 161 +++ .../g++.dg/gomp/tpl-imperfect-invalid-scope.C | 94 ++ gcc/testsuite/gcc.dg/gomp/collapse-1.c | 10 +- gcc/testsuite/gfortran.dg/gomp/collapse1.f90 | 6 +- gcc/testsuite/gfortran.dg/gomp/collapse2.f90 | 10 +- gcc/testsuite/gfortran.dg/gomp/imperfect-gotos.f90 | 69 + .../gfortran.dg/gomp/imperfect-invalid-scope.f90 | 81 ++ gcc/testsuite/gfortran.dg/gomp/imperfect1.f90 | 39 + gcc/testsuite/gfortran.dg/gomp/imperfect2.f90 | 56 + gcc/testsuite/gfortran.dg/gomp/imperfect3.f90 | 45 + gcc/testsuite/gfortran.dg/gomp/imperfect4.f90 | 36 + gcc/testsuite/gfortran.dg/gomp/imperfect5.f90 | 85 ++ gcc/tree-inline.cc | 6 + gcc/tree-nested.cc | 3 + gcc/tree-pretty-print.cc | 4 + gcc/tree.def | 9 + gcc/tree.h | 3 + libgomp/libgomp.texi | 2 +- libgomp/testsuite/libgomp.c++/attrs-imperfect1.C | 76 ++ libgomp/testsuite/libgomp.c++/attrs-imperfect2.C | 114 ++ libgomp/testsuite/libgomp.c++/attrs-imperfect3.C | 119 ++ libgomp/testsuite/libgomp.c++/attrs-imperfect4.C | 117 ++ libgomp/testsuite/libgomp.c++/attrs-imperfect5.C | 49 + libgomp/testsuite/libgomp.c++/attrs-imperfect6.C | 115 ++ libgomp/testsuite/libgomp.c++/imperfect-class-1.C | 169 +++ libgomp/testsuite/libgomp.c++/imperfect-class-2.C | 167 +++ libgomp/testsuite/libgomp.c++/imperfect-class-3.C | 167 +++ .../testsuite/libgomp.c++/imperfect-destructor.C | 135 ++ .../{for-27.C => imperfect-template-1.C} | 135 +- .../{for-27.C => imperfect-template-2.C} | 133 +- .../{for-27.C => imperfect-template-3.C} | 133 +- .../testsuite/libgomp.c-c++-common/imperfect1.c | 76 ++ .../testsuite/libgomp.c-c++-common/imperfect2.c | 114 ++ .../testsuite/libgomp.c-c++-common/imperfect3.c | 119 ++ .../testsuite/libgomp.c-c++-common/imperfect4.c | 117 ++ .../testsuite/libgomp.c-c++-common/imperfect5.c | 49 + .../testsuite/libgomp.c-c++-common/imperfect6.c | 115 ++ .../libgomp.c-c++-common/target-imperfect1.c | 81 ++ .../libgomp.c-c++-common/target-imperfect2.c | 122 ++ .../libgomp.c-c++-common/target-imperfect3.c | 125 ++ .../libgomp.c-c++-common/target-imperfect4.c | 122 ++ .../libgomp.fortran/imperfect-destructor.f90 | 142 +++ libgomp/testsuite/libgomp.fortran/imperfect1.f90 | 67 + libgomp/testsuite/libgomp.fortran/imperfect2.f90 | 102 ++ libgomp/testsuite/libgomp.fortran/imperfect3.f90 | 110 ++ libgomp/testsuite/libgomp.fortran/imperfect4.f90 | 121 ++ .../libgomp.fortran/target-imperfect1.f90 | 72 ++ .../libgomp.fortran/target-imperfect2.f90 | 110 ++ .../libgomp.fortran/target-imperfect3.f90 | 116 ++ .../libgomp.fortran/target-imperfect4.f90 | 126 ++ 98 files changed, 8029 insertions(+), 1132 deletions(-) copy gcc/{config/i386/winnt-stubs.cc => omp-api.h} (59%) create mode 100644 gcc/testsuite/c-c++-common/gomp/imperfect-attributes.c create mode 100644 gcc/testsuite/c-c++-common/gomp/imperfect-badloops.c create mode 100644 gcc/testsuite/c-c++-common/gomp/imperfect-blocks.c create mode 100644 gcc/testsuite/c-c++-common/gomp/imperfect-extension.c create mode 100644 gcc/testsuite/c-c++-common/gomp/imperfect-gotos.c create mode 100644 gcc/testsuite/c-c++-common/gomp/imperfect-invalid-scope.c create mode 100644 gcc/testsuite/c-c++-common/gomp/imperfect-labels.c create mode 100644 gcc/testsuite/c-c++-common/gomp/imperfect-legacy-syntax.c create mode 100644 gcc/testsuite/c-c++-common/gomp/imperfect-pragmas.c create mode 100644 gcc/testsuite/c-c++-common/gomp/imperfect1.c create mode 100644 gcc/testsuite/c-c++-common/gomp/imperfect2.c create mode 100644 gcc/testsuite/c-c++-common/gomp/imperfect3.c create mode 100644 gcc/testsuite/c-c++-common/gomp/imperfect4.c create mode 100644 gcc/testsuite/c-c++-common/gomp/imperfect5.c create mode 100644 gcc/testsuite/g++.dg/gomp/attrs-imperfect1.C create mode 100644 gcc/testsuite/g++.dg/gomp/attrs-imperfect2.C create mode 100644 gcc/testsuite/g++.dg/gomp/attrs-imperfect3.C create mode 100644 gcc/testsuite/g++.dg/gomp/attrs-imperfect4.C create mode 100644 gcc/testsuite/g++.dg/gomp/attrs-imperfect5.C create mode 100644 gcc/testsuite/g++.dg/gomp/tpl-imperfect-gotos.C create mode 100644 gcc/testsuite/g++.dg/gomp/tpl-imperfect-invalid-scope.C create mode 100644 gcc/testsuite/gfortran.dg/gomp/imperfect-gotos.f90 create mode 100644 gcc/testsuite/gfortran.dg/gomp/imperfect-invalid-scope.f90 create mode 100644 gcc/testsuite/gfortran.dg/gomp/imperfect1.f90 create mode 100644 gcc/testsuite/gfortran.dg/gomp/imperfect2.f90 create mode 100644 gcc/testsuite/gfortran.dg/gomp/imperfect3.f90 create mode 100644 gcc/testsuite/gfortran.dg/gomp/imperfect4.f90 create mode 100644 gcc/testsuite/gfortran.dg/gomp/imperfect5.f90 create mode 100644 libgomp/testsuite/libgomp.c++/attrs-imperfect1.C create mode 100644 libgomp/testsuite/libgomp.c++/attrs-imperfect2.C create mode 100644 libgomp/testsuite/libgomp.c++/attrs-imperfect3.C create mode 100644 libgomp/testsuite/libgomp.c++/attrs-imperfect4.C create mode 100644 libgomp/testsuite/libgomp.c++/attrs-imperfect5.C create mode 100644 libgomp/testsuite/libgomp.c++/attrs-imperfect6.C create mode 100644 libgomp/testsuite/libgomp.c++/imperfect-class-1.C create mode 100644 libgomp/testsuite/libgomp.c++/imperfect-class-2.C create mode 100644 libgomp/testsuite/libgomp.c++/imperfect-class-3.C create mode 100644 libgomp/testsuite/libgomp.c++/imperfect-destructor.C copy libgomp/testsuite/libgomp.c++/{for-27.C => imperfect-template-1.C} (71%) copy libgomp/testsuite/libgomp.c++/{for-27.C => imperfect-template-2.C} (71%) copy libgomp/testsuite/libgomp.c++/{for-27.C => imperfect-template-3.C} (72%) create mode 100644 libgomp/testsuite/libgomp.c-c++-common/imperfect1.c create mode 100644 libgomp/testsuite/libgomp.c-c++-common/imperfect2.c create mode 100644 libgomp/testsuite/libgomp.c-c++-common/imperfect3.c create mode 100644 libgomp/testsuite/libgomp.c-c++-common/imperfect4.c create mode 100644 libgomp/testsuite/libgomp.c-c++-common/imperfect5.c create mode 100644 libgomp/testsuite/libgomp.c-c++-common/imperfect6.c create mode 100644 libgomp/testsuite/libgomp.c-c++-common/target-imperfect1.c create mode 100644 libgomp/testsuite/libgomp.c-c++-common/target-imperfect2.c create mode 100644 libgomp/testsuite/libgomp.c-c++-common/target-imperfect3.c create mode 100644 libgomp/testsuite/libgomp.c-c++-common/target-imperfect4.c create mode 100644 libgomp/testsuite/libgomp.fortran/imperfect-destructor.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/imperfect1.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/imperfect2.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/imperfect3.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/imperfect4.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/target-imperfect1.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/target-imperfect2.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/target-imperfect3.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/target-imperfect4.f90