Skip to content

Commit 9828315

Browse files
authored
Merge pull request #2033 from ian-semmle/edg
C++: Changes following EDG upgrade
2 parents 351cb46 + 4442fd8 commit 9828315

File tree

12 files changed

+369
-558
lines changed

12 files changed

+369
-558
lines changed

cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -178,29 +178,31 @@
178178
| taint.cpp:213:15:213:15 | ref arg y | taint.cpp:216:7:216:7 | y | |
179179
| taint.cpp:213:15:213:15 | y | taint.cpp:213:12:213:12 | ref arg x | |
180180
| taint.cpp:223:10:223:15 | call to source | taint.cpp:228:12:228:12 | t | |
181-
| taint.cpp:223:10:223:15 | call to source | taint.cpp:235:11:239:2 | t | |
182-
| taint.cpp:223:10:223:15 | call to source | taint.cpp:243:11:246:2 | t | |
181+
| taint.cpp:223:10:223:15 | call to source | taint.cpp:235:10:239:2 | t | |
182+
| taint.cpp:223:10:223:15 | call to source | taint.cpp:243:10:246:2 | t | |
183183
| taint.cpp:223:10:223:15 | call to source | taint.cpp:253:4:253:4 | t | |
184184
| taint.cpp:223:10:223:15 | call to source | taint.cpp:260:4:260:4 | t | |
185185
| taint.cpp:224:9:224:10 | 0 | taint.cpp:228:15:228:15 | u | |
186-
| taint.cpp:224:9:224:10 | 0 | taint.cpp:235:11:239:2 | u | |
187-
| taint.cpp:224:9:224:10 | 0 | taint.cpp:243:11:246:2 | u | |
186+
| taint.cpp:224:9:224:10 | 0 | taint.cpp:235:10:239:2 | u | |
187+
| taint.cpp:224:9:224:10 | 0 | taint.cpp:243:10:246:2 | u | |
188188
| taint.cpp:224:9:224:10 | 0 | taint.cpp:253:7:253:7 | u | |
189189
| taint.cpp:224:9:224:10 | 0 | taint.cpp:260:7:260:7 | u | |
190-
| taint.cpp:225:9:225:10 | 0 | taint.cpp:235:11:239:2 | v | |
190+
| taint.cpp:225:9:225:10 | 0 | taint.cpp:235:10:239:2 | v | |
191191
| taint.cpp:225:9:225:10 | 0 | taint.cpp:241:7:241:7 | v | |
192192
| taint.cpp:226:9:226:10 | 0 | taint.cpp:260:10:260:10 | w | |
193193
| taint.cpp:226:9:226:10 | 0 | taint.cpp:261:7:261:7 | w | |
194+
| taint.cpp:228:10:232:2 | [...](...){...} | taint.cpp:233:7:233:7 | a | |
195+
| taint.cpp:228:10:232:2 | {...} | taint.cpp:228:10:232:2 | [...](...){...} | |
194196
| taint.cpp:228:11:228:11 | Unknown literal | taint.cpp:228:11:228:11 | constructor init of field t | TAINT |
195197
| taint.cpp:228:11:228:11 | Unknown literal | taint.cpp:228:11:228:11 | constructor init of field u | TAINT |
196198
| taint.cpp:228:11:228:11 | `this` parameter in (constructor) | taint.cpp:228:11:228:11 | constructor init of field t [pre-this] | |
197199
| taint.cpp:228:11:228:11 | constructor init of field t [post-this] | taint.cpp:228:11:228:11 | constructor init of field u [pre-this] | |
198200
| taint.cpp:228:11:228:11 | constructor init of field t [pre-this] | taint.cpp:228:11:228:11 | constructor init of field u [pre-this] | |
199-
| taint.cpp:228:11:232:2 | [...](...){...} | taint.cpp:233:7:233:7 | a | |
200-
| taint.cpp:228:11:232:2 | {...} | taint.cpp:228:11:232:2 | [...](...){...} | |
201201
| taint.cpp:228:17:228:17 | `this` parameter in operator() | taint.cpp:229:3:229:6 | this | |
202202
| taint.cpp:229:3:229:6 | this | taint.cpp:230:3:230:6 | this | |
203203
| taint.cpp:230:3:230:6 | this | taint.cpp:231:3:231:11 | this | |
204+
| taint.cpp:235:10:239:2 | [...](...){...} | taint.cpp:240:2:240:2 | b | |
205+
| taint.cpp:235:10:239:2 | {...} | taint.cpp:235:10:239:2 | [...](...){...} | |
204206
| taint.cpp:235:11:235:11 | Unknown literal | taint.cpp:235:11:235:11 | constructor init of field t | TAINT |
205207
| taint.cpp:235:11:235:11 | Unknown literal | taint.cpp:235:11:235:11 | constructor init of field u | TAINT |
206208
| taint.cpp:235:11:235:11 | Unknown literal | taint.cpp:235:11:235:11 | constructor init of field v | TAINT |
@@ -209,19 +211,17 @@
209211
| taint.cpp:235:11:235:11 | constructor init of field t [pre-this] | taint.cpp:235:11:235:11 | constructor init of field u [pre-this] | |
210212
| taint.cpp:235:11:235:11 | constructor init of field u [post-this] | taint.cpp:235:11:235:11 | constructor init of field v [pre-this] | |
211213
| taint.cpp:235:11:235:11 | constructor init of field u [pre-this] | taint.cpp:235:11:235:11 | constructor init of field v [pre-this] | |
212-
| taint.cpp:235:11:239:2 | [...](...){...} | taint.cpp:240:2:240:2 | b | |
213-
| taint.cpp:235:11:239:2 | {...} | taint.cpp:235:11:239:2 | [...](...){...} | |
214214
| taint.cpp:235:15:235:15 | `this` parameter in operator() | taint.cpp:236:3:236:6 | this | |
215215
| taint.cpp:236:3:236:6 | this | taint.cpp:237:3:237:6 | this | |
216216
| taint.cpp:237:3:237:6 | this | taint.cpp:238:3:238:14 | this | |
217217
| taint.cpp:238:7:238:12 | call to source | taint.cpp:238:3:238:14 | ... = ... | |
218+
| taint.cpp:243:10:246:2 | [...](...){...} | taint.cpp:247:2:247:2 | c | |
219+
| taint.cpp:243:10:246:2 | {...} | taint.cpp:243:10:246:2 | [...](...){...} | |
218220
| taint.cpp:243:11:243:11 | Unknown literal | taint.cpp:243:11:243:11 | constructor init of field t | TAINT |
219221
| taint.cpp:243:11:243:11 | Unknown literal | taint.cpp:243:11:243:11 | constructor init of field u | TAINT |
220222
| taint.cpp:243:11:243:11 | `this` parameter in (constructor) | taint.cpp:243:11:243:11 | constructor init of field t [pre-this] | |
221223
| taint.cpp:243:11:243:11 | constructor init of field t [post-this] | taint.cpp:243:11:243:11 | constructor init of field u [pre-this] | |
222224
| taint.cpp:243:11:243:11 | constructor init of field t [pre-this] | taint.cpp:243:11:243:11 | constructor init of field u [pre-this] | |
223-
| taint.cpp:243:11:246:2 | [...](...){...} | taint.cpp:247:2:247:2 | c | |
224-
| taint.cpp:243:11:246:2 | {...} | taint.cpp:243:11:246:2 | [...](...){...} | |
225225
| taint.cpp:243:15:243:15 | `this` parameter in operator() | taint.cpp:244:3:244:6 | this | |
226226
| taint.cpp:244:3:244:6 | this | taint.cpp:245:3:245:6 | this | |
227227
| taint.cpp:249:11:252:2 | [...](...){...} | taint.cpp:253:2:253:2 | d | |

