[OPENMP] Fix printing of array section with single index.
authorAlexey Bataev <a.bataev@hotmail.com>
Fri, 11 Sep 2015 04:54:28 +0000 (04:54 +0000)
committerAlexey Bataev <a.bataev@hotmail.com>
Fri, 11 Sep 2015 04:54:28 +0000 (04:54 +0000)
llvm-svn: 247389

clang/lib/AST/StmtPrinter.cpp
clang/test/OpenMP/task_ast_print.cpp

index f08e3a3..173b5c7 100644 (file)
@@ -1300,9 +1300,11 @@ void StmtPrinter::VisitOMPArraySectionExpr(OMPArraySectionExpr *Node) {
   OS << "[";
   if (Node->getLowerBound())
     PrintExpr(Node->getLowerBound());
-  OS << ":";
-  if (Node->getLength())
-    PrintExpr(Node->getLength());
+  if (Node->getColonLoc().isValid()) {
+    OS << ":";
+    if (Node->getLength())
+      PrintExpr(Node->getLength());
+  }
   OS << "]";
 }
 
index c87dbdd..dae967e 100644 (file)
@@ -87,8 +87,8 @@ int main(int argc, char **argv) {
 #pragma omp threadprivate(a)
   Enum ee;
 // CHECK: Enum ee;
-#pragma omp task untied mergeable depend(out:argv[1], (arr)[0:]) if(task: argc > 0)
-  // CHECK-NEXT: #pragma omp task untied mergeable depend(out : argv[1],(arr)[0:]) if(task: argc > 0)
+#pragma omp task untied mergeable depend(out:argv[:a][1], (arr)[0:]) if(task: argc > 0)
+  // CHECK-NEXT: #pragma omp task untied mergeable depend(out : argv[:a][1],(arr)[0:]) if(task: argc > 0)
   a = 2;
 // CHECK-NEXT: a = 2;
 #pragma omp task default(none), private(argc, b) firstprivate(argv) if (argc > 0) final(a > 0) depend(inout : a, argv[:argc],arr[:a])