[PR middle-end/71373] Document missing OMP_CLAUSE_* in gcc/tree-nested.c
authorThomas Schwinge <thomas@codesourcery.com>
Mon, 13 Jun 2016 16:37:29 +0000 (18:37 +0200)
committerThomas Schwinge <tschwinge@gcc.gnu.org>
Mon, 13 Jun 2016 16:37:29 +0000 (18:37 +0200)
gcc/
PR middle-end/71373
* tree-nested.c (convert_nonlocal_omp_clauses)
(convert_local_omp_clauses): Document missing OMP_CLAUSE_*.

From-SVN: r237386

gcc/ChangeLog
gcc/tree-nested.c

index ff685b1ffc421d1626df3bf97b2691deb7e8e228..89098e7db11fe29da65f669a4808019d839d3d6e 100644 (file)
@@ -1,5 +1,9 @@
 2016-06-13  Thomas Schwinge  <thomas@codesourcery.com>
 
+       PR middle-end/71373
+       * tree-nested.c (convert_nonlocal_omp_clauses)
+       (convert_local_omp_clauses): Document missing OMP_CLAUSE_*.
+
        * tree-cfg.c (edge_to_cases_cleanup): Fix CASE_CHAIN typo.
        * tree.def (CASE_LABEL_EXPR): Likewise.
 
index 812f619c05faef9149d422f7e5044fbb334649f5..62cb01fbba946d6c1af87243dc02c44408825b41 100644 (file)
@@ -1203,17 +1203,29 @@ convert_nonlocal_omp_clauses (tree *pclauses, struct walk_stmt_info *wi)
        case OMP_CLAUSE_AUTO:
          break;
 
+         /* OpenACC tile clauses are discarded during gimplification.  */
        case OMP_CLAUSE_TILE:
-         /* OpenACC tile clauses are discarded during gimplification, so we
-            don't expect to see anything here.  */
-         gcc_unreachable ();
-
+         /* The following clause belongs to the OpenACC cache directive, which
+            is discarded during gimplification.  */
        case OMP_CLAUSE__CACHE_:
-         /* These clauses belong to the OpenACC cache directive, which is
-            discarded during gimplification, so we don't expect to see
-            anything here.  */
-         gcc_unreachable ();
-
+         /* The following clauses are only allowed in the OpenMP declare simd
+            directive, so not seen here.  */
+       case OMP_CLAUSE_UNIFORM:
+       case OMP_CLAUSE_INBRANCH:
+       case OMP_CLAUSE_NOTINBRANCH:
+         /* The following clauses are only allowed on OpenMP cancel and
+            cancellation point directives, which at this point have already
+            been lowered into a function call.  */
+       case OMP_CLAUSE_FOR:
+       case OMP_CLAUSE_PARALLEL:
+       case OMP_CLAUSE_SECTIONS:
+       case OMP_CLAUSE_TASKGROUP:
+         /* The following clauses are only added during OMP lowering; nested
+            function decomposition happens before that.  */
+       case OMP_CLAUSE__LOOPTEMP_:
+       case OMP_CLAUSE__SIMDUID_:
+       case OMP_CLAUSE__GRIDDIM_:
+         /* Anything else.  */
        default:
          gcc_unreachable ();
        }
@@ -1899,17 +1911,29 @@ convert_local_omp_clauses (tree *pclauses, struct walk_stmt_info *wi)
        case OMP_CLAUSE_AUTO:
          break;
 
+         /* OpenACC tile clauses are discarded during gimplification.  */
        case OMP_CLAUSE_TILE:
-         /* OpenACC tile clauses are discarded during gimplification, so we
-            don't expect to see anything here.  */
-         gcc_unreachable ();
-
+         /* The following clause belongs to the OpenACC cache directive, which
+            is discarded during gimplification.  */
        case OMP_CLAUSE__CACHE_:
-         /* These clauses belong to the OpenACC cache directive, which is
-            discarded during gimplification, so we don't expect to see
-            anything here.  */
-         gcc_unreachable ();
-
+         /* The following clauses are only allowed in the OpenMP declare simd
+            directive, so not seen here.  */
+       case OMP_CLAUSE_UNIFORM:
+       case OMP_CLAUSE_INBRANCH:
+       case OMP_CLAUSE_NOTINBRANCH:
+         /* The following clauses are only allowed on OpenMP cancel and
+            cancellation point directives, which at this point have already
+            been lowered into a function call.  */
+       case OMP_CLAUSE_FOR:
+       case OMP_CLAUSE_PARALLEL:
+       case OMP_CLAUSE_SECTIONS:
+       case OMP_CLAUSE_TASKGROUP:
+         /* The following clauses are only added during OMP lowering; nested
+            function decomposition happens before that.  */
+       case OMP_CLAUSE__LOOPTEMP_:
+       case OMP_CLAUSE__SIMDUID_:
+       case OMP_CLAUSE__GRIDDIM_:
+         /* Anything else.  */
        default:
          gcc_unreachable ();
        }