Skip to content

Commit 059a335

Browse files
committed
Store the calculated constant expression value into the ConstantExpr object
With https://reviews.llvm.org/D63376, we began storing the APValue directly into the ConstantExpr object so that we could reuse the calculated value later. However, it missed a case when not in C++11 mode but the expression is known to be constant.
1 parent e87b8e4 commit 059a335

28 files changed

+98
-7
lines changed

clang/lib/Sema/SemaExpr.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16138,7 +16138,8 @@ Sema::VerifyIntegerConstantExpression(Expr *E, llvm::APSInt *Result,
1613816138
if (Result)
1613916139
*Result = E->EvaluateKnownConstIntCheckOverflow(Context);
1614016140
if (!isa<ConstantExpr>(E))
16141-
E = ConstantExpr::Create(Context, E);
16141+
E = Result ? ConstantExpr::Create(Context, E, APValue(*Result))
16142+
: ConstantExpr::Create(Context, E);
1614216143
return E;
1614316144
}
1614416145

clang/test/AST/ast-dump-c-attr.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,9 @@ struct [[deprecated]] Test4 {
3434
// CHECK-NEXT: FieldDecl{{.*}}Test6
3535
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:5, col:25> "Frobble" ""
3636
// CHECK-NEXT: FieldDecl{{.*}}Test7
37-
// CHECK-NEXT: Constant{{.*}}'int'
38-
// CHECK-NEXT: IntegerLiteral{{.*}}'int' 12
37+
// CHECK-NEXT: ConstantExpr{{.*}}'int'
38+
// CHECK-NEXT: value: Int 12
39+
// CHECK-NEXT: IntegerLiteral{{.*}}'int' 12
3940
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:15> "" ""
4041

4142
struct [[deprecated]] Test8;

clang/test/AST/ast-dump-decl-json.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -948,6 +948,7 @@ void testParmVarDecl(int TestParmVarDecl);
948948
// CHECK-NEXT: "qualType": "int"
949949
// CHECK-NEXT: },
950950
// CHECK-NEXT: "valueCategory": "rvalue",
951+
// CHECK-NEXT: "value": "1",
951952
// CHECK-NEXT: "inner": [
952953
// CHECK-NEXT: {
953954
// CHECK-NEXT: "id": "0x{{.*}}",
@@ -1668,6 +1669,7 @@ void testParmVarDecl(int TestParmVarDecl);
16681669
// CHECK-NEXT: "qualType": "int"
16691670
// CHECK-NEXT: },
16701671
// CHECK-NEXT: "valueCategory": "rvalue",
1672+
// CHECK-NEXT: "value": "1",
16711673
// CHECK-NEXT: "inner": [
16721674
// CHECK-NEXT: {
16731675
// CHECK-NEXT: "id": "0x{{.*}}",

clang/test/AST/ast-dump-decl.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,8 @@ enum testEnumConstantDecl {
112112
// CHECK: EnumConstantDecl{{.*}} TestEnumConstantDecl 'int'
113113
// CHECK: EnumConstantDecl{{.*}} TestEnumConstantDeclInit 'int'
114114
// CHECK-NEXT: ConstantExpr
115-
// CHECK-NEXT: IntegerLiteral
115+
// CHECK-NEXT: value: Int 1
116+
// CHECK-NEXT: IntegerLiteral
116117

117118
struct testIndirectFieldDecl {
118119
struct {
@@ -160,7 +161,8 @@ struct testFieldDecl {
160161
// CHECK: FieldDecl{{.*}} TestFieldDecl 'int'
161162
// CHECK: FieldDecl{{.*}} TestFieldDeclWidth 'int'
162163
// CHECK-NEXT: ConstantExpr
163-
// CHECK-NEXT: IntegerLiteral
164+
// CHECK-NEXT: value: Int 1
165+
// CHECK-NEXT: IntegerLiteral
164166
// CHECK-MODULE: FieldDecl{{.*}} TestFieldDeclPrivate 'int' __module_private__
165167

166168
int TestVarDecl;

clang/test/AST/ast-dump-openmp-distribute-parallel-for-simd.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ void test_five(int x, int y, int z) {
113113
// CHECK-NEXT: | `-OMPDistributeParallelForSimdDirective {{.*}} <line:17:1, col:53>
114114
// CHECK-NEXT: | |-OMPCollapseClause {{.*}} <col:42, col:52>
115115
// CHECK-NEXT: | | `-ConstantExpr {{.*}} <col:51> 'int'
116+
// CHECK-NEXT: | | |-value: Int 1
116117
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:51> 'int' 1
117118
// CHECK-NEXT: | `-CapturedStmt {{.*}} <line:18:3, line:20:7>
118119
// CHECK-NEXT: | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow
@@ -159,6 +160,7 @@ void test_five(int x, int y, int z) {
159160
// CHECK-NEXT: | `-OMPDistributeParallelForSimdDirective {{.*}} <line:24:1, col:53>
160161
// CHECK-NEXT: | |-OMPCollapseClause {{.*}} <col:42, col:52>
161162
// CHECK-NEXT: | | `-ConstantExpr {{.*}} <col:51> 'int'
163+
// CHECK-NEXT: | | |-value: Int 2
162164
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:51> 'int' 2
163165
// CHECK-NEXT: | `-CapturedStmt {{.*}} <line:25:3, line:27:7>
164166
// CHECK-NEXT: | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow
@@ -206,6 +208,7 @@ void test_five(int x, int y, int z) {
206208
// CHECK-NEXT: `-OMPDistributeParallelForSimdDirective {{.*}} <line:31:1, col:53>
207209
// CHECK-NEXT: |-OMPCollapseClause {{.*}} <col:42, col:52>
208210
// CHECK-NEXT: | `-ConstantExpr {{.*}} <col:51> 'int'
211+
// CHECK-NEXT: | |-value: Int 2
209212
// CHECK-NEXT: | `-IntegerLiteral {{.*}} <col:51> 'int' 2
210213
// CHECK-NEXT: `-CapturedStmt {{.*}} <line:32:3, line:35:9>
211214
// CHECK-NEXT: |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow

clang/test/AST/ast-dump-openmp-distribute-parallel-for.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ void test_five(int x, int y, int z) {
113113
// CHECK-NEXT: | `-OMPDistributeParallelForDirective {{.*}} <line:17:1, col:48>
114114
// CHECK-NEXT: | |-OMPCollapseClause {{.*}} <col:37, col:47>
115115
// CHECK-NEXT: | | `-ConstantExpr {{.*}} <col:46> 'int'
116+
// CHECK-NEXT: | | |-value: Int 1
116117
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:46> 'int' 1
117118
// CHECK-NEXT: | `-CapturedStmt {{.*}} <line:18:3, line:20:7>
118119
// CHECK-NEXT: | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow
@@ -159,6 +160,7 @@ void test_five(int x, int y, int z) {
159160
// CHECK-NEXT: | `-OMPDistributeParallelForDirective {{.*}} <line:24:1, col:48>
160161
// CHECK-NEXT: | |-OMPCollapseClause {{.*}} <col:37, col:47>
161162
// CHECK-NEXT: | | `-ConstantExpr {{.*}} <col:46> 'int'
163+
// CHECK-NEXT: | | |-value: Int 2
162164
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:46> 'int' 2
163165
// CHECK-NEXT: | `-CapturedStmt {{.*}} <line:25:3, line:27:7>
164166
// CHECK-NEXT: | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow
@@ -206,6 +208,7 @@ void test_five(int x, int y, int z) {
206208
// CHECK-NEXT: `-OMPDistributeParallelForDirective {{.*}} <line:31:1, col:48>
207209
// CHECK-NEXT: |-OMPCollapseClause {{.*}} <col:37, col:47>
208210
// CHECK-NEXT: | `-ConstantExpr {{.*}} <col:46> 'int'
211+
// CHECK-NEXT: | |-value: Int 2
209212
// CHECK-NEXT: | `-IntegerLiteral {{.*}} <col:46> 'int' 2
210213
// CHECK-NEXT: `-CapturedStmt {{.*}} <line:32:3, line:35:9>
211214
// CHECK-NEXT: |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow

clang/test/AST/ast-dump-openmp-distribute-simd.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ void test_five(int x, int y, int z) {
105105
// CHECK-NEXT: | `-OMPDistributeSimdDirective {{.*}} <line:17:1, col:40>
106106
// CHECK-NEXT: | |-OMPCollapseClause {{.*}} <col:29, col:39>
107107
// CHECK-NEXT: | | `-ConstantExpr {{.*}} <col:38> 'int'
108+
// CHECK-NEXT: | | |-value: Int 1
108109
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:38> 'int' 1
109110
// CHECK-NEXT: | `-CapturedStmt {{.*}} <line:18:3, line:20:7>
110111
// CHECK-NEXT: | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow
@@ -147,6 +148,7 @@ void test_five(int x, int y, int z) {
147148
// CHECK-NEXT: | `-OMPDistributeSimdDirective {{.*}} <line:24:1, col:40>
148149
// CHECK-NEXT: | |-OMPCollapseClause {{.*}} <col:29, col:39>
149150
// CHECK-NEXT: | | `-ConstantExpr {{.*}} <col:38> 'int'
151+
// CHECK-NEXT: | | |-value: Int 2
150152
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:38> 'int' 2
151153
// CHECK-NEXT: | `-CapturedStmt {{.*}} <line:25:3, line:27:7>
152154
// CHECK-NEXT: | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow
@@ -190,6 +192,7 @@ void test_five(int x, int y, int z) {
190192
// CHECK-NEXT: `-OMPDistributeSimdDirective {{.*}} <line:31:1, col:40>
191193
// CHECK-NEXT: |-OMPCollapseClause {{.*}} <col:29, col:39>
192194
// CHECK-NEXT: | `-ConstantExpr {{.*}} <col:38> 'int'
195+
// CHECK-NEXT: | |-value: Int 2
193196
// CHECK-NEXT: | `-IntegerLiteral {{.*}} <col:38> 'int' 2
194197
// CHECK-NEXT: `-CapturedStmt {{.*}} <line:32:3, line:35:9>
195198
// CHECK-NEXT: |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow

clang/test/AST/ast-dump-openmp-distribute.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ void test_five(int x, int y, int z) {
105105
// CHECK-NEXT: | `-OMPDistributeDirective {{.*}} <line:17:1, col:35>
106106
// CHECK-NEXT: | |-OMPCollapseClause {{.*}} <col:24, col:34>
107107
// CHECK-NEXT: | | `-ConstantExpr {{.*}} <col:33> 'int'
108+
// CHECK-NEXT: | | |-value: Int 1
108109
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:33> 'int' 1
109110
// CHECK-NEXT: | `-CapturedStmt {{.*}} <line:18:3, line:20:7>
110111
// CHECK-NEXT: | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc>
@@ -147,6 +148,7 @@ void test_five(int x, int y, int z) {
147148
// CHECK-NEXT: | `-OMPDistributeDirective {{.*}} <line:24:1, col:35>
148149
// CHECK-NEXT: | |-OMPCollapseClause {{.*}} <col:24, col:34>
149150
// CHECK-NEXT: | | `-ConstantExpr {{.*}} <col:33> 'int'
151+
// CHECK-NEXT: | | |-value: Int 2
150152
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:33> 'int' 2
151153
// CHECK-NEXT: | `-CapturedStmt {{.*}} <line:25:3, line:27:7>
152154
// CHECK-NEXT: | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc>
@@ -190,6 +192,7 @@ void test_five(int x, int y, int z) {
190192
// CHECK-NEXT: `-OMPDistributeDirective {{.*}} <line:31:1, col:35>
191193
// CHECK-NEXT: |-OMPCollapseClause {{.*}} <col:24, col:34>
192194
// CHECK-NEXT: | `-ConstantExpr {{.*}} <col:33> 'int'
195+
// CHECK-NEXT: | |-value: Int 2
193196
// CHECK-NEXT: | `-IntegerLiteral {{.*}} <col:33> 'int' 2
194197
// CHECK-NEXT: `-CapturedStmt {{.*}} <line:32:3, line:35:9>
195198
// CHECK-NEXT: |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc>

clang/test/AST/ast-dump-openmp-for-simd.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ void test_five(int x, int y, int z) {
105105
// CHECK-NEXT: | `-OMPForSimdDirective {{.*}} <line:17:1, col:33>
106106
// CHECK-NEXT: | |-OMPCollapseClause {{.*}} <col:22, col:32>
107107
// CHECK-NEXT: | | `-ConstantExpr {{.*}} <col:31> 'int'
108+
// CHECK-NEXT: | | |-value: Int 1
108109
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:31> 'int' 1
109110
// CHECK-NEXT: | `-CapturedStmt {{.*}} <line:18:3, line:20:7>
110111
// CHECK-NEXT: | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc>
@@ -147,6 +148,7 @@ void test_five(int x, int y, int z) {
147148
// CHECK-NEXT: | `-OMPForSimdDirective {{.*}} <line:24:1, col:33>
148149
// CHECK-NEXT: | |-OMPCollapseClause {{.*}} <col:22, col:32>
149150
// CHECK-NEXT: | | `-ConstantExpr {{.*}} <col:31> 'int'
151+
// CHECK-NEXT: | | |-value: Int 2
150152
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:31> 'int' 2
151153
// CHECK-NEXT: | `-CapturedStmt {{.*}} <line:25:3, line:27:7>
152154
// CHECK-NEXT: | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc>
@@ -190,6 +192,7 @@ void test_five(int x, int y, int z) {
190192
// CHECK-NEXT: `-OMPForSimdDirective {{.*}} <line:31:1, col:33>
191193
// CHECK-NEXT: |-OMPCollapseClause {{.*}} <col:22, col:32>
192194
// CHECK-NEXT: | `-ConstantExpr {{.*}} <col:31> 'int'
195+
// CHECK-NEXT: | |-value: Int 2
193196
// CHECK-NEXT: | `-IntegerLiteral {{.*}} <col:31> 'int' 2
194197
// CHECK-NEXT: `-CapturedStmt {{.*}} <line:32:3, line:35:9>
195198
// CHECK-NEXT: |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc>

clang/test/AST/ast-dump-openmp-for.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ void test_five(int x, int y, int z) {
105105
// CHECK-NEXT: | `-OMPForDirective {{.*}} <line:17:1, col:28>
106106
// CHECK-NEXT: | |-OMPCollapseClause {{.*}} <col:17, col:27>
107107
// CHECK-NEXT: | | `-ConstantExpr {{.*}} <col:26> 'int'
108+
// CHECK-NEXT: | | |-value: Int 1
108109
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:26> 'int' 1
109110
// CHECK-NEXT: | `-CapturedStmt {{.*}} <line:18:3, line:20:7>
110111
// CHECK-NEXT: | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc>
@@ -147,6 +148,7 @@ void test_five(int x, int y, int z) {
147148
// CHECK-NEXT: | `-OMPForDirective {{.*}} <line:24:1, col:28>
148149
// CHECK-NEXT: | |-OMPCollapseClause {{.*}} <col:17, col:27>
149150
// CHECK-NEXT: | | `-ConstantExpr {{.*}} <col:26> 'int'
151+
// CHECK-NEXT: | | |-value: Int 2
150152
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:26> 'int' 2
151153
// CHECK-NEXT: | `-CapturedStmt {{.*}} <line:25:3, line:27:7>
152154
// CHECK-NEXT: | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc>
@@ -190,6 +192,7 @@ void test_five(int x, int y, int z) {
190192
// CHECK-NEXT: `-OMPForDirective {{.*}} <line:31:1, col:28>
191193
// CHECK-NEXT: |-OMPCollapseClause {{.*}} <col:17, col:27>
192194
// CHECK-NEXT: | `-ConstantExpr {{.*}} <col:26> 'int'
195+
// CHECK-NEXT: | |-value: Int 2
193196
// CHECK-NEXT: | `-IntegerLiteral {{.*}} <col:26> 'int' 2
194197
// CHECK-NEXT: `-CapturedStmt {{.*}} <line:32:3, line:35:9>
195198
// CHECK-NEXT: |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc>

clang/test/AST/ast-dump-openmp-ordered.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ void test_three(int x) {
5757
// CHECK-NEXT: `-OMPForDirective {{.*}} <line:15:1, col:27>
5858
// CHECK-NEXT: |-OMPOrderedClause {{.*}} <col:17, col:26>
5959
// CHECK-NEXT: | `-ConstantExpr {{.*}} <col:25> 'int'
60+
// CHECK-NEXT: | |-value: Int 1
6061
// CHECK-NEXT: | `-IntegerLiteral {{.*}} <col:25> 'int' 1
6162
// CHECK-NEXT: `-CapturedStmt {{.*}} <line:16:3, line:18:3>
6263
// CHECK-NEXT: |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc>

clang/test/AST/ast-dump-openmp-parallel-for-simd.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ void test_five(int x, int y, int z) {
109109
// CHECK-NEXT: | `-OMPParallelForSimdDirective {{.*}} <line:17:1, col:42>
110110
// CHECK-NEXT: | |-OMPCollapseClause {{.*}} <col:31, col:41>
111111
// CHECK-NEXT: | | `-ConstantExpr {{.*}} <col:40> 'int'
112+
// CHECK-NEXT: | | |-value: Int 1
112113
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:40> 'int' 1
113114
// CHECK-NEXT: | `-CapturedStmt {{.*}} <line:18:3, line:20:7>
114115
// CHECK-NEXT: | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow
@@ -153,6 +154,7 @@ void test_five(int x, int y, int z) {
153154
// CHECK-NEXT: | `-OMPParallelForSimdDirective {{.*}} <line:24:1, col:42>
154155
// CHECK-NEXT: | |-OMPCollapseClause {{.*}} <col:31, col:41>
155156
// CHECK-NEXT: | | `-ConstantExpr {{.*}} <col:40> 'int'
157+
// CHECK-NEXT: | | |-value: Int 2
156158
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:40> 'int' 2
157159
// CHECK-NEXT: | `-CapturedStmt {{.*}} <line:25:3, line:27:7>
158160
// CHECK-NEXT: | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow
@@ -198,6 +200,7 @@ void test_five(int x, int y, int z) {
198200
// CHECK-NEXT: `-OMPParallelForSimdDirective {{.*}} <line:31:1, col:42>
199201
// CHECK-NEXT: |-OMPCollapseClause {{.*}} <col:31, col:41>
200202
// CHECK-NEXT: | `-ConstantExpr {{.*}} <col:40> 'int'
203+
// CHECK-NEXT: | |-value: Int 2
201204
// CHECK-NEXT: | `-IntegerLiteral {{.*}} <col:40> 'int' 2
202205
// CHECK-NEXT: `-CapturedStmt {{.*}} <line:32:3, line:35:9>
203206
// CHECK-NEXT: |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow

clang/test/AST/ast-dump-openmp-parallel-for.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ void test_five(int x, int y, int z) {
109109
// CHECK-NEXT: | `-OMPParallelForDirective {{.*}} <line:17:1, col:37>
110110
// CHECK-NEXT: | |-OMPCollapseClause {{.*}} <col:26, col:36>
111111
// CHECK-NEXT: | | `-ConstantExpr {{.*}} <col:35> 'int'
112+
// CHECK-NEXT: | | |-value: Int 1
112113
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:35> 'int' 1
113114
// CHECK-NEXT: | `-CapturedStmt {{.*}} <line:18:3, line:20:7>
114115
// CHECK-NEXT: | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow
@@ -153,6 +154,7 @@ void test_five(int x, int y, int z) {
153154
// CHECK-NEXT: | `-OMPParallelForDirective {{.*}} <line:24:1, col:37>
154155
// CHECK-NEXT: | |-OMPCollapseClause {{.*}} <col:26, col:36>
155156
// CHECK-NEXT: | | `-ConstantExpr {{.*}} <col:35> 'int'
157+
// CHECK-NEXT: | | |-value: Int 2
156158
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:35> 'int' 2
157159
// CHECK-NEXT: | `-CapturedStmt {{.*}} <line:25:3, line:27:7>
158160
// CHECK-NEXT: | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow
@@ -198,6 +200,7 @@ void test_five(int x, int y, int z) {
198200
// CHECK-NEXT: `-OMPParallelForDirective {{.*}} <line:31:1, col:37>
199201
// CHECK-NEXT: |-OMPCollapseClause {{.*}} <col:26, col:36>
200202
// CHECK-NEXT: | `-ConstantExpr {{.*}} <col:35> 'int'
203+
// CHECK-NEXT: | |-value: Int 2
201204
// CHECK-NEXT: | `-IntegerLiteral {{.*}} <col:35> 'int' 2
202205
// CHECK-NEXT: `-CapturedStmt {{.*}} <line:32:3, line:35:9>
203206
// CHECK-NEXT: |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc> nothrow

clang/test/AST/ast-dump-openmp-simd.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ void test_five(int x, int y, int z) {
105105
// CHECK-NEXT: | `-OMPSimdDirective {{.*}} <line:17:1, col:29>
106106
// CHECK-NEXT: | |-OMPCollapseClause {{.*}} <col:18, col:28>
107107
// CHECK-NEXT: | | `-ConstantExpr {{.*}} <col:27> 'int'
108+
// CHECK-NEXT: | | |-value: Int 1
108109
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:27> 'int' 1
109110
// CHECK-NEXT: | `-CapturedStmt {{.*}} <line:18:3, line:20:7>
110111
// CHECK-NEXT: | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc>
@@ -147,6 +148,7 @@ void test_five(int x, int y, int z) {
147148
// CHECK-NEXT: | `-OMPSimdDirective {{.*}} <line:24:1, col:29>
148149
// CHECK-NEXT: | |-OMPCollapseClause {{.*}} <col:18, col:28>
149150
// CHECK-NEXT: | | `-ConstantExpr {{.*}} <col:27> 'int'
151+
// CHECK-NEXT: | | |-value: Int 2
150152
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:27> 'int' 2
151153
// CHECK-NEXT: | `-CapturedStmt {{.*}} <line:25:3, line:27:7>
152154
// CHECK-NEXT: | |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc>
@@ -190,6 +192,7 @@ void test_five(int x, int y, int z) {
190192
// CHECK-NEXT: `-OMPSimdDirective {{.*}} <line:31:1, col:29>
191193
// CHECK-NEXT: |-OMPCollapseClause {{.*}} <col:18, col:28>
192194
// CHECK-NEXT: | `-ConstantExpr {{.*}} <col:27> 'int'
195+
// CHECK-NEXT: | |-value: Int 2
193196
// CHECK-NEXT: | `-IntegerLiteral {{.*}} <col:27> 'int' 2
194197
// CHECK-NEXT: `-CapturedStmt {{.*}} <line:32:3, line:35:9>
195198
// CHECK-NEXT: |-CapturedDecl {{.*}} <<invalid sloc>> <invalid sloc>

clang/test/AST/ast-dump-openmp-target-parallel-for-simd.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -339,6 +339,7 @@ void test_five(int x, int y, int z) {
339339
// CHECK-NEXT: | `-OMPTargetParallelForSimdDirective {{.*}} <line:17:1, col:49>
340340
// CHECK-NEXT: | |-OMPCollapseClause {{.*}} <col:38, col:48>
341341
// CHECK-NEXT: | | `-ConstantExpr {{.*}} <col:47> 'int'
342+
// CHECK-NEXT: | | |-value: Int 1
342343
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:47> 'int' 1
343344
// CHECK-NEXT: | |-OMPFirstprivateClause {{.*}} <<invalid sloc>> <implicit>
344345
// CHECK-NEXT: | | |-DeclRefExpr {{.*}} <line:18:23> 'int' lvalue ParmVar {{.*}} 'x' 'int'
@@ -524,6 +525,7 @@ void test_five(int x, int y, int z) {
524525
// CHECK-NEXT: | `-OMPTargetParallelForSimdDirective {{.*}} <line:24:1, col:49>
525526
// CHECK-NEXT: | |-OMPCollapseClause {{.*}} <col:38, col:48>
526527
// CHECK-NEXT: | | `-ConstantExpr {{.*}} <col:47> 'int'
528+
// CHECK-NEXT: | | |-value: Int 2
527529
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:47> 'int' 2
528530
// CHECK-NEXT: | |-OMPFirstprivateClause {{.*}} <<invalid sloc>> <implicit>
529531
// CHECK-NEXT: | | |-DeclRefExpr {{.*}} <line:25:23> 'int' lvalue ParmVar {{.*}} 'x' 'int'
@@ -710,6 +712,7 @@ void test_five(int x, int y, int z) {
710712
// CHECK-NEXT: `-OMPTargetParallelForSimdDirective {{.*}} <line:31:1, col:49>
711713
// CHECK-NEXT: |-OMPCollapseClause {{.*}} <col:38, col:48>
712714
// CHECK-NEXT: | `-ConstantExpr {{.*}} <col:47> 'int'
715+
// CHECK-NEXT: | |-value: Int 2
713716
// CHECK-NEXT: | `-IntegerLiteral {{.*}} <col:47> 'int' 2
714717
// CHECK-NEXT: |-OMPFirstprivateClause {{.*}} <<invalid sloc>> <implicit>
715718
// CHECK-NEXT: | |-DeclRefExpr {{.*}} <line:32:23> 'int' lvalue ParmVar {{.*}} 'x' 'int'

clang/test/AST/ast-dump-openmp-target-parallel-for.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -339,6 +339,7 @@ void test_five(int x, int y, int z) {
339339
// CHECK-NEXT: | `-OMPTargetParallelForDirective {{.*}} <line:17:1, col:44>
340340
// CHECK-NEXT: | |-OMPCollapseClause {{.*}} <col:33, col:43>
341341
// CHECK-NEXT: | | `-ConstantExpr {{.*}} <col:42> 'int'
342+
// CHECK-NEXT: | | |-value: Int 1
342343
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:42> 'int' 1
343344
// CHECK-NEXT: | |-OMPFirstprivateClause {{.*}} <<invalid sloc>> <implicit>
344345
// CHECK-NEXT: | | |-DeclRefExpr {{.*}} <line:18:23> 'int' lvalue ParmVar {{.*}} 'x' 'int'
@@ -524,6 +525,7 @@ void test_five(int x, int y, int z) {
524525
// CHECK-NEXT: | `-OMPTargetParallelForDirective {{.*}} <line:24:1, col:44>
525526
// CHECK-NEXT: | |-OMPCollapseClause {{.*}} <col:33, col:43>
526527
// CHECK-NEXT: | | `-ConstantExpr {{.*}} <col:42> 'int'
528+
// CHECK-NEXT: | | |-value: Int 2
527529
// CHECK-NEXT: | | `-IntegerLiteral {{.*}} <col:42> 'int' 2
528530
// CHECK-NEXT: | |-OMPFirstprivateClause {{.*}} <<invalid sloc>> <implicit>
529531
// CHECK-NEXT: | | |-DeclRefExpr {{.*}} <line:25:23> 'int' lvalue ParmVar {{.*}} 'x' 'int'
@@ -710,6 +712,7 @@ void test_five(int x, int y, int z) {
710712
// CHECK-NEXT: `-OMPTargetParallelForDirective {{.*}} <line:31:1, col:44>
711713
// CHECK-NEXT: |-OMPCollapseClause {{.*}} <col:33, col:43>
712714
// CHECK-NEXT: | `-ConstantExpr {{.*}} <col:42> 'int'
715+
// CHECK-NEXT: | |-value: Int 2
713716
// CHECK-NEXT: | `-IntegerLiteral {{.*}} <col:42> 'int' 2
714717
// CHECK-NEXT: |-OMPFirstprivateClause {{.*}} <<invalid sloc>> <implicit>
715718
// CHECK-NEXT: | |-DeclRefExpr {{.*}} <line:32:23> 'int' lvalue ParmVar {{.*}} 'x' 'int'

0 commit comments

Comments
 (0)