brintos

brintos / llvm-project-archived public Read only

0
0
Text · 212.0 KiB · 09b649c Raw
2184 lines · c
1// RUN: %clang_cc1 -triple x86_64-unknown-unknown -fopenmp -ast-dump %s | FileCheck --match-full-lines -implicit-check-not=openmp_structured_block %s2 3void test_one(int x) {4#pragma omp target5#pragma omp teams distribute parallel for6  for (int i = 0; i < x; i++)7    ;8}9 10void test_two(int x, int y) {11#pragma omp target12#pragma omp teams distribute parallel for13  for (int i = 0; i < x; i++)14    for (int i = 0; i < y; i++)15      ;16}17 18void test_three(int x, int y) {19#pragma omp target20#pragma omp teams distribute parallel for collapse(1)21  for (int i = 0; i < x; i++)22    for (int i = 0; i < y; i++)23      ;24}25 26void test_four(int x, int y) {27#pragma omp target28#pragma omp teams distribute parallel for collapse(2)29  for (int i = 0; i < x; i++)30    for (int i = 0; i < y; i++)31      ;32}33 34void test_five(int x, int y, int z) {35#pragma omp target36#pragma omp teams distribute parallel for collapse(2)37  for (int i = 0; i < x; i++)38    for (int i = 0; i < y; i++)39      for (int i = 0; i < z; i++)40        ;41}42 43// CHECK: TranslationUnitDecl {{.*}} <<invalid sloc>> <invalid sloc>44// CHECK: |-FunctionDecl {{.*}} <{{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:3:1, line:8:1> line:3:6 test_one 'void (int)'45// CHECK-NEXT: | |-ParmVarDecl {{.*}} <col:15, col:19> col:19 used x 'int'46// CHECK-NEXT: | `-CompoundStmt {{.*}} <col:22, line:8:1>47// CHECK-NEXT: |   `-OMPTargetDirective {{.*}} <line:4:1, col:19>48// CHECK-NEXT: |     |-OMPFirstprivateClause {{.*}} <<invalid sloc>> <implicit>49// CHECK-NEXT: |     | `-DeclRefExpr {{.*}} <line:6:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture50// CHECK-NEXT: |     `-CapturedStmt {{.*}} <line:5:1, col:42>51// CHECK-NEXT: |       |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow52// CHECK-NEXT: |       | |-CapturedStmt {{.*}} <col:1, col:42>53// CHECK-NEXT: |       | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow54// CHECK-NEXT: |       | | | |-OMPTeamsDistributeParallelForDirective {{.*}} <col:1, col:42>55// CHECK-NEXT: |       | | | | `-CapturedStmt {{.*}} <line:6:3, line:7:5>56// CHECK-NEXT: |       | | | |   |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow57// CHECK-NEXT: |       | | | |   | |-CapturedStmt {{.*}} <line:6:3, line:7:5>58// CHECK-NEXT: |       | | | |   | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow59// CHECK-NEXT: |       | | | |   | | | |-ForStmt {{.*}} <line:6:3, line:7:5>60// CHECK-NEXT: |       | | | |   | | | | |-DeclStmt {{.*}} <line:6:8, col:17>61// CHECK-NEXT: |       | | | |   | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit62// CHECK-NEXT: |       | | | |   | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 063// CHECK-NEXT: |       | | | |   | | | | |-<<<NULL>>>64// CHECK-NEXT: |       | | | |   | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'65// CHECK-NEXT: |       | | | |   | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>66// CHECK-NEXT: |       | | | |   | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'67// CHECK-NEXT: |       | | | |   | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>68// CHECK-NEXT: |       | | | |   | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture69// CHECK-NEXT: |       | | | |   | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'70// CHECK-NEXT: |       | | | |   | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'71// CHECK-NEXT: |       | | | |   | | | | `-NullStmt {{.*}} <line:7:5>72// CHECK-NEXT: |       | | | |   | | | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'73// CHECK-NEXT: |       | | | |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'74// CHECK-NEXT: |       | | | |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'75// CHECK-NEXT: |       | | | |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'76// CHECK-NEXT: |       | | | |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:5:1) *const restrict'77// CHECK-NEXT: |       | | | |   | | | `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit78// CHECK-NEXT: |       | | | |   | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 079// CHECK-NEXT: |       | | | |   | | `-DeclRefExpr {{.*}} <col:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture80// CHECK-NEXT: |       | | | |   | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'81// CHECK-NEXT: |       | | | |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'82// CHECK-NEXT: |       | | | |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:5:1) *const restrict'83// CHECK-NEXT: |       | | | |   | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition84// CHECK-NEXT: |       | | | |   | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit85// CHECK-NEXT: |       | | | |   | | `-FieldDecl {{.*}} <line:6:3> col:3 implicit 'int &'86// CHECK-NEXT: |       | | | |   | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow87// CHECK-NEXT: |       | | | |   |   |-ForStmt {{.*}} <col:3, line:7:5>88// CHECK-NEXT: |       | | | |   |   | |-DeclStmt {{.*}} <line:6:8, col:17>89// CHECK-NEXT: |       | | | |   |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit90// CHECK-NEXT: |       | | | |   |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 091// CHECK-NEXT: |       | | | |   |   | |-<<<NULL>>>92// CHECK-NEXT: |       | | | |   |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'93// CHECK-NEXT: |       | | | |   |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>94// CHECK-NEXT: |       | | | |   |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'95// CHECK-NEXT: |       | | | |   |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>96// CHECK-NEXT: |       | | | |   |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture97// CHECK-NEXT: |       | | | |   |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'98// CHECK-NEXT: |       | | | |   |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'99// CHECK-NEXT: |       | | | |   |   | `-NullStmt {{.*}} <line:7:5>100// CHECK-NEXT: |       | | | |   |   |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'101// CHECK-NEXT: |       | | | |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'102// CHECK-NEXT: |       | | | |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'103// CHECK-NEXT: |       | | | |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'104// CHECK-NEXT: |       | | | |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:5:1) *const restrict'105// CHECK-NEXT: |       | | | |   |   `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit106// CHECK-NEXT: |       | | | |   |     `-IntegerLiteral {{.*}} <col:16> 'int' 0107// CHECK-NEXT: |       | | | |   `-DeclRefExpr {{.*}} <col:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture108// CHECK-NEXT: |       | | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:4:1) *const restrict'109// CHECK-NEXT: |       | | | |-RecordDecl {{.*}} <line:5:1> col:1 implicit struct definition110// CHECK-NEXT: |       | | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit111// CHECK-NEXT: |       | | | | `-FieldDecl {{.*}} <line:6:3> col:3 implicit 'int &'112// CHECK-NEXT: |       | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow113// CHECK-NEXT: |       | | | | |-CapturedStmt {{.*}} <col:3, line:7:5>114// CHECK-NEXT: |       | | | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow115// CHECK-NEXT: |       | | | | | | |-ForStmt {{.*}} <line:6:3, line:7:5>116// CHECK-NEXT: |       | | | | | | | |-DeclStmt {{.*}} <line:6:8, col:17>117// CHECK-NEXT: |       | | | | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit118// CHECK-NEXT: |       | | | | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0119// CHECK-NEXT: |       | | | | | | | |-<<<NULL>>>120// CHECK-NEXT: |       | | | | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'121// CHECK-NEXT: |       | | | | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>122// CHECK-NEXT: |       | | | | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'123// CHECK-NEXT: |       | | | | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>124// CHECK-NEXT: |       | | | | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture125// CHECK-NEXT: |       | | | | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'126// CHECK-NEXT: |       | | | | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'127// CHECK-NEXT: |       | | | | | | | `-NullStmt {{.*}} <line:7:5>128// CHECK-NEXT: |       | | | | | | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'129// CHECK-NEXT: |       | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'130// CHECK-NEXT: |       | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'131// CHECK-NEXT: |       | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'132// CHECK-NEXT: |       | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:5:1) *const restrict'133// CHECK-NEXT: |       | | | | | | `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit134// CHECK-NEXT: |       | | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0135// CHECK-NEXT: |       | | | | | `-DeclRefExpr {{.*}} <col:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture136// CHECK-NEXT: |       | | | | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'137// CHECK-NEXT: |       | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'138// CHECK-NEXT: |       | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:5:1) *const restrict'139// CHECK-NEXT: |       | | | | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition140// CHECK-NEXT: |       | | | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit141// CHECK-NEXT: |       | | | | | `-FieldDecl {{.*}} <line:6:3> col:3 implicit 'int &'142// CHECK-NEXT: |       | | | | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow143// CHECK-NEXT: |       | | | |   |-ForStmt {{.*}} <col:3, line:7:5>144// CHECK-NEXT: |       | | | |   | |-DeclStmt {{.*}} <line:6:8, col:17>145// CHECK-NEXT: |       | | | |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit146// CHECK-NEXT: |       | | | |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0147// CHECK-NEXT: |       | | | |   | |-<<<NULL>>>148// CHECK-NEXT: |       | | | |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'149// CHECK-NEXT: |       | | | |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>150// CHECK-NEXT: |       | | | |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'151// CHECK-NEXT: |       | | | |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>152// CHECK-NEXT: |       | | | |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture153// CHECK-NEXT: |       | | | |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'154// CHECK-NEXT: |       | | | |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'155// CHECK-NEXT: |       | | | |   | `-NullStmt {{.*}} <line:7:5>156// CHECK-NEXT: |       | | | |   |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'157// CHECK-NEXT: |       | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'158// CHECK-NEXT: |       | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'159// CHECK-NEXT: |       | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'160// CHECK-NEXT: |       | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:5:1) *const restrict'161// CHECK-NEXT: |       | | | |   `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit162// CHECK-NEXT: |       | | | |     `-IntegerLiteral {{.*}} <col:16> 'int' 0163// CHECK-NEXT: |       | | | |-OMPCapturedExprDecl {{.*}} <col:23> col:23 implicit used .capture_expr. 'int'164// CHECK-NEXT: |       | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>165// CHECK-NEXT: |       | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture166// CHECK-NEXT: |       | | | `-OMPCapturedExprDecl {{.*}} <col:3, <invalid sloc>> col:3 implicit used .capture_expr. 'int'167// CHECK-NEXT: |       | | |   `-BinaryOperator {{.*}} <col:3, <invalid sloc>> 'int' '-'168// CHECK-NEXT: |       | | |     |-BinaryOperator {{.*}} <col:3, col:26> 'int' '/'169// CHECK-NEXT: |       | | |     | |-ParenExpr {{.*}} <col:3> 'int'170// CHECK-NEXT: |       | | |     | | `-BinaryOperator {{.*}} <col:23, col:3> 'int' '-'171// CHECK-NEXT: |       | | |     | |   |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>172// CHECK-NEXT: |       | | |     | |   | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue OMPCapturedExpr {{.*}} '.capture_expr.' 'int'173// CHECK-NEXT: |       | | |     | |   `-ParenExpr {{.*}} <col:3> 'int'174// CHECK-NEXT: |       | | |     | |     `-BinaryOperator {{.*}} <col:16, <invalid sloc>> 'int' '+'175// CHECK-NEXT: |       | | |     | |       |-BinaryOperator {{.*}} <col:16, col:26> 'int' '-'176// CHECK-NEXT: |       | | |     | |       | |-IntegerLiteral {{.*}} <col:16> 'int' 0177// CHECK-NEXT: |       | | |     | |       | `-IntegerLiteral {{.*}} <col:26> 'int' 1178// CHECK-NEXT: |       | | |     | |       `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 1179// CHECK-NEXT: |       | | |     | `-IntegerLiteral {{.*}} <col:26> 'int' 1180// CHECK-NEXT: |       | | |     `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 1181// CHECK-NEXT: |       | | `-DeclRefExpr {{.*}} <col:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture182// CHECK-NEXT: |       | |-AlwaysInlineAttr {{.*}} <<invalid sloc>> Implicit __forceinline183// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int'184// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .part_id. 'const int *const restrict'185// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .privates. 'void *const restrict'186// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .copy_fn. 'void (*const restrict)(void *const restrict, ...)'187// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .task_t. 'void *const'188// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:4:1) *const restrict'189// CHECK-NEXT: |       | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition190// CHECK-NEXT: |       | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit191// CHECK-NEXT: |       | | `-FieldDecl {{.*}} <line:6:3> col:3 implicit 'int'192// CHECK-NEXT: |       | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}193// CHECK-NEXT: |       | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow194// CHECK-NEXT: |       |   |-OMPTeamsDistributeParallelForDirective {{.*}} <line:5:1, col:42>195// CHECK-NEXT: |       |   | `-CapturedStmt {{.*}} <line:6:3, line:7:5>196// CHECK-NEXT: |       |   |   |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow197// CHECK-NEXT: |       |   |   | |-CapturedStmt {{.*}} <line:6:3, line:7:5>198// CHECK-NEXT: |       |   |   | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow199// CHECK-NEXT: |       |   |   | | | |-ForStmt {{.*}} <line:6:3, line:7:5>200// CHECK-NEXT: |       |   |   | | | | |-DeclStmt {{.*}} <line:6:8, col:17>201// CHECK-NEXT: |       |   |   | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit202// CHECK-NEXT: |       |   |   | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0203// CHECK-NEXT: |       |   |   | | | | |-<<<NULL>>>204// CHECK-NEXT: |       |   |   | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'205// CHECK-NEXT: |       |   |   | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>206// CHECK-NEXT: |       |   |   | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'207// CHECK-NEXT: |       |   |   | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>208// CHECK-NEXT: |       |   |   | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture209// CHECK-NEXT: |       |   |   | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'210// CHECK-NEXT: |       |   |   | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'211// CHECK-NEXT: |       |   |   | | | | `-NullStmt {{.*}} <line:7:5>212// CHECK-NEXT: |       |   |   | | | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'213// CHECK-NEXT: |       |   |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'214// CHECK-NEXT: |       |   |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'215// CHECK-NEXT: |       |   |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'216// CHECK-NEXT: |       |   |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:5:1) *const restrict'217// CHECK-NEXT: |       |   |   | | | `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit218// CHECK-NEXT: |       |   |   | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0219// CHECK-NEXT: |       |   |   | | `-DeclRefExpr {{.*}} <col:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture220// CHECK-NEXT: |       |   |   | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'221// CHECK-NEXT: |       |   |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'222// CHECK-NEXT: |       |   |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:5:1) *const restrict'223// CHECK-NEXT: |       |   |   | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition224// CHECK-NEXT: |       |   |   | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit225// CHECK-NEXT: |       |   |   | | `-FieldDecl {{.*}} <line:6:3> col:3 implicit 'int &'226// CHECK-NEXT: |       |   |   | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow227// CHECK-NEXT: |       |   |   |   |-ForStmt {{.*}} <col:3, line:7:5>228// CHECK-NEXT: |       |   |   |   | |-DeclStmt {{.*}} <line:6:8, col:17>229// CHECK-NEXT: |       |   |   |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit230// CHECK-NEXT: |       |   |   |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0231// CHECK-NEXT: |       |   |   |   | |-<<<NULL>>>232// CHECK-NEXT: |       |   |   |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'233// CHECK-NEXT: |       |   |   |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>234// CHECK-NEXT: |       |   |   |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'235// CHECK-NEXT: |       |   |   |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>236// CHECK-NEXT: |       |   |   |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture237// CHECK-NEXT: |       |   |   |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'238// CHECK-NEXT: |       |   |   |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'239// CHECK-NEXT: |       |   |   |   | `-NullStmt {{.*}} <line:7:5>240// CHECK-NEXT: |       |   |   |   |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'241// CHECK-NEXT: |       |   |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'242// CHECK-NEXT: |       |   |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'243// CHECK-NEXT: |       |   |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'244// CHECK-NEXT: |       |   |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:5:1) *const restrict'245// CHECK-NEXT: |       |   |   |   `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit246// CHECK-NEXT: |       |   |   |     `-IntegerLiteral {{.*}} <col:16> 'int' 0247// CHECK-NEXT: |       |   |   `-DeclRefExpr {{.*}} <col:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture248// CHECK-NEXT: |       |   |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:4:1) *const restrict'249// CHECK-NEXT: |       |   |-RecordDecl {{.*}} <line:5:1> col:1 implicit struct definition250// CHECK-NEXT: |       |   | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit251// CHECK-NEXT: |       |   | `-FieldDecl {{.*}} <line:6:3> col:3 implicit 'int &'252// CHECK-NEXT: |       |   |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow253// CHECK-NEXT: |       |   | |-CapturedStmt {{.*}} <col:3, line:7:5>254// CHECK-NEXT: |       |   | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow255// CHECK-NEXT: |       |   | | | |-ForStmt {{.*}} <line:6:3, line:7:5>256// CHECK-NEXT: |       |   | | | | |-DeclStmt {{.*}} <line:6:8, col:17>257// CHECK-NEXT: |       |   | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit258// CHECK-NEXT: |       |   | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0259// CHECK-NEXT: |       |   | | | | |-<<<NULL>>>260// CHECK-NEXT: |       |   | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'261// CHECK-NEXT: |       |   | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>262// CHECK-NEXT: |       |   | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'263// CHECK-NEXT: |       |   | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>264// CHECK-NEXT: |       |   | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture265// CHECK-NEXT: |       |   | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'266// CHECK-NEXT: |       |   | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'267// CHECK-NEXT: |       |   | | | | `-NullStmt {{.*}} <line:7:5>268// CHECK-NEXT: |       |   | | | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'269// CHECK-NEXT: |       |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'270// CHECK-NEXT: |       |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'271// CHECK-NEXT: |       |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'272// CHECK-NEXT: |       |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:5:1) *const restrict'273// CHECK-NEXT: |       |   | | | `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit274// CHECK-NEXT: |       |   | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0275// CHECK-NEXT: |       |   | | `-DeclRefExpr {{.*}} <col:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture276// CHECK-NEXT: |       |   | |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'277// CHECK-NEXT: |       |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'278// CHECK-NEXT: |       |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:5:1) *const restrict'279// CHECK-NEXT: |       |   | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition280// CHECK-NEXT: |       |   | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit281// CHECK-NEXT: |       |   | | `-FieldDecl {{.*}} <line:6:3> col:3 implicit 'int &'282// CHECK-NEXT: |       |   | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow283// CHECK-NEXT: |       |   |   |-ForStmt {{.*}} <col:3, line:7:5>284// CHECK-NEXT: |       |   |   | |-DeclStmt {{.*}} <line:6:8, col:17>285// CHECK-NEXT: |       |   |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit286// CHECK-NEXT: |       |   |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0287// CHECK-NEXT: |       |   |   | |-<<<NULL>>>288// CHECK-NEXT: |       |   |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'289// CHECK-NEXT: |       |   |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>290// CHECK-NEXT: |       |   |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'291// CHECK-NEXT: |       |   |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>292// CHECK-NEXT: |       |   |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture293// CHECK-NEXT: |       |   |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'294// CHECK-NEXT: |       |   |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'295// CHECK-NEXT: |       |   |   | `-NullStmt {{.*}} <line:7:5>296// CHECK-NEXT: |       |   |   |-ImplicitParamDecl {{.*}} <line:5:1> col:1 implicit .global_tid. 'const int *const restrict'297// CHECK-NEXT: |       |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'298// CHECK-NEXT: |       |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'299// CHECK-NEXT: |       |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'300// CHECK-NEXT: |       |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:5:1) *const restrict'301// CHECK-NEXT: |       |   |   `-VarDecl {{.*}} <line:6:8, col:16> col:12 used i 'int' cinit302// CHECK-NEXT: |       |   |     `-IntegerLiteral {{.*}} <col:16> 'int' 0303// CHECK-NEXT: |       |   |-OMPCapturedExprDecl {{.*}} <col:23> col:23 implicit used .capture_expr. 'int'304// CHECK-NEXT: |       |   | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>305// CHECK-NEXT: |       |   |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture306// CHECK-NEXT: |       |   `-OMPCapturedExprDecl {{.*}} <col:3, <invalid sloc>> col:3 implicit used .capture_expr. 'int'307// CHECK-NEXT: |       |     `-BinaryOperator {{.*}} <col:3, <invalid sloc>> 'int' '-'308// CHECK-NEXT: |       |       |-BinaryOperator {{.*}} <col:3, col:26> 'int' '/'309// CHECK-NEXT: |       |       | |-ParenExpr {{.*}} <col:3> 'int'310// CHECK-NEXT: |       |       | | `-BinaryOperator {{.*}} <col:23, col:3> 'int' '-'311// CHECK-NEXT: |       |       | |   |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>312// CHECK-NEXT: |       |       | |   | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue OMPCapturedExpr {{.*}} '.capture_expr.' 'int'313// CHECK-NEXT: |       |       | |   `-ParenExpr {{.*}} <col:3> 'int'314// CHECK-NEXT: |       |       | |     `-BinaryOperator {{.*}} <col:16, <invalid sloc>> 'int' '+'315// CHECK-NEXT: |       |       | |       |-BinaryOperator {{.*}} <col:16, col:26> 'int' '-'316// CHECK-NEXT: |       |       | |       | |-IntegerLiteral {{.*}} <col:16> 'int' 0317// CHECK-NEXT: |       |       | |       | `-IntegerLiteral {{.*}} <col:26> 'int' 1318// CHECK-NEXT: |       |       | |       `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 1319// CHECK-NEXT: |       |       | `-IntegerLiteral {{.*}} <col:26> 'int' 1320// CHECK-NEXT: |       |       `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 1321// CHECK-NEXT: |       `-DeclRefExpr {{.*}} <col:3> 'int' lvalue ParmVar {{.*}} 'x' 'int'322// CHECK-NEXT: |-FunctionDecl {{.*}} <line:10:1, line:16:1> line:10:6 test_two 'void (int, int)'323// CHECK-NEXT: | |-ParmVarDecl {{.*}} <col:15, col:19> col:19 used x 'int'324// CHECK-NEXT: | |-ParmVarDecl {{.*}} <col:22, col:26> col:26 used y 'int'325// CHECK-NEXT: | `-CompoundStmt {{.*}} <col:29, line:16:1>326// CHECK-NEXT: |   `-OMPTargetDirective {{.*}} <line:11:1, col:19>327// CHECK-NEXT: |     |-OMPFirstprivateClause {{.*}} <<invalid sloc>> <implicit>328// CHECK-NEXT: |     | |-DeclRefExpr {{.*}} <line:13:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture329// CHECK-NEXT: |     | `-DeclRefExpr {{.*}} <line:14:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture330// CHECK-NEXT: |     `-CapturedStmt {{.*}} <line:12:1, col:42>331// CHECK-NEXT: |       |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow332// CHECK-NEXT: |       | |-CapturedStmt {{.*}} <col:1, col:42>333// CHECK-NEXT: |       | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow334// CHECK-NEXT: |       | | | |-OMPTeamsDistributeParallelForDirective {{.*}} <col:1, col:42>335// CHECK-NEXT: |       | | | | `-CapturedStmt {{.*}} <line:13:3, line:15:7>336// CHECK-NEXT: |       | | | |   |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow337// CHECK-NEXT: |       | | | |   | |-CapturedStmt {{.*}} <line:13:3, line:15:7>338// CHECK-NEXT: |       | | | |   | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow339// CHECK-NEXT: |       | | | |   | | | |-ForStmt {{.*}} <line:13:3, line:15:7>340// CHECK-NEXT: |       | | | |   | | | | |-DeclStmt {{.*}} <line:13:8, col:17>341// CHECK-NEXT: |       | | | |   | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit342// CHECK-NEXT: |       | | | |   | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0343// CHECK-NEXT: |       | | | |   | | | | |-<<<NULL>>>344// CHECK-NEXT: |       | | | |   | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'345// CHECK-NEXT: |       | | | |   | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>346// CHECK-NEXT: |       | | | |   | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'347// CHECK-NEXT: |       | | | |   | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>348// CHECK-NEXT: |       | | | |   | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture349// CHECK-NEXT: |       | | | |   | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'350// CHECK-NEXT: |       | | | |   | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'351// CHECK-NEXT: |       | | | |   | | | | `-ForStmt {{.*}} <line:14:5, line:15:7>352// CHECK-NEXT: |       | | | |   | | | |   |-DeclStmt {{.*}} <line:14:10, col:19>353// CHECK-NEXT: |       | | | |   | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit354// CHECK-NEXT: |       | | | |   | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0355// CHECK-NEXT: |       | | | |   | | | |   |-<<<NULL>>>356// CHECK-NEXT: |       | | | |   | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'357// CHECK-NEXT: |       | | | |   | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>358// CHECK-NEXT: |       | | | |   | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'359// CHECK-NEXT: |       | | | |   | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>360// CHECK-NEXT: |       | | | |   | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture361// CHECK-NEXT: |       | | | |   | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'362// CHECK-NEXT: |       | | | |   | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'363// CHECK-NEXT: |       | | | |   | | | |   `-NullStmt {{.*}} <line:15:7>364// CHECK-NEXT: |       | | | |   | | | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'365// CHECK-NEXT: |       | | | |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'366// CHECK-NEXT: |       | | | |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'367// CHECK-NEXT: |       | | | |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'368// CHECK-NEXT: |       | | | |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:12:1) *const restrict'369// CHECK-NEXT: |       | | | |   | | | |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit370// CHECK-NEXT: |       | | | |   | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0371// CHECK-NEXT: |       | | | |   | | | `-VarDecl {{.*}} <line:14:10, col:18> col:14 used i 'int' cinit372// CHECK-NEXT: |       | | | |   | | |   `-IntegerLiteral {{.*}} <col:18> 'int' 0373// CHECK-NEXT: |       | | | |   | | |-DeclRefExpr {{.*}} <line:13:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture374// CHECK-NEXT: |       | | | |   | | `-DeclRefExpr {{.*}} <line:14:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture375// CHECK-NEXT: |       | | | |   | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'376// CHECK-NEXT: |       | | | |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'377// CHECK-NEXT: |       | | | |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:12:1) *const restrict'378// CHECK-NEXT: |       | | | |   | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition379// CHECK-NEXT: |       | | | |   | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit380// CHECK-NEXT: |       | | | |   | | |-FieldDecl {{.*}} <line:13:3> col:3 implicit 'int &'381// CHECK-NEXT: |       | | | |   | | `-FieldDecl {{.*}} <line:14:25> col:25 implicit 'int &'382// CHECK-NEXT: |       | | | |   | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow383// CHECK-NEXT: |       | | | |   |   |-ForStmt {{.*}} <line:13:3, line:15:7>384// CHECK-NEXT: |       | | | |   |   | |-DeclStmt {{.*}} <line:13:8, col:17>385// CHECK-NEXT: |       | | | |   |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit386// CHECK-NEXT: |       | | | |   |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0387// CHECK-NEXT: |       | | | |   |   | |-<<<NULL>>>388// CHECK-NEXT: |       | | | |   |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'389// CHECK-NEXT: |       | | | |   |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>390// CHECK-NEXT: |       | | | |   |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'391// CHECK-NEXT: |       | | | |   |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>392// CHECK-NEXT: |       | | | |   |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture393// CHECK-NEXT: |       | | | |   |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'394// CHECK-NEXT: |       | | | |   |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'395// CHECK-NEXT: |       | | | |   |   | `-ForStmt {{.*}} <line:14:5, line:15:7>396// CHECK-NEXT: |       | | | |   |   |   |-DeclStmt {{.*}} <line:14:10, col:19>397// CHECK-NEXT: |       | | | |   |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit398// CHECK-NEXT: |       | | | |   |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0399// CHECK-NEXT: |       | | | |   |   |   |-<<<NULL>>>400// CHECK-NEXT: |       | | | |   |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'401// CHECK-NEXT: |       | | | |   |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>402// CHECK-NEXT: |       | | | |   |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'403// CHECK-NEXT: |       | | | |   |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>404// CHECK-NEXT: |       | | | |   |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture405// CHECK-NEXT: |       | | | |   |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'406// CHECK-NEXT: |       | | | |   |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'407// CHECK-NEXT: |       | | | |   |   |   `-NullStmt {{.*}} <line:15:7>408// CHECK-NEXT: |       | | | |   |   |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'409// CHECK-NEXT: |       | | | |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'410// CHECK-NEXT: |       | | | |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'411// CHECK-NEXT: |       | | | |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'412// CHECK-NEXT: |       | | | |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:12:1) *const restrict'413// CHECK-NEXT: |       | | | |   |   |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit414// CHECK-NEXT: |       | | | |   |   | `-IntegerLiteral {{.*}} <col:16> 'int' 0415// CHECK-NEXT: |       | | | |   |   `-VarDecl {{.*}} <line:14:10, col:18> col:14 used i 'int' cinit416// CHECK-NEXT: |       | | | |   |     `-IntegerLiteral {{.*}} <col:18> 'int' 0417// CHECK-NEXT: |       | | | |   |-DeclRefExpr {{.*}} <line:13:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture418// CHECK-NEXT: |       | | | |   `-DeclRefExpr {{.*}} <line:14:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture419// CHECK-NEXT: |       | | | |-ImplicitParamDecl {{.*}} <line:11:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:11:1) *const restrict'420// CHECK-NEXT: |       | | | |-RecordDecl {{.*}} <line:12:1> col:1 implicit struct definition421// CHECK-NEXT: |       | | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit422// CHECK-NEXT: |       | | | | |-FieldDecl {{.*}} <line:13:3> col:3 implicit 'int &'423// CHECK-NEXT: |       | | | | `-FieldDecl {{.*}} <line:14:25> col:25 implicit 'int &'424// CHECK-NEXT: |       | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow425// CHECK-NEXT: |       | | | | |-CapturedStmt {{.*}} <line:13:3, line:15:7>426// CHECK-NEXT: |       | | | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow427// CHECK-NEXT: |       | | | | | | |-ForStmt {{.*}} <line:13:3, line:15:7>428// CHECK-NEXT: |       | | | | | | | |-DeclStmt {{.*}} <line:13:8, col:17>429// CHECK-NEXT: |       | | | | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit430// CHECK-NEXT: |       | | | | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0431// CHECK-NEXT: |       | | | | | | | |-<<<NULL>>>432// CHECK-NEXT: |       | | | | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'433// CHECK-NEXT: |       | | | | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>434// CHECK-NEXT: |       | | | | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'435// CHECK-NEXT: |       | | | | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>436// CHECK-NEXT: |       | | | | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture437// CHECK-NEXT: |       | | | | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'438// CHECK-NEXT: |       | | | | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'439// CHECK-NEXT: |       | | | | | | | `-ForStmt {{.*}} <line:14:5, line:15:7>440// CHECK-NEXT: |       | | | | | | |   |-DeclStmt {{.*}} <line:14:10, col:19>441// CHECK-NEXT: |       | | | | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit442// CHECK-NEXT: |       | | | | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0443// CHECK-NEXT: |       | | | | | | |   |-<<<NULL>>>444// CHECK-NEXT: |       | | | | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'445// CHECK-NEXT: |       | | | | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>446// CHECK-NEXT: |       | | | | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'447// CHECK-NEXT: |       | | | | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>448// CHECK-NEXT: |       | | | | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture449// CHECK-NEXT: |       | | | | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'450// CHECK-NEXT: |       | | | | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'451// CHECK-NEXT: |       | | | | | | |   `-NullStmt {{.*}} <line:15:7>452// CHECK-NEXT: |       | | | | | | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'453// CHECK-NEXT: |       | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'454// CHECK-NEXT: |       | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'455// CHECK-NEXT: |       | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'456// CHECK-NEXT: |       | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:12:1) *const restrict'457// CHECK-NEXT: |       | | | | | | |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit458// CHECK-NEXT: |       | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0459// CHECK-NEXT: |       | | | | | | `-VarDecl {{.*}} <line:14:10, col:18> col:14 used i 'int' cinit460// CHECK-NEXT: |       | | | | | |   `-IntegerLiteral {{.*}} <col:18> 'int' 0461// CHECK-NEXT: |       | | | | | |-DeclRefExpr {{.*}} <line:13:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture462// CHECK-NEXT: |       | | | | | `-DeclRefExpr {{.*}} <line:14:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture463// CHECK-NEXT: |       | | | | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'464// CHECK-NEXT: |       | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'465// CHECK-NEXT: |       | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:12:1) *const restrict'466// CHECK-NEXT: |       | | | | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition467// CHECK-NEXT: |       | | | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit468// CHECK-NEXT: |       | | | | | |-FieldDecl {{.*}} <line:13:3> col:3 implicit 'int &'469// CHECK-NEXT: |       | | | | | `-FieldDecl {{.*}} <line:14:25> col:25 implicit 'int &'470// CHECK-NEXT: |       | | | | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow471// CHECK-NEXT: |       | | | |   |-ForStmt {{.*}} <line:13:3, line:15:7>472// CHECK-NEXT: |       | | | |   | |-DeclStmt {{.*}} <line:13:8, col:17>473// CHECK-NEXT: |       | | | |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit474// CHECK-NEXT: |       | | | |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0475// CHECK-NEXT: |       | | | |   | |-<<<NULL>>>476// CHECK-NEXT: |       | | | |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'477// CHECK-NEXT: |       | | | |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>478// CHECK-NEXT: |       | | | |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'479// CHECK-NEXT: |       | | | |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>480// CHECK-NEXT: |       | | | |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture481// CHECK-NEXT: |       | | | |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'482// CHECK-NEXT: |       | | | |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'483// CHECK-NEXT: |       | | | |   | `-ForStmt {{.*}} <line:14:5, line:15:7>484// CHECK-NEXT: |       | | | |   |   |-DeclStmt {{.*}} <line:14:10, col:19>485// CHECK-NEXT: |       | | | |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit486// CHECK-NEXT: |       | | | |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0487// CHECK-NEXT: |       | | | |   |   |-<<<NULL>>>488// CHECK-NEXT: |       | | | |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'489// CHECK-NEXT: |       | | | |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>490// CHECK-NEXT: |       | | | |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'491// CHECK-NEXT: |       | | | |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>492// CHECK-NEXT: |       | | | |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture493// CHECK-NEXT: |       | | | |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'494// CHECK-NEXT: |       | | | |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'495// CHECK-NEXT: |       | | | |   |   `-NullStmt {{.*}} <line:15:7>496// CHECK-NEXT: |       | | | |   |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'497// CHECK-NEXT: |       | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'498// CHECK-NEXT: |       | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'499// CHECK-NEXT: |       | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'500// CHECK-NEXT: |       | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:12:1) *const restrict'501// CHECK-NEXT: |       | | | |   |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit502// CHECK-NEXT: |       | | | |   | `-IntegerLiteral {{.*}} <col:16> 'int' 0503// CHECK-NEXT: |       | | | |   `-VarDecl {{.*}} <line:14:10, col:18> col:14 used i 'int' cinit504// CHECK-NEXT: |       | | | |     `-IntegerLiteral {{.*}} <col:18> 'int' 0505// CHECK-NEXT: |       | | | |-OMPCapturedExprDecl {{.*}} <line:13:23> col:23 implicit used .capture_expr. 'int'506// CHECK-NEXT: |       | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>507// CHECK-NEXT: |       | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture508// CHECK-NEXT: |       | | | `-OMPCapturedExprDecl {{.*}} <col:3, <invalid sloc>> col:3 implicit used .capture_expr. 'int'509// CHECK-NEXT: |       | | |   `-BinaryOperator {{.*}} <col:3, <invalid sloc>> 'int' '-'510// CHECK-NEXT: |       | | |     |-BinaryOperator {{.*}} <col:3, col:26> 'int' '/'511// CHECK-NEXT: |       | | |     | |-ParenExpr {{.*}} <col:3> 'int'512// CHECK-NEXT: |       | | |     | | `-BinaryOperator {{.*}} <col:23, col:3> 'int' '-'513// CHECK-NEXT: |       | | |     | |   |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>514// CHECK-NEXT: |       | | |     | |   | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue OMPCapturedExpr {{.*}} '.capture_expr.' 'int'515// CHECK-NEXT: |       | | |     | |   `-ParenExpr {{.*}} <col:3> 'int'516// CHECK-NEXT: |       | | |     | |     `-BinaryOperator {{.*}} <col:16, <invalid sloc>> 'int' '+'517// CHECK-NEXT: |       | | |     | |       |-BinaryOperator {{.*}} <col:16, col:26> 'int' '-'518// CHECK-NEXT: |       | | |     | |       | |-IntegerLiteral {{.*}} <col:16> 'int' 0519// CHECK-NEXT: |       | | |     | |       | `-IntegerLiteral {{.*}} <col:26> 'int' 1520// CHECK-NEXT: |       | | |     | |       `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 1521// CHECK-NEXT: |       | | |     | `-IntegerLiteral {{.*}} <col:26> 'int' 1522// CHECK-NEXT: |       | | |     `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 1523// CHECK-NEXT: |       | | |-DeclRefExpr {{.*}} <col:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture524// CHECK-NEXT: |       | | `-DeclRefExpr {{.*}} <line:14:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture525// CHECK-NEXT: |       | |-AlwaysInlineAttr {{.*}} <<invalid sloc>> Implicit __forceinline526// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <line:11:1> col:1 implicit .global_tid. 'const int'527// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .part_id. 'const int *const restrict'528// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .privates. 'void *const restrict'529// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .copy_fn. 'void (*const restrict)(void *const restrict, ...)'530// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .task_t. 'void *const'531// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:11:1) *const restrict'532// CHECK-NEXT: |       | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition533// CHECK-NEXT: |       | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit534// CHECK-NEXT: |       | | |-FieldDecl {{.*}} <line:13:3> col:3 implicit 'int'535// CHECK-NEXT: |       | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}536// CHECK-NEXT: |       | | `-FieldDecl {{.*}} <line:14:25> col:25 implicit 'int'537// CHECK-NEXT: |       | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}538// CHECK-NEXT: |       | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow539// CHECK-NEXT: |       |   |-OMPTeamsDistributeParallelForDirective {{.*}} <line:12:1, col:42>540// CHECK-NEXT: |       |   | `-CapturedStmt {{.*}} <line:13:3, line:15:7>541// CHECK-NEXT: |       |   |   |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow542// CHECK-NEXT: |       |   |   | |-CapturedStmt {{.*}} <line:13:3, line:15:7>543// CHECK-NEXT: |       |   |   | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow544// CHECK-NEXT: |       |   |   | | | |-ForStmt {{.*}} <line:13:3, line:15:7>545// CHECK-NEXT: |       |   |   | | | | |-DeclStmt {{.*}} <line:13:8, col:17>546// CHECK-NEXT: |       |   |   | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit547// CHECK-NEXT: |       |   |   | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0548// CHECK-NEXT: |       |   |   | | | | |-<<<NULL>>>549// CHECK-NEXT: |       |   |   | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'550// CHECK-NEXT: |       |   |   | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>551// CHECK-NEXT: |       |   |   | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'552// CHECK-NEXT: |       |   |   | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>553// CHECK-NEXT: |       |   |   | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture554// CHECK-NEXT: |       |   |   | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'555// CHECK-NEXT: |       |   |   | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'556// CHECK-NEXT: |       |   |   | | | | `-ForStmt {{.*}} <line:14:5, line:15:7>557// CHECK-NEXT: |       |   |   | | | |   |-DeclStmt {{.*}} <line:14:10, col:19>558// CHECK-NEXT: |       |   |   | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit559// CHECK-NEXT: |       |   |   | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0560// CHECK-NEXT: |       |   |   | | | |   |-<<<NULL>>>561// CHECK-NEXT: |       |   |   | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'562// CHECK-NEXT: |       |   |   | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>563// CHECK-NEXT: |       |   |   | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'564// CHECK-NEXT: |       |   |   | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>565// CHECK-NEXT: |       |   |   | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture566// CHECK-NEXT: |       |   |   | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'567// CHECK-NEXT: |       |   |   | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'568// CHECK-NEXT: |       |   |   | | | |   `-NullStmt {{.*}} <line:15:7>569// CHECK-NEXT: |       |   |   | | | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'570// CHECK-NEXT: |       |   |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'571// CHECK-NEXT: |       |   |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'572// CHECK-NEXT: |       |   |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'573// CHECK-NEXT: |       |   |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:12:1) *const restrict'574// CHECK-NEXT: |       |   |   | | | |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit575// CHECK-NEXT: |       |   |   | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0576// CHECK-NEXT: |       |   |   | | | `-VarDecl {{.*}} <line:14:10, col:18> col:14 used i 'int' cinit577// CHECK-NEXT: |       |   |   | | |   `-IntegerLiteral {{.*}} <col:18> 'int' 0578// CHECK-NEXT: |       |   |   | | |-DeclRefExpr {{.*}} <line:13:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture579// CHECK-NEXT: |       |   |   | | `-DeclRefExpr {{.*}} <line:14:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture580// CHECK-NEXT: |       |   |   | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'581// CHECK-NEXT: |       |   |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'582// CHECK-NEXT: |       |   |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:12:1) *const restrict'583// CHECK-NEXT: |       |   |   | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition584// CHECK-NEXT: |       |   |   | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit585// CHECK-NEXT: |       |   |   | | |-FieldDecl {{.*}} <line:13:3> col:3 implicit 'int &'586// CHECK-NEXT: |       |   |   | | `-FieldDecl {{.*}} <line:14:25> col:25 implicit 'int &'587// CHECK-NEXT: |       |   |   | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow588// CHECK-NEXT: |       |   |   |   |-ForStmt {{.*}} <line:13:3, line:15:7>589// CHECK-NEXT: |       |   |   |   | |-DeclStmt {{.*}} <line:13:8, col:17>590// CHECK-NEXT: |       |   |   |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit591// CHECK-NEXT: |       |   |   |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0592// CHECK-NEXT: |       |   |   |   | |-<<<NULL>>>593// CHECK-NEXT: |       |   |   |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'594// CHECK-NEXT: |       |   |   |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>595// CHECK-NEXT: |       |   |   |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'596// CHECK-NEXT: |       |   |   |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>597// CHECK-NEXT: |       |   |   |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture598// CHECK-NEXT: |       |   |   |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'599// CHECK-NEXT: |       |   |   |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'600// CHECK-NEXT: |       |   |   |   | `-ForStmt {{.*}} <line:14:5, line:15:7>601// CHECK-NEXT: |       |   |   |   |   |-DeclStmt {{.*}} <line:14:10, col:19>602// CHECK-NEXT: |       |   |   |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit603// CHECK-NEXT: |       |   |   |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0604// CHECK-NEXT: |       |   |   |   |   |-<<<NULL>>>605// CHECK-NEXT: |       |   |   |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'606// CHECK-NEXT: |       |   |   |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>607// CHECK-NEXT: |       |   |   |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'608// CHECK-NEXT: |       |   |   |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>609// CHECK-NEXT: |       |   |   |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture610// CHECK-NEXT: |       |   |   |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'611// CHECK-NEXT: |       |   |   |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'612// CHECK-NEXT: |       |   |   |   |   `-NullStmt {{.*}} <line:15:7>613// CHECK-NEXT: |       |   |   |   |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'614// CHECK-NEXT: |       |   |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'615// CHECK-NEXT: |       |   |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'616// CHECK-NEXT: |       |   |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'617// CHECK-NEXT: |       |   |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:12:1) *const restrict'618// CHECK-NEXT: |       |   |   |   |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit619// CHECK-NEXT: |       |   |   |   | `-IntegerLiteral {{.*}} <col:16> 'int' 0620// CHECK-NEXT: |       |   |   |   `-VarDecl {{.*}} <line:14:10, col:18> col:14 used i 'int' cinit621// CHECK-NEXT: |       |   |   |     `-IntegerLiteral {{.*}} <col:18> 'int' 0622// CHECK-NEXT: |       |   |   |-DeclRefExpr {{.*}} <line:13:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture623// CHECK-NEXT: |       |   |   `-DeclRefExpr {{.*}} <line:14:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture624// CHECK-NEXT: |       |   |-ImplicitParamDecl {{.*}} <line:11:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:11:1) *const restrict'625// CHECK-NEXT: |       |   |-RecordDecl {{.*}} <line:12:1> col:1 implicit struct definition626// CHECK-NEXT: |       |   | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit627// CHECK-NEXT: |       |   | |-FieldDecl {{.*}} <line:13:3> col:3 implicit 'int &'628// CHECK-NEXT: |       |   | `-FieldDecl {{.*}} <line:14:25> col:25 implicit 'int &'629// CHECK-NEXT: |       |   |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow630// CHECK-NEXT: |       |   | |-CapturedStmt {{.*}} <line:13:3, line:15:7>631// CHECK-NEXT: |       |   | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow632// CHECK-NEXT: |       |   | | | |-ForStmt {{.*}} <line:13:3, line:15:7>633// CHECK-NEXT: |       |   | | | | |-DeclStmt {{.*}} <line:13:8, col:17>634// CHECK-NEXT: |       |   | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit635// CHECK-NEXT: |       |   | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0636// CHECK-NEXT: |       |   | | | | |-<<<NULL>>>637// CHECK-NEXT: |       |   | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'638// CHECK-NEXT: |       |   | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>639// CHECK-NEXT: |       |   | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'640// CHECK-NEXT: |       |   | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>641// CHECK-NEXT: |       |   | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture642// CHECK-NEXT: |       |   | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'643// CHECK-NEXT: |       |   | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'644// CHECK-NEXT: |       |   | | | | `-ForStmt {{.*}} <line:14:5, line:15:7>645// CHECK-NEXT: |       |   | | | |   |-DeclStmt {{.*}} <line:14:10, col:19>646// CHECK-NEXT: |       |   | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit647// CHECK-NEXT: |       |   | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0648// CHECK-NEXT: |       |   | | | |   |-<<<NULL>>>649// CHECK-NEXT: |       |   | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'650// CHECK-NEXT: |       |   | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>651// CHECK-NEXT: |       |   | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'652// CHECK-NEXT: |       |   | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>653// CHECK-NEXT: |       |   | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture654// CHECK-NEXT: |       |   | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'655// CHECK-NEXT: |       |   | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'656// CHECK-NEXT: |       |   | | | |   `-NullStmt {{.*}} <line:15:7>657// CHECK-NEXT: |       |   | | | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'658// CHECK-NEXT: |       |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'659// CHECK-NEXT: |       |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'660// CHECK-NEXT: |       |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'661// CHECK-NEXT: |       |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:12:1) *const restrict'662// CHECK-NEXT: |       |   | | | |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit663// CHECK-NEXT: |       |   | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0664// CHECK-NEXT: |       |   | | | `-VarDecl {{.*}} <line:14:10, col:18> col:14 used i 'int' cinit665// CHECK-NEXT: |       |   | | |   `-IntegerLiteral {{.*}} <col:18> 'int' 0666// CHECK-NEXT: |       |   | | |-DeclRefExpr {{.*}} <line:13:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture667// CHECK-NEXT: |       |   | | `-DeclRefExpr {{.*}} <line:14:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture668// CHECK-NEXT: |       |   | |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'669// CHECK-NEXT: |       |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'670// CHECK-NEXT: |       |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:12:1) *const restrict'671// CHECK-NEXT: |       |   | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition672// CHECK-NEXT: |       |   | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit673// CHECK-NEXT: |       |   | | |-FieldDecl {{.*}} <line:13:3> col:3 implicit 'int &'674// CHECK-NEXT: |       |   | | `-FieldDecl {{.*}} <line:14:25> col:25 implicit 'int &'675// CHECK-NEXT: |       |   | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow676// CHECK-NEXT: |       |   |   |-ForStmt {{.*}} <line:13:3, line:15:7>677// CHECK-NEXT: |       |   |   | |-DeclStmt {{.*}} <line:13:8, col:17>678// CHECK-NEXT: |       |   |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit679// CHECK-NEXT: |       |   |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0680// CHECK-NEXT: |       |   |   | |-<<<NULL>>>681// CHECK-NEXT: |       |   |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'682// CHECK-NEXT: |       |   |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>683// CHECK-NEXT: |       |   |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'684// CHECK-NEXT: |       |   |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>685// CHECK-NEXT: |       |   |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture686// CHECK-NEXT: |       |   |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'687// CHECK-NEXT: |       |   |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'688// CHECK-NEXT: |       |   |   | `-ForStmt {{.*}} <line:14:5, line:15:7>689// CHECK-NEXT: |       |   |   |   |-DeclStmt {{.*}} <line:14:10, col:19>690// CHECK-NEXT: |       |   |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit691// CHECK-NEXT: |       |   |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0692// CHECK-NEXT: |       |   |   |   |-<<<NULL>>>693// CHECK-NEXT: |       |   |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'694// CHECK-NEXT: |       |   |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>695// CHECK-NEXT: |       |   |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'696// CHECK-NEXT: |       |   |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>697// CHECK-NEXT: |       |   |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture698// CHECK-NEXT: |       |   |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'699// CHECK-NEXT: |       |   |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'700// CHECK-NEXT: |       |   |   |   `-NullStmt {{.*}} <line:15:7>701// CHECK-NEXT: |       |   |   |-ImplicitParamDecl {{.*}} <line:12:1> col:1 implicit .global_tid. 'const int *const restrict'702// CHECK-NEXT: |       |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'703// CHECK-NEXT: |       |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'704// CHECK-NEXT: |       |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'705// CHECK-NEXT: |       |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:12:1) *const restrict'706// CHECK-NEXT: |       |   |   |-VarDecl {{.*}} <line:13:8, col:16> col:12 used i 'int' cinit707// CHECK-NEXT: |       |   |   | `-IntegerLiteral {{.*}} <col:16> 'int' 0708// CHECK-NEXT: |       |   |   `-VarDecl {{.*}} <line:14:10, col:18> col:14 used i 'int' cinit709// CHECK-NEXT: |       |   |     `-IntegerLiteral {{.*}} <col:18> 'int' 0710// CHECK-NEXT: |       |   |-OMPCapturedExprDecl {{.*}} <line:13:23> col:23 implicit used .capture_expr. 'int'711// CHECK-NEXT: |       |   | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>712// CHECK-NEXT: |       |   |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture713// CHECK-NEXT: |       |   `-OMPCapturedExprDecl {{.*}} <col:3, <invalid sloc>> col:3 implicit used .capture_expr. 'int'714// CHECK-NEXT: |       |     `-BinaryOperator {{.*}} <col:3, <invalid sloc>> 'int' '-'715// CHECK-NEXT: |       |       |-BinaryOperator {{.*}} <col:3, col:26> 'int' '/'716// CHECK-NEXT: |       |       | |-ParenExpr {{.*}} <col:3> 'int'717// CHECK-NEXT: |       |       | | `-BinaryOperator {{.*}} <col:23, col:3> 'int' '-'718// CHECK-NEXT: |       |       | |   |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>719// CHECK-NEXT: |       |       | |   | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue OMPCapturedExpr {{.*}} '.capture_expr.' 'int'720// CHECK-NEXT: |       |       | |   `-ParenExpr {{.*}} <col:3> 'int'721// CHECK-NEXT: |       |       | |     `-BinaryOperator {{.*}} <col:16, <invalid sloc>> 'int' '+'722// CHECK-NEXT: |       |       | |       |-BinaryOperator {{.*}} <col:16, col:26> 'int' '-'723// CHECK-NEXT: |       |       | |       | |-IntegerLiteral {{.*}} <col:16> 'int' 0724// CHECK-NEXT: |       |       | |       | `-IntegerLiteral {{.*}} <col:26> 'int' 1725// CHECK-NEXT: |       |       | |       `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 1726// CHECK-NEXT: |       |       | `-IntegerLiteral {{.*}} <col:26> 'int' 1727// CHECK-NEXT: |       |       `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 1728// CHECK-NEXT: |       |-DeclRefExpr {{.*}} <col:3> 'int' lvalue ParmVar {{.*}} 'x' 'int'729// CHECK-NEXT: |       `-DeclRefExpr {{.*}} <line:14:25> 'int' lvalue ParmVar {{.*}} 'y' 'int'730// CHECK-NEXT: |-FunctionDecl {{.*}} <line:18:1, line:24:1> line:18:6 test_three 'void (int, int)'731// CHECK-NEXT: | |-ParmVarDecl {{.*}} <col:17, col:21> col:21 used x 'int'732// CHECK-NEXT: | |-ParmVarDecl {{.*}} <col:24, col:28> col:28 used y 'int'733// CHECK-NEXT: | `-CompoundStmt {{.*}} <col:31, line:24:1>734// CHECK-NEXT: |   `-OMPTargetDirective {{.*}} <line:19:1, col:19>735// CHECK-NEXT: |     |-OMPFirstprivateClause {{.*}} <<invalid sloc>> <implicit>736// CHECK-NEXT: |     | |-DeclRefExpr {{.*}} <line:21:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture737// CHECK-NEXT: |     | `-DeclRefExpr {{.*}} <line:22:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture738// CHECK-NEXT: |     `-CapturedStmt {{.*}} <line:20:1, col:54>739// CHECK-NEXT: |       |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow740// CHECK-NEXT: |       | |-CapturedStmt {{.*}} <col:1, col:54>741// CHECK-NEXT: |       | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow742// CHECK-NEXT: |       | | | |-OMPTeamsDistributeParallelForDirective {{.*}} <col:1, col:54>743// CHECK-NEXT: |       | | | | |-OMPCollapseClause {{.*}} <col:43, col:53>744// CHECK-NEXT: |       | | | | | `-ConstantExpr {{.*}} <col:52> 'int'745// CHECK-NEXT: |       | | | | | |-value: Int 1746// CHECK-NEXT: |       | | | | |   `-IntegerLiteral {{.*}} <col:52> 'int' 1747// CHECK-NEXT: |       | | | | `-CapturedStmt {{.*}} <line:21:3, line:23:7>748// CHECK-NEXT: |       | | | |   |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow749// CHECK-NEXT: |       | | | |   | |-CapturedStmt {{.*}} <line:21:3, line:23:7>750// CHECK-NEXT: |       | | | |   | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow751// CHECK-NEXT: |       | | | |   | | | |-ForStmt {{.*}} <line:21:3, line:23:7>752// CHECK-NEXT: |       | | | |   | | | | |-DeclStmt {{.*}} <line:21:8, col:17>753// CHECK-NEXT: |       | | | |   | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit754// CHECK-NEXT: |       | | | |   | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0755// CHECK-NEXT: |       | | | |   | | | | |-<<<NULL>>>756// CHECK-NEXT: |       | | | |   | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'757// CHECK-NEXT: |       | | | |   | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>758// CHECK-NEXT: |       | | | |   | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'759// CHECK-NEXT: |       | | | |   | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>760// CHECK-NEXT: |       | | | |   | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture761// CHECK-NEXT: |       | | | |   | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'762// CHECK-NEXT: |       | | | |   | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'763// CHECK-NEXT: |       | | | |   | | | | `-ForStmt {{.*}} <line:22:5, line:23:7>764// CHECK-NEXT: |       | | | |   | | | |   |-DeclStmt {{.*}} <line:22:10, col:19>765// CHECK-NEXT: |       | | | |   | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit766// CHECK-NEXT: |       | | | |   | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0767// CHECK-NEXT: |       | | | |   | | | |   |-<<<NULL>>>768// CHECK-NEXT: |       | | | |   | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'769// CHECK-NEXT: |       | | | |   | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>770// CHECK-NEXT: |       | | | |   | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'771// CHECK-NEXT: |       | | | |   | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>772// CHECK-NEXT: |       | | | |   | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture773// CHECK-NEXT: |       | | | |   | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'774// CHECK-NEXT: |       | | | |   | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'775// CHECK-NEXT: |       | | | |   | | | |   `-NullStmt {{.*}} <line:23:7>776// CHECK-NEXT: |       | | | |   | | | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'777// CHECK-NEXT: |       | | | |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'778// CHECK-NEXT: |       | | | |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'779// CHECK-NEXT: |       | | | |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'780// CHECK-NEXT: |       | | | |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:20:1) *const restrict'781// CHECK-NEXT: |       | | | |   | | | |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit782// CHECK-NEXT: |       | | | |   | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0783// CHECK-NEXT: |       | | | |   | | | `-VarDecl {{.*}} <line:22:10, col:18> col:14 used i 'int' cinit784// CHECK-NEXT: |       | | | |   | | |   `-IntegerLiteral {{.*}} <col:18> 'int' 0785// CHECK-NEXT: |       | | | |   | | |-DeclRefExpr {{.*}} <line:21:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture786// CHECK-NEXT: |       | | | |   | | `-DeclRefExpr {{.*}} <line:22:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture787// CHECK-NEXT: |       | | | |   | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'788// CHECK-NEXT: |       | | | |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'789// CHECK-NEXT: |       | | | |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:20:1) *const restrict'790// CHECK-NEXT: |       | | | |   | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition791// CHECK-NEXT: |       | | | |   | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit792// CHECK-NEXT: |       | | | |   | | |-FieldDecl {{.*}} <line:21:3> col:3 implicit 'int &'793// CHECK-NEXT: |       | | | |   | | `-FieldDecl {{.*}} <line:22:25> col:25 implicit 'int &'794// CHECK-NEXT: |       | | | |   | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow795// CHECK-NEXT: |       | | | |   |   |-ForStmt {{.*}} <line:21:3, line:23:7>796// CHECK-NEXT: |       | | | |   |   | |-DeclStmt {{.*}} <line:21:8, col:17>797// CHECK-NEXT: |       | | | |   |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit798// CHECK-NEXT: |       | | | |   |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0799// CHECK-NEXT: |       | | | |   |   | |-<<<NULL>>>800// CHECK-NEXT: |       | | | |   |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'801// CHECK-NEXT: |       | | | |   |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>802// CHECK-NEXT: |       | | | |   |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'803// CHECK-NEXT: |       | | | |   |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>804// CHECK-NEXT: |       | | | |   |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture805// CHECK-NEXT: |       | | | |   |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'806// CHECK-NEXT: |       | | | |   |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'807// CHECK-NEXT: |       | | | |   |   | `-ForStmt {{.*}} <line:22:5, line:23:7>808// CHECK-NEXT: |       | | | |   |   |   |-DeclStmt {{.*}} <line:22:10, col:19>809// CHECK-NEXT: |       | | | |   |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit810// CHECK-NEXT: |       | | | |   |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0811// CHECK-NEXT: |       | | | |   |   |   |-<<<NULL>>>812// CHECK-NEXT: |       | | | |   |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'813// CHECK-NEXT: |       | | | |   |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>814// CHECK-NEXT: |       | | | |   |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'815// CHECK-NEXT: |       | | | |   |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>816// CHECK-NEXT: |       | | | |   |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture817// CHECK-NEXT: |       | | | |   |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'818// CHECK-NEXT: |       | | | |   |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'819// CHECK-NEXT: |       | | | |   |   |   `-NullStmt {{.*}} <line:23:7>820// CHECK-NEXT: |       | | | |   |   |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'821// CHECK-NEXT: |       | | | |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'822// CHECK-NEXT: |       | | | |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'823// CHECK-NEXT: |       | | | |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'824// CHECK-NEXT: |       | | | |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:20:1) *const restrict'825// CHECK-NEXT: |       | | | |   |   |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit826// CHECK-NEXT: |       | | | |   |   | `-IntegerLiteral {{.*}} <col:16> 'int' 0827// CHECK-NEXT: |       | | | |   |   `-VarDecl {{.*}} <line:22:10, col:18> col:14 used i 'int' cinit828// CHECK-NEXT: |       | | | |   |     `-IntegerLiteral {{.*}} <col:18> 'int' 0829// CHECK-NEXT: |       | | | |   |-DeclRefExpr {{.*}} <line:21:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture830// CHECK-NEXT: |       | | | |   `-DeclRefExpr {{.*}} <line:22:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture831// CHECK-NEXT: |       | | | |-ImplicitParamDecl {{.*}} <line:19:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:19:1) *const restrict'832// CHECK-NEXT: |       | | | |-RecordDecl {{.*}} <line:20:1> col:1 implicit struct definition833// CHECK-NEXT: |       | | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit834// CHECK-NEXT: |       | | | | |-FieldDecl {{.*}} <line:21:3> col:3 implicit 'int &'835// CHECK-NEXT: |       | | | | `-FieldDecl {{.*}} <line:22:25> col:25 implicit 'int &'836// CHECK-NEXT: |       | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow837// CHECK-NEXT: |       | | | | |-CapturedStmt {{.*}} <line:21:3, line:23:7>838// CHECK-NEXT: |       | | | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow839// CHECK-NEXT: |       | | | | | | |-ForStmt {{.*}} <line:21:3, line:23:7>840// CHECK-NEXT: |       | | | | | | | |-DeclStmt {{.*}} <line:21:8, col:17>841// CHECK-NEXT: |       | | | | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit842// CHECK-NEXT: |       | | | | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0843// CHECK-NEXT: |       | | | | | | | |-<<<NULL>>>844// CHECK-NEXT: |       | | | | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'845// CHECK-NEXT: |       | | | | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>846// CHECK-NEXT: |       | | | | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'847// CHECK-NEXT: |       | | | | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>848// CHECK-NEXT: |       | | | | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture849// CHECK-NEXT: |       | | | | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'850// CHECK-NEXT: |       | | | | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'851// CHECK-NEXT: |       | | | | | | | `-ForStmt {{.*}} <line:22:5, line:23:7>852// CHECK-NEXT: |       | | | | | | |   |-DeclStmt {{.*}} <line:22:10, col:19>853// CHECK-NEXT: |       | | | | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit854// CHECK-NEXT: |       | | | | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0855// CHECK-NEXT: |       | | | | | | |   |-<<<NULL>>>856// CHECK-NEXT: |       | | | | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'857// CHECK-NEXT: |       | | | | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>858// CHECK-NEXT: |       | | | | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'859// CHECK-NEXT: |       | | | | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>860// CHECK-NEXT: |       | | | | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture861// CHECK-NEXT: |       | | | | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'862// CHECK-NEXT: |       | | | | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'863// CHECK-NEXT: |       | | | | | | |   `-NullStmt {{.*}} <line:23:7>864// CHECK-NEXT: |       | | | | | | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'865// CHECK-NEXT: |       | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'866// CHECK-NEXT: |       | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'867// CHECK-NEXT: |       | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'868// CHECK-NEXT: |       | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:20:1) *const restrict'869// CHECK-NEXT: |       | | | | | | |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit870// CHECK-NEXT: |       | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0871// CHECK-NEXT: |       | | | | | | `-VarDecl {{.*}} <line:22:10, col:18> col:14 used i 'int' cinit872// CHECK-NEXT: |       | | | | | |   `-IntegerLiteral {{.*}} <col:18> 'int' 0873// CHECK-NEXT: |       | | | | | |-DeclRefExpr {{.*}} <line:21:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture874// CHECK-NEXT: |       | | | | | `-DeclRefExpr {{.*}} <line:22:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture875// CHECK-NEXT: |       | | | | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'876// CHECK-NEXT: |       | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'877// CHECK-NEXT: |       | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:20:1) *const restrict'878// CHECK-NEXT: |       | | | | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition879// CHECK-NEXT: |       | | | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit880// CHECK-NEXT: |       | | | | | |-FieldDecl {{.*}} <line:21:3> col:3 implicit 'int &'881// CHECK-NEXT: |       | | | | | `-FieldDecl {{.*}} <line:22:25> col:25 implicit 'int &'882// CHECK-NEXT: |       | | | | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow883// CHECK-NEXT: |       | | | |   |-ForStmt {{.*}} <line:21:3, line:23:7>884// CHECK-NEXT: |       | | | |   | |-DeclStmt {{.*}} <line:21:8, col:17>885// CHECK-NEXT: |       | | | |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit886// CHECK-NEXT: |       | | | |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0887// CHECK-NEXT: |       | | | |   | |-<<<NULL>>>888// CHECK-NEXT: |       | | | |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'889// CHECK-NEXT: |       | | | |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>890// CHECK-NEXT: |       | | | |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'891// CHECK-NEXT: |       | | | |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>892// CHECK-NEXT: |       | | | |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture893// CHECK-NEXT: |       | | | |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'894// CHECK-NEXT: |       | | | |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'895// CHECK-NEXT: |       | | | |   | `-ForStmt {{.*}} <line:22:5, line:23:7>896// CHECK-NEXT: |       | | | |   |   |-DeclStmt {{.*}} <line:22:10, col:19>897// CHECK-NEXT: |       | | | |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit898// CHECK-NEXT: |       | | | |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0899// CHECK-NEXT: |       | | | |   |   |-<<<NULL>>>900// CHECK-NEXT: |       | | | |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'901// CHECK-NEXT: |       | | | |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>902// CHECK-NEXT: |       | | | |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'903// CHECK-NEXT: |       | | | |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>904// CHECK-NEXT: |       | | | |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture905// CHECK-NEXT: |       | | | |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'906// CHECK-NEXT: |       | | | |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'907// CHECK-NEXT: |       | | | |   |   `-NullStmt {{.*}} <line:23:7>908// CHECK-NEXT: |       | | | |   |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'909// CHECK-NEXT: |       | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'910// CHECK-NEXT: |       | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'911// CHECK-NEXT: |       | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'912// CHECK-NEXT: |       | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:20:1) *const restrict'913// CHECK-NEXT: |       | | | |   |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit914// CHECK-NEXT: |       | | | |   | `-IntegerLiteral {{.*}} <col:16> 'int' 0915// CHECK-NEXT: |       | | | |   `-VarDecl {{.*}} <line:22:10, col:18> col:14 used i 'int' cinit916// CHECK-NEXT: |       | | | |     `-IntegerLiteral {{.*}} <col:18> 'int' 0917// CHECK-NEXT: |       | | | |-OMPCapturedExprDecl {{.*}} <line:21:23> col:23 implicit used .capture_expr. 'int'918// CHECK-NEXT: |       | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>919// CHECK-NEXT: |       | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture920// CHECK-NEXT: |       | | | `-OMPCapturedExprDecl {{.*}} <col:3, <invalid sloc>> col:3 implicit used .capture_expr. 'int'921// CHECK-NEXT: |       | | |   `-BinaryOperator {{.*}} <col:3, <invalid sloc>> 'int' '-'922// CHECK-NEXT: |       | | |     |-BinaryOperator {{.*}} <col:3, col:26> 'int' '/'923// CHECK-NEXT: |       | | |     | |-ParenExpr {{.*}} <col:3> 'int'924// CHECK-NEXT: |       | | |     | | `-BinaryOperator {{.*}} <col:23, col:3> 'int' '-'925// CHECK-NEXT: |       | | |     | |   |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>926// CHECK-NEXT: |       | | |     | |   | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue OMPCapturedExpr {{.*}} '.capture_expr.' 'int'927// CHECK-NEXT: |       | | |     | |   `-ParenExpr {{.*}} <col:3> 'int'928// CHECK-NEXT: |       | | |     | |     `-BinaryOperator {{.*}} <col:16, <invalid sloc>> 'int' '+'929// CHECK-NEXT: |       | | |     | |       |-BinaryOperator {{.*}} <col:16, col:26> 'int' '-'930// CHECK-NEXT: |       | | |     | |       | |-IntegerLiteral {{.*}} <col:16> 'int' 0931// CHECK-NEXT: |       | | |     | |       | `-IntegerLiteral {{.*}} <col:26> 'int' 1932// CHECK-NEXT: |       | | |     | |       `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 1933// CHECK-NEXT: |       | | |     | `-IntegerLiteral {{.*}} <col:26> 'int' 1934// CHECK-NEXT: |       | | |     `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 1935// CHECK-NEXT: |       | | |-DeclRefExpr {{.*}} <col:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture936// CHECK-NEXT: |       | | `-DeclRefExpr {{.*}} <line:22:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture937// CHECK-NEXT: |       | |-AlwaysInlineAttr {{.*}} <<invalid sloc>> Implicit __forceinline938// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <line:19:1> col:1 implicit .global_tid. 'const int'939// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .part_id. 'const int *const restrict'940// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .privates. 'void *const restrict'941// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .copy_fn. 'void (*const restrict)(void *const restrict, ...)'942// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .task_t. 'void *const'943// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:19:1) *const restrict'944// CHECK-NEXT: |       | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition945// CHECK-NEXT: |       | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit946// CHECK-NEXT: |       | | |-FieldDecl {{.*}} <line:21:3> col:3 implicit 'int'947// CHECK-NEXT: |       | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}948// CHECK-NEXT: |       | | `-FieldDecl {{.*}} <line:22:25> col:25 implicit 'int'949// CHECK-NEXT: |       | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}950// CHECK-NEXT: |       | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow951// CHECK-NEXT: |       |   |-OMPTeamsDistributeParallelForDirective {{.*}} <line:20:1, col:54>952// CHECK-NEXT: |       |   | |-OMPCollapseClause {{.*}} <col:43, col:53>953// CHECK-NEXT: |       |   | | `-ConstantExpr {{.*}} <col:52> 'int'954// CHECK-NEXT: |       |   | | |-value: Int 1955// CHECK-NEXT: |       |   | |   `-IntegerLiteral {{.*}} <col:52> 'int' 1956// CHECK-NEXT: |       |   | `-CapturedStmt {{.*}} <line:21:3, line:23:7>957// CHECK-NEXT: |       |   |   |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow958// CHECK-NEXT: |       |   |   | |-CapturedStmt {{.*}} <line:21:3, line:23:7>959// CHECK-NEXT: |       |   |   | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow960// CHECK-NEXT: |       |   |   | | | |-ForStmt {{.*}} <line:21:3, line:23:7>961// CHECK-NEXT: |       |   |   | | | | |-DeclStmt {{.*}} <line:21:8, col:17>962// CHECK-NEXT: |       |   |   | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit963// CHECK-NEXT: |       |   |   | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0964// CHECK-NEXT: |       |   |   | | | | |-<<<NULL>>>965// CHECK-NEXT: |       |   |   | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'966// CHECK-NEXT: |       |   |   | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>967// CHECK-NEXT: |       |   |   | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'968// CHECK-NEXT: |       |   |   | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>969// CHECK-NEXT: |       |   |   | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture970// CHECK-NEXT: |       |   |   | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'971// CHECK-NEXT: |       |   |   | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'972// CHECK-NEXT: |       |   |   | | | | `-ForStmt {{.*}} <line:22:5, line:23:7>973// CHECK-NEXT: |       |   |   | | | |   |-DeclStmt {{.*}} <line:22:10, col:19>974// CHECK-NEXT: |       |   |   | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit975// CHECK-NEXT: |       |   |   | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0976// CHECK-NEXT: |       |   |   | | | |   |-<<<NULL>>>977// CHECK-NEXT: |       |   |   | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'978// CHECK-NEXT: |       |   |   | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>979// CHECK-NEXT: |       |   |   | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'980// CHECK-NEXT: |       |   |   | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>981// CHECK-NEXT: |       |   |   | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture982// CHECK-NEXT: |       |   |   | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'983// CHECK-NEXT: |       |   |   | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'984// CHECK-NEXT: |       |   |   | | | |   `-NullStmt {{.*}} <line:23:7>985// CHECK-NEXT: |       |   |   | | | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'986// CHECK-NEXT: |       |   |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'987// CHECK-NEXT: |       |   |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'988// CHECK-NEXT: |       |   |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'989// CHECK-NEXT: |       |   |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:20:1) *const restrict'990// CHECK-NEXT: |       |   |   | | | |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit991// CHECK-NEXT: |       |   |   | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0992// CHECK-NEXT: |       |   |   | | | `-VarDecl {{.*}} <line:22:10, col:18> col:14 used i 'int' cinit993// CHECK-NEXT: |       |   |   | | |   `-IntegerLiteral {{.*}} <col:18> 'int' 0994// CHECK-NEXT: |       |   |   | | |-DeclRefExpr {{.*}} <line:21:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture995// CHECK-NEXT: |       |   |   | | `-DeclRefExpr {{.*}} <line:22:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture996// CHECK-NEXT: |       |   |   | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'997// CHECK-NEXT: |       |   |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'998// CHECK-NEXT: |       |   |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:20:1) *const restrict'999// CHECK-NEXT: |       |   |   | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1000// CHECK-NEXT: |       |   |   | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1001// CHECK-NEXT: |       |   |   | | |-FieldDecl {{.*}} <line:21:3> col:3 implicit 'int &'1002// CHECK-NEXT: |       |   |   | | `-FieldDecl {{.*}} <line:22:25> col:25 implicit 'int &'1003// CHECK-NEXT: |       |   |   | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1004// CHECK-NEXT: |       |   |   |   |-ForStmt {{.*}} <line:21:3, line:23:7>1005// CHECK-NEXT: |       |   |   |   | |-DeclStmt {{.*}} <line:21:8, col:17>1006// CHECK-NEXT: |       |   |   |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1007// CHECK-NEXT: |       |   |   |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01008// CHECK-NEXT: |       |   |   |   | |-<<<NULL>>>1009// CHECK-NEXT: |       |   |   |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1010// CHECK-NEXT: |       |   |   |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1011// CHECK-NEXT: |       |   |   |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1012// CHECK-NEXT: |       |   |   |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1013// CHECK-NEXT: |       |   |   |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1014// CHECK-NEXT: |       |   |   |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1015// CHECK-NEXT: |       |   |   |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1016// CHECK-NEXT: |       |   |   |   | `-ForStmt {{.*}} <line:22:5, line:23:7>1017// CHECK-NEXT: |       |   |   |   |   |-DeclStmt {{.*}} <line:22:10, col:19>1018// CHECK-NEXT: |       |   |   |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1019// CHECK-NEXT: |       |   |   |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01020// CHECK-NEXT: |       |   |   |   |   |-<<<NULL>>>1021// CHECK-NEXT: |       |   |   |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1022// CHECK-NEXT: |       |   |   |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1023// CHECK-NEXT: |       |   |   |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1024// CHECK-NEXT: |       |   |   |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1025// CHECK-NEXT: |       |   |   |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1026// CHECK-NEXT: |       |   |   |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1027// CHECK-NEXT: |       |   |   |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1028// CHECK-NEXT: |       |   |   |   |   `-NullStmt {{.*}} <line:23:7>1029// CHECK-NEXT: |       |   |   |   |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'1030// CHECK-NEXT: |       |   |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1031// CHECK-NEXT: |       |   |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1032// CHECK-NEXT: |       |   |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1033// CHECK-NEXT: |       |   |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:20:1) *const restrict'1034// CHECK-NEXT: |       |   |   |   |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit1035// CHECK-NEXT: |       |   |   |   | `-IntegerLiteral {{.*}} <col:16> 'int' 01036// CHECK-NEXT: |       |   |   |   `-VarDecl {{.*}} <line:22:10, col:18> col:14 used i 'int' cinit1037// CHECK-NEXT: |       |   |   |     `-IntegerLiteral {{.*}} <col:18> 'int' 01038// CHECK-NEXT: |       |   |   |-DeclRefExpr {{.*}} <line:21:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1039// CHECK-NEXT: |       |   |   `-DeclRefExpr {{.*}} <line:22:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1040// CHECK-NEXT: |       |   |-ImplicitParamDecl {{.*}} <line:19:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:19:1) *const restrict'1041// CHECK-NEXT: |       |   |-RecordDecl {{.*}} <line:20:1> col:1 implicit struct definition1042// CHECK-NEXT: |       |   | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1043// CHECK-NEXT: |       |   | |-FieldDecl {{.*}} <line:21:3> col:3 implicit 'int &'1044// CHECK-NEXT: |       |   | `-FieldDecl {{.*}} <line:22:25> col:25 implicit 'int &'1045// CHECK-NEXT: |       |   |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1046// CHECK-NEXT: |       |   | |-CapturedStmt {{.*}} <line:21:3, line:23:7>1047// CHECK-NEXT: |       |   | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1048// CHECK-NEXT: |       |   | | | |-ForStmt {{.*}} <line:21:3, line:23:7>1049// CHECK-NEXT: |       |   | | | | |-DeclStmt {{.*}} <line:21:8, col:17>1050// CHECK-NEXT: |       |   | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1051// CHECK-NEXT: |       |   | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01052// CHECK-NEXT: |       |   | | | | |-<<<NULL>>>1053// CHECK-NEXT: |       |   | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1054// CHECK-NEXT: |       |   | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1055// CHECK-NEXT: |       |   | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1056// CHECK-NEXT: |       |   | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1057// CHECK-NEXT: |       |   | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1058// CHECK-NEXT: |       |   | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1059// CHECK-NEXT: |       |   | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1060// CHECK-NEXT: |       |   | | | | `-ForStmt {{.*}} <line:22:5, line:23:7>1061// CHECK-NEXT: |       |   | | | |   |-DeclStmt {{.*}} <line:22:10, col:19>1062// CHECK-NEXT: |       |   | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1063// CHECK-NEXT: |       |   | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01064// CHECK-NEXT: |       |   | | | |   |-<<<NULL>>>1065// CHECK-NEXT: |       |   | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1066// CHECK-NEXT: |       |   | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1067// CHECK-NEXT: |       |   | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1068// CHECK-NEXT: |       |   | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1069// CHECK-NEXT: |       |   | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1070// CHECK-NEXT: |       |   | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1071// CHECK-NEXT: |       |   | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1072// CHECK-NEXT: |       |   | | | |   `-NullStmt {{.*}} <line:23:7>1073// CHECK-NEXT: |       |   | | | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'1074// CHECK-NEXT: |       |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1075// CHECK-NEXT: |       |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1076// CHECK-NEXT: |       |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1077// CHECK-NEXT: |       |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:20:1) *const restrict'1078// CHECK-NEXT: |       |   | | | |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit1079// CHECK-NEXT: |       |   | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 01080// CHECK-NEXT: |       |   | | | `-VarDecl {{.*}} <line:22:10, col:18> col:14 used i 'int' cinit1081// CHECK-NEXT: |       |   | | |   `-IntegerLiteral {{.*}} <col:18> 'int' 01082// CHECK-NEXT: |       |   | | |-DeclRefExpr {{.*}} <line:21:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1083// CHECK-NEXT: |       |   | | `-DeclRefExpr {{.*}} <line:22:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1084// CHECK-NEXT: |       |   | |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'1085// CHECK-NEXT: |       |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1086// CHECK-NEXT: |       |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:20:1) *const restrict'1087// CHECK-NEXT: |       |   | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1088// CHECK-NEXT: |       |   | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1089// CHECK-NEXT: |       |   | | |-FieldDecl {{.*}} <line:21:3> col:3 implicit 'int &'1090// CHECK-NEXT: |       |   | | `-FieldDecl {{.*}} <line:22:25> col:25 implicit 'int &'1091// CHECK-NEXT: |       |   | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1092// CHECK-NEXT: |       |   |   |-ForStmt {{.*}} <line:21:3, line:23:7>1093// CHECK-NEXT: |       |   |   | |-DeclStmt {{.*}} <line:21:8, col:17>1094// CHECK-NEXT: |       |   |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1095// CHECK-NEXT: |       |   |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01096// CHECK-NEXT: |       |   |   | |-<<<NULL>>>1097// CHECK-NEXT: |       |   |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1098// CHECK-NEXT: |       |   |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1099// CHECK-NEXT: |       |   |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1100// CHECK-NEXT: |       |   |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1101// CHECK-NEXT: |       |   |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1102// CHECK-NEXT: |       |   |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1103// CHECK-NEXT: |       |   |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1104// CHECK-NEXT: |       |   |   | `-ForStmt {{.*}} <line:22:5, line:23:7>1105// CHECK-NEXT: |       |   |   |   |-DeclStmt {{.*}} <line:22:10, col:19>1106// CHECK-NEXT: |       |   |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1107// CHECK-NEXT: |       |   |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01108// CHECK-NEXT: |       |   |   |   |-<<<NULL>>>1109// CHECK-NEXT: |       |   |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1110// CHECK-NEXT: |       |   |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1111// CHECK-NEXT: |       |   |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1112// CHECK-NEXT: |       |   |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1113// CHECK-NEXT: |       |   |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1114// CHECK-NEXT: |       |   |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1115// CHECK-NEXT: |       |   |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1116// CHECK-NEXT: |       |   |   |   `-NullStmt {{.*}} <line:23:7>1117// CHECK-NEXT: |       |   |   |-ImplicitParamDecl {{.*}} <line:20:1> col:1 implicit .global_tid. 'const int *const restrict'1118// CHECK-NEXT: |       |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1119// CHECK-NEXT: |       |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1120// CHECK-NEXT: |       |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1121// CHECK-NEXT: |       |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:20:1) *const restrict'1122// CHECK-NEXT: |       |   |   |-VarDecl {{.*}} <line:21:8, col:16> col:12 used i 'int' cinit1123// CHECK-NEXT: |       |   |   | `-IntegerLiteral {{.*}} <col:16> 'int' 01124// CHECK-NEXT: |       |   |   `-VarDecl {{.*}} <line:22:10, col:18> col:14 used i 'int' cinit1125// CHECK-NEXT: |       |   |     `-IntegerLiteral {{.*}} <col:18> 'int' 01126// CHECK-NEXT: |       |   |-OMPCapturedExprDecl {{.*}} <line:21:23> col:23 implicit used .capture_expr. 'int'1127// CHECK-NEXT: |       |   | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1128// CHECK-NEXT: |       |   |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1129// CHECK-NEXT: |       |   `-OMPCapturedExprDecl {{.*}} <col:3, <invalid sloc>> col:3 implicit used .capture_expr. 'int'1130// CHECK-NEXT: |       |     `-BinaryOperator {{.*}} <col:3, <invalid sloc>> 'int' '-'1131// CHECK-NEXT: |       |       |-BinaryOperator {{.*}} <col:3, col:26> 'int' '/'1132// CHECK-NEXT: |       |       | |-ParenExpr {{.*}} <col:3> 'int'1133// CHECK-NEXT: |       |       | | `-BinaryOperator {{.*}} <col:23, col:3> 'int' '-'1134// CHECK-NEXT: |       |       | |   |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1135// CHECK-NEXT: |       |       | |   | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue OMPCapturedExpr {{.*}} '.capture_expr.' 'int'1136// CHECK-NEXT: |       |       | |   `-ParenExpr {{.*}} <col:3> 'int'1137// CHECK-NEXT: |       |       | |     `-BinaryOperator {{.*}} <col:16, <invalid sloc>> 'int' '+'1138// CHECK-NEXT: |       |       | |       |-BinaryOperator {{.*}} <col:16, col:26> 'int' '-'1139// CHECK-NEXT: |       |       | |       | |-IntegerLiteral {{.*}} <col:16> 'int' 01140// CHECK-NEXT: |       |       | |       | `-IntegerLiteral {{.*}} <col:26> 'int' 11141// CHECK-NEXT: |       |       | |       `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 11142// CHECK-NEXT: |       |       | `-IntegerLiteral {{.*}} <col:26> 'int' 11143// CHECK-NEXT: |       |       `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 11144// CHECK-NEXT: |       |-DeclRefExpr {{.*}} <col:3> 'int' lvalue ParmVar {{.*}} 'x' 'int'1145// CHECK-NEXT: |       `-DeclRefExpr {{.*}} <line:22:25> 'int' lvalue ParmVar {{.*}} 'y' 'int'1146// CHECK-NEXT: |-FunctionDecl {{.*}} <line:26:1, line:32:1> line:26:6 test_four 'void (int, int)'1147// CHECK-NEXT: | |-ParmVarDecl {{.*}} <col:16, col:20> col:20 used x 'int'1148// CHECK-NEXT: | |-ParmVarDecl {{.*}} <col:23, col:27> col:27 used y 'int'1149// CHECK-NEXT: | `-CompoundStmt {{.*}} <col:30, line:32:1>1150// CHECK-NEXT: |   `-OMPTargetDirective {{.*}} <line:27:1, col:19>1151// CHECK-NEXT: |     |-OMPFirstprivateClause {{.*}} <<invalid sloc>> <implicit>1152// CHECK-NEXT: |     | |-DeclRefExpr {{.*}} <line:29:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1153// CHECK-NEXT: |     | `-DeclRefExpr {{.*}} <line:30:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1154// CHECK-NEXT: |     `-CapturedStmt {{.*}} <line:28:1, col:54>1155// CHECK-NEXT: |       |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1156// CHECK-NEXT: |       | |-CapturedStmt {{.*}} <col:1, col:54>1157// CHECK-NEXT: |       | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1158// CHECK-NEXT: |       | | | |-OMPTeamsDistributeParallelForDirective {{.*}} <col:1, col:54>1159// CHECK-NEXT: |       | | | | |-OMPCollapseClause {{.*}} <col:43, col:53>1160// CHECK-NEXT: |       | | | | | `-ConstantExpr {{.*}} <col:52> 'int'1161// CHECK-NEXT: |       | | | | | |-value: Int 21162// CHECK-NEXT: |       | | | | |   `-IntegerLiteral {{.*}} <col:52> 'int' 21163// CHECK-NEXT: |       | | | | `-CapturedStmt {{.*}} <line:29:3, line:31:7>1164// CHECK-NEXT: |       | | | |   |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1165// CHECK-NEXT: |       | | | |   | |-CapturedStmt {{.*}} <line:29:3, line:31:7>1166// CHECK-NEXT: |       | | | |   | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1167// CHECK-NEXT: |       | | | |   | | | |-ForStmt {{.*}} <line:29:3, line:31:7>1168// CHECK-NEXT: |       | | | |   | | | | |-DeclStmt {{.*}} <line:29:8, col:17>1169// CHECK-NEXT: |       | | | |   | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1170// CHECK-NEXT: |       | | | |   | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01171// CHECK-NEXT: |       | | | |   | | | | |-<<<NULL>>>1172// CHECK-NEXT: |       | | | |   | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1173// CHECK-NEXT: |       | | | |   | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1174// CHECK-NEXT: |       | | | |   | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1175// CHECK-NEXT: |       | | | |   | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1176// CHECK-NEXT: |       | | | |   | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1177// CHECK-NEXT: |       | | | |   | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1178// CHECK-NEXT: |       | | | |   | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1179// CHECK-NEXT: |       | | | |   | | | | `-ForStmt {{.*}} <line:30:5, line:31:7>1180// CHECK-NEXT: |       | | | |   | | | |   |-DeclStmt {{.*}} <line:30:10, col:19>1181// CHECK-NEXT: |       | | | |   | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1182// CHECK-NEXT: |       | | | |   | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01183// CHECK-NEXT: |       | | | |   | | | |   |-<<<NULL>>>1184// CHECK-NEXT: |       | | | |   | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1185// CHECK-NEXT: |       | | | |   | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1186// CHECK-NEXT: |       | | | |   | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1187// CHECK-NEXT: |       | | | |   | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1188// CHECK-NEXT: |       | | | |   | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1189// CHECK-NEXT: |       | | | |   | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1190// CHECK-NEXT: |       | | | |   | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1191// CHECK-NEXT: |       | | | |   | | | |   `-NullStmt {{.*}} <line:31:7>1192// CHECK-NEXT: |       | | | |   | | | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'1193// CHECK-NEXT: |       | | | |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1194// CHECK-NEXT: |       | | | |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1195// CHECK-NEXT: |       | | | |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1196// CHECK-NEXT: |       | | | |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:28:1) *const restrict'1197// CHECK-NEXT: |       | | | |   | | | |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit1198// CHECK-NEXT: |       | | | |   | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 01199// CHECK-NEXT: |       | | | |   | | | `-VarDecl {{.*}} <line:30:10, col:18> col:14 used i 'int' cinit1200// CHECK-NEXT: |       | | | |   | | |   `-IntegerLiteral {{.*}} <col:18> 'int' 01201// CHECK-NEXT: |       | | | |   | | |-DeclRefExpr {{.*}} <line:29:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1202// CHECK-NEXT: |       | | | |   | | `-DeclRefExpr {{.*}} <line:30:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1203// CHECK-NEXT: |       | | | |   | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'1204// CHECK-NEXT: |       | | | |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1205// CHECK-NEXT: |       | | | |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:28:1) *const restrict'1206// CHECK-NEXT: |       | | | |   | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1207// CHECK-NEXT: |       | | | |   | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1208// CHECK-NEXT: |       | | | |   | | |-FieldDecl {{.*}} <line:29:3> col:3 implicit 'int &'1209// CHECK-NEXT: |       | | | |   | | `-FieldDecl {{.*}} <line:30:5> col:5 implicit 'int &'1210// CHECK-NEXT: |       | | | |   | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1211// CHECK-NEXT: |       | | | |   |   |-ForStmt {{.*}} <line:29:3, line:31:7>1212// CHECK-NEXT: |       | | | |   |   | |-DeclStmt {{.*}} <line:29:8, col:17>1213// CHECK-NEXT: |       | | | |   |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1214// CHECK-NEXT: |       | | | |   |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01215// CHECK-NEXT: |       | | | |   |   | |-<<<NULL>>>1216// CHECK-NEXT: |       | | | |   |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1217// CHECK-NEXT: |       | | | |   |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1218// CHECK-NEXT: |       | | | |   |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1219// CHECK-NEXT: |       | | | |   |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1220// CHECK-NEXT: |       | | | |   |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1221// CHECK-NEXT: |       | | | |   |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1222// CHECK-NEXT: |       | | | |   |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1223// CHECK-NEXT: |       | | | |   |   | `-ForStmt {{.*}} <line:30:5, line:31:7>1224// CHECK-NEXT: |       | | | |   |   |   |-DeclStmt {{.*}} <line:30:10, col:19>1225// CHECK-NEXT: |       | | | |   |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1226// CHECK-NEXT: |       | | | |   |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01227// CHECK-NEXT: |       | | | |   |   |   |-<<<NULL>>>1228// CHECK-NEXT: |       | | | |   |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1229// CHECK-NEXT: |       | | | |   |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1230// CHECK-NEXT: |       | | | |   |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1231// CHECK-NEXT: |       | | | |   |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1232// CHECK-NEXT: |       | | | |   |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1233// CHECK-NEXT: |       | | | |   |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1234// CHECK-NEXT: |       | | | |   |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1235// CHECK-NEXT: |       | | | |   |   |   `-NullStmt {{.*}} <line:31:7>1236// CHECK-NEXT: |       | | | |   |   |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'1237// CHECK-NEXT: |       | | | |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1238// CHECK-NEXT: |       | | | |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1239// CHECK-NEXT: |       | | | |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1240// CHECK-NEXT: |       | | | |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:28:1) *const restrict'1241// CHECK-NEXT: |       | | | |   |   |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit1242// CHECK-NEXT: |       | | | |   |   | `-IntegerLiteral {{.*}} <col:16> 'int' 01243// CHECK-NEXT: |       | | | |   |   `-VarDecl {{.*}} <line:30:10, col:18> col:14 used i 'int' cinit1244// CHECK-NEXT: |       | | | |   |     `-IntegerLiteral {{.*}} <col:18> 'int' 01245// CHECK-NEXT: |       | | | |   |-DeclRefExpr {{.*}} <line:29:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1246// CHECK-NEXT: |       | | | |   `-DeclRefExpr {{.*}} <line:30:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1247// CHECK-NEXT: |       | | | |-ImplicitParamDecl {{.*}} <line:27:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:27:1) *const restrict'1248// CHECK-NEXT: |       | | | |-RecordDecl {{.*}} <line:28:1> col:1 implicit struct definition1249// CHECK-NEXT: |       | | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1250// CHECK-NEXT: |       | | | | |-FieldDecl {{.*}} <line:29:3> col:3 implicit 'int &'1251// CHECK-NEXT: |       | | | | `-FieldDecl {{.*}} <line:30:5> col:5 implicit 'int &'1252// CHECK-NEXT: |       | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1253// CHECK-NEXT: |       | | | | |-CapturedStmt {{.*}} <line:29:3, line:31:7>1254// CHECK-NEXT: |       | | | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1255// CHECK-NEXT: |       | | | | | | |-ForStmt {{.*}} <line:29:3, line:31:7>1256// CHECK-NEXT: |       | | | | | | | |-DeclStmt {{.*}} <line:29:8, col:17>1257// CHECK-NEXT: |       | | | | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1258// CHECK-NEXT: |       | | | | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01259// CHECK-NEXT: |       | | | | | | | |-<<<NULL>>>1260// CHECK-NEXT: |       | | | | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1261// CHECK-NEXT: |       | | | | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1262// CHECK-NEXT: |       | | | | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1263// CHECK-NEXT: |       | | | | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1264// CHECK-NEXT: |       | | | | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1265// CHECK-NEXT: |       | | | | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1266// CHECK-NEXT: |       | | | | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1267// CHECK-NEXT: |       | | | | | | | `-ForStmt {{.*}} <line:30:5, line:31:7>1268// CHECK-NEXT: |       | | | | | | |   |-DeclStmt {{.*}} <line:30:10, col:19>1269// CHECK-NEXT: |       | | | | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1270// CHECK-NEXT: |       | | | | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01271// CHECK-NEXT: |       | | | | | | |   |-<<<NULL>>>1272// CHECK-NEXT: |       | | | | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1273// CHECK-NEXT: |       | | | | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1274// CHECK-NEXT: |       | | | | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1275// CHECK-NEXT: |       | | | | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1276// CHECK-NEXT: |       | | | | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1277// CHECK-NEXT: |       | | | | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1278// CHECK-NEXT: |       | | | | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1279// CHECK-NEXT: |       | | | | | | |   `-NullStmt {{.*}} <line:31:7>1280// CHECK-NEXT: |       | | | | | | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'1281// CHECK-NEXT: |       | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1282// CHECK-NEXT: |       | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1283// CHECK-NEXT: |       | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1284// CHECK-NEXT: |       | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:28:1) *const restrict'1285// CHECK-NEXT: |       | | | | | | |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit1286// CHECK-NEXT: |       | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 01287// CHECK-NEXT: |       | | | | | | `-VarDecl {{.*}} <line:30:10, col:18> col:14 used i 'int' cinit1288// CHECK-NEXT: |       | | | | | |   `-IntegerLiteral {{.*}} <col:18> 'int' 01289// CHECK-NEXT: |       | | | | | |-DeclRefExpr {{.*}} <line:29:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1290// CHECK-NEXT: |       | | | | | `-DeclRefExpr {{.*}} <line:30:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1291// CHECK-NEXT: |       | | | | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'1292// CHECK-NEXT: |       | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1293// CHECK-NEXT: |       | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:28:1) *const restrict'1294// CHECK-NEXT: |       | | | | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1295// CHECK-NEXT: |       | | | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1296// CHECK-NEXT: |       | | | | | |-FieldDecl {{.*}} <line:29:3> col:3 implicit 'int &'1297// CHECK-NEXT: |       | | | | | `-FieldDecl {{.*}} <line:30:5> col:5 implicit 'int &'1298// CHECK-NEXT: |       | | | | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1299// CHECK-NEXT: |       | | | |   |-ForStmt {{.*}} <line:29:3, line:31:7>1300// CHECK-NEXT: |       | | | |   | |-DeclStmt {{.*}} <line:29:8, col:17>1301// CHECK-NEXT: |       | | | |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1302// CHECK-NEXT: |       | | | |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01303// CHECK-NEXT: |       | | | |   | |-<<<NULL>>>1304// CHECK-NEXT: |       | | | |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1305// CHECK-NEXT: |       | | | |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1306// CHECK-NEXT: |       | | | |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1307// CHECK-NEXT: |       | | | |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1308// CHECK-NEXT: |       | | | |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1309// CHECK-NEXT: |       | | | |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1310// CHECK-NEXT: |       | | | |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1311// CHECK-NEXT: |       | | | |   | `-ForStmt {{.*}} <line:30:5, line:31:7>1312// CHECK-NEXT: |       | | | |   |   |-DeclStmt {{.*}} <line:30:10, col:19>1313// CHECK-NEXT: |       | | | |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1314// CHECK-NEXT: |       | | | |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01315// CHECK-NEXT: |       | | | |   |   |-<<<NULL>>>1316// CHECK-NEXT: |       | | | |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1317// CHECK-NEXT: |       | | | |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1318// CHECK-NEXT: |       | | | |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1319// CHECK-NEXT: |       | | | |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1320// CHECK-NEXT: |       | | | |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1321// CHECK-NEXT: |       | | | |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1322// CHECK-NEXT: |       | | | |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1323// CHECK-NEXT: |       | | | |   |   `-NullStmt {{.*}} <line:31:7>1324// CHECK-NEXT: |       | | | |   |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'1325// CHECK-NEXT: |       | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1326// CHECK-NEXT: |       | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1327// CHECK-NEXT: |       | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1328// CHECK-NEXT: |       | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:28:1) *const restrict'1329// CHECK-NEXT: |       | | | |   |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit1330// CHECK-NEXT: |       | | | |   | `-IntegerLiteral {{.*}} <col:16> 'int' 01331// CHECK-NEXT: |       | | | |   `-VarDecl {{.*}} <line:30:10, col:18> col:14 used i 'int' cinit1332// CHECK-NEXT: |       | | | |     `-IntegerLiteral {{.*}} <col:18> 'int' 01333// CHECK-NEXT: |       | | | |-OMPCapturedExprDecl {{.*}} <line:29:23> col:23 implicit used .capture_expr. 'int'1334// CHECK-NEXT: |       | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1335// CHECK-NEXT: |       | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1336// CHECK-NEXT: |       | | | |-OMPCapturedExprDecl {{.*}} <line:30:25> col:25 implicit used .capture_expr. 'int'1337// CHECK-NEXT: |       | | | | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1338// CHECK-NEXT: |       | | | |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1339// CHECK-NEXT: |       | | | `-OMPCapturedExprDecl {{.*}} <line:29:3, <invalid sloc>> col:3 implicit used .capture_expr. 'long'1340// CHECK-NEXT: |       | | |   `-BinaryOperator {{.*}} <col:3, <invalid sloc>> 'long' '-'1341// CHECK-NEXT: |       | | |     |-BinaryOperator {{.*}} <col:3, line:30:28> 'long' '*'1342// CHECK-NEXT: |       | | |     | |-ImplicitCastExpr {{.*}} <line:29:3, col:26> 'long' <IntegralCast>1343// CHECK-NEXT: |       | | |     | | `-BinaryOperator {{.*}} <col:3, col:26> 'int' '/'1344// CHECK-NEXT: |       | | |     | |   |-ParenExpr {{.*}} <col:3> 'int'1345// CHECK-NEXT: |       | | |     | |   | `-BinaryOperator {{.*}} <col:23, col:3> 'int' '-'1346// CHECK-NEXT: |       | | |     | |   |   |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1347// CHECK-NEXT: |       | | |     | |   |   | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue OMPCapturedExpr {{.*}} '.capture_expr.' 'int'1348// CHECK-NEXT: |       | | |     | |   |   `-ParenExpr {{.*}} <col:3> 'int'1349// CHECK-NEXT: |       | | |     | |   |     `-BinaryOperator {{.*}} <col:16, <invalid sloc>> 'int' '+'1350// CHECK-NEXT: |       | | |     | |   |       |-BinaryOperator {{.*}} <col:16, col:26> 'int' '-'1351// CHECK-NEXT: |       | | |     | |   |       | |-IntegerLiteral {{.*}} <col:16> 'int' 01352// CHECK-NEXT: |       | | |     | |   |       | `-IntegerLiteral {{.*}} <col:26> 'int' 11353// CHECK-NEXT: |       | | |     | |   |       `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 11354// CHECK-NEXT: |       | | |     | |   `-IntegerLiteral {{.*}} <col:26> 'int' 11355// CHECK-NEXT: |       | | |     | `-ImplicitCastExpr {{.*}} <line:30:5, col:28> 'long' <IntegralCast>1356// CHECK-NEXT: |       | | |     |   `-BinaryOperator {{.*}} <col:5, col:28> 'int' '/'1357// CHECK-NEXT: |       | | |     |     |-ParenExpr {{.*}} <col:5> 'int'1358// CHECK-NEXT: |       | | |     |     | `-BinaryOperator {{.*}} <col:25, col:5> 'int' '-'1359// CHECK-NEXT: |       | | |     |     |   |-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1360// CHECK-NEXT: |       | | |     |     |   | `-DeclRefExpr {{.*}} <col:25> 'int' lvalue OMPCapturedExpr {{.*}} '.capture_expr.' 'int'1361// CHECK-NEXT: |       | | |     |     |   `-ParenExpr {{.*}} <col:5> 'int'1362// CHECK-NEXT: |       | | |     |     |     `-BinaryOperator {{.*}} <col:18, <invalid sloc>> 'int' '+'1363// CHECK-NEXT: |       | | |     |     |       |-BinaryOperator {{.*}} <col:18, col:28> 'int' '-'1364// CHECK-NEXT: |       | | |     |     |       | |-IntegerLiteral {{.*}} <col:18> 'int' 01365// CHECK-NEXT: |       | | |     |     |       | `-IntegerLiteral {{.*}} <col:28> 'int' 11366// CHECK-NEXT: |       | | |     |     |       `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 11367// CHECK-NEXT: |       | | |     |     `-IntegerLiteral {{.*}} <col:28> 'int' 11368// CHECK-NEXT: |       | | |     `-ImplicitCastExpr {{.*}} <<invalid sloc>> 'long' <IntegralCast>1369// CHECK-NEXT: |       | | |       `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 11370// CHECK-NEXT: |       | | |-DeclRefExpr {{.*}} <line:29:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1371// CHECK-NEXT: |       | | `-DeclRefExpr {{.*}} <line:30:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1372// CHECK-NEXT: |       | |-AlwaysInlineAttr {{.*}} <<invalid sloc>> Implicit __forceinline1373// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <line:27:1> col:1 implicit .global_tid. 'const int'1374// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .part_id. 'const int *const restrict'1375// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .privates. 'void *const restrict'1376// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .copy_fn. 'void (*const restrict)(void *const restrict, ...)'1377// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .task_t. 'void *const'1378// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:27:1) *const restrict'1379// CHECK-NEXT: |       | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1380// CHECK-NEXT: |       | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1381// CHECK-NEXT: |       | | |-FieldDecl {{.*}} <line:29:3> col:3 implicit 'int'1382// CHECK-NEXT: |       | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1383// CHECK-NEXT: |       | | `-FieldDecl {{.*}} <line:30:5> col:5 implicit 'int'1384// CHECK-NEXT: |       | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1385// CHECK-NEXT: |       | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1386// CHECK-NEXT: |       |   |-OMPTeamsDistributeParallelForDirective {{.*}} <line:28:1, col:54>1387// CHECK-NEXT: |       |   | |-OMPCollapseClause {{.*}} <col:43, col:53>1388// CHECK-NEXT: |       |   | | `-ConstantExpr {{.*}} <col:52> 'int'1389// CHECK-NEXT: |       |   | | |-value: Int 21390// CHECK-NEXT: |       |   | |   `-IntegerLiteral {{.*}} <col:52> 'int' 21391// CHECK-NEXT: |       |   | `-CapturedStmt {{.*}} <line:29:3, line:31:7>1392// CHECK-NEXT: |       |   |   |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1393// CHECK-NEXT: |       |   |   | |-CapturedStmt {{.*}} <line:29:3, line:31:7>1394// CHECK-NEXT: |       |   |   | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1395// CHECK-NEXT: |       |   |   | | | |-ForStmt {{.*}} <line:29:3, line:31:7>1396// CHECK-NEXT: |       |   |   | | | | |-DeclStmt {{.*}} <line:29:8, col:17>1397// CHECK-NEXT: |       |   |   | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1398// CHECK-NEXT: |       |   |   | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01399// CHECK-NEXT: |       |   |   | | | | |-<<<NULL>>>1400// CHECK-NEXT: |       |   |   | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1401// CHECK-NEXT: |       |   |   | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1402// CHECK-NEXT: |       |   |   | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1403// CHECK-NEXT: |       |   |   | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1404// CHECK-NEXT: |       |   |   | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1405// CHECK-NEXT: |       |   |   | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1406// CHECK-NEXT: |       |   |   | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1407// CHECK-NEXT: |       |   |   | | | | `-ForStmt {{.*}} <line:30:5, line:31:7>1408// CHECK-NEXT: |       |   |   | | | |   |-DeclStmt {{.*}} <line:30:10, col:19>1409// CHECK-NEXT: |       |   |   | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1410// CHECK-NEXT: |       |   |   | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01411// CHECK-NEXT: |       |   |   | | | |   |-<<<NULL>>>1412// CHECK-NEXT: |       |   |   | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1413// CHECK-NEXT: |       |   |   | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1414// CHECK-NEXT: |       |   |   | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1415// CHECK-NEXT: |       |   |   | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1416// CHECK-NEXT: |       |   |   | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1417// CHECK-NEXT: |       |   |   | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1418// CHECK-NEXT: |       |   |   | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1419// CHECK-NEXT: |       |   |   | | | |   `-NullStmt {{.*}} <line:31:7>1420// CHECK-NEXT: |       |   |   | | | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'1421// CHECK-NEXT: |       |   |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1422// CHECK-NEXT: |       |   |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1423// CHECK-NEXT: |       |   |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1424// CHECK-NEXT: |       |   |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:28:1) *const restrict'1425// CHECK-NEXT: |       |   |   | | | |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit1426// CHECK-NEXT: |       |   |   | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 01427// CHECK-NEXT: |       |   |   | | | `-VarDecl {{.*}} <line:30:10, col:18> col:14 used i 'int' cinit1428// CHECK-NEXT: |       |   |   | | |   `-IntegerLiteral {{.*}} <col:18> 'int' 01429// CHECK-NEXT: |       |   |   | | |-DeclRefExpr {{.*}} <line:29:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1430// CHECK-NEXT: |       |   |   | | `-DeclRefExpr {{.*}} <line:30:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1431// CHECK-NEXT: |       |   |   | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'1432// CHECK-NEXT: |       |   |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1433// CHECK-NEXT: |       |   |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:28:1) *const restrict'1434// CHECK-NEXT: |       |   |   | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1435// CHECK-NEXT: |       |   |   | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1436// CHECK-NEXT: |       |   |   | | |-FieldDecl {{.*}} <line:29:3> col:3 implicit 'int &'1437// CHECK-NEXT: |       |   |   | | `-FieldDecl {{.*}} <line:30:5> col:5 implicit 'int &'1438// CHECK-NEXT: |       |   |   | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1439// CHECK-NEXT: |       |   |   |   |-ForStmt {{.*}} <line:29:3, line:31:7>1440// CHECK-NEXT: |       |   |   |   | |-DeclStmt {{.*}} <line:29:8, col:17>1441// CHECK-NEXT: |       |   |   |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1442// CHECK-NEXT: |       |   |   |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01443// CHECK-NEXT: |       |   |   |   | |-<<<NULL>>>1444// CHECK-NEXT: |       |   |   |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1445// CHECK-NEXT: |       |   |   |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1446// CHECK-NEXT: |       |   |   |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1447// CHECK-NEXT: |       |   |   |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1448// CHECK-NEXT: |       |   |   |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1449// CHECK-NEXT: |       |   |   |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1450// CHECK-NEXT: |       |   |   |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1451// CHECK-NEXT: |       |   |   |   | `-ForStmt {{.*}} <line:30:5, line:31:7>1452// CHECK-NEXT: |       |   |   |   |   |-DeclStmt {{.*}} <line:30:10, col:19>1453// CHECK-NEXT: |       |   |   |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1454// CHECK-NEXT: |       |   |   |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01455// CHECK-NEXT: |       |   |   |   |   |-<<<NULL>>>1456// CHECK-NEXT: |       |   |   |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1457// CHECK-NEXT: |       |   |   |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1458// CHECK-NEXT: |       |   |   |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1459// CHECK-NEXT: |       |   |   |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1460// CHECK-NEXT: |       |   |   |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1461// CHECK-NEXT: |       |   |   |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1462// CHECK-NEXT: |       |   |   |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1463// CHECK-NEXT: |       |   |   |   |   `-NullStmt {{.*}} <line:31:7>1464// CHECK-NEXT: |       |   |   |   |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'1465// CHECK-NEXT: |       |   |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1466// CHECK-NEXT: |       |   |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1467// CHECK-NEXT: |       |   |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1468// CHECK-NEXT: |       |   |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:28:1) *const restrict'1469// CHECK-NEXT: |       |   |   |   |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit1470// CHECK-NEXT: |       |   |   |   | `-IntegerLiteral {{.*}} <col:16> 'int' 01471// CHECK-NEXT: |       |   |   |   `-VarDecl {{.*}} <line:30:10, col:18> col:14 used i 'int' cinit1472// CHECK-NEXT: |       |   |   |     `-IntegerLiteral {{.*}} <col:18> 'int' 01473// CHECK-NEXT: |       |   |   |-DeclRefExpr {{.*}} <line:29:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1474// CHECK-NEXT: |       |   |   `-DeclRefExpr {{.*}} <line:30:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1475// CHECK-NEXT: |       |   |-ImplicitParamDecl {{.*}} <line:27:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:27:1) *const restrict'1476// CHECK-NEXT: |       |   |-RecordDecl {{.*}} <line:28:1> col:1 implicit struct definition1477// CHECK-NEXT: |       |   | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1478// CHECK-NEXT: |       |   | |-FieldDecl {{.*}} <line:29:3> col:3 implicit 'int &'1479// CHECK-NEXT: |       |   | `-FieldDecl {{.*}} <line:30:5> col:5 implicit 'int &'1480// CHECK-NEXT: |       |   |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1481// CHECK-NEXT: |       |   | |-CapturedStmt {{.*}} <line:29:3, line:31:7>1482// CHECK-NEXT: |       |   | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1483// CHECK-NEXT: |       |   | | | |-ForStmt {{.*}} <line:29:3, line:31:7>1484// CHECK-NEXT: |       |   | | | | |-DeclStmt {{.*}} <line:29:8, col:17>1485// CHECK-NEXT: |       |   | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1486// CHECK-NEXT: |       |   | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01487// CHECK-NEXT: |       |   | | | | |-<<<NULL>>>1488// CHECK-NEXT: |       |   | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1489// CHECK-NEXT: |       |   | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1490// CHECK-NEXT: |       |   | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1491// CHECK-NEXT: |       |   | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1492// CHECK-NEXT: |       |   | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1493// CHECK-NEXT: |       |   | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1494// CHECK-NEXT: |       |   | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1495// CHECK-NEXT: |       |   | | | | `-ForStmt {{.*}} <line:30:5, line:31:7>1496// CHECK-NEXT: |       |   | | | |   |-DeclStmt {{.*}} <line:30:10, col:19>1497// CHECK-NEXT: |       |   | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1498// CHECK-NEXT: |       |   | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01499// CHECK-NEXT: |       |   | | | |   |-<<<NULL>>>1500// CHECK-NEXT: |       |   | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1501// CHECK-NEXT: |       |   | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1502// CHECK-NEXT: |       |   | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1503// CHECK-NEXT: |       |   | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1504// CHECK-NEXT: |       |   | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1505// CHECK-NEXT: |       |   | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1506// CHECK-NEXT: |       |   | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1507// CHECK-NEXT: |       |   | | | |   `-NullStmt {{.*}} <line:31:7>1508// CHECK-NEXT: |       |   | | | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'1509// CHECK-NEXT: |       |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1510// CHECK-NEXT: |       |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1511// CHECK-NEXT: |       |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1512// CHECK-NEXT: |       |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:28:1) *const restrict'1513// CHECK-NEXT: |       |   | | | |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit1514// CHECK-NEXT: |       |   | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 01515// CHECK-NEXT: |       |   | | | `-VarDecl {{.*}} <line:30:10, col:18> col:14 used i 'int' cinit1516// CHECK-NEXT: |       |   | | |   `-IntegerLiteral {{.*}} <col:18> 'int' 01517// CHECK-NEXT: |       |   | | |-DeclRefExpr {{.*}} <line:29:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1518// CHECK-NEXT: |       |   | | `-DeclRefExpr {{.*}} <line:30:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1519// CHECK-NEXT: |       |   | |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'1520// CHECK-NEXT: |       |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1521// CHECK-NEXT: |       |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:28:1) *const restrict'1522// CHECK-NEXT: |       |   | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1523// CHECK-NEXT: |       |   | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1524// CHECK-NEXT: |       |   | | |-FieldDecl {{.*}} <line:29:3> col:3 implicit 'int &'1525// CHECK-NEXT: |       |   | | `-FieldDecl {{.*}} <line:30:5> col:5 implicit 'int &'1526// CHECK-NEXT: |       |   | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1527// CHECK-NEXT: |       |   |   |-ForStmt {{.*}} <line:29:3, line:31:7>1528// CHECK-NEXT: |       |   |   | |-DeclStmt {{.*}} <line:29:8, col:17>1529// CHECK-NEXT: |       |   |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1530// CHECK-NEXT: |       |   |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01531// CHECK-NEXT: |       |   |   | |-<<<NULL>>>1532// CHECK-NEXT: |       |   |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1533// CHECK-NEXT: |       |   |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1534// CHECK-NEXT: |       |   |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1535// CHECK-NEXT: |       |   |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1536// CHECK-NEXT: |       |   |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1537// CHECK-NEXT: |       |   |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1538// CHECK-NEXT: |       |   |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1539// CHECK-NEXT: |       |   |   | `-ForStmt {{.*}} <line:30:5, line:31:7>1540// CHECK-NEXT: |       |   |   |   |-DeclStmt {{.*}} <line:30:10, col:19>1541// CHECK-NEXT: |       |   |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1542// CHECK-NEXT: |       |   |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01543// CHECK-NEXT: |       |   |   |   |-<<<NULL>>>1544// CHECK-NEXT: |       |   |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1545// CHECK-NEXT: |       |   |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1546// CHECK-NEXT: |       |   |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1547// CHECK-NEXT: |       |   |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1548// CHECK-NEXT: |       |   |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1549// CHECK-NEXT: |       |   |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1550// CHECK-NEXT: |       |   |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1551// CHECK-NEXT: |       |   |   |   `-NullStmt {{.*}} <line:31:7>1552// CHECK-NEXT: |       |   |   |-ImplicitParamDecl {{.*}} <line:28:1> col:1 implicit .global_tid. 'const int *const restrict'1553// CHECK-NEXT: |       |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1554// CHECK-NEXT: |       |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1555// CHECK-NEXT: |       |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1556// CHECK-NEXT: |       |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:28:1) *const restrict'1557// CHECK-NEXT: |       |   |   |-VarDecl {{.*}} <line:29:8, col:16> col:12 used i 'int' cinit1558// CHECK-NEXT: |       |   |   | `-IntegerLiteral {{.*}} <col:16> 'int' 01559// CHECK-NEXT: |       |   |   `-VarDecl {{.*}} <line:30:10, col:18> col:14 used i 'int' cinit1560// CHECK-NEXT: |       |   |     `-IntegerLiteral {{.*}} <col:18> 'int' 01561// CHECK-NEXT: |       |   |-OMPCapturedExprDecl {{.*}} <line:29:23> col:23 implicit used .capture_expr. 'int'1562// CHECK-NEXT: |       |   | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1563// CHECK-NEXT: |       |   |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1564// CHECK-NEXT: |       |   |-OMPCapturedExprDecl {{.*}} <line:30:25> col:25 implicit used .capture_expr. 'int'1565// CHECK-NEXT: |       |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1566// CHECK-NEXT: |       |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1567// CHECK-NEXT: |       |   `-OMPCapturedExprDecl {{.*}} <line:29:3, <invalid sloc>> col:3 implicit used .capture_expr. 'long'1568// CHECK-NEXT: |       |     `-BinaryOperator {{.*}} <col:3, <invalid sloc>> 'long' '-'1569// CHECK-NEXT: |       |       |-BinaryOperator {{.*}} <col:3, line:30:28> 'long' '*'1570// CHECK-NEXT: |       |       | |-ImplicitCastExpr {{.*}} <line:29:3, col:26> 'long' <IntegralCast>1571// CHECK-NEXT: |       |       | | `-BinaryOperator {{.*}} <col:3, col:26> 'int' '/'1572// CHECK-NEXT: |       |       | |   |-ParenExpr {{.*}} <col:3> 'int'1573// CHECK-NEXT: |       |       | |   | `-BinaryOperator {{.*}} <col:23, col:3> 'int' '-'1574// CHECK-NEXT: |       |       | |   |   |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1575// CHECK-NEXT: |       |       | |   |   | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue OMPCapturedExpr {{.*}} '.capture_expr.' 'int'1576// CHECK-NEXT: |       |       | |   |   `-ParenExpr {{.*}} <col:3> 'int'1577// CHECK-NEXT: |       |       | |   |     `-BinaryOperator {{.*}} <col:16, <invalid sloc>> 'int' '+'1578// CHECK-NEXT: |       |       | |   |       |-BinaryOperator {{.*}} <col:16, col:26> 'int' '-'1579// CHECK-NEXT: |       |       | |   |       | |-IntegerLiteral {{.*}} <col:16> 'int' 01580// CHECK-NEXT: |       |       | |   |       | `-IntegerLiteral {{.*}} <col:26> 'int' 11581// CHECK-NEXT: |       |       | |   |       `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 11582// CHECK-NEXT: |       |       | |   `-IntegerLiteral {{.*}} <col:26> 'int' 11583// CHECK-NEXT: |       |       | `-ImplicitCastExpr {{.*}} <line:30:5, col:28> 'long' <IntegralCast>1584// CHECK-NEXT: |       |       |   `-BinaryOperator {{.*}} <col:5, col:28> 'int' '/'1585// CHECK-NEXT: |       |       |     |-ParenExpr {{.*}} <col:5> 'int'1586// CHECK-NEXT: |       |       |     | `-BinaryOperator {{.*}} <col:25, col:5> 'int' '-'1587// CHECK-NEXT: |       |       |     |   |-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1588// CHECK-NEXT: |       |       |     |   | `-DeclRefExpr {{.*}} <col:25> 'int' lvalue OMPCapturedExpr {{.*}} '.capture_expr.' 'int'1589// CHECK-NEXT: |       |       |     |   `-ParenExpr {{.*}} <col:5> 'int'1590// CHECK-NEXT: |       |       |     |     `-BinaryOperator {{.*}} <col:18, <invalid sloc>> 'int' '+'1591// CHECK-NEXT: |       |       |     |       |-BinaryOperator {{.*}} <col:18, col:28> 'int' '-'1592// CHECK-NEXT: |       |       |     |       | |-IntegerLiteral {{.*}} <col:18> 'int' 01593// CHECK-NEXT: |       |       |     |       | `-IntegerLiteral {{.*}} <col:28> 'int' 11594// CHECK-NEXT: |       |       |     |       `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 11595// CHECK-NEXT: |       |       |     `-IntegerLiteral {{.*}} <col:28> 'int' 11596// CHECK-NEXT: |       |       `-ImplicitCastExpr {{.*}} <<invalid sloc>> 'long' <IntegralCast>1597// CHECK-NEXT: |       |         `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 11598// CHECK-NEXT: |       |-DeclRefExpr {{.*}} <line:29:3> 'int' lvalue ParmVar {{.*}} 'x' 'int'1599// CHECK-NEXT: |       `-DeclRefExpr {{.*}} <line:30:5> 'int' lvalue ParmVar {{.*}} 'y' 'int'1600// CHECK-NEXT: `-FunctionDecl {{.*}} <line:34:1, line:41:1> line:34:6 test_five 'void (int, int, int)'1601// CHECK-NEXT:   |-ParmVarDecl {{.*}} <col:16, col:20> col:20 used x 'int'1602// CHECK-NEXT:   |-ParmVarDecl {{.*}} <col:23, col:27> col:27 used y 'int'1603// CHECK-NEXT:   |-ParmVarDecl {{.*}} <col:30, col:34> col:34 used z 'int'1604// CHECK-NEXT:   `-CompoundStmt {{.*}} <col:37, line:41:1>1605// CHECK-NEXT:     `-OMPTargetDirective {{.*}} <line:35:1, col:19>1606// CHECK-NEXT:       |-OMPFirstprivateClause {{.*}} <<invalid sloc>> <implicit>1607// CHECK-NEXT:       | |-DeclRefExpr {{.*}} <line:37:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1608// CHECK-NEXT:       | |-DeclRefExpr {{.*}} <line:38:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1609// CHECK-NEXT:       | `-DeclRefExpr {{.*}} <line:39:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1610// CHECK-NEXT:       `-CapturedStmt {{.*}} <line:36:1, col:54>1611// CHECK-NEXT:         |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1612// CHECK-NEXT:         | |-CapturedStmt {{.*}} <col:1, col:54>1613// CHECK-NEXT:         | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1614// CHECK-NEXT:         | | | |-OMPTeamsDistributeParallelForDirective {{.*}} <col:1, col:54>1615// CHECK-NEXT:         | | | | |-OMPCollapseClause {{.*}} <col:43, col:53>1616// CHECK-NEXT:         | | | | | `-ConstantExpr {{.*}} <col:52> 'int'1617// CHECK-NEXT:         | | | | | |-value: Int 21618// CHECK-NEXT:         | | | | |   `-IntegerLiteral {{.*}} <col:52> 'int' 21619// CHECK-NEXT:         | | | | `-CapturedStmt {{.*}} <line:37:3, line:40:9>1620// CHECK-NEXT:         | | | |   |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1621// CHECK-NEXT:         | | | |   | |-CapturedStmt {{.*}} <line:37:3, line:40:9>1622// CHECK-NEXT:         | | | |   | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1623// CHECK-NEXT:         | | | |   | | | |-ForStmt {{.*}} <line:37:3, line:40:9>1624// CHECK-NEXT:         | | | |   | | | | |-DeclStmt {{.*}} <line:37:8, col:17>1625// CHECK-NEXT:         | | | |   | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1626// CHECK-NEXT:         | | | |   | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01627// CHECK-NEXT:         | | | |   | | | | |-<<<NULL>>>1628// CHECK-NEXT:         | | | |   | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1629// CHECK-NEXT:         | | | |   | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1630// CHECK-NEXT:         | | | |   | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1631// CHECK-NEXT:         | | | |   | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1632// CHECK-NEXT:         | | | |   | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1633// CHECK-NEXT:         | | | |   | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1634// CHECK-NEXT:         | | | |   | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1635// CHECK-NEXT:         | | | |   | | | | `-ForStmt {{.*}} <line:38:5, line:40:9>1636// CHECK-NEXT:         | | | |   | | | |   |-DeclStmt {{.*}} <line:38:10, col:19>1637// CHECK-NEXT:         | | | |   | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1638// CHECK-NEXT:         | | | |   | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01639// CHECK-NEXT:         | | | |   | | | |   |-<<<NULL>>>1640// CHECK-NEXT:         | | | |   | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1641// CHECK-NEXT:         | | | |   | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1642// CHECK-NEXT:         | | | |   | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1643// CHECK-NEXT:         | | | |   | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1644// CHECK-NEXT:         | | | |   | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1645// CHECK-NEXT:         | | | |   | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1646// CHECK-NEXT:         | | | |   | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1647// CHECK-NEXT:         | | | |   | | | |   `-ForStmt {{.*}} <line:39:7, line:40:9>1648// CHECK-NEXT:         | | | |   | | | |     |-DeclStmt {{.*}} <line:39:12, col:21>1649// CHECK-NEXT:         | | | |   | | | |     | `-VarDecl {{.*}} <col:12, col:20> col:16 used i 'int' cinit1650// CHECK-NEXT:         | | | |   | | | |     |   `-IntegerLiteral {{.*}} <col:20> 'int' 01651// CHECK-NEXT:         | | | |   | | | |     |-<<<NULL>>>1652// CHECK-NEXT:         | | | |   | | | |     |-BinaryOperator {{.*}} <col:23, col:27> 'int' '<'1653// CHECK-NEXT:         | | | |   | | | |     | |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1654// CHECK-NEXT:         | | | |   | | | |     | | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue Var {{.*}} 'i' 'int'1655// CHECK-NEXT:         | | | |   | | | |     | `-ImplicitCastExpr {{.*}} <col:27> 'int' <LValueToRValue>1656// CHECK-NEXT:         | | | |   | | | |     |   `-DeclRefExpr {{.*}} <col:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1657// CHECK-NEXT:         | | | |   | | | |     |-UnaryOperator {{.*}} <col:30, col:31> 'int' postfix '++'1658// CHECK-NEXT:         | | | |   | | | |     | `-DeclRefExpr {{.*}} <col:30> 'int' lvalue Var {{.*}} 'i' 'int'1659// CHECK-NEXT:         | | | |   | | | |     `-NullStmt {{.*}} <line:40:9>1660// CHECK-NEXT:         | | | |   | | | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'1661// CHECK-NEXT:         | | | |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1662// CHECK-NEXT:         | | | |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1663// CHECK-NEXT:         | | | |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1664// CHECK-NEXT:         | | | |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:36:1) *const restrict'1665// CHECK-NEXT:         | | | |   | | | |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit1666// CHECK-NEXT:         | | | |   | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 01667// CHECK-NEXT:         | | | |   | | | |-VarDecl {{.*}} <line:38:10, col:18> col:14 used i 'int' cinit1668// CHECK-NEXT:         | | | |   | | | | `-IntegerLiteral {{.*}} <col:18> 'int' 01669// CHECK-NEXT:         | | | |   | | | `-VarDecl {{.*}} <line:39:12, col:20> col:16 used i 'int' cinit1670// CHECK-NEXT:         | | | |   | | |   `-IntegerLiteral {{.*}} <col:20> 'int' 01671// CHECK-NEXT:         | | | |   | | |-DeclRefExpr {{.*}} <line:37:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1672// CHECK-NEXT:         | | | |   | | |-DeclRefExpr {{.*}} <line:38:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1673// CHECK-NEXT:         | | | |   | | `-DeclRefExpr {{.*}} <line:39:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1674// CHECK-NEXT:         | | | |   | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'1675// CHECK-NEXT:         | | | |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1676// CHECK-NEXT:         | | | |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:36:1) *const restrict'1677// CHECK-NEXT:         | | | |   | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1678// CHECK-NEXT:         | | | |   | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1679// CHECK-NEXT:         | | | |   | | |-FieldDecl {{.*}} <line:37:3> col:3 implicit 'int &'1680// CHECK-NEXT:         | | | |   | | |-FieldDecl {{.*}} <line:38:5> col:5 implicit 'int &'1681// CHECK-NEXT:         | | | |   | | `-FieldDecl {{.*}} <line:39:27> col:27 implicit 'int &'1682// CHECK-NEXT:         | | | |   | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1683// CHECK-NEXT:         | | | |   |   |-ForStmt {{.*}} <line:37:3, line:40:9>1684// CHECK-NEXT:         | | | |   |   | |-DeclStmt {{.*}} <line:37:8, col:17>1685// CHECK-NEXT:         | | | |   |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1686// CHECK-NEXT:         | | | |   |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01687// CHECK-NEXT:         | | | |   |   | |-<<<NULL>>>1688// CHECK-NEXT:         | | | |   |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1689// CHECK-NEXT:         | | | |   |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1690// CHECK-NEXT:         | | | |   |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1691// CHECK-NEXT:         | | | |   |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1692// CHECK-NEXT:         | | | |   |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1693// CHECK-NEXT:         | | | |   |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1694// CHECK-NEXT:         | | | |   |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1695// CHECK-NEXT:         | | | |   |   | `-ForStmt {{.*}} <line:38:5, line:40:9>1696// CHECK-NEXT:         | | | |   |   |   |-DeclStmt {{.*}} <line:38:10, col:19>1697// CHECK-NEXT:         | | | |   |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1698// CHECK-NEXT:         | | | |   |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01699// CHECK-NEXT:         | | | |   |   |   |-<<<NULL>>>1700// CHECK-NEXT:         | | | |   |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1701// CHECK-NEXT:         | | | |   |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1702// CHECK-NEXT:         | | | |   |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1703// CHECK-NEXT:         | | | |   |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1704// CHECK-NEXT:         | | | |   |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1705// CHECK-NEXT:         | | | |   |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1706// CHECK-NEXT:         | | | |   |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1707// CHECK-NEXT:         | | | |   |   |   `-ForStmt {{.*}} <line:39:7, line:40:9>1708// CHECK-NEXT:         | | | |   |   |     |-DeclStmt {{.*}} <line:39:12, col:21>1709// CHECK-NEXT:         | | | |   |   |     | `-VarDecl {{.*}} <col:12, col:20> col:16 used i 'int' cinit1710// CHECK-NEXT:         | | | |   |   |     |   `-IntegerLiteral {{.*}} <col:20> 'int' 01711// CHECK-NEXT:         | | | |   |   |     |-<<<NULL>>>1712// CHECK-NEXT:         | | | |   |   |     |-BinaryOperator {{.*}} <col:23, col:27> 'int' '<'1713// CHECK-NEXT:         | | | |   |   |     | |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1714// CHECK-NEXT:         | | | |   |   |     | | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue Var {{.*}} 'i' 'int'1715// CHECK-NEXT:         | | | |   |   |     | `-ImplicitCastExpr {{.*}} <col:27> 'int' <LValueToRValue>1716// CHECK-NEXT:         | | | |   |   |     |   `-DeclRefExpr {{.*}} <col:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1717// CHECK-NEXT:         | | | |   |   |     |-UnaryOperator {{.*}} <col:30, col:31> 'int' postfix '++'1718// CHECK-NEXT:         | | | |   |   |     | `-DeclRefExpr {{.*}} <col:30> 'int' lvalue Var {{.*}} 'i' 'int'1719// CHECK-NEXT:         | | | |   |   |     `-NullStmt {{.*}} <line:40:9>1720// CHECK-NEXT:         | | | |   |   |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'1721// CHECK-NEXT:         | | | |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1722// CHECK-NEXT:         | | | |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1723// CHECK-NEXT:         | | | |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1724// CHECK-NEXT:         | | | |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:36:1) *const restrict'1725// CHECK-NEXT:         | | | |   |   |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit1726// CHECK-NEXT:         | | | |   |   | `-IntegerLiteral {{.*}} <col:16> 'int' 01727// CHECK-NEXT:         | | | |   |   |-VarDecl {{.*}} <line:38:10, col:18> col:14 used i 'int' cinit1728// CHECK-NEXT:         | | | |   |   | `-IntegerLiteral {{.*}} <col:18> 'int' 01729// CHECK-NEXT:         | | | |   |   `-VarDecl {{.*}} <line:39:12, col:20> col:16 used i 'int' cinit1730// CHECK-NEXT:         | | | |   |     `-IntegerLiteral {{.*}} <col:20> 'int' 01731// CHECK-NEXT:         | | | |   |-DeclRefExpr {{.*}} <line:37:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1732// CHECK-NEXT:         | | | |   |-DeclRefExpr {{.*}} <line:38:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1733// CHECK-NEXT:         | | | |   `-DeclRefExpr {{.*}} <line:39:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1734// CHECK-NEXT:         | | | |-ImplicitParamDecl {{.*}} <line:35:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:35:1) *const restrict'1735// CHECK-NEXT:         | | | |-RecordDecl {{.*}} <line:36:1> col:1 implicit struct definition1736// CHECK-NEXT:         | | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1737// CHECK-NEXT:         | | | | |-FieldDecl {{.*}} <line:37:3> col:3 implicit 'int &'1738// CHECK-NEXT:         | | | | |-FieldDecl {{.*}} <line:38:5> col:5 implicit 'int &'1739// CHECK-NEXT:         | | | | `-FieldDecl {{.*}} <line:39:27> col:27 implicit 'int &'1740// CHECK-NEXT:         | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1741// CHECK-NEXT:         | | | | |-CapturedStmt {{.*}} <line:37:3, line:40:9>1742// CHECK-NEXT:         | | | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1743// CHECK-NEXT:         | | | | | | |-ForStmt {{.*}} <line:37:3, line:40:9>1744// CHECK-NEXT:         | | | | | | | |-DeclStmt {{.*}} <line:37:8, col:17>1745// CHECK-NEXT:         | | | | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1746// CHECK-NEXT:         | | | | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01747// CHECK-NEXT:         | | | | | | | |-<<<NULL>>>1748// CHECK-NEXT:         | | | | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1749// CHECK-NEXT:         | | | | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1750// CHECK-NEXT:         | | | | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1751// CHECK-NEXT:         | | | | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1752// CHECK-NEXT:         | | | | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1753// CHECK-NEXT:         | | | | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1754// CHECK-NEXT:         | | | | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1755// CHECK-NEXT:         | | | | | | | `-ForStmt {{.*}} <line:38:5, line:40:9>1756// CHECK-NEXT:         | | | | | | |   |-DeclStmt {{.*}} <line:38:10, col:19>1757// CHECK-NEXT:         | | | | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1758// CHECK-NEXT:         | | | | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01759// CHECK-NEXT:         | | | | | | |   |-<<<NULL>>>1760// CHECK-NEXT:         | | | | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1761// CHECK-NEXT:         | | | | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1762// CHECK-NEXT:         | | | | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1763// CHECK-NEXT:         | | | | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1764// CHECK-NEXT:         | | | | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1765// CHECK-NEXT:         | | | | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1766// CHECK-NEXT:         | | | | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1767// CHECK-NEXT:         | | | | | | |   `-ForStmt {{.*}} <line:39:7, line:40:9>1768// CHECK-NEXT:         | | | | | | |     |-DeclStmt {{.*}} <line:39:12, col:21>1769// CHECK-NEXT:         | | | | | | |     | `-VarDecl {{.*}} <col:12, col:20> col:16 used i 'int' cinit1770// CHECK-NEXT:         | | | | | | |     |   `-IntegerLiteral {{.*}} <col:20> 'int' 01771// CHECK-NEXT:         | | | | | | |     |-<<<NULL>>>1772// CHECK-NEXT:         | | | | | | |     |-BinaryOperator {{.*}} <col:23, col:27> 'int' '<'1773// CHECK-NEXT:         | | | | | | |     | |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1774// CHECK-NEXT:         | | | | | | |     | | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue Var {{.*}} 'i' 'int'1775// CHECK-NEXT:         | | | | | | |     | `-ImplicitCastExpr {{.*}} <col:27> 'int' <LValueToRValue>1776// CHECK-NEXT:         | | | | | | |     |   `-DeclRefExpr {{.*}} <col:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1777// CHECK-NEXT:         | | | | | | |     |-UnaryOperator {{.*}} <col:30, col:31> 'int' postfix '++'1778// CHECK-NEXT:         | | | | | | |     | `-DeclRefExpr {{.*}} <col:30> 'int' lvalue Var {{.*}} 'i' 'int'1779// CHECK-NEXT:         | | | | | | |     `-NullStmt {{.*}} <line:40:9>1780// CHECK-NEXT:         | | | | | | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'1781// CHECK-NEXT:         | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1782// CHECK-NEXT:         | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1783// CHECK-NEXT:         | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1784// CHECK-NEXT:         | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:36:1) *const restrict'1785// CHECK-NEXT:         | | | | | | |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit1786// CHECK-NEXT:         | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 01787// CHECK-NEXT:         | | | | | | |-VarDecl {{.*}} <line:38:10, col:18> col:14 used i 'int' cinit1788// CHECK-NEXT:         | | | | | | | `-IntegerLiteral {{.*}} <col:18> 'int' 01789// CHECK-NEXT:         | | | | | | `-VarDecl {{.*}} <line:39:12, col:20> col:16 used i 'int' cinit1790// CHECK-NEXT:         | | | | | |   `-IntegerLiteral {{.*}} <col:20> 'int' 01791// CHECK-NEXT:         | | | | | |-DeclRefExpr {{.*}} <line:37:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1792// CHECK-NEXT:         | | | | | |-DeclRefExpr {{.*}} <line:38:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1793// CHECK-NEXT:         | | | | | `-DeclRefExpr {{.*}} <line:39:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1794// CHECK-NEXT:         | | | | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'1795// CHECK-NEXT:         | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1796// CHECK-NEXT:         | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:36:1) *const restrict'1797// CHECK-NEXT:         | | | | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1798// CHECK-NEXT:         | | | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1799// CHECK-NEXT:         | | | | | |-FieldDecl {{.*}} <line:37:3> col:3 implicit 'int &'1800// CHECK-NEXT:         | | | | | |-FieldDecl {{.*}} <line:38:5> col:5 implicit 'int &'1801// CHECK-NEXT:         | | | | | `-FieldDecl {{.*}} <line:39:27> col:27 implicit 'int &'1802// CHECK-NEXT:         | | | | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1803// CHECK-NEXT:         | | | |   |-ForStmt {{.*}} <line:37:3, line:40:9>1804// CHECK-NEXT:         | | | |   | |-DeclStmt {{.*}} <line:37:8, col:17>1805// CHECK-NEXT:         | | | |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1806// CHECK-NEXT:         | | | |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01807// CHECK-NEXT:         | | | |   | |-<<<NULL>>>1808// CHECK-NEXT:         | | | |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1809// CHECK-NEXT:         | | | |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1810// CHECK-NEXT:         | | | |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1811// CHECK-NEXT:         | | | |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1812// CHECK-NEXT:         | | | |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1813// CHECK-NEXT:         | | | |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1814// CHECK-NEXT:         | | | |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1815// CHECK-NEXT:         | | | |   | `-ForStmt {{.*}} <line:38:5, line:40:9>1816// CHECK-NEXT:         | | | |   |   |-DeclStmt {{.*}} <line:38:10, col:19>1817// CHECK-NEXT:         | | | |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1818// CHECK-NEXT:         | | | |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01819// CHECK-NEXT:         | | | |   |   |-<<<NULL>>>1820// CHECK-NEXT:         | | | |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1821// CHECK-NEXT:         | | | |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1822// CHECK-NEXT:         | | | |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1823// CHECK-NEXT:         | | | |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1824// CHECK-NEXT:         | | | |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1825// CHECK-NEXT:         | | | |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1826// CHECK-NEXT:         | | | |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1827// CHECK-NEXT:         | | | |   |   `-ForStmt {{.*}} <line:39:7, line:40:9>1828// CHECK-NEXT:         | | | |   |     |-DeclStmt {{.*}} <line:39:12, col:21>1829// CHECK-NEXT:         | | | |   |     | `-VarDecl {{.*}} <col:12, col:20> col:16 used i 'int' cinit1830// CHECK-NEXT:         | | | |   |     |   `-IntegerLiteral {{.*}} <col:20> 'int' 01831// CHECK-NEXT:         | | | |   |     |-<<<NULL>>>1832// CHECK-NEXT:         | | | |   |     |-BinaryOperator {{.*}} <col:23, col:27> 'int' '<'1833// CHECK-NEXT:         | | | |   |     | |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1834// CHECK-NEXT:         | | | |   |     | | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue Var {{.*}} 'i' 'int'1835// CHECK-NEXT:         | | | |   |     | `-ImplicitCastExpr {{.*}} <col:27> 'int' <LValueToRValue>1836// CHECK-NEXT:         | | | |   |     |   `-DeclRefExpr {{.*}} <col:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1837// CHECK-NEXT:         | | | |   |     |-UnaryOperator {{.*}} <col:30, col:31> 'int' postfix '++'1838// CHECK-NEXT:         | | | |   |     | `-DeclRefExpr {{.*}} <col:30> 'int' lvalue Var {{.*}} 'i' 'int'1839// CHECK-NEXT:         | | | |   |     `-NullStmt {{.*}} <line:40:9>1840// CHECK-NEXT:         | | | |   |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'1841// CHECK-NEXT:         | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1842// CHECK-NEXT:         | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1843// CHECK-NEXT:         | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1844// CHECK-NEXT:         | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:36:1) *const restrict'1845// CHECK-NEXT:         | | | |   |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit1846// CHECK-NEXT:         | | | |   | `-IntegerLiteral {{.*}} <col:16> 'int' 01847// CHECK-NEXT:         | | | |   |-VarDecl {{.*}} <line:38:10, col:18> col:14 used i 'int' cinit1848// CHECK-NEXT:         | | | |   | `-IntegerLiteral {{.*}} <col:18> 'int' 01849// CHECK-NEXT:         | | | |   `-VarDecl {{.*}} <line:39:12, col:20> col:16 used i 'int' cinit1850// CHECK-NEXT:         | | | |     `-IntegerLiteral {{.*}} <col:20> 'int' 01851// CHECK-NEXT:         | | | |-OMPCapturedExprDecl {{.*}} <line:37:23> col:23 implicit used .capture_expr. 'int'1852// CHECK-NEXT:         | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1853// CHECK-NEXT:         | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1854// CHECK-NEXT:         | | | |-OMPCapturedExprDecl {{.*}} <line:38:25> col:25 implicit used .capture_expr. 'int'1855// CHECK-NEXT:         | | | | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1856// CHECK-NEXT:         | | | |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1857// CHECK-NEXT:         | | | `-OMPCapturedExprDecl {{.*}} <line:37:3, <invalid sloc>> col:3 implicit used .capture_expr. 'long'1858// CHECK-NEXT:         | | |   `-BinaryOperator {{.*}} <col:3, <invalid sloc>> 'long' '-'1859// CHECK-NEXT:         | | |     |-BinaryOperator {{.*}} <col:3, line:38:28> 'long' '*'1860// CHECK-NEXT:         | | |     | |-ImplicitCastExpr {{.*}} <line:37:3, col:26> 'long' <IntegralCast>1861// CHECK-NEXT:         | | |     | | `-BinaryOperator {{.*}} <col:3, col:26> 'int' '/'1862// CHECK-NEXT:         | | |     | |   |-ParenExpr {{.*}} <col:3> 'int'1863// CHECK-NEXT:         | | |     | |   | `-BinaryOperator {{.*}} <col:23, col:3> 'int' '-'1864// CHECK-NEXT:         | | |     | |   |   |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1865// CHECK-NEXT:         | | |     | |   |   | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue OMPCapturedExpr {{.*}} '.capture_expr.' 'int'1866// CHECK-NEXT:         | | |     | |   |   `-ParenExpr {{.*}} <col:3> 'int'1867// CHECK-NEXT:         | | |     | |   |     `-BinaryOperator {{.*}} <col:16, <invalid sloc>> 'int' '+'1868// CHECK-NEXT:         | | |     | |   |       |-BinaryOperator {{.*}} <col:16, col:26> 'int' '-'1869// CHECK-NEXT:         | | |     | |   |       | |-IntegerLiteral {{.*}} <col:16> 'int' 01870// CHECK-NEXT:         | | |     | |   |       | `-IntegerLiteral {{.*}} <col:26> 'int' 11871// CHECK-NEXT:         | | |     | |   |       `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 11872// CHECK-NEXT:         | | |     | |   `-IntegerLiteral {{.*}} <col:26> 'int' 11873// CHECK-NEXT:         | | |     | `-ImplicitCastExpr {{.*}} <line:38:5, col:28> 'long' <IntegralCast>1874// CHECK-NEXT:         | | |     |   `-BinaryOperator {{.*}} <col:5, col:28> 'int' '/'1875// CHECK-NEXT:         | | |     |     |-ParenExpr {{.*}} <col:5> 'int'1876// CHECK-NEXT:         | | |     |     | `-BinaryOperator {{.*}} <col:25, col:5> 'int' '-'1877// CHECK-NEXT:         | | |     |     |   |-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1878// CHECK-NEXT:         | | |     |     |   | `-DeclRefExpr {{.*}} <col:25> 'int' lvalue OMPCapturedExpr {{.*}} '.capture_expr.' 'int'1879// CHECK-NEXT:         | | |     |     |   `-ParenExpr {{.*}} <col:5> 'int'1880// CHECK-NEXT:         | | |     |     |     `-BinaryOperator {{.*}} <col:18, <invalid sloc>> 'int' '+'1881// CHECK-NEXT:         | | |     |     |       |-BinaryOperator {{.*}} <col:18, col:28> 'int' '-'1882// CHECK-NEXT:         | | |     |     |       | |-IntegerLiteral {{.*}} <col:18> 'int' 01883// CHECK-NEXT:         | | |     |     |       | `-IntegerLiteral {{.*}} <col:28> 'int' 11884// CHECK-NEXT:         | | |     |     |       `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 11885// CHECK-NEXT:         | | |     |     `-IntegerLiteral {{.*}} <col:28> 'int' 11886// CHECK-NEXT:         | | |     `-ImplicitCastExpr {{.*}} <<invalid sloc>> 'long' <IntegralCast>1887// CHECK-NEXT:         | | |       `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 11888// CHECK-NEXT:         | | |-DeclRefExpr {{.*}} <line:37:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1889// CHECK-NEXT:         | | |-DeclRefExpr {{.*}} <line:38:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1890// CHECK-NEXT:         | | `-DeclRefExpr {{.*}} <line:39:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1891// CHECK-NEXT:         | |-AlwaysInlineAttr {{.*}} <<invalid sloc>> Implicit __forceinline1892// CHECK-NEXT:         | |-ImplicitParamDecl {{.*}} <line:35:1> col:1 implicit .global_tid. 'const int'1893// CHECK-NEXT:         | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .part_id. 'const int *const restrict'1894// CHECK-NEXT:         | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .privates. 'void *const restrict'1895// CHECK-NEXT:         | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .copy_fn. 'void (*const restrict)(void *const restrict, ...)'1896// CHECK-NEXT:         | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .task_t. 'void *const'1897// CHECK-NEXT:         | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:35:1) *const restrict'1898// CHECK-NEXT:         | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1899// CHECK-NEXT:         | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1900// CHECK-NEXT:         | | |-FieldDecl {{.*}} <line:37:3> col:3 implicit 'int'1901// CHECK-NEXT:         | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1902// CHECK-NEXT:         | | |-FieldDecl {{.*}} <line:38:5> col:5 implicit 'int'1903// CHECK-NEXT:         | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1904// CHECK-NEXT:         | | `-FieldDecl {{.*}} <line:39:27> col:27 implicit 'int'1905// CHECK-NEXT:         | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1906// CHECK-NEXT:         | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1907// CHECK-NEXT:         |   |-OMPTeamsDistributeParallelForDirective {{.*}} <line:36:1, col:54>1908// CHECK-NEXT:         |   | |-OMPCollapseClause {{.*}} <col:43, col:53>1909// CHECK-NEXT:         |   | | `-ConstantExpr {{.*}} <col:52> 'int'1910// CHECK-NEXT:         |   | | |-value: Int 21911// CHECK-NEXT:         |   | |   `-IntegerLiteral {{.*}} <col:52> 'int' 21912// CHECK-NEXT:         |   | `-CapturedStmt {{.*}} <line:37:3, line:40:9>1913// CHECK-NEXT:         |   |   |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1914// CHECK-NEXT:         |   |   | |-CapturedStmt {{.*}} <line:37:3, line:40:9>1915// CHECK-NEXT:         |   |   | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1916// CHECK-NEXT:         |   |   | | | |-ForStmt {{.*}} <line:37:3, line:40:9>1917// CHECK-NEXT:         |   |   | | | | |-DeclStmt {{.*}} <line:37:8, col:17>1918// CHECK-NEXT:         |   |   | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1919// CHECK-NEXT:         |   |   | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01920// CHECK-NEXT:         |   |   | | | | |-<<<NULL>>>1921// CHECK-NEXT:         |   |   | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1922// CHECK-NEXT:         |   |   | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1923// CHECK-NEXT:         |   |   | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1924// CHECK-NEXT:         |   |   | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1925// CHECK-NEXT:         |   |   | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1926// CHECK-NEXT:         |   |   | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1927// CHECK-NEXT:         |   |   | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1928// CHECK-NEXT:         |   |   | | | | `-ForStmt {{.*}} <line:38:5, line:40:9>1929// CHECK-NEXT:         |   |   | | | |   |-DeclStmt {{.*}} <line:38:10, col:19>1930// CHECK-NEXT:         |   |   | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1931// CHECK-NEXT:         |   |   | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01932// CHECK-NEXT:         |   |   | | | |   |-<<<NULL>>>1933// CHECK-NEXT:         |   |   | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1934// CHECK-NEXT:         |   |   | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1935// CHECK-NEXT:         |   |   | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1936// CHECK-NEXT:         |   |   | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1937// CHECK-NEXT:         |   |   | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1938// CHECK-NEXT:         |   |   | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1939// CHECK-NEXT:         |   |   | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1940// CHECK-NEXT:         |   |   | | | |   `-ForStmt {{.*}} <line:39:7, line:40:9>1941// CHECK-NEXT:         |   |   | | | |     |-DeclStmt {{.*}} <line:39:12, col:21>1942// CHECK-NEXT:         |   |   | | | |     | `-VarDecl {{.*}} <col:12, col:20> col:16 used i 'int' cinit1943// CHECK-NEXT:         |   |   | | | |     |   `-IntegerLiteral {{.*}} <col:20> 'int' 01944// CHECK-NEXT:         |   |   | | | |     |-<<<NULL>>>1945// CHECK-NEXT:         |   |   | | | |     |-BinaryOperator {{.*}} <col:23, col:27> 'int' '<'1946// CHECK-NEXT:         |   |   | | | |     | |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1947// CHECK-NEXT:         |   |   | | | |     | | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue Var {{.*}} 'i' 'int'1948// CHECK-NEXT:         |   |   | | | |     | `-ImplicitCastExpr {{.*}} <col:27> 'int' <LValueToRValue>1949// CHECK-NEXT:         |   |   | | | |     |   `-DeclRefExpr {{.*}} <col:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1950// CHECK-NEXT:         |   |   | | | |     |-UnaryOperator {{.*}} <col:30, col:31> 'int' postfix '++'1951// CHECK-NEXT:         |   |   | | | |     | `-DeclRefExpr {{.*}} <col:30> 'int' lvalue Var {{.*}} 'i' 'int'1952// CHECK-NEXT:         |   |   | | | |     `-NullStmt {{.*}} <line:40:9>1953// CHECK-NEXT:         |   |   | | | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'1954// CHECK-NEXT:         |   |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1955// CHECK-NEXT:         |   |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1956// CHECK-NEXT:         |   |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1957// CHECK-NEXT:         |   |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:36:1) *const restrict'1958// CHECK-NEXT:         |   |   | | | |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit1959// CHECK-NEXT:         |   |   | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 01960// CHECK-NEXT:         |   |   | | | |-VarDecl {{.*}} <line:38:10, col:18> col:14 used i 'int' cinit1961// CHECK-NEXT:         |   |   | | | | `-IntegerLiteral {{.*}} <col:18> 'int' 01962// CHECK-NEXT:         |   |   | | | `-VarDecl {{.*}} <line:39:12, col:20> col:16 used i 'int' cinit1963// CHECK-NEXT:         |   |   | | |   `-IntegerLiteral {{.*}} <col:20> 'int' 01964// CHECK-NEXT:         |   |   | | |-DeclRefExpr {{.*}} <line:37:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1965// CHECK-NEXT:         |   |   | | |-DeclRefExpr {{.*}} <line:38:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1966// CHECK-NEXT:         |   |   | | `-DeclRefExpr {{.*}} <line:39:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1967// CHECK-NEXT:         |   |   | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'1968// CHECK-NEXT:         |   |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1969// CHECK-NEXT:         |   |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:36:1) *const restrict'1970// CHECK-NEXT:         |   |   | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1971// CHECK-NEXT:         |   |   | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1972// CHECK-NEXT:         |   |   | | |-FieldDecl {{.*}} <line:37:3> col:3 implicit 'int &'1973// CHECK-NEXT:         |   |   | | |-FieldDecl {{.*}} <line:38:5> col:5 implicit 'int &'1974// CHECK-NEXT:         |   |   | | `-FieldDecl {{.*}} <line:39:27> col:27 implicit 'int &'1975// CHECK-NEXT:         |   |   | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1976// CHECK-NEXT:         |   |   |   |-ForStmt {{.*}} <line:37:3, line:40:9>1977// CHECK-NEXT:         |   |   |   | |-DeclStmt {{.*}} <line:37:8, col:17>1978// CHECK-NEXT:         |   |   |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1979// CHECK-NEXT:         |   |   |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01980// CHECK-NEXT:         |   |   |   | |-<<<NULL>>>1981// CHECK-NEXT:         |   |   |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1982// CHECK-NEXT:         |   |   |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1983// CHECK-NEXT:         |   |   |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1984// CHECK-NEXT:         |   |   |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1985// CHECK-NEXT:         |   |   |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1986// CHECK-NEXT:         |   |   |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1987// CHECK-NEXT:         |   |   |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1988// CHECK-NEXT:         |   |   |   | `-ForStmt {{.*}} <line:38:5, line:40:9>1989// CHECK-NEXT:         |   |   |   |   |-DeclStmt {{.*}} <line:38:10, col:19>1990// CHECK-NEXT:         |   |   |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1991// CHECK-NEXT:         |   |   |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01992// CHECK-NEXT:         |   |   |   |   |-<<<NULL>>>1993// CHECK-NEXT:         |   |   |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1994// CHECK-NEXT:         |   |   |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1995// CHECK-NEXT:         |   |   |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1996// CHECK-NEXT:         |   |   |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1997// CHECK-NEXT:         |   |   |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1998// CHECK-NEXT:         |   |   |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1999// CHECK-NEXT:         |   |   |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'2000// CHECK-NEXT:         |   |   |   |   `-ForStmt {{.*}} <line:39:7, line:40:9>2001// CHECK-NEXT:         |   |   |   |     |-DeclStmt {{.*}} <line:39:12, col:21>2002// CHECK-NEXT:         |   |   |   |     | `-VarDecl {{.*}} <col:12, col:20> col:16 used i 'int' cinit2003// CHECK-NEXT:         |   |   |   |     |   `-IntegerLiteral {{.*}} <col:20> 'int' 02004// CHECK-NEXT:         |   |   |   |     |-<<<NULL>>>2005// CHECK-NEXT:         |   |   |   |     |-BinaryOperator {{.*}} <col:23, col:27> 'int' '<'2006// CHECK-NEXT:         |   |   |   |     | |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>2007// CHECK-NEXT:         |   |   |   |     | | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue Var {{.*}} 'i' 'int'2008// CHECK-NEXT:         |   |   |   |     | `-ImplicitCastExpr {{.*}} <col:27> 'int' <LValueToRValue>2009// CHECK-NEXT:         |   |   |   |     |   `-DeclRefExpr {{.*}} <col:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture2010// CHECK-NEXT:         |   |   |   |     |-UnaryOperator {{.*}} <col:30, col:31> 'int' postfix '++'2011// CHECK-NEXT:         |   |   |   |     | `-DeclRefExpr {{.*}} <col:30> 'int' lvalue Var {{.*}} 'i' 'int'2012// CHECK-NEXT:         |   |   |   |     `-NullStmt {{.*}} <line:40:9>2013// CHECK-NEXT:         |   |   |   |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'2014// CHECK-NEXT:         |   |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'2015// CHECK-NEXT:         |   |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'2016// CHECK-NEXT:         |   |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'2017// CHECK-NEXT:         |   |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:36:1) *const restrict'2018// CHECK-NEXT:         |   |   |   |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit2019// CHECK-NEXT:         |   |   |   | `-IntegerLiteral {{.*}} <col:16> 'int' 02020// CHECK-NEXT:         |   |   |   |-VarDecl {{.*}} <line:38:10, col:18> col:14 used i 'int' cinit2021// CHECK-NEXT:         |   |   |   | `-IntegerLiteral {{.*}} <col:18> 'int' 02022// CHECK-NEXT:         |   |   |   `-VarDecl {{.*}} <line:39:12, col:20> col:16 used i 'int' cinit2023// CHECK-NEXT:         |   |   |     `-IntegerLiteral {{.*}} <col:20> 'int' 02024// CHECK-NEXT:         |   |   |-DeclRefExpr {{.*}} <line:37:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture2025// CHECK-NEXT:         |   |   |-DeclRefExpr {{.*}} <line:38:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture2026// CHECK-NEXT:         |   |   `-DeclRefExpr {{.*}} <line:39:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture2027// CHECK-NEXT:         |   |-ImplicitParamDecl {{.*}} <line:35:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:35:1) *const restrict'2028// CHECK-NEXT:         |   |-RecordDecl {{.*}} <line:36:1> col:1 implicit struct definition2029// CHECK-NEXT:         |   | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit2030// CHECK-NEXT:         |   | |-FieldDecl {{.*}} <line:37:3> col:3 implicit 'int &'2031// CHECK-NEXT:         |   | |-FieldDecl {{.*}} <line:38:5> col:5 implicit 'int &'2032// CHECK-NEXT:         |   | `-FieldDecl {{.*}} <line:39:27> col:27 implicit 'int &'2033// CHECK-NEXT:         |   |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow2034// CHECK-NEXT:         |   | |-CapturedStmt {{.*}} <line:37:3, line:40:9>2035// CHECK-NEXT:         |   | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow2036// CHECK-NEXT:         |   | | | |-ForStmt {{.*}} <line:37:3, line:40:9>2037// CHECK-NEXT:         |   | | | | |-DeclStmt {{.*}} <line:37:8, col:17>2038// CHECK-NEXT:         |   | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit2039// CHECK-NEXT:         |   | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 02040// CHECK-NEXT:         |   | | | | |-<<<NULL>>>2041// CHECK-NEXT:         |   | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'2042// CHECK-NEXT:         |   | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>2043// CHECK-NEXT:         |   | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'2044// CHECK-NEXT:         |   | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>2045// CHECK-NEXT:         |   | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture2046// CHECK-NEXT:         |   | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'2047// CHECK-NEXT:         |   | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'2048// CHECK-NEXT:         |   | | | | `-ForStmt {{.*}} <line:38:5, line:40:9>2049// CHECK-NEXT:         |   | | | |   |-DeclStmt {{.*}} <line:38:10, col:19>2050// CHECK-NEXT:         |   | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit2051// CHECK-NEXT:         |   | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 02052// CHECK-NEXT:         |   | | | |   |-<<<NULL>>>2053// CHECK-NEXT:         |   | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'2054// CHECK-NEXT:         |   | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>2055// CHECK-NEXT:         |   | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'2056// CHECK-NEXT:         |   | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>2057// CHECK-NEXT:         |   | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture2058// CHECK-NEXT:         |   | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'2059// CHECK-NEXT:         |   | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'2060// CHECK-NEXT:         |   | | | |   `-ForStmt {{.*}} <line:39:7, line:40:9>2061// CHECK-NEXT:         |   | | | |     |-DeclStmt {{.*}} <line:39:12, col:21>2062// CHECK-NEXT:         |   | | | |     | `-VarDecl {{.*}} <col:12, col:20> col:16 used i 'int' cinit2063// CHECK-NEXT:         |   | | | |     |   `-IntegerLiteral {{.*}} <col:20> 'int' 02064// CHECK-NEXT:         |   | | | |     |-<<<NULL>>>2065// CHECK-NEXT:         |   | | | |     |-BinaryOperator {{.*}} <col:23, col:27> 'int' '<'2066// CHECK-NEXT:         |   | | | |     | |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>2067// CHECK-NEXT:         |   | | | |     | | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue Var {{.*}} 'i' 'int'2068// CHECK-NEXT:         |   | | | |     | `-ImplicitCastExpr {{.*}} <col:27> 'int' <LValueToRValue>2069// CHECK-NEXT:         |   | | | |     |   `-DeclRefExpr {{.*}} <col:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture2070// CHECK-NEXT:         |   | | | |     |-UnaryOperator {{.*}} <col:30, col:31> 'int' postfix '++'2071// CHECK-NEXT:         |   | | | |     | `-DeclRefExpr {{.*}} <col:30> 'int' lvalue Var {{.*}} 'i' 'int'2072// CHECK-NEXT:         |   | | | |     `-NullStmt {{.*}} <line:40:9>2073// CHECK-NEXT:         |   | | | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'2074// CHECK-NEXT:         |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'2075// CHECK-NEXT:         |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'2076// CHECK-NEXT:         |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'2077// CHECK-NEXT:         |   | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:36:1) *const restrict'2078// CHECK-NEXT:         |   | | | |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit2079// CHECK-NEXT:         |   | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 02080// CHECK-NEXT:         |   | | | |-VarDecl {{.*}} <line:38:10, col:18> col:14 used i 'int' cinit2081// CHECK-NEXT:         |   | | | | `-IntegerLiteral {{.*}} <col:18> 'int' 02082// CHECK-NEXT:         |   | | | `-VarDecl {{.*}} <line:39:12, col:20> col:16 used i 'int' cinit2083// CHECK-NEXT:         |   | | |   `-IntegerLiteral {{.*}} <col:20> 'int' 02084// CHECK-NEXT:         |   | | |-DeclRefExpr {{.*}} <line:37:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture2085// CHECK-NEXT:         |   | | |-DeclRefExpr {{.*}} <line:38:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture2086// CHECK-NEXT:         |   | | `-DeclRefExpr {{.*}} <line:39:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture2087// CHECK-NEXT:         |   | |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'2088// CHECK-NEXT:         |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'2089// CHECK-NEXT:         |   | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:36:1) *const restrict'2090// CHECK-NEXT:         |   | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition2091// CHECK-NEXT:         |   | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit2092// CHECK-NEXT:         |   | | |-FieldDecl {{.*}} <line:37:3> col:3 implicit 'int &'2093// CHECK-NEXT:         |   | | |-FieldDecl {{.*}} <line:38:5> col:5 implicit 'int &'2094// CHECK-NEXT:         |   | | `-FieldDecl {{.*}} <line:39:27> col:27 implicit 'int &'2095// CHECK-NEXT:         |   | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow2096// CHECK-NEXT:         |   |   |-ForStmt {{.*}} <line:37:3, line:40:9>2097// CHECK-NEXT:         |   |   | |-DeclStmt {{.*}} <line:37:8, col:17>2098// CHECK-NEXT:         |   |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit2099// CHECK-NEXT:         |   |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 02100// CHECK-NEXT:         |   |   | |-<<<NULL>>>2101// CHECK-NEXT:         |   |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'2102// CHECK-NEXT:         |   |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>2103// CHECK-NEXT:         |   |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'2104// CHECK-NEXT:         |   |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>2105// CHECK-NEXT:         |   |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture2106// CHECK-NEXT:         |   |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'2107// CHECK-NEXT:         |   |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'2108// CHECK-NEXT:         |   |   | `-ForStmt {{.*}} <line:38:5, line:40:9>2109// CHECK-NEXT:         |   |   |   |-DeclStmt {{.*}} <line:38:10, col:19>2110// CHECK-NEXT:         |   |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit2111// CHECK-NEXT:         |   |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 02112// CHECK-NEXT:         |   |   |   |-<<<NULL>>>2113// CHECK-NEXT:         |   |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'2114// CHECK-NEXT:         |   |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>2115// CHECK-NEXT:         |   |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'2116// CHECK-NEXT:         |   |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>2117// CHECK-NEXT:         |   |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture2118// CHECK-NEXT:         |   |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'2119// CHECK-NEXT:         |   |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'2120// CHECK-NEXT:         |   |   |   `-ForStmt {{.*}} <line:39:7, line:40:9>2121// CHECK-NEXT:         |   |   |     |-DeclStmt {{.*}} <line:39:12, col:21>2122// CHECK-NEXT:         |   |   |     | `-VarDecl {{.*}} <col:12, col:20> col:16 used i 'int' cinit2123// CHECK-NEXT:         |   |   |     |   `-IntegerLiteral {{.*}} <col:20> 'int' 02124// CHECK-NEXT:         |   |   |     |-<<<NULL>>>2125// CHECK-NEXT:         |   |   |     |-BinaryOperator {{.*}} <col:23, col:27> 'int' '<'2126// CHECK-NEXT:         |   |   |     | |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>2127// CHECK-NEXT:         |   |   |     | | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue Var {{.*}} 'i' 'int'2128// CHECK-NEXT:         |   |   |     | `-ImplicitCastExpr {{.*}} <col:27> 'int' <LValueToRValue>2129// CHECK-NEXT:         |   |   |     |   `-DeclRefExpr {{.*}} <col:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture2130// CHECK-NEXT:         |   |   |     |-UnaryOperator {{.*}} <col:30, col:31> 'int' postfix '++'2131// CHECK-NEXT:         |   |   |     | `-DeclRefExpr {{.*}} <col:30> 'int' lvalue Var {{.*}} 'i' 'int'2132// CHECK-NEXT:         |   |   |     `-NullStmt {{.*}} <line:40:9>2133// CHECK-NEXT:         |   |   |-ImplicitParamDecl {{.*}} <line:36:1> col:1 implicit .global_tid. 'const int *const restrict'2134// CHECK-NEXT:         |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'2135// CHECK-NEXT:         |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'2136// CHECK-NEXT:         |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'2137// CHECK-NEXT:         |   |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-teams-distribute-parallel-for.c:36:1) *const restrict'2138// CHECK-NEXT:         |   |   |-VarDecl {{.*}} <line:37:8, col:16> col:12 used i 'int' cinit2139// CHECK-NEXT:         |   |   | `-IntegerLiteral {{.*}} <col:16> 'int' 02140// CHECK-NEXT:         |   |   |-VarDecl {{.*}} <line:38:10, col:18> col:14 used i 'int' cinit2141// CHECK-NEXT:         |   |   | `-IntegerLiteral {{.*}} <col:18> 'int' 02142// CHECK-NEXT:         |   |   `-VarDecl {{.*}} <line:39:12, col:20> col:16 used i 'int' cinit2143// CHECK-NEXT:         |   |     `-IntegerLiteral {{.*}} <col:20> 'int' 02144// CHECK-NEXT:         |   |-OMPCapturedExprDecl {{.*}} <line:37:23> col:23 implicit used .capture_expr. 'int'2145// CHECK-NEXT:         |   | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>2146// CHECK-NEXT:         |   |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture2147// CHECK-NEXT:         |   |-OMPCapturedExprDecl {{.*}} <line:38:25> col:25 implicit used .capture_expr. 'int'2148// CHECK-NEXT:         |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>2149// CHECK-NEXT:         |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture2150// CHECK-NEXT:         |   `-OMPCapturedExprDecl {{.*}} <line:37:3, <invalid sloc>> col:3 implicit used .capture_expr. 'long'2151// CHECK-NEXT:         |     `-BinaryOperator {{.*}} <col:3, <invalid sloc>> 'long' '-'2152// CHECK-NEXT:         |       |-BinaryOperator {{.*}} <col:3, line:38:28> 'long' '*'2153// CHECK-NEXT:         |       | |-ImplicitCastExpr {{.*}} <line:37:3, col:26> 'long' <IntegralCast>2154// CHECK-NEXT:         |       | | `-BinaryOperator {{.*}} <col:3, col:26> 'int' '/'2155// CHECK-NEXT:         |       | |   |-ParenExpr {{.*}} <col:3> 'int'2156// CHECK-NEXT:         |       | |   | `-BinaryOperator {{.*}} <col:23, col:3> 'int' '-'2157// CHECK-NEXT:         |       | |   |   |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>2158// CHECK-NEXT:         |       | |   |   | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue OMPCapturedExpr {{.*}} '.capture_expr.' 'int'2159// CHECK-NEXT:         |       | |   |   `-ParenExpr {{.*}} <col:3> 'int'2160// CHECK-NEXT:         |       | |   |     `-BinaryOperator {{.*}} <col:16, <invalid sloc>> 'int' '+'2161// CHECK-NEXT:         |       | |   |       |-BinaryOperator {{.*}} <col:16, col:26> 'int' '-'2162// CHECK-NEXT:         |       | |   |       | |-IntegerLiteral {{.*}} <col:16> 'int' 02163// CHECK-NEXT:         |       | |   |       | `-IntegerLiteral {{.*}} <col:26> 'int' 12164// CHECK-NEXT:         |       | |   |       `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 12165// CHECK-NEXT:         |       | |   `-IntegerLiteral {{.*}} <col:26> 'int' 12166// CHECK-NEXT:         |       | `-ImplicitCastExpr {{.*}} <line:38:5, col:28> 'long' <IntegralCast>2167// CHECK-NEXT:         |       |   `-BinaryOperator {{.*}} <col:5, col:28> 'int' '/'2168// CHECK-NEXT:         |       |     |-ParenExpr {{.*}} <col:5> 'int'2169// CHECK-NEXT:         |       |     | `-BinaryOperator {{.*}} <col:25, col:5> 'int' '-'2170// CHECK-NEXT:         |       |     |   |-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>2171// CHECK-NEXT:         |       |     |   | `-DeclRefExpr {{.*}} <col:25> 'int' lvalue OMPCapturedExpr {{.*}} '.capture_expr.' 'int'2172// CHECK-NEXT:         |       |     |   `-ParenExpr {{.*}} <col:5> 'int'2173// CHECK-NEXT:         |       |     |     `-BinaryOperator {{.*}} <col:18, <invalid sloc>> 'int' '+'2174// CHECK-NEXT:         |       |     |       |-BinaryOperator {{.*}} <col:18, col:28> 'int' '-'2175// CHECK-NEXT:         |       |     |       | |-IntegerLiteral {{.*}} <col:18> 'int' 02176// CHECK-NEXT:         |       |     |       | `-IntegerLiteral {{.*}} <col:28> 'int' 12177// CHECK-NEXT:         |       |     |       `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 12178// CHECK-NEXT:         |       |     `-IntegerLiteral {{.*}} <col:28> 'int' 12179// CHECK-NEXT:         |       `-ImplicitCastExpr {{.*}} <<invalid sloc>> 'long' <IntegralCast>2180// CHECK-NEXT:         |         `-IntegerLiteral {{.*}} <<invalid sloc>> 'int' 12181// CHECK-NEXT:         |-DeclRefExpr {{.*}} <line:37:3> 'int' lvalue ParmVar {{.*}} 'x' 'int'2182// CHECK-NEXT:         |-DeclRefExpr {{.*}} <line:38:5> 'int' lvalue ParmVar {{.*}} 'y' 'int'2183// CHECK-NEXT:         `-DeclRefExpr {{.*}} <line:39:27> 'int' lvalue ParmVar {{.*}} 'z' 'int'2184