cpp/ql/test/library-tests/defuse/definition.expected

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
| addressOf.cpp:31:23:31:23 | i | addressOf.cpp:38:20:38:25 | ... += ... |
1212
| addressOf.cpp:40:8:40:11 | iref | addressOf.cpp:40:15:40:15 | i |
1313
| addressOf.cpp:40:8:40:11 | iref | addressOf.cpp:42:18:42:22 | & ... |
14-
| addressOf.cpp:47:8:47:9 | f1 | addressOf.cpp:47:13:47:31 | [...](...){...} |
15-
| addressOf.cpp:49:8:49:9 | f2 | addressOf.cpp:49:13:49:39 | [...](...){...} |
14+
| addressOf.cpp:47:8:47:9 | f1 | addressOf.cpp:47:12:47:31 | [...](...){...} |
15+
| addressOf.cpp:49:8:49:9 | f2 | addressOf.cpp:49:12:49:39 | [...](...){...} |
1616
| addressOf.cpp:56:7:56:7 | a | addressOf.cpp:56:13:56:28 | {...} |
1717
| addressOf.cpp:56:7:56:7 | a | addressOf.cpp:57:18:57:45 | ... + ... |
1818
| addressOf.cpp:56:7:56:7 | a | addressOf.cpp:58:18:58:18 | a |

