brintos

brintos / llvm-project-archived public Read only

0
0
Text · 190.7 KiB · cf3f4bf Raw
1961 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 target teams distribute parallel for5  for (int i = 0; i < x; i++)6    ;7}8 9void test_two(int x, int y) {10#pragma omp target teams distribute parallel for11  for (int i = 0; i < x; i++)12    for (int i = 0; i < y; i++)13      ;14}15 16void test_three(int x, int y) {17#pragma omp target teams distribute parallel for collapse(1)18  for (int i = 0; i < x; i++)19    for (int i = 0; i < y; i++)20      ;21}22 23void test_four(int x, int y) {24#pragma omp target teams distribute parallel for collapse(2)25  for (int i = 0; i < x; i++)26    for (int i = 0; i < y; i++)27      ;28}29 30void test_five(int x, int y, int z) {31#pragma omp target teams distribute parallel for collapse(2)32  for (int i = 0; i < x; i++)33    for (int i = 0; i < y; i++)34      for (int i = 0; i < z; i++)35        ;36}37 38// CHECK: TranslationUnitDecl {{.*}} <<invalid sloc>> <invalid sloc>39// CHECK: |-FunctionDecl {{.*}} <{{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:3:1, line:7:1> line:3:6 test_one 'void (int)'40// CHECK-NEXT: | |-ParmVarDecl {{.*}} <col:15, col:19> col:19 used x 'int'41// CHECK-NEXT: | `-CompoundStmt {{.*}} <col:22, line:7:1>42// CHECK-NEXT: |   `-OMPTargetTeamsDistributeParallelForDirective {{.*}} <line:4:1, col:49>43// CHECK-NEXT: |     |-OMPFirstprivateClause {{.*}} <<invalid sloc>> <implicit>44// CHECK-NEXT: |     | `-DeclRefExpr {{.*}} <line:5:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture45// CHECK-NEXT: |     `-CapturedStmt {{.*}} <col:3, line:6:5>46// CHECK-NEXT: |       |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow47// CHECK-NEXT: |       | |-CapturedStmt {{.*}} <line:5:3, line:6:5>48// CHECK-NEXT: |       | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow49// CHECK-NEXT: |       | | | |-CapturedStmt {{.*}} <line:5:3, line:6:5>50// CHECK-NEXT: |       | | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow51// CHECK-NEXT: |       | | | | | |-CapturedStmt {{.*}} <line:5:3, line:6:5>52// CHECK-NEXT: |       | | | | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow53// CHECK-NEXT: |       | | | | | | | |-ForStmt {{.*}} <line:5:3, line:6:5>54// CHECK-NEXT: |       | | | | | | | | |-DeclStmt {{.*}} <line:5:8, col:17>55// CHECK-NEXT: |       | | | | | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit56// CHECK-NEXT: |       | | | | | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 057// CHECK-NEXT: |       | | | | | | | | |-<<<NULL>>>58// CHECK-NEXT: |       | | | | | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'59// CHECK-NEXT: |       | | | | | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>60// CHECK-NEXT: |       | | | | | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'61// CHECK-NEXT: |       | | | | | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>62// CHECK-NEXT: |       | | | | | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture63// CHECK-NEXT: |       | | | | | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'64// CHECK-NEXT: |       | | | | | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'65// CHECK-NEXT: |       | | | | | | | | `-NullStmt {{.*}} <line:6:5>66// CHECK-NEXT: |       | | | | | | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'67// CHECK-NEXT: |       | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'68// CHECK-NEXT: |       | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'69// CHECK-NEXT: |       | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'70// CHECK-NEXT: |       | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'71// CHECK-NEXT: |       | | | | | | | `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit72// CHECK-NEXT: |       | | | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 073// CHECK-NEXT: |       | | | | | | `-DeclRefExpr {{.*}} <col:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture74// CHECK-NEXT: |       | | | | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'75// CHECK-NEXT: |       | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'76// CHECK-NEXT: |       | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'77// CHECK-NEXT: |       | | | | | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition78// CHECK-NEXT: |       | | | | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit79// CHECK-NEXT: |       | | | | | | `-FieldDecl {{.*}} <line:5:3> col:3 implicit 'int'80// CHECK-NEXT: |       | | | | | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}81// CHECK-NEXT: |       | | | | | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow82// CHECK-NEXT: |       | | | | |   |-ForStmt {{.*}} <col:3, line:6:5>83// CHECK-NEXT: |       | | | | |   | |-DeclStmt {{.*}} <line:5:8, col:17>84// CHECK-NEXT: |       | | | | |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit85// CHECK-NEXT: |       | | | | |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 086// CHECK-NEXT: |       | | | | |   | |-<<<NULL>>>87// CHECK-NEXT: |       | | | | |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'88// CHECK-NEXT: |       | | | | |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>89// CHECK-NEXT: |       | | | | |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'90// CHECK-NEXT: |       | | | | |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>91// CHECK-NEXT: |       | | | | |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture92// CHECK-NEXT: |       | | | | |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'93// CHECK-NEXT: |       | | | | |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'94// CHECK-NEXT: |       | | | | |   | `-NullStmt {{.*}} <line:6:5>95// CHECK-NEXT: |       | | | | |   |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'96// CHECK-NEXT: |       | | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'97// CHECK-NEXT: |       | | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'98// CHECK-NEXT: |       | | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'99// CHECK-NEXT: |       | | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'100// CHECK-NEXT: |       | | | | |   `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit101// CHECK-NEXT: |       | | | | |     `-IntegerLiteral {{.*}} <col:16> 'int' 0102// CHECK-NEXT: |       | | | | `-DeclRefExpr {{.*}} <col:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture103// CHECK-NEXT: |       | | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'104// CHECK-NEXT: |       | | | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition105// CHECK-NEXT: |       | | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit106// CHECK-NEXT: |       | | | | `-FieldDecl {{.*}} <line:5:3> col:3 implicit 'int'107// CHECK-NEXT: |       | | | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}108// CHECK-NEXT: |       | | | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow109// CHECK-NEXT: |       | | |   |-CapturedStmt {{.*}} <col:3, line:6:5>110// CHECK-NEXT: |       | | |   | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow111// CHECK-NEXT: |       | | |   | | |-ForStmt {{.*}} <line:5:3, line:6:5>112// CHECK-NEXT: |       | | |   | | | |-DeclStmt {{.*}} <line:5:8, col:17>113// CHECK-NEXT: |       | | |   | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit114// CHECK-NEXT: |       | | |   | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0115// CHECK-NEXT: |       | | |   | | | |-<<<NULL>>>116// CHECK-NEXT: |       | | |   | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'117// CHECK-NEXT: |       | | |   | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>118// CHECK-NEXT: |       | | |   | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'119// CHECK-NEXT: |       | | |   | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>120// CHECK-NEXT: |       | | |   | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture121// CHECK-NEXT: |       | | |   | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'122// CHECK-NEXT: |       | | |   | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'123// CHECK-NEXT: |       | | |   | | | `-NullStmt {{.*}} <line:6:5>124// CHECK-NEXT: |       | | |   | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'125// CHECK-NEXT: |       | | |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'126// CHECK-NEXT: |       | | |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'127// CHECK-NEXT: |       | | |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'128// CHECK-NEXT: |       | | |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'129// CHECK-NEXT: |       | | |   | | `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit130// CHECK-NEXT: |       | | |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0131// CHECK-NEXT: |       | | |   | `-DeclRefExpr {{.*}} <col:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture132// CHECK-NEXT: |       | | |   |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'133// CHECK-NEXT: |       | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'134// CHECK-NEXT: |       | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'135// CHECK-NEXT: |       | | |   |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition136// CHECK-NEXT: |       | | |   | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit137// CHECK-NEXT: |       | | |   | `-FieldDecl {{.*}} <line:5:3> col:3 implicit 'int'138// CHECK-NEXT: |       | | |   |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}139// CHECK-NEXT: |       | | |   `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow140// CHECK-NEXT: |       | | |     |-ForStmt {{.*}} <col:3, line:6:5>141// CHECK-NEXT: |       | | |     | |-DeclStmt {{.*}} <line:5:8, col:17>142// CHECK-NEXT: |       | | |     | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit143// CHECK-NEXT: |       | | |     | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0144// CHECK-NEXT: |       | | |     | |-<<<NULL>>>145// CHECK-NEXT: |       | | |     | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'146// CHECK-NEXT: |       | | |     | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>147// CHECK-NEXT: |       | | |     | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'148// CHECK-NEXT: |       | | |     | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>149// CHECK-NEXT: |       | | |     | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture150// CHECK-NEXT: |       | | |     | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'151// CHECK-NEXT: |       | | |     | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'152// CHECK-NEXT: |       | | |     | `-NullStmt {{.*}} <line:6:5>153// CHECK-NEXT: |       | | |     |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'154// CHECK-NEXT: |       | | |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'155// CHECK-NEXT: |       | | |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'156// CHECK-NEXT: |       | | |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'157// CHECK-NEXT: |       | | |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'158// CHECK-NEXT: |       | | |     `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit159// CHECK-NEXT: |       | | |       `-IntegerLiteral {{.*}} <col:16> 'int' 0160// CHECK-NEXT: |       | | `-DeclRefExpr {{.*}} <col:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture161// CHECK-NEXT: |       | |-AlwaysInlineAttr {{.*}} <<invalid sloc>> Implicit __forceinline162// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int'163// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .part_id. 'const int *const restrict'164// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .privates. 'void *const restrict'165// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .copy_fn. 'void (*const restrict)(void *const restrict, ...)'166// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .task_t. 'void *const'167// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'168// CHECK-NEXT: |       | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition169// CHECK-NEXT: |       | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit170// CHECK-NEXT: |       | | `-FieldDecl {{.*}} <line:5:3> col:3 implicit 'int'171// CHECK-NEXT: |       | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}172// CHECK-NEXT: |       | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow173// CHECK-NEXT: |       |   |-CapturedStmt {{.*}} <col:3, line:6:5>174// CHECK-NEXT: |       |   | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow175// CHECK-NEXT: |       |   | | |-CapturedStmt {{.*}} <line:5:3, line:6:5>176// CHECK-NEXT: |       |   | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow177// CHECK-NEXT: |       |   | | | | |-ForStmt {{.*}} <line:5:3, line:6:5>178// CHECK-NEXT: |       |   | | | | | |-DeclStmt {{.*}} <line:5:8, col:17>179// CHECK-NEXT: |       |   | | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit180// CHECK-NEXT: |       |   | | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0181// CHECK-NEXT: |       |   | | | | | |-<<<NULL>>>182// CHECK-NEXT: |       |   | | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'183// CHECK-NEXT: |       |   | | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>184// CHECK-NEXT: |       |   | | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'185// CHECK-NEXT: |       |   | | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>186// CHECK-NEXT: |       |   | | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture187// CHECK-NEXT: |       |   | | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'188// CHECK-NEXT: |       |   | | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'189// CHECK-NEXT: |       |   | | | | | `-NullStmt {{.*}} <line:6:5>190// CHECK-NEXT: |       |   | | | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'191// CHECK-NEXT: |       |   | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'192// CHECK-NEXT: |       |   | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'193// CHECK-NEXT: |       |   | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'194// CHECK-NEXT: |       |   | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'195// CHECK-NEXT: |       |   | | | | `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit196// CHECK-NEXT: |       |   | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0197// CHECK-NEXT: |       |   | | | `-DeclRefExpr {{.*}} <col:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture198// CHECK-NEXT: |       |   | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'199// CHECK-NEXT: |       |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'200// CHECK-NEXT: |       |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'201// CHECK-NEXT: |       |   | | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition202// CHECK-NEXT: |       |   | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit203// CHECK-NEXT: |       |   | | | `-FieldDecl {{.*}} <line:5:3> col:3 implicit 'int'204// CHECK-NEXT: |       |   | | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}205// CHECK-NEXT: |       |   | | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow206// CHECK-NEXT: |       |   | |   |-ForStmt {{.*}} <col:3, line:6:5>207// CHECK-NEXT: |       |   | |   | |-DeclStmt {{.*}} <line:5:8, col:17>208// CHECK-NEXT: |       |   | |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit209// CHECK-NEXT: |       |   | |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0210// CHECK-NEXT: |       |   | |   | |-<<<NULL>>>211// CHECK-NEXT: |       |   | |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'212// CHECK-NEXT: |       |   | |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>213// CHECK-NEXT: |       |   | |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'214// CHECK-NEXT: |       |   | |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>215// CHECK-NEXT: |       |   | |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture216// CHECK-NEXT: |       |   | |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'217// CHECK-NEXT: |       |   | |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'218// CHECK-NEXT: |       |   | |   | `-NullStmt {{.*}} <line:6:5>219// CHECK-NEXT: |       |   | |   |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'220// CHECK-NEXT: |       |   | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'221// CHECK-NEXT: |       |   | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'222// CHECK-NEXT: |       |   | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'223// CHECK-NEXT: |       |   | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'224// CHECK-NEXT: |       |   | |   `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit225// CHECK-NEXT: |       |   | |     `-IntegerLiteral {{.*}} <col:16> 'int' 0226// CHECK-NEXT: |       |   | `-DeclRefExpr {{.*}} <col:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture227// CHECK-NEXT: |       |   |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'228// CHECK-NEXT: |       |   |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition229// CHECK-NEXT: |       |   | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit230// CHECK-NEXT: |       |   | `-FieldDecl {{.*}} <line:5:3> col:3 implicit 'int'231// CHECK-NEXT: |       |   |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}232// CHECK-NEXT: |       |   `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow233// CHECK-NEXT: |       |     |-CapturedStmt {{.*}} <col:3, line:6:5>234// CHECK-NEXT: |       |     | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow235// CHECK-NEXT: |       |     | | |-ForStmt {{.*}} <line:5:3, line:6:5>236// CHECK-NEXT: |       |     | | | |-DeclStmt {{.*}} <line:5:8, col:17>237// CHECK-NEXT: |       |     | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit238// CHECK-NEXT: |       |     | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0239// CHECK-NEXT: |       |     | | | |-<<<NULL>>>240// CHECK-NEXT: |       |     | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'241// CHECK-NEXT: |       |     | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>242// CHECK-NEXT: |       |     | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'243// CHECK-NEXT: |       |     | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>244// CHECK-NEXT: |       |     | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture245// CHECK-NEXT: |       |     | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'246// CHECK-NEXT: |       |     | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'247// CHECK-NEXT: |       |     | | | `-NullStmt {{.*}} <line:6:5>248// CHECK-NEXT: |       |     | | |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'249// CHECK-NEXT: |       |     | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'250// CHECK-NEXT: |       |     | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'251// CHECK-NEXT: |       |     | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'252// CHECK-NEXT: |       |     | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'253// CHECK-NEXT: |       |     | | `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit254// CHECK-NEXT: |       |     | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0255// CHECK-NEXT: |       |     | `-DeclRefExpr {{.*}} <col:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture256// CHECK-NEXT: |       |     |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'257// CHECK-NEXT: |       |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'258// CHECK-NEXT: |       |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'259// CHECK-NEXT: |       |     |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition260// CHECK-NEXT: |       |     | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit261// CHECK-NEXT: |       |     | `-FieldDecl {{.*}} <line:5:3> col:3 implicit 'int'262// CHECK-NEXT: |       |     |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}263// CHECK-NEXT: |       |     `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow264// CHECK-NEXT: |       |       |-ForStmt {{.*}} <col:3, line:6:5>265// CHECK-NEXT: |       |       | |-DeclStmt {{.*}} <line:5:8, col:17>266// CHECK-NEXT: |       |       | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit267// CHECK-NEXT: |       |       | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0268// CHECK-NEXT: |       |       | |-<<<NULL>>>269// CHECK-NEXT: |       |       | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'270// CHECK-NEXT: |       |       | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>271// CHECK-NEXT: |       |       | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'272// CHECK-NEXT: |       |       | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>273// CHECK-NEXT: |       |       | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture274// CHECK-NEXT: |       |       | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'275// CHECK-NEXT: |       |       | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'276// CHECK-NEXT: |       |       | `-NullStmt {{.*}} <line:6:5>277// CHECK-NEXT: |       |       |-ImplicitParamDecl {{.*}} <line:4:1> col:1 implicit .global_tid. 'const int *const restrict'278// CHECK-NEXT: |       |       |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'279// CHECK-NEXT: |       |       |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'280// CHECK-NEXT: |       |       |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'281// CHECK-NEXT: |       |       |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:4:1) *const restrict'282// CHECK-NEXT: |       |       `-VarDecl {{.*}} <line:5:8, col:16> col:12 used i 'int' cinit283// CHECK-NEXT: |       |         `-IntegerLiteral {{.*}} <col:16> 'int' 0284// CHECK-NEXT: |       `-DeclRefExpr {{.*}} <col:3> 'int' lvalue ParmVar {{.*}} 'x' 'int'285// CHECK-NEXT: |-FunctionDecl {{.*}} <line:9:1, line:14:1> line:9:6 test_two 'void (int, int)'286// CHECK-NEXT: | |-ParmVarDecl {{.*}} <col:15, col:19> col:19 used x 'int'287// CHECK-NEXT: | |-ParmVarDecl {{.*}} <col:22, col:26> col:26 used y 'int'288// CHECK-NEXT: | `-CompoundStmt {{.*}} <col:29, line:14:1>289// CHECK-NEXT: |   `-OMPTargetTeamsDistributeParallelForDirective {{.*}} <line:10:1, col:49>290// CHECK-NEXT: |     |-OMPFirstprivateClause {{.*}} <<invalid sloc>> <implicit>291// CHECK-NEXT: |     | |-DeclRefExpr {{.*}} <line:11:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture292// CHECK-NEXT: |     | `-DeclRefExpr {{.*}} <line:12:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture293// CHECK-NEXT: |     `-CapturedStmt {{.*}} <line:11:3, line:13:7>294// CHECK-NEXT: |       |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow295// CHECK-NEXT: |       | |-CapturedStmt {{.*}} <line:11:3, line:13:7>296// CHECK-NEXT: |       | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow297// CHECK-NEXT: |       | | | |-CapturedStmt {{.*}} <line:11:3, line:13:7>298// CHECK-NEXT: |       | | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow299// CHECK-NEXT: |       | | | | | |-CapturedStmt {{.*}} <line:11:3, line:13:7>300// CHECK-NEXT: |       | | | | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow301// CHECK-NEXT: |       | | | | | | | |-ForStmt {{.*}} <line:11:3, line:13:7>302// CHECK-NEXT: |       | | | | | | | | |-DeclStmt {{.*}} <line:11:8, col:17>303// CHECK-NEXT: |       | | | | | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit304// CHECK-NEXT: |       | | | | | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0305// CHECK-NEXT: |       | | | | | | | | |-<<<NULL>>>306// CHECK-NEXT: |       | | | | | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'307// CHECK-NEXT: |       | | | | | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>308// CHECK-NEXT: |       | | | | | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'309// CHECK-NEXT: |       | | | | | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>310// CHECK-NEXT: |       | | | | | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture311// CHECK-NEXT: |       | | | | | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'312// CHECK-NEXT: |       | | | | | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'313// CHECK-NEXT: |       | | | | | | | | `-ForStmt {{.*}} <line:12:5, line:13:7>314// CHECK-NEXT: |       | | | | | | | |   |-DeclStmt {{.*}} <line:12:10, col:19>315// CHECK-NEXT: |       | | | | | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit316// CHECK-NEXT: |       | | | | | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0317// CHECK-NEXT: |       | | | | | | | |   |-<<<NULL>>>318// CHECK-NEXT: |       | | | | | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'319// CHECK-NEXT: |       | | | | | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>320// CHECK-NEXT: |       | | | | | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'321// CHECK-NEXT: |       | | | | | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>322// CHECK-NEXT: |       | | | | | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture323// CHECK-NEXT: |       | | | | | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'324// CHECK-NEXT: |       | | | | | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'325// CHECK-NEXT: |       | | | | | | | |   `-NullStmt {{.*}} <line:13:7>326// CHECK-NEXT: |       | | | | | | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'327// CHECK-NEXT: |       | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'328// CHECK-NEXT: |       | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'329// CHECK-NEXT: |       | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'330// CHECK-NEXT: |       | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'331// CHECK-NEXT: |       | | | | | | | |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit332// CHECK-NEXT: |       | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0333// CHECK-NEXT: |       | | | | | | | `-VarDecl {{.*}} <line:12:10, col:18> col:14 used i 'int' cinit334// CHECK-NEXT: |       | | | | | | |   `-IntegerLiteral {{.*}} <col:18> 'int' 0335// CHECK-NEXT: |       | | | | | | |-DeclRefExpr {{.*}} <line:11:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture336// CHECK-NEXT: |       | | | | | | `-DeclRefExpr {{.*}} <line:12:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture337// CHECK-NEXT: |       | | | | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'338// CHECK-NEXT: |       | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'339// CHECK-NEXT: |       | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'340// CHECK-NEXT: |       | | | | | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition341// CHECK-NEXT: |       | | | | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit342// CHECK-NEXT: |       | | | | | | |-FieldDecl {{.*}} <line:11:3> col:3 implicit 'int'343// CHECK-NEXT: |       | | | | | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}344// CHECK-NEXT: |       | | | | | | `-FieldDecl {{.*}} <line:12:25> col:25 implicit 'int'345// CHECK-NEXT: |       | | | | | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}346// CHECK-NEXT: |       | | | | | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow347// CHECK-NEXT: |       | | | | |   |-ForStmt {{.*}} <line:11:3, line:13:7>348// CHECK-NEXT: |       | | | | |   | |-DeclStmt {{.*}} <line:11:8, col:17>349// CHECK-NEXT: |       | | | | |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit350// CHECK-NEXT: |       | | | | |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0351// CHECK-NEXT: |       | | | | |   | |-<<<NULL>>>352// CHECK-NEXT: |       | | | | |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'353// CHECK-NEXT: |       | | | | |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>354// CHECK-NEXT: |       | | | | |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'355// CHECK-NEXT: |       | | | | |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>356// CHECK-NEXT: |       | | | | |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture357// CHECK-NEXT: |       | | | | |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'358// CHECK-NEXT: |       | | | | |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'359// CHECK-NEXT: |       | | | | |   | `-ForStmt {{.*}} <line:12:5, line:13:7>360// CHECK-NEXT: |       | | | | |   |   |-DeclStmt {{.*}} <line:12:10, col:19>361// CHECK-NEXT: |       | | | | |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit362// CHECK-NEXT: |       | | | | |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0363// CHECK-NEXT: |       | | | | |   |   |-<<<NULL>>>364// CHECK-NEXT: |       | | | | |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'365// CHECK-NEXT: |       | | | | |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>366// CHECK-NEXT: |       | | | | |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'367// CHECK-NEXT: |       | | | | |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>368// CHECK-NEXT: |       | | | | |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture369// CHECK-NEXT: |       | | | | |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'370// CHECK-NEXT: |       | | | | |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'371// CHECK-NEXT: |       | | | | |   |   `-NullStmt {{.*}} <line:13:7>372// CHECK-NEXT: |       | | | | |   |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'373// CHECK-NEXT: |       | | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'374// CHECK-NEXT: |       | | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'375// CHECK-NEXT: |       | | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'376// CHECK-NEXT: |       | | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'377// CHECK-NEXT: |       | | | | |   |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit378// CHECK-NEXT: |       | | | | |   | `-IntegerLiteral {{.*}} <col:16> 'int' 0379// CHECK-NEXT: |       | | | | |   `-VarDecl {{.*}} <line:12:10, col:18> col:14 used i 'int' cinit380// CHECK-NEXT: |       | | | | |     `-IntegerLiteral {{.*}} <col:18> 'int' 0381// CHECK-NEXT: |       | | | | |-DeclRefExpr {{.*}} <line:11:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture382// CHECK-NEXT: |       | | | | `-DeclRefExpr {{.*}} <line:12:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture383// CHECK-NEXT: |       | | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'384// CHECK-NEXT: |       | | | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition385// CHECK-NEXT: |       | | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit386// CHECK-NEXT: |       | | | | |-FieldDecl {{.*}} <line:11:3> col:3 implicit 'int'387// CHECK-NEXT: |       | | | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}388// CHECK-NEXT: |       | | | | `-FieldDecl {{.*}} <line:12:25> col:25 implicit 'int'389// CHECK-NEXT: |       | | | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}390// CHECK-NEXT: |       | | | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow391// CHECK-NEXT: |       | | |   |-CapturedStmt {{.*}} <line:11:3, line:13:7>392// CHECK-NEXT: |       | | |   | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow393// CHECK-NEXT: |       | | |   | | |-ForStmt {{.*}} <line:11:3, line:13:7>394// CHECK-NEXT: |       | | |   | | | |-DeclStmt {{.*}} <line:11:8, col:17>395// CHECK-NEXT: |       | | |   | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit396// CHECK-NEXT: |       | | |   | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0397// CHECK-NEXT: |       | | |   | | | |-<<<NULL>>>398// CHECK-NEXT: |       | | |   | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'399// CHECK-NEXT: |       | | |   | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>400// CHECK-NEXT: |       | | |   | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'401// CHECK-NEXT: |       | | |   | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>402// CHECK-NEXT: |       | | |   | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture403// CHECK-NEXT: |       | | |   | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'404// CHECK-NEXT: |       | | |   | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'405// CHECK-NEXT: |       | | |   | | | `-ForStmt {{.*}} <line:12:5, line:13:7>406// CHECK-NEXT: |       | | |   | | |   |-DeclStmt {{.*}} <line:12:10, col:19>407// CHECK-NEXT: |       | | |   | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit408// CHECK-NEXT: |       | | |   | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0409// CHECK-NEXT: |       | | |   | | |   |-<<<NULL>>>410// CHECK-NEXT: |       | | |   | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'411// CHECK-NEXT: |       | | |   | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>412// CHECK-NEXT: |       | | |   | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'413// CHECK-NEXT: |       | | |   | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>414// CHECK-NEXT: |       | | |   | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture415// CHECK-NEXT: |       | | |   | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'416// CHECK-NEXT: |       | | |   | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'417// CHECK-NEXT: |       | | |   | | |   `-NullStmt {{.*}} <line:13:7>418// CHECK-NEXT: |       | | |   | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'419// CHECK-NEXT: |       | | |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'420// CHECK-NEXT: |       | | |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'421// CHECK-NEXT: |       | | |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'422// CHECK-NEXT: |       | | |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'423// CHECK-NEXT: |       | | |   | | |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit424// CHECK-NEXT: |       | | |   | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0425// CHECK-NEXT: |       | | |   | | `-VarDecl {{.*}} <line:12:10, col:18> col:14 used i 'int' cinit426// CHECK-NEXT: |       | | |   | |   `-IntegerLiteral {{.*}} <col:18> 'int' 0427// CHECK-NEXT: |       | | |   | |-DeclRefExpr {{.*}} <line:11:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture428// CHECK-NEXT: |       | | |   | `-DeclRefExpr {{.*}} <line:12:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture429// CHECK-NEXT: |       | | |   |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'430// CHECK-NEXT: |       | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'431// CHECK-NEXT: |       | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'432// CHECK-NEXT: |       | | |   |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition433// CHECK-NEXT: |       | | |   | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit434// CHECK-NEXT: |       | | |   | |-FieldDecl {{.*}} <line:11:3> col:3 implicit 'int'435// CHECK-NEXT: |       | | |   | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}436// CHECK-NEXT: |       | | |   | `-FieldDecl {{.*}} <line:12:25> col:25 implicit 'int'437// CHECK-NEXT: |       | | |   |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}438// CHECK-NEXT: |       | | |   `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow439// CHECK-NEXT: |       | | |     |-ForStmt {{.*}} <line:11:3, line:13:7>440// CHECK-NEXT: |       | | |     | |-DeclStmt {{.*}} <line:11:8, col:17>441// CHECK-NEXT: |       | | |     | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit442// CHECK-NEXT: |       | | |     | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0443// CHECK-NEXT: |       | | |     | |-<<<NULL>>>444// CHECK-NEXT: |       | | |     | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'445// CHECK-NEXT: |       | | |     | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>446// CHECK-NEXT: |       | | |     | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'447// CHECK-NEXT: |       | | |     | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>448// CHECK-NEXT: |       | | |     | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture449// CHECK-NEXT: |       | | |     | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'450// CHECK-NEXT: |       | | |     | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'451// CHECK-NEXT: |       | | |     | `-ForStmt {{.*}} <line:12:5, line:13:7>452// CHECK-NEXT: |       | | |     |   |-DeclStmt {{.*}} <line:12:10, col:19>453// CHECK-NEXT: |       | | |     |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit454// CHECK-NEXT: |       | | |     |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0455// CHECK-NEXT: |       | | |     |   |-<<<NULL>>>456// CHECK-NEXT: |       | | |     |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'457// CHECK-NEXT: |       | | |     |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>458// CHECK-NEXT: |       | | |     |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'459// CHECK-NEXT: |       | | |     |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>460// CHECK-NEXT: |       | | |     |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture461// CHECK-NEXT: |       | | |     |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'462// CHECK-NEXT: |       | | |     |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'463// CHECK-NEXT: |       | | |     |   `-NullStmt {{.*}} <line:13:7>464// CHECK-NEXT: |       | | |     |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'465// CHECK-NEXT: |       | | |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'466// CHECK-NEXT: |       | | |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'467// CHECK-NEXT: |       | | |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'468// CHECK-NEXT: |       | | |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'469// CHECK-NEXT: |       | | |     |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit470// CHECK-NEXT: |       | | |     | `-IntegerLiteral {{.*}} <col:16> 'int' 0471// CHECK-NEXT: |       | | |     `-VarDecl {{.*}} <line:12:10, col:18> col:14 used i 'int' cinit472// CHECK-NEXT: |       | | |       `-IntegerLiteral {{.*}} <col:18> 'int' 0473// CHECK-NEXT: |       | | |-DeclRefExpr {{.*}} <line:11:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture474// CHECK-NEXT: |       | | `-DeclRefExpr {{.*}} <line:12:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture475// CHECK-NEXT: |       | |-AlwaysInlineAttr {{.*}} <<invalid sloc>> Implicit __forceinline476// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int'477// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .part_id. 'const int *const restrict'478// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .privates. 'void *const restrict'479// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .copy_fn. 'void (*const restrict)(void *const restrict, ...)'480// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .task_t. 'void *const'481// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'482// CHECK-NEXT: |       | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition483// CHECK-NEXT: |       | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit484// CHECK-NEXT: |       | | |-FieldDecl {{.*}} <line:11:3> col:3 implicit 'int'485// CHECK-NEXT: |       | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}486// CHECK-NEXT: |       | | `-FieldDecl {{.*}} <line:12:25> col:25 implicit 'int'487// CHECK-NEXT: |       | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}488// CHECK-NEXT: |       | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow489// CHECK-NEXT: |       |   |-CapturedStmt {{.*}} <line:11:3, line:13:7>490// CHECK-NEXT: |       |   | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow491// CHECK-NEXT: |       |   | | |-CapturedStmt {{.*}} <line:11:3, line:13:7>492// CHECK-NEXT: |       |   | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow493// CHECK-NEXT: |       |   | | | | |-ForStmt {{.*}} <line:11:3, line:13:7>494// CHECK-NEXT: |       |   | | | | | |-DeclStmt {{.*}} <line:11:8, col:17>495// CHECK-NEXT: |       |   | | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit496// CHECK-NEXT: |       |   | | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0497// CHECK-NEXT: |       |   | | | | | |-<<<NULL>>>498// CHECK-NEXT: |       |   | | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'499// CHECK-NEXT: |       |   | | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>500// CHECK-NEXT: |       |   | | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'501// CHECK-NEXT: |       |   | | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>502// CHECK-NEXT: |       |   | | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture503// CHECK-NEXT: |       |   | | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'504// CHECK-NEXT: |       |   | | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'505// CHECK-NEXT: |       |   | | | | | `-ForStmt {{.*}} <line:12:5, line:13:7>506// CHECK-NEXT: |       |   | | | | |   |-DeclStmt {{.*}} <line:12:10, col:19>507// CHECK-NEXT: |       |   | | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit508// CHECK-NEXT: |       |   | | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0509// CHECK-NEXT: |       |   | | | | |   |-<<<NULL>>>510// CHECK-NEXT: |       |   | | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'511// CHECK-NEXT: |       |   | | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>512// CHECK-NEXT: |       |   | | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'513// CHECK-NEXT: |       |   | | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>514// CHECK-NEXT: |       |   | | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture515// CHECK-NEXT: |       |   | | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'516// CHECK-NEXT: |       |   | | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'517// CHECK-NEXT: |       |   | | | | |   `-NullStmt {{.*}} <line:13:7>518// CHECK-NEXT: |       |   | | | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'519// CHECK-NEXT: |       |   | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'520// CHECK-NEXT: |       |   | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'521// CHECK-NEXT: |       |   | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'522// CHECK-NEXT: |       |   | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'523// CHECK-NEXT: |       |   | | | | |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit524// CHECK-NEXT: |       |   | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0525// CHECK-NEXT: |       |   | | | | `-VarDecl {{.*}} <line:12:10, col:18> col:14 used i 'int' cinit526// CHECK-NEXT: |       |   | | | |   `-IntegerLiteral {{.*}} <col:18> 'int' 0527// CHECK-NEXT: |       |   | | | |-DeclRefExpr {{.*}} <line:11:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture528// CHECK-NEXT: |       |   | | | `-DeclRefExpr {{.*}} <line:12:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture529// CHECK-NEXT: |       |   | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'530// CHECK-NEXT: |       |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'531// CHECK-NEXT: |       |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'532// CHECK-NEXT: |       |   | | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition533// CHECK-NEXT: |       |   | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit534// CHECK-NEXT: |       |   | | | |-FieldDecl {{.*}} <line:11:3> col:3 implicit 'int'535// CHECK-NEXT: |       |   | | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}536// CHECK-NEXT: |       |   | | | `-FieldDecl {{.*}} <line:12:25> col:25 implicit 'int'537// CHECK-NEXT: |       |   | | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}538// CHECK-NEXT: |       |   | | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow539// CHECK-NEXT: |       |   | |   |-ForStmt {{.*}} <line:11:3, line:13:7>540// CHECK-NEXT: |       |   | |   | |-DeclStmt {{.*}} <line:11:8, col:17>541// CHECK-NEXT: |       |   | |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit542// CHECK-NEXT: |       |   | |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0543// CHECK-NEXT: |       |   | |   | |-<<<NULL>>>544// CHECK-NEXT: |       |   | |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'545// CHECK-NEXT: |       |   | |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>546// CHECK-NEXT: |       |   | |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'547// CHECK-NEXT: |       |   | |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>548// CHECK-NEXT: |       |   | |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture549// CHECK-NEXT: |       |   | |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'550// CHECK-NEXT: |       |   | |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'551// CHECK-NEXT: |       |   | |   | `-ForStmt {{.*}} <line:12:5, line:13:7>552// CHECK-NEXT: |       |   | |   |   |-DeclStmt {{.*}} <line:12:10, col:19>553// CHECK-NEXT: |       |   | |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit554// CHECK-NEXT: |       |   | |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0555// CHECK-NEXT: |       |   | |   |   |-<<<NULL>>>556// CHECK-NEXT: |       |   | |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'557// CHECK-NEXT: |       |   | |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>558// CHECK-NEXT: |       |   | |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'559// CHECK-NEXT: |       |   | |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>560// CHECK-NEXT: |       |   | |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture561// CHECK-NEXT: |       |   | |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'562// CHECK-NEXT: |       |   | |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'563// CHECK-NEXT: |       |   | |   |   `-NullStmt {{.*}} <line:13:7>564// CHECK-NEXT: |       |   | |   |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'565// CHECK-NEXT: |       |   | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'566// CHECK-NEXT: |       |   | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'567// CHECK-NEXT: |       |   | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'568// CHECK-NEXT: |       |   | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'569// CHECK-NEXT: |       |   | |   |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit570// CHECK-NEXT: |       |   | |   | `-IntegerLiteral {{.*}} <col:16> 'int' 0571// CHECK-NEXT: |       |   | |   `-VarDecl {{.*}} <line:12:10, col:18> col:14 used i 'int' cinit572// CHECK-NEXT: |       |   | |     `-IntegerLiteral {{.*}} <col:18> 'int' 0573// CHECK-NEXT: |       |   | |-DeclRefExpr {{.*}} <line:11:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture574// CHECK-NEXT: |       |   | `-DeclRefExpr {{.*}} <line:12:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture575// CHECK-NEXT: |       |   |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'576// CHECK-NEXT: |       |   |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition577// CHECK-NEXT: |       |   | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit578// CHECK-NEXT: |       |   | |-FieldDecl {{.*}} <line:11:3> col:3 implicit 'int'579// CHECK-NEXT: |       |   | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}580// CHECK-NEXT: |       |   | `-FieldDecl {{.*}} <line:12:25> col:25 implicit 'int'581// CHECK-NEXT: |       |   |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}582// CHECK-NEXT: |       |   `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow583// CHECK-NEXT: |       |     |-CapturedStmt {{.*}} <line:11:3, line:13:7>584// CHECK-NEXT: |       |     | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow585// CHECK-NEXT: |       |     | | |-ForStmt {{.*}} <line:11:3, line:13:7>586// CHECK-NEXT: |       |     | | | |-DeclStmt {{.*}} <line:11:8, col:17>587// CHECK-NEXT: |       |     | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit588// CHECK-NEXT: |       |     | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0589// CHECK-NEXT: |       |     | | | |-<<<NULL>>>590// CHECK-NEXT: |       |     | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'591// CHECK-NEXT: |       |     | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>592// CHECK-NEXT: |       |     | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'593// CHECK-NEXT: |       |     | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>594// CHECK-NEXT: |       |     | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture595// CHECK-NEXT: |       |     | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'596// CHECK-NEXT: |       |     | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'597// CHECK-NEXT: |       |     | | | `-ForStmt {{.*}} <line:12:5, line:13:7>598// CHECK-NEXT: |       |     | | |   |-DeclStmt {{.*}} <line:12:10, col:19>599// CHECK-NEXT: |       |     | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit600// CHECK-NEXT: |       |     | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0601// CHECK-NEXT: |       |     | | |   |-<<<NULL>>>602// CHECK-NEXT: |       |     | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'603// CHECK-NEXT: |       |     | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>604// CHECK-NEXT: |       |     | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'605// CHECK-NEXT: |       |     | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>606// CHECK-NEXT: |       |     | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture607// CHECK-NEXT: |       |     | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'608// CHECK-NEXT: |       |     | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'609// CHECK-NEXT: |       |     | | |   `-NullStmt {{.*}} <line:13:7>610// CHECK-NEXT: |       |     | | |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'611// CHECK-NEXT: |       |     | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'612// CHECK-NEXT: |       |     | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'613// CHECK-NEXT: |       |     | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'614// CHECK-NEXT: |       |     | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'615// CHECK-NEXT: |       |     | | |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit616// CHECK-NEXT: |       |     | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0617// CHECK-NEXT: |       |     | | `-VarDecl {{.*}} <line:12:10, col:18> col:14 used i 'int' cinit618// CHECK-NEXT: |       |     | |   `-IntegerLiteral {{.*}} <col:18> 'int' 0619// CHECK-NEXT: |       |     | |-DeclRefExpr {{.*}} <line:11:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture620// CHECK-NEXT: |       |     | `-DeclRefExpr {{.*}} <line:12:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture621// CHECK-NEXT: |       |     |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'622// CHECK-NEXT: |       |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'623// CHECK-NEXT: |       |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'624// CHECK-NEXT: |       |     |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition625// CHECK-NEXT: |       |     | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit626// CHECK-NEXT: |       |     | |-FieldDecl {{.*}} <line:11:3> col:3 implicit 'int'627// CHECK-NEXT: |       |     | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}628// CHECK-NEXT: |       |     | `-FieldDecl {{.*}} <line:12:25> col:25 implicit 'int'629// CHECK-NEXT: |       |     |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}630// CHECK-NEXT: |       |     `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow631// CHECK-NEXT: |       |       |-ForStmt {{.*}} <line:11:3, line:13:7>632// CHECK-NEXT: |       |       | |-DeclStmt {{.*}} <line:11:8, col:17>633// CHECK-NEXT: |       |       | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit634// CHECK-NEXT: |       |       | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0635// CHECK-NEXT: |       |       | |-<<<NULL>>>636// CHECK-NEXT: |       |       | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'637// CHECK-NEXT: |       |       | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>638// CHECK-NEXT: |       |       | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'639// CHECK-NEXT: |       |       | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>640// CHECK-NEXT: |       |       | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture641// CHECK-NEXT: |       |       | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'642// CHECK-NEXT: |       |       | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'643// CHECK-NEXT: |       |       | `-ForStmt {{.*}} <line:12:5, line:13:7>644// CHECK-NEXT: |       |       |   |-DeclStmt {{.*}} <line:12:10, col:19>645// CHECK-NEXT: |       |       |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit646// CHECK-NEXT: |       |       |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0647// CHECK-NEXT: |       |       |   |-<<<NULL>>>648// CHECK-NEXT: |       |       |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'649// CHECK-NEXT: |       |       |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>650// CHECK-NEXT: |       |       |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'651// CHECK-NEXT: |       |       |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>652// CHECK-NEXT: |       |       |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture653// CHECK-NEXT: |       |       |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'654// CHECK-NEXT: |       |       |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'655// CHECK-NEXT: |       |       |   `-NullStmt {{.*}} <line:13:7>656// CHECK-NEXT: |       |       |-ImplicitParamDecl {{.*}} <line:10:1> col:1 implicit .global_tid. 'const int *const restrict'657// CHECK-NEXT: |       |       |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'658// CHECK-NEXT: |       |       |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'659// CHECK-NEXT: |       |       |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'660// CHECK-NEXT: |       |       |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:10:1) *const restrict'661// CHECK-NEXT: |       |       |-VarDecl {{.*}} <line:11:8, col:16> col:12 used i 'int' cinit662// CHECK-NEXT: |       |       | `-IntegerLiteral {{.*}} <col:16> 'int' 0663// CHECK-NEXT: |       |       `-VarDecl {{.*}} <line:12:10, col:18> col:14 used i 'int' cinit664// CHECK-NEXT: |       |         `-IntegerLiteral {{.*}} <col:18> 'int' 0665// CHECK-NEXT: |       |-DeclRefExpr {{.*}} <line:11:3> 'int' lvalue ParmVar {{.*}} 'x' 'int'666// CHECK-NEXT: |       `-DeclRefExpr {{.*}} <line:12:25> 'int' lvalue ParmVar {{.*}} 'y' 'int'667// CHECK-NEXT: |-FunctionDecl {{.*}} <line:16:1, line:21:1> line:16:6 test_three 'void (int, int)'668// CHECK-NEXT: | |-ParmVarDecl {{.*}} <col:17, col:21> col:21 used x 'int'669// CHECK-NEXT: | |-ParmVarDecl {{.*}} <col:24, col:28> col:28 used y 'int'670// CHECK-NEXT: | `-CompoundStmt {{.*}} <col:31, line:21:1>671// CHECK-NEXT: |   `-OMPTargetTeamsDistributeParallelForDirective {{.*}} <line:17:1, col:61>672// CHECK-NEXT: |     |-OMPCollapseClause {{.*}} <col:50, col:60>673// CHECK-NEXT: |     | `-ConstantExpr {{.*}} <col:59> 'int'674// CHECK-NEXT: |     | |-value: Int 1675// CHECK-NEXT: |     |   `-IntegerLiteral {{.*}} <col:59> 'int' 1676// CHECK-NEXT: |     |-OMPFirstprivateClause {{.*}} <<invalid sloc>> <implicit>677// CHECK-NEXT: |     | |-DeclRefExpr {{.*}} <line:18:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture678// CHECK-NEXT: |     | `-DeclRefExpr {{.*}} <line:19:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture679// CHECK-NEXT: |     `-CapturedStmt {{.*}} <line:18:3, line:20:7>680// CHECK-NEXT: |       |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow681// CHECK-NEXT: |       | |-CapturedStmt {{.*}} <line:18:3, line:20:7>682// CHECK-NEXT: |       | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow683// CHECK-NEXT: |       | | | |-CapturedStmt {{.*}} <line:18:3, line:20:7>684// CHECK-NEXT: |       | | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow685// CHECK-NEXT: |       | | | | | |-CapturedStmt {{.*}} <line:18:3, line:20:7>686// CHECK-NEXT: |       | | | | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow687// CHECK-NEXT: |       | | | | | | | |-ForStmt {{.*}} <line:18:3, line:20:7>688// CHECK-NEXT: |       | | | | | | | | |-DeclStmt {{.*}} <line:18:8, col:17>689// CHECK-NEXT: |       | | | | | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit690// CHECK-NEXT: |       | | | | | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0691// CHECK-NEXT: |       | | | | | | | | |-<<<NULL>>>692// CHECK-NEXT: |       | | | | | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'693// CHECK-NEXT: |       | | | | | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>694// CHECK-NEXT: |       | | | | | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'695// CHECK-NEXT: |       | | | | | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>696// CHECK-NEXT: |       | | | | | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture697// CHECK-NEXT: |       | | | | | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'698// CHECK-NEXT: |       | | | | | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'699// CHECK-NEXT: |       | | | | | | | | `-ForStmt {{.*}} <line:19:5, line:20:7>700// CHECK-NEXT: |       | | | | | | | |   |-DeclStmt {{.*}} <line:19:10, col:19>701// CHECK-NEXT: |       | | | | | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit702// CHECK-NEXT: |       | | | | | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0703// CHECK-NEXT: |       | | | | | | | |   |-<<<NULL>>>704// CHECK-NEXT: |       | | | | | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'705// CHECK-NEXT: |       | | | | | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>706// CHECK-NEXT: |       | | | | | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'707// CHECK-NEXT: |       | | | | | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>708// CHECK-NEXT: |       | | | | | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture709// CHECK-NEXT: |       | | | | | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'710// CHECK-NEXT: |       | | | | | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'711// CHECK-NEXT: |       | | | | | | | |   `-NullStmt {{.*}} <line:20:7>712// CHECK-NEXT: |       | | | | | | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'713// CHECK-NEXT: |       | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'714// CHECK-NEXT: |       | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'715// CHECK-NEXT: |       | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'716// CHECK-NEXT: |       | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'717// CHECK-NEXT: |       | | | | | | | |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit718// CHECK-NEXT: |       | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0719// CHECK-NEXT: |       | | | | | | | `-VarDecl {{.*}} <line:19:10, col:18> col:14 used i 'int' cinit720// CHECK-NEXT: |       | | | | | | |   `-IntegerLiteral {{.*}} <col:18> 'int' 0721// CHECK-NEXT: |       | | | | | | |-DeclRefExpr {{.*}} <line:18:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture722// CHECK-NEXT: |       | | | | | | `-DeclRefExpr {{.*}} <line:19:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture723// CHECK-NEXT: |       | | | | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'724// CHECK-NEXT: |       | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'725// CHECK-NEXT: |       | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'726// CHECK-NEXT: |       | | | | | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition727// CHECK-NEXT: |       | | | | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit728// CHECK-NEXT: |       | | | | | | |-FieldDecl {{.*}} <line:18:3> col:3 implicit 'int'729// CHECK-NEXT: |       | | | | | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}730// CHECK-NEXT: |       | | | | | | `-FieldDecl {{.*}} <line:19:25> col:25 implicit 'int'731// CHECK-NEXT: |       | | | | | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}732// CHECK-NEXT: |       | | | | | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow733// CHECK-NEXT: |       | | | | |   |-ForStmt {{.*}} <line:18:3, line:20:7>734// CHECK-NEXT: |       | | | | |   | |-DeclStmt {{.*}} <line:18:8, col:17>735// CHECK-NEXT: |       | | | | |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit736// CHECK-NEXT: |       | | | | |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0737// CHECK-NEXT: |       | | | | |   | |-<<<NULL>>>738// CHECK-NEXT: |       | | | | |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'739// CHECK-NEXT: |       | | | | |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>740// CHECK-NEXT: |       | | | | |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'741// CHECK-NEXT: |       | | | | |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>742// CHECK-NEXT: |       | | | | |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture743// CHECK-NEXT: |       | | | | |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'744// CHECK-NEXT: |       | | | | |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'745// CHECK-NEXT: |       | | | | |   | `-ForStmt {{.*}} <line:19:5, line:20:7>746// CHECK-NEXT: |       | | | | |   |   |-DeclStmt {{.*}} <line:19:10, col:19>747// CHECK-NEXT: |       | | | | |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit748// CHECK-NEXT: |       | | | | |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0749// CHECK-NEXT: |       | | | | |   |   |-<<<NULL>>>750// CHECK-NEXT: |       | | | | |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'751// CHECK-NEXT: |       | | | | |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>752// CHECK-NEXT: |       | | | | |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'753// CHECK-NEXT: |       | | | | |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>754// CHECK-NEXT: |       | | | | |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture755// CHECK-NEXT: |       | | | | |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'756// CHECK-NEXT: |       | | | | |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'757// CHECK-NEXT: |       | | | | |   |   `-NullStmt {{.*}} <line:20:7>758// CHECK-NEXT: |       | | | | |   |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'759// CHECK-NEXT: |       | | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'760// CHECK-NEXT: |       | | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'761// CHECK-NEXT: |       | | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'762// CHECK-NEXT: |       | | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'763// CHECK-NEXT: |       | | | | |   |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit764// CHECK-NEXT: |       | | | | |   | `-IntegerLiteral {{.*}} <col:16> 'int' 0765// CHECK-NEXT: |       | | | | |   `-VarDecl {{.*}} <line:19:10, col:18> col:14 used i 'int' cinit766// CHECK-NEXT: |       | | | | |     `-IntegerLiteral {{.*}} <col:18> 'int' 0767// CHECK-NEXT: |       | | | | |-DeclRefExpr {{.*}} <line:18:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture768// CHECK-NEXT: |       | | | | `-DeclRefExpr {{.*}} <line:19:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture769// CHECK-NEXT: |       | | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'770// CHECK-NEXT: |       | | | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition771// CHECK-NEXT: |       | | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit772// CHECK-NEXT: |       | | | | |-FieldDecl {{.*}} <line:18:3> col:3 implicit 'int'773// CHECK-NEXT: |       | | | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}774// CHECK-NEXT: |       | | | | `-FieldDecl {{.*}} <line:19:25> col:25 implicit 'int'775// CHECK-NEXT: |       | | | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}776// CHECK-NEXT: |       | | | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow777// CHECK-NEXT: |       | | |   |-CapturedStmt {{.*}} <line:18:3, line:20:7>778// CHECK-NEXT: |       | | |   | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow779// CHECK-NEXT: |       | | |   | | |-ForStmt {{.*}} <line:18:3, line:20:7>780// CHECK-NEXT: |       | | |   | | | |-DeclStmt {{.*}} <line:18:8, col:17>781// CHECK-NEXT: |       | | |   | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit782// CHECK-NEXT: |       | | |   | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0783// CHECK-NEXT: |       | | |   | | | |-<<<NULL>>>784// CHECK-NEXT: |       | | |   | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'785// CHECK-NEXT: |       | | |   | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>786// CHECK-NEXT: |       | | |   | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'787// CHECK-NEXT: |       | | |   | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>788// CHECK-NEXT: |       | | |   | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture789// CHECK-NEXT: |       | | |   | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'790// CHECK-NEXT: |       | | |   | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'791// CHECK-NEXT: |       | | |   | | | `-ForStmt {{.*}} <line:19:5, line:20:7>792// CHECK-NEXT: |       | | |   | | |   |-DeclStmt {{.*}} <line:19:10, col:19>793// CHECK-NEXT: |       | | |   | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit794// CHECK-NEXT: |       | | |   | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0795// CHECK-NEXT: |       | | |   | | |   |-<<<NULL>>>796// CHECK-NEXT: |       | | |   | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'797// CHECK-NEXT: |       | | |   | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>798// CHECK-NEXT: |       | | |   | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'799// CHECK-NEXT: |       | | |   | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>800// CHECK-NEXT: |       | | |   | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture801// CHECK-NEXT: |       | | |   | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'802// CHECK-NEXT: |       | | |   | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'803// CHECK-NEXT: |       | | |   | | |   `-NullStmt {{.*}} <line:20:7>804// CHECK-NEXT: |       | | |   | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'805// CHECK-NEXT: |       | | |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'806// CHECK-NEXT: |       | | |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'807// CHECK-NEXT: |       | | |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'808// CHECK-NEXT: |       | | |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'809// CHECK-NEXT: |       | | |   | | |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit810// CHECK-NEXT: |       | | |   | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0811// CHECK-NEXT: |       | | |   | | `-VarDecl {{.*}} <line:19:10, col:18> col:14 used i 'int' cinit812// CHECK-NEXT: |       | | |   | |   `-IntegerLiteral {{.*}} <col:18> 'int' 0813// CHECK-NEXT: |       | | |   | |-DeclRefExpr {{.*}} <line:18:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture814// CHECK-NEXT: |       | | |   | `-DeclRefExpr {{.*}} <line:19:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture815// CHECK-NEXT: |       | | |   |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'816// CHECK-NEXT: |       | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'817// CHECK-NEXT: |       | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'818// CHECK-NEXT: |       | | |   |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition819// CHECK-NEXT: |       | | |   | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit820// CHECK-NEXT: |       | | |   | |-FieldDecl {{.*}} <line:18:3> col:3 implicit 'int'821// CHECK-NEXT: |       | | |   | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}822// CHECK-NEXT: |       | | |   | `-FieldDecl {{.*}} <line:19:25> col:25 implicit 'int'823// CHECK-NEXT: |       | | |   |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}824// CHECK-NEXT: |       | | |   `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow825// CHECK-NEXT: |       | | |     |-ForStmt {{.*}} <line:18:3, line:20:7>826// CHECK-NEXT: |       | | |     | |-DeclStmt {{.*}} <line:18:8, col:17>827// CHECK-NEXT: |       | | |     | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit828// CHECK-NEXT: |       | | |     | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0829// CHECK-NEXT: |       | | |     | |-<<<NULL>>>830// CHECK-NEXT: |       | | |     | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'831// CHECK-NEXT: |       | | |     | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>832// CHECK-NEXT: |       | | |     | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'833// CHECK-NEXT: |       | | |     | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>834// CHECK-NEXT: |       | | |     | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture835// CHECK-NEXT: |       | | |     | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'836// CHECK-NEXT: |       | | |     | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'837// CHECK-NEXT: |       | | |     | `-ForStmt {{.*}} <line:19:5, line:20:7>838// CHECK-NEXT: |       | | |     |   |-DeclStmt {{.*}} <line:19:10, col:19>839// CHECK-NEXT: |       | | |     |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit840// CHECK-NEXT: |       | | |     |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0841// CHECK-NEXT: |       | | |     |   |-<<<NULL>>>842// CHECK-NEXT: |       | | |     |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'843// CHECK-NEXT: |       | | |     |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>844// CHECK-NEXT: |       | | |     |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'845// CHECK-NEXT: |       | | |     |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>846// CHECK-NEXT: |       | | |     |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture847// CHECK-NEXT: |       | | |     |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'848// CHECK-NEXT: |       | | |     |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'849// CHECK-NEXT: |       | | |     |   `-NullStmt {{.*}} <line:20:7>850// CHECK-NEXT: |       | | |     |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'851// CHECK-NEXT: |       | | |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'852// CHECK-NEXT: |       | | |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'853// CHECK-NEXT: |       | | |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'854// CHECK-NEXT: |       | | |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'855// CHECK-NEXT: |       | | |     |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit856// CHECK-NEXT: |       | | |     | `-IntegerLiteral {{.*}} <col:16> 'int' 0857// CHECK-NEXT: |       | | |     `-VarDecl {{.*}} <line:19:10, col:18> col:14 used i 'int' cinit858// CHECK-NEXT: |       | | |       `-IntegerLiteral {{.*}} <col:18> 'int' 0859// CHECK-NEXT: |       | | |-DeclRefExpr {{.*}} <line:18:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture860// CHECK-NEXT: |       | | `-DeclRefExpr {{.*}} <line:19:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture861// CHECK-NEXT: |       | |-AlwaysInlineAttr {{.*}} <<invalid sloc>> Implicit __forceinline862// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int'863// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .part_id. 'const int *const restrict'864// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .privates. 'void *const restrict'865// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .copy_fn. 'void (*const restrict)(void *const restrict, ...)'866// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .task_t. 'void *const'867// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'868// CHECK-NEXT: |       | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition869// CHECK-NEXT: |       | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit870// CHECK-NEXT: |       | | |-FieldDecl {{.*}} <line:18:3> col:3 implicit 'int'871// CHECK-NEXT: |       | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}872// CHECK-NEXT: |       | | `-FieldDecl {{.*}} <line:19:25> col:25 implicit 'int'873// CHECK-NEXT: |       | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}874// CHECK-NEXT: |       | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow875// CHECK-NEXT: |       |   |-CapturedStmt {{.*}} <line:18:3, line:20:7>876// CHECK-NEXT: |       |   | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow877// CHECK-NEXT: |       |   | | |-CapturedStmt {{.*}} <line:18:3, line:20:7>878// CHECK-NEXT: |       |   | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow879// CHECK-NEXT: |       |   | | | | |-ForStmt {{.*}} <line:18:3, line:20:7>880// CHECK-NEXT: |       |   | | | | | |-DeclStmt {{.*}} <line:18:8, col:17>881// CHECK-NEXT: |       |   | | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit882// CHECK-NEXT: |       |   | | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0883// CHECK-NEXT: |       |   | | | | | |-<<<NULL>>>884// CHECK-NEXT: |       |   | | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'885// CHECK-NEXT: |       |   | | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>886// CHECK-NEXT: |       |   | | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'887// CHECK-NEXT: |       |   | | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>888// CHECK-NEXT: |       |   | | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture889// CHECK-NEXT: |       |   | | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'890// CHECK-NEXT: |       |   | | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'891// CHECK-NEXT: |       |   | | | | | `-ForStmt {{.*}} <line:19:5, line:20:7>892// CHECK-NEXT: |       |   | | | | |   |-DeclStmt {{.*}} <line:19:10, col:19>893// CHECK-NEXT: |       |   | | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit894// CHECK-NEXT: |       |   | | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0895// CHECK-NEXT: |       |   | | | | |   |-<<<NULL>>>896// CHECK-NEXT: |       |   | | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'897// CHECK-NEXT: |       |   | | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>898// CHECK-NEXT: |       |   | | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'899// CHECK-NEXT: |       |   | | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>900// CHECK-NEXT: |       |   | | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture901// CHECK-NEXT: |       |   | | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'902// CHECK-NEXT: |       |   | | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'903// CHECK-NEXT: |       |   | | | | |   `-NullStmt {{.*}} <line:20:7>904// CHECK-NEXT: |       |   | | | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'905// CHECK-NEXT: |       |   | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'906// CHECK-NEXT: |       |   | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'907// CHECK-NEXT: |       |   | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'908// CHECK-NEXT: |       |   | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'909// CHECK-NEXT: |       |   | | | | |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit910// CHECK-NEXT: |       |   | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 0911// CHECK-NEXT: |       |   | | | | `-VarDecl {{.*}} <line:19:10, col:18> col:14 used i 'int' cinit912// CHECK-NEXT: |       |   | | | |   `-IntegerLiteral {{.*}} <col:18> 'int' 0913// CHECK-NEXT: |       |   | | | |-DeclRefExpr {{.*}} <line:18:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture914// CHECK-NEXT: |       |   | | | `-DeclRefExpr {{.*}} <line:19:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture915// CHECK-NEXT: |       |   | | |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'916// CHECK-NEXT: |       |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'917// CHECK-NEXT: |       |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'918// CHECK-NEXT: |       |   | | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition919// CHECK-NEXT: |       |   | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit920// CHECK-NEXT: |       |   | | | |-FieldDecl {{.*}} <line:18:3> col:3 implicit 'int'921// CHECK-NEXT: |       |   | | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}922// CHECK-NEXT: |       |   | | | `-FieldDecl {{.*}} <line:19:25> col:25 implicit 'int'923// CHECK-NEXT: |       |   | | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}924// CHECK-NEXT: |       |   | | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow925// CHECK-NEXT: |       |   | |   |-ForStmt {{.*}} <line:18:3, line:20:7>926// CHECK-NEXT: |       |   | |   | |-DeclStmt {{.*}} <line:18:8, col:17>927// CHECK-NEXT: |       |   | |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit928// CHECK-NEXT: |       |   | |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0929// CHECK-NEXT: |       |   | |   | |-<<<NULL>>>930// CHECK-NEXT: |       |   | |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'931// CHECK-NEXT: |       |   | |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>932// CHECK-NEXT: |       |   | |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'933// CHECK-NEXT: |       |   | |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>934// CHECK-NEXT: |       |   | |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture935// CHECK-NEXT: |       |   | |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'936// CHECK-NEXT: |       |   | |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'937// CHECK-NEXT: |       |   | |   | `-ForStmt {{.*}} <line:19:5, line:20:7>938// CHECK-NEXT: |       |   | |   |   |-DeclStmt {{.*}} <line:19:10, col:19>939// CHECK-NEXT: |       |   | |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit940// CHECK-NEXT: |       |   | |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0941// CHECK-NEXT: |       |   | |   |   |-<<<NULL>>>942// CHECK-NEXT: |       |   | |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'943// CHECK-NEXT: |       |   | |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>944// CHECK-NEXT: |       |   | |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'945// CHECK-NEXT: |       |   | |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>946// CHECK-NEXT: |       |   | |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture947// CHECK-NEXT: |       |   | |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'948// CHECK-NEXT: |       |   | |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'949// CHECK-NEXT: |       |   | |   |   `-NullStmt {{.*}} <line:20:7>950// CHECK-NEXT: |       |   | |   |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'951// CHECK-NEXT: |       |   | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'952// CHECK-NEXT: |       |   | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'953// CHECK-NEXT: |       |   | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'954// CHECK-NEXT: |       |   | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'955// CHECK-NEXT: |       |   | |   |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit956// CHECK-NEXT: |       |   | |   | `-IntegerLiteral {{.*}} <col:16> 'int' 0957// CHECK-NEXT: |       |   | |   `-VarDecl {{.*}} <line:19:10, col:18> col:14 used i 'int' cinit958// CHECK-NEXT: |       |   | |     `-IntegerLiteral {{.*}} <col:18> 'int' 0959// CHECK-NEXT: |       |   | |-DeclRefExpr {{.*}} <line:18:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture960// CHECK-NEXT: |       |   | `-DeclRefExpr {{.*}} <line:19:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture961// CHECK-NEXT: |       |   |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'962// CHECK-NEXT: |       |   |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition963// CHECK-NEXT: |       |   | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit964// CHECK-NEXT: |       |   | |-FieldDecl {{.*}} <line:18:3> col:3 implicit 'int'965// CHECK-NEXT: |       |   | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}966// CHECK-NEXT: |       |   | `-FieldDecl {{.*}} <line:19:25> col:25 implicit 'int'967// CHECK-NEXT: |       |   |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}968// CHECK-NEXT: |       |   `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow969// CHECK-NEXT: |       |     |-CapturedStmt {{.*}} <line:18:3, line:20:7>970// CHECK-NEXT: |       |     | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow971// CHECK-NEXT: |       |     | | |-ForStmt {{.*}} <line:18:3, line:20:7>972// CHECK-NEXT: |       |     | | | |-DeclStmt {{.*}} <line:18:8, col:17>973// CHECK-NEXT: |       |     | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit974// CHECK-NEXT: |       |     | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 0975// CHECK-NEXT: |       |     | | | |-<<<NULL>>>976// CHECK-NEXT: |       |     | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'977// CHECK-NEXT: |       |     | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>978// CHECK-NEXT: |       |     | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'979// CHECK-NEXT: |       |     | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>980// CHECK-NEXT: |       |     | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture981// CHECK-NEXT: |       |     | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'982// CHECK-NEXT: |       |     | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'983// CHECK-NEXT: |       |     | | | `-ForStmt {{.*}} <line:19:5, line:20:7>984// CHECK-NEXT: |       |     | | |   |-DeclStmt {{.*}} <line:19:10, col:19>985// CHECK-NEXT: |       |     | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit986// CHECK-NEXT: |       |     | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 0987// CHECK-NEXT: |       |     | | |   |-<<<NULL>>>988// CHECK-NEXT: |       |     | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'989// CHECK-NEXT: |       |     | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>990// CHECK-NEXT: |       |     | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'991// CHECK-NEXT: |       |     | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>992// CHECK-NEXT: |       |     | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture993// CHECK-NEXT: |       |     | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'994// CHECK-NEXT: |       |     | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'995// CHECK-NEXT: |       |     | | |   `-NullStmt {{.*}} <line:20:7>996// CHECK-NEXT: |       |     | | |-ImplicitParamDecl {{.*}} <line:17: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 used .previous.lb. 'const __size_t':'const unsigned long'999// CHECK-NEXT: |       |     | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1000// CHECK-NEXT: |       |     | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'1001// CHECK-NEXT: |       |     | | |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit1002// CHECK-NEXT: |       |     | | | `-IntegerLiteral {{.*}} <col:16> 'int' 01003// CHECK-NEXT: |       |     | | `-VarDecl {{.*}} <line:19:10, col:18> col:14 used i 'int' cinit1004// CHECK-NEXT: |       |     | |   `-IntegerLiteral {{.*}} <col:18> 'int' 01005// CHECK-NEXT: |       |     | |-DeclRefExpr {{.*}} <line:18:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1006// CHECK-NEXT: |       |     | `-DeclRefExpr {{.*}} <line:19:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1007// CHECK-NEXT: |       |     |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'1008// CHECK-NEXT: |       |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1009// CHECK-NEXT: |       |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'1010// CHECK-NEXT: |       |     |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1011// CHECK-NEXT: |       |     | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1012// CHECK-NEXT: |       |     | |-FieldDecl {{.*}} <line:18:3> col:3 implicit 'int'1013// CHECK-NEXT: |       |     | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1014// CHECK-NEXT: |       |     | `-FieldDecl {{.*}} <line:19:25> col:25 implicit 'int'1015// CHECK-NEXT: |       |     |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1016// CHECK-NEXT: |       |     `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1017// CHECK-NEXT: |       |       |-ForStmt {{.*}} <line:18:3, line:20:7>1018// CHECK-NEXT: |       |       | |-DeclStmt {{.*}} <line:18:8, col:17>1019// CHECK-NEXT: |       |       | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1020// CHECK-NEXT: |       |       | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01021// CHECK-NEXT: |       |       | |-<<<NULL>>>1022// CHECK-NEXT: |       |       | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1023// CHECK-NEXT: |       |       | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1024// CHECK-NEXT: |       |       | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1025// CHECK-NEXT: |       |       | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1026// CHECK-NEXT: |       |       | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1027// CHECK-NEXT: |       |       | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1028// CHECK-NEXT: |       |       | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1029// CHECK-NEXT: |       |       | `-ForStmt {{.*}} <line:19:5, line:20:7>1030// CHECK-NEXT: |       |       |   |-DeclStmt {{.*}} <line:19:10, col:19>1031// CHECK-NEXT: |       |       |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1032// CHECK-NEXT: |       |       |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01033// CHECK-NEXT: |       |       |   |-<<<NULL>>>1034// CHECK-NEXT: |       |       |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1035// CHECK-NEXT: |       |       |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1036// CHECK-NEXT: |       |       |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1037// CHECK-NEXT: |       |       |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1038// CHECK-NEXT: |       |       |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1039// CHECK-NEXT: |       |       |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1040// CHECK-NEXT: |       |       |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1041// CHECK-NEXT: |       |       |   `-NullStmt {{.*}} <line:20:7>1042// CHECK-NEXT: |       |       |-ImplicitParamDecl {{.*}} <line:17:1> col:1 implicit .global_tid. 'const int *const restrict'1043// CHECK-NEXT: |       |       |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1044// CHECK-NEXT: |       |       |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1045// CHECK-NEXT: |       |       |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1046// CHECK-NEXT: |       |       |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:17:1) *const restrict'1047// CHECK-NEXT: |       |       |-VarDecl {{.*}} <line:18:8, col:16> col:12 used i 'int' cinit1048// CHECK-NEXT: |       |       | `-IntegerLiteral {{.*}} <col:16> 'int' 01049// CHECK-NEXT: |       |       `-VarDecl {{.*}} <line:19:10, col:18> col:14 used i 'int' cinit1050// CHECK-NEXT: |       |         `-IntegerLiteral {{.*}} <col:18> 'int' 01051// CHECK-NEXT: |       |-DeclRefExpr {{.*}} <line:18:3> 'int' lvalue ParmVar {{.*}} 'x' 'int'1052// CHECK-NEXT: |       `-DeclRefExpr {{.*}} <line:19:25> 'int' lvalue ParmVar {{.*}} 'y' 'int'1053// CHECK-NEXT: |-FunctionDecl {{.*}} <line:23:1, line:28:1> line:23:6 test_four 'void (int, int)'1054// CHECK-NEXT: | |-ParmVarDecl {{.*}} <col:16, col:20> col:20 used x 'int'1055// CHECK-NEXT: | |-ParmVarDecl {{.*}} <col:23, col:27> col:27 used y 'int'1056// CHECK-NEXT: | `-CompoundStmt {{.*}} <col:30, line:28:1>1057// CHECK-NEXT: |   `-OMPTargetTeamsDistributeParallelForDirective {{.*}} <line:24:1, col:61>1058// CHECK-NEXT: |     |-OMPCollapseClause {{.*}} <col:50, col:60>1059// CHECK-NEXT: |     | `-ConstantExpr {{.*}} <col:59> 'int'1060// CHECK-NEXT: |     | |-value: Int 21061// CHECK-NEXT: |     |   `-IntegerLiteral {{.*}} <col:59> 'int' 21062// CHECK-NEXT: |     |-OMPFirstprivateClause {{.*}} <<invalid sloc>> <implicit>1063// CHECK-NEXT: |     | |-DeclRefExpr {{.*}} <line:25:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1064// CHECK-NEXT: |     | `-DeclRefExpr {{.*}} <line:26:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1065// CHECK-NEXT: |     `-CapturedStmt {{.*}} <line:25:3, line:27:7>1066// CHECK-NEXT: |       |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1067// CHECK-NEXT: |       | |-CapturedStmt {{.*}} <line:25:3, line:27:7>1068// CHECK-NEXT: |       | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1069// CHECK-NEXT: |       | | | |-CapturedStmt {{.*}} <line:25:3, line:27:7>1070// CHECK-NEXT: |       | | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1071// CHECK-NEXT: |       | | | | | |-CapturedStmt {{.*}} <line:25:3, line:27:7>1072// CHECK-NEXT: |       | | | | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1073// CHECK-NEXT: |       | | | | | | | |-ForStmt {{.*}} <line:25:3, line:27:7>1074// CHECK-NEXT: |       | | | | | | | | |-DeclStmt {{.*}} <line:25:8, col:17>1075// CHECK-NEXT: |       | | | | | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1076// CHECK-NEXT: |       | | | | | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01077// CHECK-NEXT: |       | | | | | | | | |-<<<NULL>>>1078// CHECK-NEXT: |       | | | | | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1079// CHECK-NEXT: |       | | | | | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1080// CHECK-NEXT: |       | | | | | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1081// CHECK-NEXT: |       | | | | | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1082// CHECK-NEXT: |       | | | | | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1083// CHECK-NEXT: |       | | | | | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1084// CHECK-NEXT: |       | | | | | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1085// CHECK-NEXT: |       | | | | | | | | `-ForStmt {{.*}} <line:26:5, line:27:7>1086// CHECK-NEXT: |       | | | | | | | |   |-DeclStmt {{.*}} <line:26:10, col:19>1087// CHECK-NEXT: |       | | | | | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1088// CHECK-NEXT: |       | | | | | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01089// CHECK-NEXT: |       | | | | | | | |   |-<<<NULL>>>1090// CHECK-NEXT: |       | | | | | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1091// CHECK-NEXT: |       | | | | | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1092// CHECK-NEXT: |       | | | | | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1093// CHECK-NEXT: |       | | | | | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1094// CHECK-NEXT: |       | | | | | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1095// CHECK-NEXT: |       | | | | | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1096// CHECK-NEXT: |       | | | | | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1097// CHECK-NEXT: |       | | | | | | | |   `-NullStmt {{.*}} <line:27:7>1098// CHECK-NEXT: |       | | | | | | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'1099// CHECK-NEXT: |       | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1100// CHECK-NEXT: |       | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1101// CHECK-NEXT: |       | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1102// CHECK-NEXT: |       | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:24:1) *const restrict'1103// CHECK-NEXT: |       | | | | | | | |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit1104// CHECK-NEXT: |       | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 01105// CHECK-NEXT: |       | | | | | | | `-VarDecl {{.*}} <line:26:10, col:18> col:14 used i 'int' cinit1106// CHECK-NEXT: |       | | | | | | |   `-IntegerLiteral {{.*}} <col:18> 'int' 01107// CHECK-NEXT: |       | | | | | | |-DeclRefExpr {{.*}} <line:25:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1108// CHECK-NEXT: |       | | | | | | `-DeclRefExpr {{.*}} <line:26:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1109// CHECK-NEXT: |       | | | | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'1110// CHECK-NEXT: |       | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1111// CHECK-NEXT: |       | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:24:1) *const restrict'1112// CHECK-NEXT: |       | | | | | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1113// CHECK-NEXT: |       | | | | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1114// CHECK-NEXT: |       | | | | | | |-FieldDecl {{.*}} <line:25:3> col:3 implicit 'int'1115// CHECK-NEXT: |       | | | | | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1116// CHECK-NEXT: |       | | | | | | `-FieldDecl {{.*}} <line:26:5> col:5 implicit 'int'1117// CHECK-NEXT: |       | | | | | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1118// CHECK-NEXT: |       | | | | | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1119// CHECK-NEXT: |       | | | | |   |-ForStmt {{.*}} <line:25:3, line:27:7>1120// CHECK-NEXT: |       | | | | |   | |-DeclStmt {{.*}} <line:25:8, col:17>1121// CHECK-NEXT: |       | | | | |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1122// CHECK-NEXT: |       | | | | |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01123// CHECK-NEXT: |       | | | | |   | |-<<<NULL>>>1124// CHECK-NEXT: |       | | | | |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1125// CHECK-NEXT: |       | | | | |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1126// CHECK-NEXT: |       | | | | |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' '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: |       | | | | |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1130// CHECK-NEXT: |       | | | | |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1131// CHECK-NEXT: |       | | | | |   | `-ForStmt {{.*}} <line:26:5, line:27:7>1132// CHECK-NEXT: |       | | | | |   |   |-DeclStmt {{.*}} <line:26:10, col:19>1133// CHECK-NEXT: |       | | | | |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1134// CHECK-NEXT: |       | | | | |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01135// CHECK-NEXT: |       | | | | |   |   |-<<<NULL>>>1136// CHECK-NEXT: |       | | | | |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1137// CHECK-NEXT: |       | | | | |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1138// CHECK-NEXT: |       | | | | |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1139// CHECK-NEXT: |       | | | | |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1140// CHECK-NEXT: |       | | | | |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1141// CHECK-NEXT: |       | | | | |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1142// CHECK-NEXT: |       | | | | |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1143// CHECK-NEXT: |       | | | | |   |   `-NullStmt {{.*}} <line:27:7>1144// CHECK-NEXT: |       | | | | |   |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'1145// CHECK-NEXT: |       | | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1146// CHECK-NEXT: |       | | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1147// CHECK-NEXT: |       | | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1148// CHECK-NEXT: |       | | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:24:1) *const restrict'1149// CHECK-NEXT: |       | | | | |   |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit1150// CHECK-NEXT: |       | | | | |   | `-IntegerLiteral {{.*}} <col:16> 'int' 01151// CHECK-NEXT: |       | | | | |   `-VarDecl {{.*}} <line:26:10, col:18> col:14 used i 'int' cinit1152// CHECK-NEXT: |       | | | | |     `-IntegerLiteral {{.*}} <col:18> 'int' 01153// CHECK-NEXT: |       | | | | |-DeclRefExpr {{.*}} <line:25:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1154// CHECK-NEXT: |       | | | | `-DeclRefExpr {{.*}} <line:26:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1155// CHECK-NEXT: |       | | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:24:1) *const restrict'1156// CHECK-NEXT: |       | | | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1157// CHECK-NEXT: |       | | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1158// CHECK-NEXT: |       | | | | |-FieldDecl {{.*}} <line:25:3> col:3 implicit 'int'1159// CHECK-NEXT: |       | | | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1160// CHECK-NEXT: |       | | | | `-FieldDecl {{.*}} <line:26:5> col:5 implicit 'int'1161// CHECK-NEXT: |       | | | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1162// CHECK-NEXT: |       | | | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1163// CHECK-NEXT: |       | | |   |-CapturedStmt {{.*}} <line:25:3, line:27:7>1164// CHECK-NEXT: |       | | |   | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1165// CHECK-NEXT: |       | | |   | | |-ForStmt {{.*}} <line:25:3, line:27:7>1166// CHECK-NEXT: |       | | |   | | | |-DeclStmt {{.*}} <line:25:8, col:17>1167// CHECK-NEXT: |       | | |   | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1168// CHECK-NEXT: |       | | |   | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01169// CHECK-NEXT: |       | | |   | | | |-<<<NULL>>>1170// CHECK-NEXT: |       | | |   | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1171// CHECK-NEXT: |       | | |   | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1172// CHECK-NEXT: |       | | |   | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1173// CHECK-NEXT: |       | | |   | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1174// CHECK-NEXT: |       | | |   | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1175// CHECK-NEXT: |       | | |   | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1176// CHECK-NEXT: |       | | |   | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1177// CHECK-NEXT: |       | | |   | | | `-ForStmt {{.*}} <line:26:5, line:27:7>1178// CHECK-NEXT: |       | | |   | | |   |-DeclStmt {{.*}} <line:26:10, col:19>1179// CHECK-NEXT: |       | | |   | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1180// CHECK-NEXT: |       | | |   | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01181// CHECK-NEXT: |       | | |   | | |   |-<<<NULL>>>1182// CHECK-NEXT: |       | | |   | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1183// CHECK-NEXT: |       | | |   | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1184// CHECK-NEXT: |       | | |   | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1185// CHECK-NEXT: |       | | |   | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1186// CHECK-NEXT: |       | | |   | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1187// CHECK-NEXT: |       | | |   | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1188// CHECK-NEXT: |       | | |   | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1189// CHECK-NEXT: |       | | |   | | |   `-NullStmt {{.*}} <line:27:7>1190// CHECK-NEXT: |       | | |   | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'1191// CHECK-NEXT: |       | | |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1192// CHECK-NEXT: |       | | |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1193// CHECK-NEXT: |       | | |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1194// CHECK-NEXT: |       | | |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:24:1) *const restrict'1195// CHECK-NEXT: |       | | |   | | |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit1196// CHECK-NEXT: |       | | |   | | | `-IntegerLiteral {{.*}} <col:16> 'int' 01197// CHECK-NEXT: |       | | |   | | `-VarDecl {{.*}} <line:26:10, col:18> col:14 used i 'int' cinit1198// CHECK-NEXT: |       | | |   | |   `-IntegerLiteral {{.*}} <col:18> 'int' 01199// CHECK-NEXT: |       | | |   | |-DeclRefExpr {{.*}} <line:25:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1200// CHECK-NEXT: |       | | |   | `-DeclRefExpr {{.*}} <line:26:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1201// CHECK-NEXT: |       | | |   |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'1202// CHECK-NEXT: |       | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1203// CHECK-NEXT: |       | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:24:1) *const restrict'1204// CHECK-NEXT: |       | | |   |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1205// CHECK-NEXT: |       | | |   | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1206// CHECK-NEXT: |       | | |   | |-FieldDecl {{.*}} <line:25:3> col:3 implicit 'int'1207// CHECK-NEXT: |       | | |   | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1208// CHECK-NEXT: |       | | |   | `-FieldDecl {{.*}} <line:26:5> col:5 implicit 'int'1209// CHECK-NEXT: |       | | |   |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1210// CHECK-NEXT: |       | | |   `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1211// CHECK-NEXT: |       | | |     |-ForStmt {{.*}} <line:25:3, line:27:7>1212// CHECK-NEXT: |       | | |     | |-DeclStmt {{.*}} <line:25: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:26:5, line:27:7>1224// CHECK-NEXT: |       | | |     |   |-DeclStmt {{.*}} <line:26: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:27:7>1236// CHECK-NEXT: |       | | |     |-ImplicitParamDecl {{.*}} <line:24: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-target-teams-distribute-parallel-for.c:24:1) *const restrict'1241// CHECK-NEXT: |       | | |     |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit1242// CHECK-NEXT: |       | | |     | `-IntegerLiteral {{.*}} <col:16> 'int' 01243// CHECK-NEXT: |       | | |     `-VarDecl {{.*}} <line:26:10, col:18> col:14 used i 'int' cinit1244// CHECK-NEXT: |       | | |       `-IntegerLiteral {{.*}} <col:18> 'int' 01245// CHECK-NEXT: |       | | |-DeclRefExpr {{.*}} <line:25:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1246// CHECK-NEXT: |       | | `-DeclRefExpr {{.*}} <line:26:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1247// CHECK-NEXT: |       | |-AlwaysInlineAttr {{.*}} <<invalid sloc>> Implicit __forceinline1248// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int'1249// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .part_id. 'const int *const restrict'1250// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .privates. 'void *const restrict'1251// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .copy_fn. 'void (*const restrict)(void *const restrict, ...)'1252// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .task_t. 'void *const'1253// CHECK-NEXT: |       | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:24:1) *const restrict'1254// CHECK-NEXT: |       | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1255// CHECK-NEXT: |       | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1256// CHECK-NEXT: |       | | |-FieldDecl {{.*}} <line:25:3> col:3 implicit 'int'1257// CHECK-NEXT: |       | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1258// CHECK-NEXT: |       | | `-FieldDecl {{.*}} <line:26:5> col:5 implicit 'int'1259// CHECK-NEXT: |       | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1260// CHECK-NEXT: |       | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1261// CHECK-NEXT: |       |   |-CapturedStmt {{.*}} <line:25:3, line:27:7>1262// CHECK-NEXT: |       |   | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1263// CHECK-NEXT: |       |   | | |-CapturedStmt {{.*}} <line:25:3, line:27:7>1264// CHECK-NEXT: |       |   | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1265// CHECK-NEXT: |       |   | | | | |-ForStmt {{.*}} <line:25:3, line:27:7>1266// CHECK-NEXT: |       |   | | | | | |-DeclStmt {{.*}} <line:25:8, col:17>1267// CHECK-NEXT: |       |   | | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1268// CHECK-NEXT: |       |   | | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01269// CHECK-NEXT: |       |   | | | | | |-<<<NULL>>>1270// CHECK-NEXT: |       |   | | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1271// CHECK-NEXT: |       |   | | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1272// CHECK-NEXT: |       |   | | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1273// CHECK-NEXT: |       |   | | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1274// CHECK-NEXT: |       |   | | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1275// CHECK-NEXT: |       |   | | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1276// CHECK-NEXT: |       |   | | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1277// CHECK-NEXT: |       |   | | | | | `-ForStmt {{.*}} <line:26:5, line:27:7>1278// CHECK-NEXT: |       |   | | | | |   |-DeclStmt {{.*}} <line:26:10, col:19>1279// CHECK-NEXT: |       |   | | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1280// CHECK-NEXT: |       |   | | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01281// CHECK-NEXT: |       |   | | | | |   |-<<<NULL>>>1282// CHECK-NEXT: |       |   | | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1283// CHECK-NEXT: |       |   | | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1284// CHECK-NEXT: |       |   | | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1285// CHECK-NEXT: |       |   | | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1286// CHECK-NEXT: |       |   | | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1287// CHECK-NEXT: |       |   | | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1288// CHECK-NEXT: |       |   | | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1289// CHECK-NEXT: |       |   | | | | |   `-NullStmt {{.*}} <line:27:7>1290// CHECK-NEXT: |       |   | | | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'1291// CHECK-NEXT: |       |   | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1292// CHECK-NEXT: |       |   | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1293// CHECK-NEXT: |       |   | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1294// CHECK-NEXT: |       |   | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:24:1) *const restrict'1295// CHECK-NEXT: |       |   | | | | |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit1296// CHECK-NEXT: |       |   | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 01297// CHECK-NEXT: |       |   | | | | `-VarDecl {{.*}} <line:26:10, col:18> col:14 used i 'int' cinit1298// CHECK-NEXT: |       |   | | | |   `-IntegerLiteral {{.*}} <col:18> 'int' 01299// CHECK-NEXT: |       |   | | | |-DeclRefExpr {{.*}} <line:25:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1300// CHECK-NEXT: |       |   | | | `-DeclRefExpr {{.*}} <line:26:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1301// CHECK-NEXT: |       |   | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'1302// CHECK-NEXT: |       |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1303// CHECK-NEXT: |       |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:24:1) *const restrict'1304// CHECK-NEXT: |       |   | | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1305// CHECK-NEXT: |       |   | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1306// CHECK-NEXT: |       |   | | | |-FieldDecl {{.*}} <line:25:3> col:3 implicit 'int'1307// CHECK-NEXT: |       |   | | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1308// CHECK-NEXT: |       |   | | | `-FieldDecl {{.*}} <line:26:5> col:5 implicit 'int'1309// CHECK-NEXT: |       |   | | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1310// CHECK-NEXT: |       |   | | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1311// CHECK-NEXT: |       |   | |   |-ForStmt {{.*}} <line:25:3, line:27:7>1312// CHECK-NEXT: |       |   | |   | |-DeclStmt {{.*}} <line:25:8, col:17>1313// CHECK-NEXT: |       |   | |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1314// CHECK-NEXT: |       |   | |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01315// CHECK-NEXT: |       |   | |   | |-<<<NULL>>>1316// CHECK-NEXT: |       |   | |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1317// CHECK-NEXT: |       |   | |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1318// CHECK-NEXT: |       |   | |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1319// CHECK-NEXT: |       |   | |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1320// CHECK-NEXT: |       |   | |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1321// CHECK-NEXT: |       |   | |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1322// CHECK-NEXT: |       |   | |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1323// CHECK-NEXT: |       |   | |   | `-ForStmt {{.*}} <line:26:5, line:27:7>1324// CHECK-NEXT: |       |   | |   |   |-DeclStmt {{.*}} <line:26:10, col:19>1325// CHECK-NEXT: |       |   | |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1326// CHECK-NEXT: |       |   | |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01327// CHECK-NEXT: |       |   | |   |   |-<<<NULL>>>1328// CHECK-NEXT: |       |   | |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1329// CHECK-NEXT: |       |   | |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1330// CHECK-NEXT: |       |   | |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1331// CHECK-NEXT: |       |   | |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1332// CHECK-NEXT: |       |   | |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1333// CHECK-NEXT: |       |   | |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1334// CHECK-NEXT: |       |   | |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1335// CHECK-NEXT: |       |   | |   |   `-NullStmt {{.*}} <line:27:7>1336// CHECK-NEXT: |       |   | |   |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'1337// CHECK-NEXT: |       |   | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1338// CHECK-NEXT: |       |   | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1339// CHECK-NEXT: |       |   | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1340// CHECK-NEXT: |       |   | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:24:1) *const restrict'1341// CHECK-NEXT: |       |   | |   |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit1342// CHECK-NEXT: |       |   | |   | `-IntegerLiteral {{.*}} <col:16> 'int' 01343// CHECK-NEXT: |       |   | |   `-VarDecl {{.*}} <line:26:10, col:18> col:14 used i 'int' cinit1344// CHECK-NEXT: |       |   | |     `-IntegerLiteral {{.*}} <col:18> 'int' 01345// CHECK-NEXT: |       |   | |-DeclRefExpr {{.*}} <line:25:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1346// CHECK-NEXT: |       |   | `-DeclRefExpr {{.*}} <line:26:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1347// CHECK-NEXT: |       |   |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:24:1) *const restrict'1348// CHECK-NEXT: |       |   |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1349// CHECK-NEXT: |       |   | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1350// CHECK-NEXT: |       |   | |-FieldDecl {{.*}} <line:25:3> col:3 implicit 'int'1351// CHECK-NEXT: |       |   | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1352// CHECK-NEXT: |       |   | `-FieldDecl {{.*}} <line:26:5> col:5 implicit 'int'1353// CHECK-NEXT: |       |   |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1354// CHECK-NEXT: |       |   `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1355// CHECK-NEXT: |       |     |-CapturedStmt {{.*}} <line:25:3, line:27:7>1356// CHECK-NEXT: |       |     | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1357// CHECK-NEXT: |       |     | | |-ForStmt {{.*}} <line:25:3, line:27:7>1358// CHECK-NEXT: |       |     | | | |-DeclStmt {{.*}} <line:25:8, col:17>1359// CHECK-NEXT: |       |     | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1360// CHECK-NEXT: |       |     | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01361// CHECK-NEXT: |       |     | | | |-<<<NULL>>>1362// CHECK-NEXT: |       |     | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1363// CHECK-NEXT: |       |     | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1364// CHECK-NEXT: |       |     | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1365// CHECK-NEXT: |       |     | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1366// CHECK-NEXT: |       |     | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1367// CHECK-NEXT: |       |     | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1368// CHECK-NEXT: |       |     | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1369// CHECK-NEXT: |       |     | | | `-ForStmt {{.*}} <line:26:5, line:27:7>1370// CHECK-NEXT: |       |     | | |   |-DeclStmt {{.*}} <line:26:10, col:19>1371// CHECK-NEXT: |       |     | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1372// CHECK-NEXT: |       |     | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01373// CHECK-NEXT: |       |     | | |   |-<<<NULL>>>1374// CHECK-NEXT: |       |     | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1375// CHECK-NEXT: |       |     | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1376// CHECK-NEXT: |       |     | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1377// CHECK-NEXT: |       |     | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1378// CHECK-NEXT: |       |     | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1379// CHECK-NEXT: |       |     | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1380// CHECK-NEXT: |       |     | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1381// CHECK-NEXT: |       |     | | |   `-NullStmt {{.*}} <line:27:7>1382// CHECK-NEXT: |       |     | | |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'1383// CHECK-NEXT: |       |     | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1384// CHECK-NEXT: |       |     | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1385// CHECK-NEXT: |       |     | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1386// CHECK-NEXT: |       |     | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:24:1) *const restrict'1387// CHECK-NEXT: |       |     | | |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit1388// CHECK-NEXT: |       |     | | | `-IntegerLiteral {{.*}} <col:16> 'int' 01389// CHECK-NEXT: |       |     | | `-VarDecl {{.*}} <line:26:10, col:18> col:14 used i 'int' cinit1390// CHECK-NEXT: |       |     | |   `-IntegerLiteral {{.*}} <col:18> 'int' 01391// CHECK-NEXT: |       |     | |-DeclRefExpr {{.*}} <line:25:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1392// CHECK-NEXT: |       |     | `-DeclRefExpr {{.*}} <line:26:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1393// CHECK-NEXT: |       |     |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'1394// CHECK-NEXT: |       |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1395// CHECK-NEXT: |       |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:24:1) *const restrict'1396// CHECK-NEXT: |       |     |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1397// CHECK-NEXT: |       |     | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1398// CHECK-NEXT: |       |     | |-FieldDecl {{.*}} <line:25:3> col:3 implicit 'int'1399// CHECK-NEXT: |       |     | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1400// CHECK-NEXT: |       |     | `-FieldDecl {{.*}} <line:26:5> col:5 implicit 'int'1401// CHECK-NEXT: |       |     |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1402// CHECK-NEXT: |       |     `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1403// CHECK-NEXT: |       |       |-ForStmt {{.*}} <line:25:3, line:27:7>1404// CHECK-NEXT: |       |       | |-DeclStmt {{.*}} <line:25:8, col:17>1405// CHECK-NEXT: |       |       | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1406// CHECK-NEXT: |       |       | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01407// CHECK-NEXT: |       |       | |-<<<NULL>>>1408// CHECK-NEXT: |       |       | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1409// CHECK-NEXT: |       |       | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1410// CHECK-NEXT: |       |       | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1411// CHECK-NEXT: |       |       | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1412// CHECK-NEXT: |       |       | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1413// CHECK-NEXT: |       |       | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1414// CHECK-NEXT: |       |       | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1415// CHECK-NEXT: |       |       | `-ForStmt {{.*}} <line:26:5, line:27:7>1416// CHECK-NEXT: |       |       |   |-DeclStmt {{.*}} <line:26:10, col:19>1417// CHECK-NEXT: |       |       |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1418// CHECK-NEXT: |       |       |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01419// CHECK-NEXT: |       |       |   |-<<<NULL>>>1420// CHECK-NEXT: |       |       |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1421// CHECK-NEXT: |       |       |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1422// CHECK-NEXT: |       |       |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1423// CHECK-NEXT: |       |       |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1424// CHECK-NEXT: |       |       |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1425// CHECK-NEXT: |       |       |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1426// CHECK-NEXT: |       |       |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1427// CHECK-NEXT: |       |       |   `-NullStmt {{.*}} <line:27:7>1428// CHECK-NEXT: |       |       |-ImplicitParamDecl {{.*}} <line:24:1> col:1 implicit .global_tid. 'const int *const restrict'1429// CHECK-NEXT: |       |       |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1430// CHECK-NEXT: |       |       |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1431// CHECK-NEXT: |       |       |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1432// CHECK-NEXT: |       |       |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:24:1) *const restrict'1433// CHECK-NEXT: |       |       |-VarDecl {{.*}} <line:25:8, col:16> col:12 used i 'int' cinit1434// CHECK-NEXT: |       |       | `-IntegerLiteral {{.*}} <col:16> 'int' 01435// CHECK-NEXT: |       |       `-VarDecl {{.*}} <line:26:10, col:18> col:14 used i 'int' cinit1436// CHECK-NEXT: |       |         `-IntegerLiteral {{.*}} <col:18> 'int' 01437// CHECK-NEXT: |       |-DeclRefExpr {{.*}} <line:25:3> 'int' lvalue ParmVar {{.*}} 'x' 'int'1438// CHECK-NEXT: |       `-DeclRefExpr {{.*}} <line:26:5> 'int' lvalue ParmVar {{.*}} 'y' 'int'1439// CHECK-NEXT: `-FunctionDecl {{.*}} <line:30:1, line:36:1> line:30:6 test_five 'void (int, int, int)'1440// CHECK-NEXT:   |-ParmVarDecl {{.*}} <col:16, col:20> col:20 used x 'int'1441// CHECK-NEXT:   |-ParmVarDecl {{.*}} <col:23, col:27> col:27 used y 'int'1442// CHECK-NEXT:   |-ParmVarDecl {{.*}} <col:30, col:34> col:34 used z 'int'1443// CHECK-NEXT:   `-CompoundStmt {{.*}} <col:37, line:36:1>1444// CHECK-NEXT:     `-OMPTargetTeamsDistributeParallelForDirective {{.*}} <line:31:1, col:61>1445// CHECK-NEXT:       |-OMPCollapseClause {{.*}} <col:50, col:60>1446// CHECK-NEXT:       | `-ConstantExpr {{.*}} <col:59> 'int'1447// CHECK-NEXT:       | |-value: Int 21448// CHECK-NEXT:       |   `-IntegerLiteral {{.*}} <col:59> 'int' 21449// CHECK-NEXT:       |-OMPFirstprivateClause {{.*}} <<invalid sloc>> <implicit>1450// CHECK-NEXT:       | |-DeclRefExpr {{.*}} <line:32:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1451// CHECK-NEXT:       | |-DeclRefExpr {{.*}} <line:33:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1452// CHECK-NEXT:       | `-DeclRefExpr {{.*}} <line:34:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1453// CHECK-NEXT:       `-CapturedStmt {{.*}} <line:32:3, line:35:9>1454// CHECK-NEXT:         |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1455// CHECK-NEXT:         | |-CapturedStmt {{.*}} <line:32:3, line:35:9>1456// CHECK-NEXT:         | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1457// CHECK-NEXT:         | | | |-CapturedStmt {{.*}} <line:32:3, line:35:9>1458// CHECK-NEXT:         | | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1459// CHECK-NEXT:         | | | | | |-CapturedStmt {{.*}} <line:32:3, line:35:9>1460// CHECK-NEXT:         | | | | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1461// CHECK-NEXT:         | | | | | | | |-ForStmt {{.*}} <line:32:3, line:35:9>1462// CHECK-NEXT:         | | | | | | | | |-DeclStmt {{.*}} <line:32:8, col:17>1463// CHECK-NEXT:         | | | | | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1464// CHECK-NEXT:         | | | | | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01465// CHECK-NEXT:         | | | | | | | | |-<<<NULL>>>1466// CHECK-NEXT:         | | | | | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1467// CHECK-NEXT:         | | | | | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1468// CHECK-NEXT:         | | | | | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1469// CHECK-NEXT:         | | | | | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1470// CHECK-NEXT:         | | | | | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1471// CHECK-NEXT:         | | | | | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1472// CHECK-NEXT:         | | | | | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1473// CHECK-NEXT:         | | | | | | | | `-ForStmt {{.*}} <line:33:5, line:35:9>1474// CHECK-NEXT:         | | | | | | | |   |-DeclStmt {{.*}} <line:33:10, col:19>1475// CHECK-NEXT:         | | | | | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1476// CHECK-NEXT:         | | | | | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01477// CHECK-NEXT:         | | | | | | | |   |-<<<NULL>>>1478// CHECK-NEXT:         | | | | | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1479// CHECK-NEXT:         | | | | | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1480// CHECK-NEXT:         | | | | | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1481// CHECK-NEXT:         | | | | | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1482// CHECK-NEXT:         | | | | | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1483// CHECK-NEXT:         | | | | | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1484// CHECK-NEXT:         | | | | | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1485// CHECK-NEXT:         | | | | | | | |   `-ForStmt {{.*}} <line:34:7, line:35:9>1486// CHECK-NEXT:         | | | | | | | |     |-DeclStmt {{.*}} <line:34:12, col:21>1487// CHECK-NEXT:         | | | | | | | |     | `-VarDecl {{.*}} <col:12, col:20> col:16 used i 'int' cinit1488// CHECK-NEXT:         | | | | | | | |     |   `-IntegerLiteral {{.*}} <col:20> 'int' 01489// CHECK-NEXT:         | | | | | | | |     |-<<<NULL>>>1490// CHECK-NEXT:         | | | | | | | |     |-BinaryOperator {{.*}} <col:23, col:27> 'int' '<'1491// CHECK-NEXT:         | | | | | | | |     | |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1492// CHECK-NEXT:         | | | | | | | |     | | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue Var {{.*}} 'i' 'int'1493// CHECK-NEXT:         | | | | | | | |     | `-ImplicitCastExpr {{.*}} <col:27> 'int' <LValueToRValue>1494// CHECK-NEXT:         | | | | | | | |     |   `-DeclRefExpr {{.*}} <col:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1495// CHECK-NEXT:         | | | | | | | |     |-UnaryOperator {{.*}} <col:30, col:31> 'int' postfix '++'1496// CHECK-NEXT:         | | | | | | | |     | `-DeclRefExpr {{.*}} <col:30> 'int' lvalue Var {{.*}} 'i' 'int'1497// CHECK-NEXT:         | | | | | | | |     `-NullStmt {{.*}} <line:35:9>1498// CHECK-NEXT:         | | | | | | | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'1499// CHECK-NEXT:         | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1500// CHECK-NEXT:         | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1501// CHECK-NEXT:         | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1502// CHECK-NEXT:         | | | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'1503// CHECK-NEXT:         | | | | | | | |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit1504// CHECK-NEXT:         | | | | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 01505// CHECK-NEXT:         | | | | | | | |-VarDecl {{.*}} <line:33:10, col:18> col:14 used i 'int' cinit1506// CHECK-NEXT:         | | | | | | | | `-IntegerLiteral {{.*}} <col:18> 'int' 01507// CHECK-NEXT:         | | | | | | | `-VarDecl {{.*}} <line:34:12, col:20> col:16 used i 'int' cinit1508// CHECK-NEXT:         | | | | | | |   `-IntegerLiteral {{.*}} <col:20> 'int' 01509// CHECK-NEXT:         | | | | | | |-DeclRefExpr {{.*}} <line:32:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1510// CHECK-NEXT:         | | | | | | |-DeclRefExpr {{.*}} <line:33:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1511// CHECK-NEXT:         | | | | | | `-DeclRefExpr {{.*}} <line:34:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1512// CHECK-NEXT:         | | | | | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'1513// CHECK-NEXT:         | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1514// CHECK-NEXT:         | | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'1515// CHECK-NEXT:         | | | | | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1516// CHECK-NEXT:         | | | | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1517// CHECK-NEXT:         | | | | | | |-FieldDecl {{.*}} <line:32:3> col:3 implicit 'int'1518// CHECK-NEXT:         | | | | | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1519// CHECK-NEXT:         | | | | | | |-FieldDecl {{.*}} <line:33:5> col:5 implicit 'int'1520// CHECK-NEXT:         | | | | | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1521// CHECK-NEXT:         | | | | | | `-FieldDecl {{.*}} <line:34:27> col:27 implicit 'int'1522// CHECK-NEXT:         | | | | | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1523// CHECK-NEXT:         | | | | | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1524// CHECK-NEXT:         | | | | |   |-ForStmt {{.*}} <line:32:3, line:35:9>1525// CHECK-NEXT:         | | | | |   | |-DeclStmt {{.*}} <line:32:8, col:17>1526// CHECK-NEXT:         | | | | |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1527// CHECK-NEXT:         | | | | |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01528// CHECK-NEXT:         | | | | |   | |-<<<NULL>>>1529// CHECK-NEXT:         | | | | |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1530// CHECK-NEXT:         | | | | |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1531// CHECK-NEXT:         | | | | |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1532// CHECK-NEXT:         | | | | |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1533// CHECK-NEXT:         | | | | |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1534// CHECK-NEXT:         | | | | |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1535// CHECK-NEXT:         | | | | |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1536// CHECK-NEXT:         | | | | |   | `-ForStmt {{.*}} <line:33:5, line:35:9>1537// CHECK-NEXT:         | | | | |   |   |-DeclStmt {{.*}} <line:33:10, col:19>1538// CHECK-NEXT:         | | | | |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1539// CHECK-NEXT:         | | | | |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01540// CHECK-NEXT:         | | | | |   |   |-<<<NULL>>>1541// CHECK-NEXT:         | | | | |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1542// CHECK-NEXT:         | | | | |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1543// CHECK-NEXT:         | | | | |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1544// CHECK-NEXT:         | | | | |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1545// CHECK-NEXT:         | | | | |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1546// CHECK-NEXT:         | | | | |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1547// CHECK-NEXT:         | | | | |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1548// CHECK-NEXT:         | | | | |   |   `-ForStmt {{.*}} <line:34:7, line:35:9>1549// CHECK-NEXT:         | | | | |   |     |-DeclStmt {{.*}} <line:34:12, col:21>1550// CHECK-NEXT:         | | | | |   |     | `-VarDecl {{.*}} <col:12, col:20> col:16 used i 'int' cinit1551// CHECK-NEXT:         | | | | |   |     |   `-IntegerLiteral {{.*}} <col:20> 'int' 01552// CHECK-NEXT:         | | | | |   |     |-<<<NULL>>>1553// CHECK-NEXT:         | | | | |   |     |-BinaryOperator {{.*}} <col:23, col:27> 'int' '<'1554// CHECK-NEXT:         | | | | |   |     | |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1555// CHECK-NEXT:         | | | | |   |     | | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue Var {{.*}} 'i' 'int'1556// CHECK-NEXT:         | | | | |   |     | `-ImplicitCastExpr {{.*}} <col:27> 'int' <LValueToRValue>1557// CHECK-NEXT:         | | | | |   |     |   `-DeclRefExpr {{.*}} <col:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1558// CHECK-NEXT:         | | | | |   |     |-UnaryOperator {{.*}} <col:30, col:31> 'int' postfix '++'1559// CHECK-NEXT:         | | | | |   |     | `-DeclRefExpr {{.*}} <col:30> 'int' lvalue Var {{.*}} 'i' 'int'1560// CHECK-NEXT:         | | | | |   |     `-NullStmt {{.*}} <line:35:9>1561// CHECK-NEXT:         | | | | |   |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'1562// CHECK-NEXT:         | | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1563// CHECK-NEXT:         | | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1564// CHECK-NEXT:         | | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1565// CHECK-NEXT:         | | | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'1566// CHECK-NEXT:         | | | | |   |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit1567// CHECK-NEXT:         | | | | |   | `-IntegerLiteral {{.*}} <col:16> 'int' 01568// CHECK-NEXT:         | | | | |   |-VarDecl {{.*}} <line:33:10, col:18> col:14 used i 'int' cinit1569// CHECK-NEXT:         | | | | |   | `-IntegerLiteral {{.*}} <col:18> 'int' 01570// CHECK-NEXT:         | | | | |   `-VarDecl {{.*}} <line:34:12, col:20> col:16 used i 'int' cinit1571// CHECK-NEXT:         | | | | |     `-IntegerLiteral {{.*}} <col:20> 'int' 01572// CHECK-NEXT:         | | | | |-DeclRefExpr {{.*}} <line:32:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1573// CHECK-NEXT:         | | | | |-DeclRefExpr {{.*}} <line:33:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1574// CHECK-NEXT:         | | | | `-DeclRefExpr {{.*}} <line:34:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1575// CHECK-NEXT:         | | | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'1576// CHECK-NEXT:         | | | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1577// CHECK-NEXT:         | | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1578// CHECK-NEXT:         | | | | |-FieldDecl {{.*}} <line:32:3> col:3 implicit 'int'1579// CHECK-NEXT:         | | | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1580// CHECK-NEXT:         | | | | |-FieldDecl {{.*}} <line:33:5> col:5 implicit 'int'1581// CHECK-NEXT:         | | | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1582// CHECK-NEXT:         | | | | `-FieldDecl {{.*}} <line:34:27> col:27 implicit 'int'1583// CHECK-NEXT:         | | | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1584// CHECK-NEXT:         | | | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1585// CHECK-NEXT:         | | |   |-CapturedStmt {{.*}} <line:32:3, line:35:9>1586// CHECK-NEXT:         | | |   | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1587// CHECK-NEXT:         | | |   | | |-ForStmt {{.*}} <line:32:3, line:35:9>1588// CHECK-NEXT:         | | |   | | | |-DeclStmt {{.*}} <line:32:8, col:17>1589// CHECK-NEXT:         | | |   | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1590// CHECK-NEXT:         | | |   | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01591// CHECK-NEXT:         | | |   | | | |-<<<NULL>>>1592// CHECK-NEXT:         | | |   | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1593// CHECK-NEXT:         | | |   | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1594// CHECK-NEXT:         | | |   | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1595// CHECK-NEXT:         | | |   | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1596// CHECK-NEXT:         | | |   | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1597// CHECK-NEXT:         | | |   | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1598// CHECK-NEXT:         | | |   | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1599// CHECK-NEXT:         | | |   | | | `-ForStmt {{.*}} <line:33:5, line:35:9>1600// CHECK-NEXT:         | | |   | | |   |-DeclStmt {{.*}} <line:33:10, col:19>1601// CHECK-NEXT:         | | |   | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1602// CHECK-NEXT:         | | |   | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01603// CHECK-NEXT:         | | |   | | |   |-<<<NULL>>>1604// CHECK-NEXT:         | | |   | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1605// CHECK-NEXT:         | | |   | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1606// CHECK-NEXT:         | | |   | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1607// CHECK-NEXT:         | | |   | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1608// CHECK-NEXT:         | | |   | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1609// CHECK-NEXT:         | | |   | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1610// CHECK-NEXT:         | | |   | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1611// CHECK-NEXT:         | | |   | | |   `-ForStmt {{.*}} <line:34:7, line:35:9>1612// CHECK-NEXT:         | | |   | | |     |-DeclStmt {{.*}} <line:34:12, col:21>1613// CHECK-NEXT:         | | |   | | |     | `-VarDecl {{.*}} <col:12, col:20> col:16 used i 'int' cinit1614// CHECK-NEXT:         | | |   | | |     |   `-IntegerLiteral {{.*}} <col:20> 'int' 01615// CHECK-NEXT:         | | |   | | |     |-<<<NULL>>>1616// CHECK-NEXT:         | | |   | | |     |-BinaryOperator {{.*}} <col:23, col:27> 'int' '<'1617// CHECK-NEXT:         | | |   | | |     | |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1618// CHECK-NEXT:         | | |   | | |     | | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue Var {{.*}} 'i' 'int'1619// CHECK-NEXT:         | | |   | | |     | `-ImplicitCastExpr {{.*}} <col:27> 'int' <LValueToRValue>1620// CHECK-NEXT:         | | |   | | |     |   `-DeclRefExpr {{.*}} <col:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1621// CHECK-NEXT:         | | |   | | |     |-UnaryOperator {{.*}} <col:30, col:31> 'int' postfix '++'1622// CHECK-NEXT:         | | |   | | |     | `-DeclRefExpr {{.*}} <col:30> 'int' lvalue Var {{.*}} 'i' 'int'1623// CHECK-NEXT:         | | |   | | |     `-NullStmt {{.*}} <line:35:9>1624// CHECK-NEXT:         | | |   | | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'1625// CHECK-NEXT:         | | |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1626// CHECK-NEXT:         | | |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1627// CHECK-NEXT:         | | |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1628// CHECK-NEXT:         | | |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'1629// CHECK-NEXT:         | | |   | | |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit1630// CHECK-NEXT:         | | |   | | | `-IntegerLiteral {{.*}} <col:16> 'int' 01631// CHECK-NEXT:         | | |   | | |-VarDecl {{.*}} <line:33:10, col:18> col:14 used i 'int' cinit1632// CHECK-NEXT:         | | |   | | | `-IntegerLiteral {{.*}} <col:18> 'int' 01633// CHECK-NEXT:         | | |   | | `-VarDecl {{.*}} <line:34:12, col:20> col:16 used i 'int' cinit1634// CHECK-NEXT:         | | |   | |   `-IntegerLiteral {{.*}} <col:20> 'int' 01635// CHECK-NEXT:         | | |   | |-DeclRefExpr {{.*}} <line:32:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1636// CHECK-NEXT:         | | |   | |-DeclRefExpr {{.*}} <line:33:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1637// CHECK-NEXT:         | | |   | `-DeclRefExpr {{.*}} <line:34:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1638// CHECK-NEXT:         | | |   |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'1639// CHECK-NEXT:         | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1640// CHECK-NEXT:         | | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'1641// CHECK-NEXT:         | | |   |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1642// CHECK-NEXT:         | | |   | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1643// CHECK-NEXT:         | | |   | |-FieldDecl {{.*}} <line:32:3> col:3 implicit 'int'1644// CHECK-NEXT:         | | |   | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1645// CHECK-NEXT:         | | |   | |-FieldDecl {{.*}} <line:33:5> col:5 implicit 'int'1646// CHECK-NEXT:         | | |   | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1647// CHECK-NEXT:         | | |   | `-FieldDecl {{.*}} <line:34:27> col:27 implicit 'int'1648// CHECK-NEXT:         | | |   |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1649// CHECK-NEXT:         | | |   `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1650// CHECK-NEXT:         | | |     |-ForStmt {{.*}} <line:32:3, line:35:9>1651// CHECK-NEXT:         | | |     | |-DeclStmt {{.*}} <line:32:8, col:17>1652// CHECK-NEXT:         | | |     | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1653// CHECK-NEXT:         | | |     | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01654// CHECK-NEXT:         | | |     | |-<<<NULL>>>1655// CHECK-NEXT:         | | |     | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1656// CHECK-NEXT:         | | |     | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1657// CHECK-NEXT:         | | |     | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1658// CHECK-NEXT:         | | |     | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1659// CHECK-NEXT:         | | |     | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1660// CHECK-NEXT:         | | |     | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1661// CHECK-NEXT:         | | |     | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1662// CHECK-NEXT:         | | |     | `-ForStmt {{.*}} <line:33:5, line:35:9>1663// CHECK-NEXT:         | | |     |   |-DeclStmt {{.*}} <line:33:10, col:19>1664// CHECK-NEXT:         | | |     |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1665// CHECK-NEXT:         | | |     |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01666// CHECK-NEXT:         | | |     |   |-<<<NULL>>>1667// CHECK-NEXT:         | | |     |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1668// CHECK-NEXT:         | | |     |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1669// CHECK-NEXT:         | | |     |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1670// CHECK-NEXT:         | | |     |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1671// CHECK-NEXT:         | | |     |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1672// CHECK-NEXT:         | | |     |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1673// CHECK-NEXT:         | | |     |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1674// CHECK-NEXT:         | | |     |   `-ForStmt {{.*}} <line:34:7, line:35:9>1675// CHECK-NEXT:         | | |     |     |-DeclStmt {{.*}} <line:34:12, col:21>1676// CHECK-NEXT:         | | |     |     | `-VarDecl {{.*}} <col:12, col:20> col:16 used i 'int' cinit1677// CHECK-NEXT:         | | |     |     |   `-IntegerLiteral {{.*}} <col:20> 'int' 01678// CHECK-NEXT:         | | |     |     |-<<<NULL>>>1679// CHECK-NEXT:         | | |     |     |-BinaryOperator {{.*}} <col:23, col:27> 'int' '<'1680// CHECK-NEXT:         | | |     |     | |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1681// CHECK-NEXT:         | | |     |     | | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue Var {{.*}} 'i' 'int'1682// CHECK-NEXT:         | | |     |     | `-ImplicitCastExpr {{.*}} <col:27> 'int' <LValueToRValue>1683// CHECK-NEXT:         | | |     |     |   `-DeclRefExpr {{.*}} <col:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1684// CHECK-NEXT:         | | |     |     |-UnaryOperator {{.*}} <col:30, col:31> 'int' postfix '++'1685// CHECK-NEXT:         | | |     |     | `-DeclRefExpr {{.*}} <col:30> 'int' lvalue Var {{.*}} 'i' 'int'1686// CHECK-NEXT:         | | |     |     `-NullStmt {{.*}} <line:35:9>1687// CHECK-NEXT:         | | |     |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'1688// CHECK-NEXT:         | | |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1689// CHECK-NEXT:         | | |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1690// CHECK-NEXT:         | | |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1691// CHECK-NEXT:         | | |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'1692// CHECK-NEXT:         | | |     |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit1693// CHECK-NEXT:         | | |     | `-IntegerLiteral {{.*}} <col:16> 'int' 01694// CHECK-NEXT:         | | |     |-VarDecl {{.*}} <line:33:10, col:18> col:14 used i 'int' cinit1695// CHECK-NEXT:         | | |     | `-IntegerLiteral {{.*}} <col:18> 'int' 01696// CHECK-NEXT:         | | |     `-VarDecl {{.*}} <line:34:12, col:20> col:16 used i 'int' cinit1697// CHECK-NEXT:         | | |       `-IntegerLiteral {{.*}} <col:20> 'int' 01698// CHECK-NEXT:         | | |-DeclRefExpr {{.*}} <line:32:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1699// CHECK-NEXT:         | | |-DeclRefExpr {{.*}} <line:33:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1700// CHECK-NEXT:         | | `-DeclRefExpr {{.*}} <line:34:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1701// CHECK-NEXT:         | |-AlwaysInlineAttr {{.*}} <<invalid sloc>> Implicit __forceinline1702// CHECK-NEXT:         | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int'1703// CHECK-NEXT:         | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .part_id. 'const int *const restrict'1704// CHECK-NEXT:         | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .privates. 'void *const restrict'1705// CHECK-NEXT:         | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .copy_fn. 'void (*const restrict)(void *const restrict, ...)'1706// CHECK-NEXT:         | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .task_t. 'void *const'1707// CHECK-NEXT:         | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'1708// CHECK-NEXT:         | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1709// CHECK-NEXT:         | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1710// CHECK-NEXT:         | | |-FieldDecl {{.*}} <line:32:3> col:3 implicit 'int'1711// CHECK-NEXT:         | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1712// CHECK-NEXT:         | | |-FieldDecl {{.*}} <line:33:5> col:5 implicit 'int'1713// CHECK-NEXT:         | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1714// CHECK-NEXT:         | | `-FieldDecl {{.*}} <line:34:27> col:27 implicit 'int'1715// CHECK-NEXT:         | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1716// CHECK-NEXT:         | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1717// CHECK-NEXT:         |   |-CapturedStmt {{.*}} <line:32:3, line:35:9>1718// CHECK-NEXT:         |   | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1719// CHECK-NEXT:         |   | | |-CapturedStmt {{.*}} <line:32:3, line:35:9>1720// CHECK-NEXT:         |   | | | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1721// CHECK-NEXT:         |   | | | | |-ForStmt {{.*}} <line:32:3, line:35:9>1722// CHECK-NEXT:         |   | | | | | |-DeclStmt {{.*}} <line:32:8, col:17>1723// CHECK-NEXT:         |   | | | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1724// CHECK-NEXT:         |   | | | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01725// CHECK-NEXT:         |   | | | | | |-<<<NULL>>>1726// CHECK-NEXT:         |   | | | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1727// CHECK-NEXT:         |   | | | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1728// CHECK-NEXT:         |   | | | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1729// CHECK-NEXT:         |   | | | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1730// CHECK-NEXT:         |   | | | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1731// CHECK-NEXT:         |   | | | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1732// CHECK-NEXT:         |   | | | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1733// CHECK-NEXT:         |   | | | | | `-ForStmt {{.*}} <line:33:5, line:35:9>1734// CHECK-NEXT:         |   | | | | |   |-DeclStmt {{.*}} <line:33:10, col:19>1735// CHECK-NEXT:         |   | | | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1736// CHECK-NEXT:         |   | | | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01737// CHECK-NEXT:         |   | | | | |   |-<<<NULL>>>1738// CHECK-NEXT:         |   | | | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1739// CHECK-NEXT:         |   | | | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1740// CHECK-NEXT:         |   | | | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1741// CHECK-NEXT:         |   | | | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1742// CHECK-NEXT:         |   | | | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1743// CHECK-NEXT:         |   | | | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1744// CHECK-NEXT:         |   | | | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1745// CHECK-NEXT:         |   | | | | |   `-ForStmt {{.*}} <line:34:7, line:35:9>1746// CHECK-NEXT:         |   | | | | |     |-DeclStmt {{.*}} <line:34:12, col:21>1747// CHECK-NEXT:         |   | | | | |     | `-VarDecl {{.*}} <col:12, col:20> col:16 used i 'int' cinit1748// CHECK-NEXT:         |   | | | | |     |   `-IntegerLiteral {{.*}} <col:20> 'int' 01749// CHECK-NEXT:         |   | | | | |     |-<<<NULL>>>1750// CHECK-NEXT:         |   | | | | |     |-BinaryOperator {{.*}} <col:23, col:27> 'int' '<'1751// CHECK-NEXT:         |   | | | | |     | |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1752// CHECK-NEXT:         |   | | | | |     | | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue Var {{.*}} 'i' 'int'1753// CHECK-NEXT:         |   | | | | |     | `-ImplicitCastExpr {{.*}} <col:27> 'int' <LValueToRValue>1754// CHECK-NEXT:         |   | | | | |     |   `-DeclRefExpr {{.*}} <col:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1755// CHECK-NEXT:         |   | | | | |     |-UnaryOperator {{.*}} <col:30, col:31> 'int' postfix '++'1756// CHECK-NEXT:         |   | | | | |     | `-DeclRefExpr {{.*}} <col:30> 'int' lvalue Var {{.*}} 'i' 'int'1757// CHECK-NEXT:         |   | | | | |     `-NullStmt {{.*}} <line:35:9>1758// CHECK-NEXT:         |   | | | | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'1759// CHECK-NEXT:         |   | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1760// CHECK-NEXT:         |   | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1761// CHECK-NEXT:         |   | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1762// CHECK-NEXT:         |   | | | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'1763// CHECK-NEXT:         |   | | | | |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit1764// CHECK-NEXT:         |   | | | | | `-IntegerLiteral {{.*}} <col:16> 'int' 01765// CHECK-NEXT:         |   | | | | |-VarDecl {{.*}} <line:33:10, col:18> col:14 used i 'int' cinit1766// CHECK-NEXT:         |   | | | | | `-IntegerLiteral {{.*}} <col:18> 'int' 01767// CHECK-NEXT:         |   | | | | `-VarDecl {{.*}} <line:34:12, col:20> col:16 used i 'int' cinit1768// CHECK-NEXT:         |   | | | |   `-IntegerLiteral {{.*}} <col:20> 'int' 01769// CHECK-NEXT:         |   | | | |-DeclRefExpr {{.*}} <line:32:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1770// CHECK-NEXT:         |   | | | |-DeclRefExpr {{.*}} <line:33:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1771// CHECK-NEXT:         |   | | | `-DeclRefExpr {{.*}} <line:34:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1772// CHECK-NEXT:         |   | | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'1773// CHECK-NEXT:         |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1774// CHECK-NEXT:         |   | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'1775// CHECK-NEXT:         |   | | |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1776// CHECK-NEXT:         |   | | | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1777// CHECK-NEXT:         |   | | | |-FieldDecl {{.*}} <line:32:3> col:3 implicit 'int'1778// CHECK-NEXT:         |   | | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1779// CHECK-NEXT:         |   | | | |-FieldDecl {{.*}} <line:33:5> col:5 implicit 'int'1780// CHECK-NEXT:         |   | | | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1781// CHECK-NEXT:         |   | | | `-FieldDecl {{.*}} <line:34:27> col:27 implicit 'int'1782// CHECK-NEXT:         |   | | |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1783// CHECK-NEXT:         |   | | `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1784// CHECK-NEXT:         |   | |   |-ForStmt {{.*}} <line:32:3, line:35:9>1785// CHECK-NEXT:         |   | |   | |-DeclStmt {{.*}} <line:32:8, col:17>1786// CHECK-NEXT:         |   | |   | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1787// CHECK-NEXT:         |   | |   | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01788// CHECK-NEXT:         |   | |   | |-<<<NULL>>>1789// CHECK-NEXT:         |   | |   | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1790// CHECK-NEXT:         |   | |   | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1791// CHECK-NEXT:         |   | |   | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1792// CHECK-NEXT:         |   | |   | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1793// CHECK-NEXT:         |   | |   | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1794// CHECK-NEXT:         |   | |   | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1795// CHECK-NEXT:         |   | |   | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1796// CHECK-NEXT:         |   | |   | `-ForStmt {{.*}} <line:33:5, line:35:9>1797// CHECK-NEXT:         |   | |   |   |-DeclStmt {{.*}} <line:33:10, col:19>1798// CHECK-NEXT:         |   | |   |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1799// CHECK-NEXT:         |   | |   |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01800// CHECK-NEXT:         |   | |   |   |-<<<NULL>>>1801// CHECK-NEXT:         |   | |   |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1802// CHECK-NEXT:         |   | |   |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1803// CHECK-NEXT:         |   | |   |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1804// CHECK-NEXT:         |   | |   |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1805// CHECK-NEXT:         |   | |   |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1806// CHECK-NEXT:         |   | |   |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1807// CHECK-NEXT:         |   | |   |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1808// CHECK-NEXT:         |   | |   |   `-ForStmt {{.*}} <line:34:7, line:35:9>1809// CHECK-NEXT:         |   | |   |     |-DeclStmt {{.*}} <line:34:12, col:21>1810// CHECK-NEXT:         |   | |   |     | `-VarDecl {{.*}} <col:12, col:20> col:16 used i 'int' cinit1811// CHECK-NEXT:         |   | |   |     |   `-IntegerLiteral {{.*}} <col:20> 'int' 01812// CHECK-NEXT:         |   | |   |     |-<<<NULL>>>1813// CHECK-NEXT:         |   | |   |     |-BinaryOperator {{.*}} <col:23, col:27> 'int' '<'1814// CHECK-NEXT:         |   | |   |     | |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1815// CHECK-NEXT:         |   | |   |     | | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue Var {{.*}} 'i' 'int'1816// CHECK-NEXT:         |   | |   |     | `-ImplicitCastExpr {{.*}} <col:27> 'int' <LValueToRValue>1817// CHECK-NEXT:         |   | |   |     |   `-DeclRefExpr {{.*}} <col:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1818// CHECK-NEXT:         |   | |   |     |-UnaryOperator {{.*}} <col:30, col:31> 'int' postfix '++'1819// CHECK-NEXT:         |   | |   |     | `-DeclRefExpr {{.*}} <col:30> 'int' lvalue Var {{.*}} 'i' 'int'1820// CHECK-NEXT:         |   | |   |     `-NullStmt {{.*}} <line:35:9>1821// CHECK-NEXT:         |   | |   |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'1822// CHECK-NEXT:         |   | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1823// CHECK-NEXT:         |   | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1824// CHECK-NEXT:         |   | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1825// CHECK-NEXT:         |   | |   |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'1826// CHECK-NEXT:         |   | |   |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit1827// CHECK-NEXT:         |   | |   | `-IntegerLiteral {{.*}} <col:16> 'int' 01828// CHECK-NEXT:         |   | |   |-VarDecl {{.*}} <line:33:10, col:18> col:14 used i 'int' cinit1829// CHECK-NEXT:         |   | |   | `-IntegerLiteral {{.*}} <col:18> 'int' 01830// CHECK-NEXT:         |   | |   `-VarDecl {{.*}} <line:34:12, col:20> col:16 used i 'int' cinit1831// CHECK-NEXT:         |   | |     `-IntegerLiteral {{.*}} <col:20> 'int' 01832// CHECK-NEXT:         |   | |-DeclRefExpr {{.*}} <line:32:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1833// CHECK-NEXT:         |   | |-DeclRefExpr {{.*}} <line:33:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1834// CHECK-NEXT:         |   | `-DeclRefExpr {{.*}} <line:34:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1835// CHECK-NEXT:         |   |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'1836// CHECK-NEXT:         |   |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1837// CHECK-NEXT:         |   | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1838// CHECK-NEXT:         |   | |-FieldDecl {{.*}} <line:32:3> col:3 implicit 'int'1839// CHECK-NEXT:         |   | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1840// CHECK-NEXT:         |   | |-FieldDecl {{.*}} <line:33:5> col:5 implicit 'int'1841// CHECK-NEXT:         |   | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1842// CHECK-NEXT:         |   | `-FieldDecl {{.*}} <line:34:27> col:27 implicit 'int'1843// CHECK-NEXT:         |   |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1844// CHECK-NEXT:         |   `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1845// CHECK-NEXT:         |     |-CapturedStmt {{.*}} <line:32:3, line:35:9>1846// CHECK-NEXT:         |     | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1847// CHECK-NEXT:         |     | | |-ForStmt {{.*}} <line:32:3, line:35:9>1848// CHECK-NEXT:         |     | | | |-DeclStmt {{.*}} <line:32:8, col:17>1849// CHECK-NEXT:         |     | | | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1850// CHECK-NEXT:         |     | | | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01851// CHECK-NEXT:         |     | | | |-<<<NULL>>>1852// CHECK-NEXT:         |     | | | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1853// CHECK-NEXT:         |     | | | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1854// CHECK-NEXT:         |     | | | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1855// CHECK-NEXT:         |     | | | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1856// CHECK-NEXT:         |     | | | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1857// CHECK-NEXT:         |     | | | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1858// CHECK-NEXT:         |     | | | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1859// CHECK-NEXT:         |     | | | `-ForStmt {{.*}} <line:33:5, line:35:9>1860// CHECK-NEXT:         |     | | |   |-DeclStmt {{.*}} <line:33:10, col:19>1861// CHECK-NEXT:         |     | | |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1862// CHECK-NEXT:         |     | | |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01863// CHECK-NEXT:         |     | | |   |-<<<NULL>>>1864// CHECK-NEXT:         |     | | |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1865// CHECK-NEXT:         |     | | |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1866// CHECK-NEXT:         |     | | |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1867// CHECK-NEXT:         |     | | |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1868// CHECK-NEXT:         |     | | |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1869// CHECK-NEXT:         |     | | |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1870// CHECK-NEXT:         |     | | |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1871// CHECK-NEXT:         |     | | |   `-ForStmt {{.*}} <line:34:7, line:35:9>1872// CHECK-NEXT:         |     | | |     |-DeclStmt {{.*}} <line:34:12, col:21>1873// CHECK-NEXT:         |     | | |     | `-VarDecl {{.*}} <col:12, col:20> col:16 used i 'int' cinit1874// CHECK-NEXT:         |     | | |     |   `-IntegerLiteral {{.*}} <col:20> 'int' 01875// CHECK-NEXT:         |     | | |     |-<<<NULL>>>1876// CHECK-NEXT:         |     | | |     |-BinaryOperator {{.*}} <col:23, col:27> 'int' '<'1877// CHECK-NEXT:         |     | | |     | |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1878// CHECK-NEXT:         |     | | |     | | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue Var {{.*}} 'i' 'int'1879// CHECK-NEXT:         |     | | |     | `-ImplicitCastExpr {{.*}} <col:27> 'int' <LValueToRValue>1880// CHECK-NEXT:         |     | | |     |   `-DeclRefExpr {{.*}} <col:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1881// CHECK-NEXT:         |     | | |     |-UnaryOperator {{.*}} <col:30, col:31> 'int' postfix '++'1882// CHECK-NEXT:         |     | | |     | `-DeclRefExpr {{.*}} <col:30> 'int' lvalue Var {{.*}} 'i' 'int'1883// CHECK-NEXT:         |     | | |     `-NullStmt {{.*}} <line:35:9>1884// CHECK-NEXT:         |     | | |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'1885// CHECK-NEXT:         |     | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1886// CHECK-NEXT:         |     | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1887// CHECK-NEXT:         |     | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1888// CHECK-NEXT:         |     | | |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'1889// CHECK-NEXT:         |     | | |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit1890// CHECK-NEXT:         |     | | | `-IntegerLiteral {{.*}} <col:16> 'int' 01891// CHECK-NEXT:         |     | | |-VarDecl {{.*}} <line:33:10, col:18> col:14 used i 'int' cinit1892// CHECK-NEXT:         |     | | | `-IntegerLiteral {{.*}} <col:18> 'int' 01893// CHECK-NEXT:         |     | | `-VarDecl {{.*}} <line:34:12, col:20> col:16 used i 'int' cinit1894// CHECK-NEXT:         |     | |   `-IntegerLiteral {{.*}} <col:20> 'int' 01895// CHECK-NEXT:         |     | |-DeclRefExpr {{.*}} <line:32:3> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1896// CHECK-NEXT:         |     | |-DeclRefExpr {{.*}} <line:33:5> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1897// CHECK-NEXT:         |     | `-DeclRefExpr {{.*}} <line:34:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1898// CHECK-NEXT:         |     |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'1899// CHECK-NEXT:         |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1900// CHECK-NEXT:         |     |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'1901// CHECK-NEXT:         |     |-RecordDecl {{.*}} <col:1> col:1 implicit struct definition1902// CHECK-NEXT:         |     | |-CapturedRecordAttr {{.*}} <<invalid sloc>> Implicit1903// CHECK-NEXT:         |     | |-FieldDecl {{.*}} <line:32:3> col:3 implicit 'int'1904// CHECK-NEXT:         |     | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1905// CHECK-NEXT:         |     | |-FieldDecl {{.*}} <line:33:5> col:5 implicit 'int'1906// CHECK-NEXT:         |     | | `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1907// CHECK-NEXT:         |     | `-FieldDecl {{.*}} <line:34:27> col:27 implicit 'int'1908// CHECK-NEXT:         |     |   `-OMPCaptureKindAttr {{.*}} <<invalid sloc>> Implicit {{.*}}1909// CHECK-NEXT:         |     `-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow1910// CHECK-NEXT:         |       |-ForStmt {{.*}} <line:32:3, line:35:9>1911// CHECK-NEXT:         |       | |-DeclStmt {{.*}} <line:32:8, col:17>1912// CHECK-NEXT:         |       | | `-VarDecl {{.*}} <col:8, col:16> col:12 used i 'int' cinit1913// CHECK-NEXT:         |       | |   `-IntegerLiteral {{.*}} <col:16> 'int' 01914// CHECK-NEXT:         |       | |-<<<NULL>>>1915// CHECK-NEXT:         |       | |-BinaryOperator {{.*}} <col:19, col:23> 'int' '<'1916// CHECK-NEXT:         |       | | |-ImplicitCastExpr {{.*}} <col:19> 'int' <LValueToRValue>1917// CHECK-NEXT:         |       | | | `-DeclRefExpr {{.*}} <col:19> 'int' lvalue Var {{.*}} 'i' 'int'1918// CHECK-NEXT:         |       | | `-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1919// CHECK-NEXT:         |       | |   `-DeclRefExpr {{.*}} <col:23> 'int' lvalue ParmVar {{.*}} 'x' 'int' refers_to_enclosing_variable_or_capture1920// CHECK-NEXT:         |       | |-UnaryOperator {{.*}} <col:26, col:27> 'int' postfix '++'1921// CHECK-NEXT:         |       | | `-DeclRefExpr {{.*}} <col:26> 'int' lvalue Var {{.*}} 'i' 'int'1922// CHECK-NEXT:         |       | `-ForStmt {{.*}} <line:33:5, line:35:9>1923// CHECK-NEXT:         |       |   |-DeclStmt {{.*}} <line:33:10, col:19>1924// CHECK-NEXT:         |       |   | `-VarDecl {{.*}} <col:10, col:18> col:14 used i 'int' cinit1925// CHECK-NEXT:         |       |   |   `-IntegerLiteral {{.*}} <col:18> 'int' 01926// CHECK-NEXT:         |       |   |-<<<NULL>>>1927// CHECK-NEXT:         |       |   |-BinaryOperator {{.*}} <col:21, col:25> 'int' '<'1928// CHECK-NEXT:         |       |   | |-ImplicitCastExpr {{.*}} <col:21> 'int' <LValueToRValue>1929// CHECK-NEXT:         |       |   | | `-DeclRefExpr {{.*}} <col:21> 'int' lvalue Var {{.*}} 'i' 'int'1930// CHECK-NEXT:         |       |   | `-ImplicitCastExpr {{.*}} <col:25> 'int' <LValueToRValue>1931// CHECK-NEXT:         |       |   |   `-DeclRefExpr {{.*}} <col:25> 'int' lvalue ParmVar {{.*}} 'y' 'int' refers_to_enclosing_variable_or_capture1932// CHECK-NEXT:         |       |   |-UnaryOperator {{.*}} <col:28, col:29> 'int' postfix '++'1933// CHECK-NEXT:         |       |   | `-DeclRefExpr {{.*}} <col:28> 'int' lvalue Var {{.*}} 'i' 'int'1934// CHECK-NEXT:         |       |   `-ForStmt {{.*}} <line:34:7, line:35:9>1935// CHECK-NEXT:         |       |     |-DeclStmt {{.*}} <line:34:12, col:21>1936// CHECK-NEXT:         |       |     | `-VarDecl {{.*}} <col:12, col:20> col:16 used i 'int' cinit1937// CHECK-NEXT:         |       |     |   `-IntegerLiteral {{.*}} <col:20> 'int' 01938// CHECK-NEXT:         |       |     |-<<<NULL>>>1939// CHECK-NEXT:         |       |     |-BinaryOperator {{.*}} <col:23, col:27> 'int' '<'1940// CHECK-NEXT:         |       |     | |-ImplicitCastExpr {{.*}} <col:23> 'int' <LValueToRValue>1941// CHECK-NEXT:         |       |     | | `-DeclRefExpr {{.*}} <col:23> 'int' lvalue Var {{.*}} 'i' 'int'1942// CHECK-NEXT:         |       |     | `-ImplicitCastExpr {{.*}} <col:27> 'int' <LValueToRValue>1943// CHECK-NEXT:         |       |     |   `-DeclRefExpr {{.*}} <col:27> 'int' lvalue ParmVar {{.*}} 'z' 'int' refers_to_enclosing_variable_or_capture1944// CHECK-NEXT:         |       |     |-UnaryOperator {{.*}} <col:30, col:31> 'int' postfix '++'1945// CHECK-NEXT:         |       |     | `-DeclRefExpr {{.*}} <col:30> 'int' lvalue Var {{.*}} 'i' 'int'1946// CHECK-NEXT:         |       |     `-NullStmt {{.*}} <line:35:9>1947// CHECK-NEXT:         |       |-ImplicitParamDecl {{.*}} <line:31:1> col:1 implicit .global_tid. 'const int *const restrict'1948// CHECK-NEXT:         |       |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit .bound_tid. 'const int *const restrict'1949// CHECK-NEXT:         |       |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.lb. 'const __size_t':'const unsigned long'1950// CHECK-NEXT:         |       |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit used .previous.ub. 'const __size_t':'const unsigned long'1951// CHECK-NEXT:         |       |-ImplicitParamDecl {{.*}} <col:1> col:1 implicit __context 'struct (unnamed at {{.*}}ast-dump-openmp-target-teams-distribute-parallel-for.c:31:1) *const restrict'1952// CHECK-NEXT:         |       |-VarDecl {{.*}} <line:32:8, col:16> col:12 used i 'int' cinit1953// CHECK-NEXT:         |       | `-IntegerLiteral {{.*}} <col:16> 'int' 01954// CHECK-NEXT:         |       |-VarDecl {{.*}} <line:33:10, col:18> col:14 used i 'int' cinit1955// CHECK-NEXT:         |       | `-IntegerLiteral {{.*}} <col:18> 'int' 01956// CHECK-NEXT:         |       `-VarDecl {{.*}} <line:34:12, col:20> col:16 used i 'int' cinit1957// CHECK-NEXT:         |         `-IntegerLiteral {{.*}} <col:20> 'int' 01958// CHECK-NEXT:         |-DeclRefExpr {{.*}} <line:32:3> 'int' lvalue ParmVar {{.*}} 'x' 'int'1959// CHECK-NEXT:         |-DeclRefExpr {{.*}} <line:33:5> 'int' lvalue ParmVar {{.*}} 'y' 'int'1960// CHECK-NEXT:         `-DeclRefExpr {{.*}} <line:34:27> 'int' lvalue ParmVar {{.*}} 'z' 'int'1961