| // RUN: %exploded_graph_rewriter %s | FileCheck %s |
| |
| // FIXME: Substitution doesn't seem to work on Windows. |
| // UNSUPPORTED: system-windows |
| |
| // CHECK: <b>Program points:</b> |
| // CHECK-SAME: <table border="0" align="left" width="0"> |
| // CHECK-SAME: <tr> |
| // CHECK-SAME: <td width="0"> |
| // CHECK-SAME: </td> |
| // CHECK-SAME: <td align="left" width="0"> |
| // CHECK-SAME: <font color="gold3">BlockEdge</font> |
| // CHECK-SAME: </td> |
| // CHECK-SAME: <td align="left"> |
| // CHECK-SAME: [B0] -> [B1] |
| // CHECK-SAME: </td> |
| // CHECK-SAME: </tr> |
| // CHECK-SAME: <tr> |
| // CHECK-SAME: <td width="0"> |
| // CHECK-SAME: </td> |
| // CHECK-SAME: <td align="left" width="0"> |
| // CHECK-SAME: <font color="gold3">BlockEntrance</font> |
| // CHECK-SAME: </td> |
| // CHECK-SAME: <td align="left"> |
| // CHECK-SAME: [B1] |
| // CHECK-SAME: </td> |
| // CHECK-SAME: </tr> |
| // CHECK-SAME: </table> |
| Node0x1 [shape=record,label= |
| "{ |
| { |
| "state_id": 0, "program_state": null, "program_points": [ |
| { |
| "kind": "Edge", |
| "src_id": 0, |
| "dst_id": 1, |
| "terminator": null, |
| "term_kind": null, |
| "tag": null, |
| "node_id": 1, |
| "has_report": 0, |
| "is_sink": 0 |
| }, |
| { |
| "kind": "BlockEntrance", |
| "block_id": 1, |
| "terminator": null, |
| "term_kind": null, |
| "tag": null, |
| "node_id": 2, |
| "has_report": 0, |
| "is_sink": 0 |
| } |
| ]} |
| \l}"]; |
| |
| // CHECK-NEXT: <b>Program point:</b> |
| // CHECK-SAME: <table border="0" align="left" width="0"> |
| // CHECK-SAME: <tr> |
| // CHECK-SAME: <td align="left" width="0"> |
| // CHECK-SAME: main.cpp:<b>4</b>:<b>5</b>: |
| // CHECK-SAME: </td> |
| // CHECK-SAME: <td align="left" width="0"> |
| // CHECK-SAME: <font color="cyan4">DeclRefExpr</font> |
| // CHECK-SAME: </td> |
| // CHECK-SAME: <td align="left"><i>S3</i></td> |
| // CHECK-SAME: <td align="left"> |
| // CHECK-SAME: <font color="cyan3">PreStmt</font> |
| // CHECK-SAME: </td> |
| // CHECK-SAME: <td align="left">x</td> |
| // CHECK-SAME: </tr> |
| // CHECK-SAME: <tr> |
| // CHECK-SAME: <td width="0"> |
| // CHECK-SAME: </td> |
| // CHECK-SAME: <td colspan="3" align="left"> |
| // CHECK-SAME: <b>Tag: </b> |
| // CHECK-SAME: <font color="crimson">ExprEngine : Clean Node</font> |
| // CHECK-SAME: </td> |
| // CHECK-SAME: </tr> |
| // CHECK-SAME: </table> |
| Node0x3 [shape=record,label= |
| "{ |
| { "state_id": 0, "program_state": null, "program_points": [ |
| { |
| "kind": "Statement", |
| "stmt_kind": "DeclRefExpr", |
| "stmt_point_kind": "PreStmt", |
| "stmt_id": 3, |
| "pointer": "0x3", |
| "pretty": "x", |
| "location": { |
| "file": "main.cpp", |
| "line": 4, |
| "column": 5 |
| }, |
| "tag": "ExprEngine : Clean Node", |
| "node_id": 3, |
| "pointer": "0x3", |
| "has_report": 0, |
| "is_sink": 0 |
| } |
| ]} |
| \l}"]; |
| |
| // Test collapsing large pretty prints with braces. |
| |
| // CHECK-NEXT: <b>Program point:</b> |
| // CHECK-SAME: <td align="left">\{ ... \}</td> |
| Node0x4 [shape=record,label= |
| "{ |
| { |
| "state_id": 0, "program_state": null, "program_points": [ |
| { |
| "kind": "Statement", |
| "stmt_kind": "CompoundStmt", |
| "stmt_point_kind": "PostStmt", |
| "stmt_id": 6, |
| "pointer": "0x6", |
| "pretty": "{ very very very very very very long pretty print }", |
| "location": { |
| "line": 7, |
| "column": 8 |
| }, |
| "tag": "ExprEngine : Clean Node", |
| "node_id": 4, |
| "has_report": 0, |
| "is_sink": 0 |
| } |
| ]} |
| \l}"]; |
| |
| // CHECK-NEXT: <b>Program point:</b> |
| // CHECK-SAME: <table border="0" align="left" width="0"> |
| // CHECK-SAME: <tr> |
| // CHECK-SAME: <td align="left" width="0"> |
| // CHECK-SAME: main.cpp:<b>8</b>:<b>9</b>: |
| // CHECK-SAME: </td> |
| // CHECK-SAME: <td align="left" width="0"> |
| // CHECK-SAME: <font color="cyan4"> |
| // CHECK-SAME: ImplicitCastExpr (LValueToRValue) |
| // CHECK-SAME: </font> |
| // CHECK-SAME: </td> |
| // CHECK-SAME: <td align="left"><i>S5</i></td> |
| // CHECK-SAME: <td align="left"> |
| // CHECK-SAME: <font color="cyan3">PreStmt</font> |
| // CHECK-SAME: </td> |
| // CHECK-SAME: <td align="left">y</td> |
| // CHECK-SAME: </tr> |
| // CHECK-SAME: <tr> |
| // CHECK-SAME: <td width="0"> |
| // CHECK-SAME: </td> |
| // CHECK-SAME: <td colspan="3" align="left"> |
| // CHECK-SAME: <b>Tag: </b> |
| // CHECK-SAME: <font color="crimson">ExprEngine : Clean Node</font> |
| // CHECK-SAME: </td> |
| // CHECK-SAME: </tr> |
| // CHECK-SAME: </table> |
| Node0x5 [shape=record,label= |
| "{ |
| { "state_id": 0, "program_state": null, "program_points": [ |
| { |
| "kind": "Statement", |
| "stmt_kind": "ImplicitCastExpr", |
| "cast_kind": "LValueToRValue", |
| "stmt_point_kind": "PreStmt", |
| "stmt_id": 5, |
| "pointer": "0x6", |
| "pretty": "y", |
| "location": { |
| "file": "main.cpp", |
| "line": 8, |
| "column": 9 |
| }, |
| "tag": "ExprEngine : Clean Node", |
| "node_id": 5, |
| "has_report": 0, |
| "is_sink": 0 |
| } |
| ]} |
| \l}"]; |