cpp/ql/test/library-tests/defuse/definitionUsePair.expected

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
| addressOf.cpp:31:23:31:23 | i | addressOf.cpp:37:18:37:26 | & ... | addressOf.cpp:38:20:38:20 | i |
99
| addressOf.cpp:31:23:31:23 | i | addressOf.cpp:38:18:38:30 | ... + ... | addressOf.cpp:40:15:40:15 | i |
1010
| addressOf.cpp:40:8:40:11 | iref | addressOf.cpp:40:15:40:15 | i | addressOf.cpp:42:19:42:22 | iref |
11-
| addressOf.cpp:47:8:47:9 | f1 | addressOf.cpp:47:13:47:31 | [...](...){...} | addressOf.cpp:48:3:48:4 | f1 |
12-
| addressOf.cpp:49:8:49:9 | f2 | addressOf.cpp:49:13:49:39 | [...](...){...} | addressOf.cpp:50:3:50:4 | f2 |
11+
| addressOf.cpp:47:8:47:9 | f1 | addressOf.cpp:47:12:47:31 | [...](...){...} | addressOf.cpp:48:3:48:4 | f1 |
12+
| addressOf.cpp:49:8:49:9 | f2 | addressOf.cpp:49:12:49:39 | [...](...){...} | addressOf.cpp:50:3:50:4 | f2 |
1313
| addressOf.cpp:56:7:56:7 | a | addressOf.cpp:56:13:56:28 | {...} | addressOf.cpp:57:19:57:19 | a |
1414
| addressOf.cpp:56:7:56:7 | a | addressOf.cpp:57:18:57:45 | ... + ... | addressOf.cpp:58:18:58:18 | a |
1515
| indirect_use.cpp:20:10:20:10 | p | indirect_use.cpp:20:14:20:15 | ip | indirect_use.cpp:21:17:21:17 | p |

cpp/ql/test/library-tests/defuse/exprDefinition.expected

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
| addressOf.cpp:47:8:47:9 | f1 | addressOf.cpp:47:13:47:31 | [...](...){...} | addressOf.cpp:47:13:47:31 | [...](...){...} |
2-
| addressOf.cpp:49:8:49:9 | f2 | addressOf.cpp:49:13:49:39 | [...](...){...} | addressOf.cpp:49:13:49:39 | [...](...){...} |
1+
| addressOf.cpp:47:8:47:9 | f1 | addressOf.cpp:47:12:47:31 | [...](...){...} | addressOf.cpp:47:12:47:31 | [...](...){...} |
2+
| addressOf.cpp:49:8:49:9 | f2 | addressOf.cpp:49:12:49:39 | [...](...){...} | addressOf.cpp:49:12:49:39 | [...](...){...} |
33
| addressOf.cpp:56:7:56:7 | a | addressOf.cpp:56:13:56:28 | {...} | addressOf.cpp:56:13:56:28 | {...} |
44
| indirect_use.cpp:20:10:20:10 | p | indirect_use.cpp:20:14:20:15 | ip | indirect_use.cpp:20:14:20:15 | ip |
55
| indirect_use.cpp:25:10:25:10 | p | indirect_use.cpp:25:14:25:19 | ... + ... | indirect_use.cpp:25:14:25:19 | ... + ... |

