238 lines · plain
1// RUN: %exploded_graph_rewriter %s | FileCheck %s2 3// CHECK: <b>Objects Under Construction: </b>4// CHECK-SAME:<table border="0">5// CHECK-SAME: <tr>6// CHECK-SAME: <td></td>7// CHECK-SAME: <td align="left"><b>#0 Call</b></td>8// CHECK-SAME: <td align="left" colspan="2">9// CHECK-SAME: <font color="gray60">main </font>10// CHECK-SAME: </td>11// CHECK-SAME: </tr>12// CHECK-SAME: <tr>13// CHECK-SAME: <td></td>14// CHECK-SAME: <td align="left"><i>S870</i></td>15// CHECK-SAME: <td align="left">16// CHECK-SAME: <font color="darkgreen">17// CHECK-SAME: <i>(construct into local variable)</i>18// CHECK-SAME: </font>19// CHECK-SAME: </td>20// CHECK-SAME: <td align="left">S s;</td>21// CHECK-SAME: <td align="left">&s</td>22// CHECK-SAME: </tr>23// CHECK-SAME:</table>24Node0x1 [shape=record,label=25"{26 {27 "state_id": 2,28 "program_points": [29 {30 "kind": "BlockEntrance", "block_id": 1,31 "terminator": null, "term_kind": null,32 "tag": null, "node_id": 1,33 "has_report": 0, "is_sink": 034 }35 ],36 "program_state": {37 "store": null,38 "environment": null,39 "constraints": null,40 "equivalence_classes": null,41 "disequality_info": null,42 "dynamic_types": null,43 "dynamic_casts": null,44 "constructing_objects": [45 { 46 "lctx_id": 1, "location_context": "#0 Call", "calling": "main", "location": null, "items": [47 { "stmt_id": 870, "kind": "construct into local variable", "argument_index": null, "pretty": "S s;", "value": "&s" }48 ]49 }50 ],51 "checker_messages": null52 }53 }54\l}"];55 56// CHECK: <b>Indices Of Elements Under Construction: </b>57// CHECK-SAME:<table border="0">58// CHECK-SAME: <tr>59// CHECK-SAME: <td></td>60// CHECK-SAME: <td align="left"><b>#0 Call</b></td>61// CHECK-SAME: <td align="left" colspan="2">62// CHECK-SAME: <font color="gray60">main </font>63// CHECK-SAME: </td>64// CHECK-SAME: </tr>65// CHECK-SAME: <tr>66// CHECK-SAME: <td></td>67// CHECK-SAME: <td align="left"><i>S895</i></td>68// CHECK-SAME: <td align="left">69// CHECK-SAME: <font color="darkgreen"><i> </i></font>70// CHECK-SAME: </td>71// CHECK-SAME: <td align="left">72// CHECK-SAME: CXXConstructExpr <test.cpp:8:7> 'S[2]'73// CHECK-SAME: </td>74// CHECK-SAME: <td align="left">Current index: 0</td>75// CHECK-SAME: </tr>76// CHECK-SAME:</table>77Node0x2 [shape=record,label=78"{79 {80 "state_id": 2,81 "program_points": [82 {83 "kind": "BlockEntrance", "block_id": 1,84 "terminator": null, "term_kind": null,85 "tag": null, "node_id": 1,86 "has_report": 0, "is_sink": 087 }88 ],89 "program_state": {90 "store": null,91 "environment": null,92 "constraints": null,93 "equivalence_classes": null,94 "disequality_info": null,95 "dynamic_types": null,96 "dynamic_casts": null,97 "index_of_element": [98 { 99 "lctx_id": 1, 100 "location_context": "#0 Call", 101 "calling": "main", 102 "location": null, 103 "items": [104 { 105 "stmt_id": 895, 106 "kind": null, 107 "pretty": "CXXConstructExpr <test.cpp:8:7> 'S[2]'", 108 "value": "Current index: 0" 109 }110 ]111 }112 ],113 "checker_messages": null114 }115 }116\l}"];117 118// CHECK: <b>Pending Array Init Loop Expressions: </b>119// CHECK-SAME:<table border="0">120// CHECK-SAME: <tr>121// CHECK-SAME: <td></td>122// CHECK-SAME: <td align="left"><b>#0 Call</b></td>123// CHECK-SAME: <td align="left" colspan="2">124// CHECK-SAME: <font color="gray60">main </font>125// CHECK-SAME: </td>126// CHECK-SAME: </tr>127// CHECK-SAME: <tr>128// CHECK-SAME: <td></td>129// CHECK-SAME: <td align="left"><i>S1112</i></td>130// CHECK-SAME: <td align="left">131// CHECK-SAME: <font color="darkgreen"><i> </i></font>132// CHECK-SAME: </td>133// CHECK-SAME: <td align="left">134// CHECK-SAME: CXXConstructExpr <test.cpp:10:6> 'S'135// CHECK-SAME: </td>136// CHECK-SAME: <td align="left">Flattened size: 2</td>137// CHECK-SAME: </tr>138// CHECK-SAME:</table>139Node0x3 [shape=record,label=140"{141 {142 "state_id": 2,143 "program_points": [144 {145 "kind": "BlockEntrance", "block_id": 1,146 "terminator": null, "term_kind": null,147 "tag": null, "node_id": 1,148 "has_report": 0, "is_sink": 0149 }150 ],151 "program_state": {152 "store": null,153 "environment": null,154 "constraints": null,155 "equivalence_classes": null,156 "disequality_info": null,157 "dynamic_types": null,158 "dynamic_casts": null,159 "pending_init_loops": [160 { 161 "lctx_id": 1, 162 "location_context": "#0 Call",163 "calling": "main", 164 "location": null, 165 "items": [166 { 167 "stmt_id": 1112, 168 "kind": null, 169 "pretty": "CXXConstructExpr <test.cpp:10:6> 'S'", "value": "Flattened size: 2"170 }171 ]172 }173 ],174 "checker_messages": null175 }176 }177\l}"];178 179// CHECK: <b>Indices of Elements Under Destruction: </b>180// CHECK-SAME:<table border="0">181// CHECK-SAME: <tr>182// CHECK-SAME: <td></td>183// CHECK-SAME: <td align="left"><b>#0 Call</b></td>184// CHECK-SAME: <td align="left" colspan="2">185// CHECK-SAME: <font color="gray60">main </font>186// CHECK-SAME: </td>187// CHECK-SAME: </tr>188// CHECK-SAME: <tr>189// CHECK-SAME: <td></td>190// CHECK-SAME: <td align="left"><i>SNone</i></td>191// CHECK-SAME: <td align="left">192// CHECK-SAME: <font color="darkgreen"><i> </i></font>193// CHECK-SAME: </td>194// CHECK-SAME: <td align="left">Current index: </td>195// CHECK-SAME: <td align="left">1</td>196// CHECK-SAME: </tr>197// CHECK-SAME:</table>198Node0x4 [shape=record,label=199"{200 {201 "state_id": 2,202 "program_points": [203 {204 "kind": "BlockEntrance", "block_id": 1,205 "terminator": null, "term_kind": null,206 "tag": null, "node_id": 1,207 "has_report": 0, "is_sink": 0208 }209 ],210 "program_state": {211 "store": null,212 "environment": null,213 "constraints": null,214 "equivalence_classes": null,215 "disequality_info": null,216 "dynamic_types": null,217 "dynamic_casts": null,218 "pending_destructors": [219 { 220 "lctx_id": 1, 221 "location_context": "#0 Call", 222 "calling": "main", 223 "location": null, 224 "items": [225 { 226 "stmt_id": null, 227 "kind": null, 228 "pretty": "Current index: ", 229 "value": "1" 230 }231 ]232 }233 ],234 "checker_messages": null235 }236 }237\l}"];238