cpp/ql/test/library-tests/ir/ir/PrintAST.expected

Lines changed: 18 additions & 126 deletions
Original file line numberDiff line numberDiff line change
@@ -3732,7 +3732,7 @@ ir.cpp:
37323732
# 572| Type = [ArrayType] char[32]
37333733
# 572| init: [Initializer] initializer for a_pad
37343734
# 572| expr:
3735-
# 572| Type = [ArrayType] const char[1]
3735+
# 572| Type = [ArrayType] const char[32]
37363736
# 572| Value = [StringLiteral] ""
37373737
# 572| ValueCategory = lvalue
37383738
# 573| 1: [DeclStmt] declaration
@@ -6894,9 +6894,6 @@ ir.cpp:
68946894
# 1029| params:
68956895
#-----| 0: [Parameter] p#0
68966896
#-----| Type = [RValueReferenceType] lambda [] type at line 1029, col. 12 &&
6897-
# 1029| initializations:
6898-
# 1029| body: [Block] { ... }
6899-
# 1029| 0: [ReturnStmt] return ...
69006897
# 1029| [Constructor] void (lambda [] type at line 1029, col. 12)::(constructor)()
69016898
# 1029| params:
69026899
# 1029| [MemberFunction] void (lambda [] type at line 1029, col. 12)::_FUN()
@@ -6996,24 +6993,18 @@ ir.cpp:
69966993
# 1036| 0: [VariableDeclarationEntry] definition of lambda_val
69976994
# 1036| Type = [Closure,LocalClass] decltype([...](...){...})
69986995
# 1036| init: [Initializer] initializer for lambda_val
6999-
# 1036| expr: [ConstructorCall] call to (constructor)
7000-
# 1036| Type = [VoidType] void
6996+
# 1036| expr: [LambdaExpression] [...](...){...}
6997+
# 1036| Type = [Closure,LocalClass] decltype([...](...){...})
70016998
# 1036| ValueCategory = prvalue
7002-
# 1036| 0: [ReferenceToExpr] (reference to)
7003-
# 1036| Type = [LValueReferenceType] lambda [] type at line 1036, col. 21 &
6999+
# 1036| 0: [ClassAggregateLiteral] {...}
7000+
# 1036| Type = [Closure,LocalClass] decltype([...](...){...})
70047001
# 1036| ValueCategory = prvalue
7005-
# 1036| expr: [LambdaExpression] [...](...){...}
7006-
# 1036| Type = [Closure,LocalClass] decltype([...](...){...})
7007-
# 1036| ValueCategory = xvalue
7008-
# 1036| 0: [ClassAggregateLiteral] {...}
7009-
# 1036| Type = [Closure,LocalClass] decltype([...](...){...})
7010-
# 1036| ValueCategory = prvalue
7011-
#-----| .s: [ConstructorCall] call to String
7012-
#-----| Type = [VoidType] void
7013-
#-----| ValueCategory = prvalue
7014-
#-----| .x: [VariableAccess] x
7015-
#-----| Type = [IntType] int
7016-
#-----| ValueCategory = prvalue(load)
7002+
#-----| .s: [ConstructorCall] call to String
7003+
#-----| Type = [VoidType] void
7004+
#-----| ValueCategory = prvalue
7005+
#-----| .x: [VariableAccess] x
7006+
#-----| Type = [IntType] int
7007+
#-----| ValueCategory = prvalue(load)
70177008
# 1037| 5: [ExprStmt] ExprStmt
70187009
# 1037| 0: [FunctionCall] call to operator()
70197010
# 1037| Type = [PlainCharType] char
@@ -7077,21 +7068,15 @@ ir.cpp:
70777068
# 1040| 0: [VariableDeclarationEntry] definition of lambda_val_explicit
70787069
# 1040| Type = [Closure,LocalClass] decltype([...](...){...})
70797070
# 1040| init: [Initializer] initializer for lambda_val_explicit
7080-
# 1040| expr: [ConstructorCall] call to (constructor)
7081-
# 1040| Type = [VoidType] void
7071+
# 1040| expr: [LambdaExpression] [...](...){...}
7072+
# 1040| Type = [Closure,LocalClass] decltype([...](...){...})
70827073
# 1040| ValueCategory = prvalue
7083-
# 1040| 0: [ReferenceToExpr] (reference to)
7084-
# 1040| Type = [LValueReferenceType] lambda [] type at line 1040, col. 30 &
7074+
# 1040| 0: [ClassAggregateLiteral] {...}
7075+
# 1040| Type = [Closure,LocalClass] decltype([...](...){...})
70857076
# 1040| ValueCategory = prvalue
7086-
# 1040| expr: [LambdaExpression] [...](...){...}
7087-
# 1040| Type = [Closure,LocalClass] decltype([...](...){...})
7088-
# 1040| ValueCategory = xvalue
7089-
# 1040| 0: [ClassAggregateLiteral] {...}
7090-
# 1040| Type = [Closure,LocalClass] decltype([...](...){...})
7091-
# 1040| ValueCategory = prvalue
7092-
#-----| .s: [ConstructorCall] call to String
7093-
#-----| Type = [VoidType] void
7094-
#-----| ValueCategory = prvalue
7077+
#-----| .s: [ConstructorCall] call to String
7078+
#-----| Type = [VoidType] void
7079+
#-----| ValueCategory = prvalue
70957080
# 1041| 9: [ExprStmt] ExprStmt
70967081
# 1041| 0: [FunctionCall] call to operator()
70977082
# 1041| Type = [PlainCharType] char
@@ -7239,9 +7224,6 @@ ir.cpp:
72397224
# 1032| params:
72407225
#-----| 0: [Parameter] p#0
72417226
#-----| Type = [RValueReferenceType] lambda [] type at line 1032, col. 23 &&
7242-
# 1032| initializations:
7243-
# 1032| body: [Block] { ... }
7244-
# 1032| 0: [ReturnStmt] return ...
72457227
# 1032| [Constructor] void (void Lambda(int, String const&))::(lambda [] type at line 1032, col. 23)::(constructor)()
72467228
# 1032| params:
72477229
# 1032| [MemberFunction] char (void Lambda(int, String const&))::(lambda [] type at line 1032, col. 23)::_FUN(float)
@@ -7277,21 +7259,6 @@ ir.cpp:
72777259
# 1034| params:
72787260
#-----| 0: [Parameter] p#0
72797261
#-----| Type = [RValueReferenceType] lambda [] type at line 1034, col. 21 &&
7280-
# 1034| initializations:
7281-
# 1034| 0: [ConstructorFieldInit] constructor init of field s
7282-
# 1034| Type = [LValueReferenceType] const String &
7283-
# 1034| ValueCategory = prvalue
7284-
# 1034| 0: [Literal] Unknown literal
7285-
# 1034| Type = [LValueReferenceType] const String &
7286-
# 1034| ValueCategory = prvalue
7287-
# 1034| 1: [ConstructorFieldInit] constructor init of field x
7288-
# 1034| Type = [LValueReferenceType] int &
7289-
# 1034| ValueCategory = prvalue
7290-
# 1034| 0: [Literal] Unknown literal
7291-
# 1034| Type = [LValueReferenceType] int &
7292-
# 1034| ValueCategory = prvalue
7293-
# 1034| body: [Block] { ... }
7294-
# 1034| 0: [ReturnStmt] return ...
72957262
# 1034| [Constructor] void (void Lambda(int, String const&))::(lambda [] type at line 1034, col. 21)::(constructor)()
72967263
# 1034| params:
72977264
# 1034| [ConstMemberFunction] char (void Lambda(int, String const&))::(lambda [] type at line 1034, col. 21)::operator()(float) const
@@ -7336,21 +7303,6 @@ ir.cpp:
73367303
# 1036| params:
73377304
#-----| 0: [Parameter] p#0
73387305
#-----| Type = [RValueReferenceType] lambda [] type at line 1036, col. 21 &&
7339-
# 1036| initializations:
7340-
# 1036| 0: [ConstructorFieldInit] constructor init of field s
7341-
# 1036| Type = [SpecifiedType] const String
7342-
# 1036| ValueCategory = prvalue
7343-
# 1036| 0: [ConstructorCall] call to String
7344-
# 1036| Type = [VoidType] void
7345-
# 1036| ValueCategory = prvalue
7346-
# 1036| 1: [ConstructorFieldInit] constructor init of field x
7347-
# 1036| Type = [IntType] int
7348-
# 1036| ValueCategory = prvalue
7349-
# 1036| 0: [Literal] Unknown literal
7350-
# 1036| Type = [IntType] int
7351-
# 1036| ValueCategory = prvalue
7352-
# 1036| body: [Block] { ... }
7353-
# 1036| 0: [ReturnStmt] return ...
73547306
# 1036| [Constructor] void (void Lambda(int, String const&))::(lambda [] type at line 1036, col. 21)::(constructor)()
73557307
# 1036| params:
73567308
# 1036| [Destructor] void (void Lambda(int, String const&))::(lambda [] type at line 1036, col. 21)::~<unnamed>()
@@ -7403,15 +7355,6 @@ ir.cpp:
74037355
# 1038| params:
74047356
#-----| 0: [Parameter] p#0
74057357
#-----| Type = [RValueReferenceType] lambda [] type at line 1038, col. 30 &&
7406-
# 1038| initializations:
7407-
# 1038| 0: [ConstructorFieldInit] constructor init of field s
7408-
# 1038| Type = [LValueReferenceType] const String &
7409-
# 1038| ValueCategory = prvalue
7410-
# 1038| 0: [Literal] Unknown literal
7411-
# 1038| Type = [LValueReferenceType] const String &
7412-
# 1038| ValueCategory = prvalue
7413-
# 1038| body: [Block] { ... }
7414-
# 1038| 0: [ReturnStmt] return ...
74157358
# 1038| [Constructor] void (void Lambda(int, String const&))::(lambda [] type at line 1038, col. 30)::(constructor)()
74167359
# 1038| params:
74177360
# 1038| [ConstMemberFunction] char (void Lambda(int, String const&))::(lambda [] type at line 1038, col. 30)::operator()(float) const
@@ -7451,15 +7394,6 @@ ir.cpp:
74517394
# 1040| params:
74527395
#-----| 0: [Parameter] p#0
74537396
#-----| Type = [RValueReferenceType] lambda [] type at line 1040, col. 30 &&
7454-
# 1040| initializations:
7455-
# 1040| 0: [ConstructorFieldInit] constructor init of field s
7456-
# 1040| Type = [SpecifiedType] const String
7457-
# 1040| ValueCategory = prvalue
7458-
# 1040| 0: [ConstructorCall] call to String
7459-
# 1040| Type = [VoidType] void
7460-
# 1040| ValueCategory = prvalue
7461-
# 1040| body: [Block] { ... }
7462-
# 1040| 0: [ReturnStmt] return ...
74637397
# 1040| [Constructor] void (void Lambda(int, String const&))::(lambda [] type at line 1040, col. 30)::(constructor)()
74647398
# 1040| params:
74657399
# 1040| [Destructor] void (void Lambda(int, String const&))::(lambda [] type at line 1040, col. 30)::~<unnamed>()
@@ -7510,21 +7444,6 @@ ir.cpp:
75107444
# 1042| params:
75117445
#-----| 0: [Parameter] p#0
75127446
#-----| Type = [RValueReferenceType] lambda [] type at line 1042, col. 32 &&
7513-
# 1042| initializations:
7514-
# 1042| 0: [ConstructorFieldInit] constructor init of field s
7515-
# 1042| Type = [LValueReferenceType] const String &
7516-
# 1042| ValueCategory = prvalue
7517-
# 1042| 0: [Literal] Unknown literal
7518-
# 1042| Type = [LValueReferenceType] const String &
7519-
# 1042| ValueCategory = prvalue
7520-
# 1042| 1: [ConstructorFieldInit] constructor init of field x
7521-
# 1042| Type = [IntType] int
7522-
# 1042| ValueCategory = prvalue
7523-
# 1042| 0: [Literal] Unknown literal
7524-
# 1042| Type = [IntType] int
7525-
# 1042| ValueCategory = prvalue
7526-
# 1042| body: [Block] { ... }
7527-
# 1042| 0: [ReturnStmt] return ...
75287447
# 1042| [Constructor] void (void Lambda(int, String const&))::(lambda [] type at line 1042, col. 32)::(constructor)()
75297448
# 1042| params:
75307449
# 1042| [ConstMemberFunction] char (void Lambda(int, String const&))::(lambda [] type at line 1042, col. 32)::operator()(float) const
@@ -7566,33 +7485,6 @@ ir.cpp:
75667485
# 1045| params:
75677486
#-----| 0: [Parameter] p#0
75687487
#-----| Type = [RValueReferenceType] lambda [] type at line 1045, col. 23 &&
7569-
# 1045| initializations:
7570-
# 1045| 0: [ConstructorFieldInit] constructor init of field s
7571-
# 1045| Type = [LValueReferenceType] const String &
7572-
# 1045| ValueCategory = prvalue
7573-
# 1045| 0: [Literal] Unknown literal
7574-
# 1045| Type = [LValueReferenceType] const String &
7575-
# 1045| ValueCategory = prvalue
7576-
# 1045| 1: [ConstructorFieldInit] constructor init of field x
7577-
# 1045| Type = [IntType] int
7578-
# 1045| ValueCategory = prvalue
7579-
# 1045| 0: [Literal] Unknown literal
7580-
# 1045| Type = [IntType] int
7581-
# 1045| ValueCategory = prvalue
7582-
# 1045| 2: [ConstructorFieldInit] constructor init of field i
7583-
# 1045| Type = [IntType] int
7584-
# 1045| ValueCategory = prvalue
7585-
# 1045| 0: [Literal] Unknown literal
7586-
# 1045| Type = [IntType] int
7587-
# 1045| ValueCategory = prvalue
7588-
# 1045| 3: [ConstructorFieldInit] constructor init of field j
7589-
# 1045| Type = [LValueReferenceType] int &
7590-
# 1045| ValueCategory = prvalue
7591-
# 1045| 0: [Literal] Unknown literal
7592-
# 1045| Type = [LValueReferenceType] int &
7593-
# 1045| ValueCategory = prvalue
7594-
# 1045| body: [Block] { ... }
7595-
# 1045| 0: [ReturnStmt] return ...
75967488
# 1045| [Constructor] void (void Lambda(int, String const&))::(lambda [] type at line 1045, col. 23)::(constructor)()
75977489
# 1045| params:
75987490
# 1045| [ConstMemberFunction] char (void Lambda(int, String const&))::(lambda [] type at line 1045, col. 23)::operator()(float) const

0 commit comments

Comments
 (0)