VirtualCFG::EdgeConditionKind
The conditions attached to edges are marked to determine which conditions trigger control to flow along that edge (as opposed to other edges out of the same source node). For conditional branches (except eckCaseLabel and eckDefault), the conditions are implicit and depend on knowledge of the particular control structure. Fortran support for this is underdeveloped; single AST nodes representing variable‐length loops was not part of the original design of the CFG code.
Synopsis
Declared in <SageIII/virtualCFG/virtualCFG.h>
enum EdgeConditionKind;
Members
Name |
Description |
|
|
|
Normal, unconditional edge |
|
True case of a two‐way branch |
|
False case of a two‐way branch |
|
Case label (constant is given by caseLabel()) |
|
Default label |
|
Enter Fortran do loop body |
|
Fortran do loop finished |
|
Start testing forall mask |
|
End of forall loop |
|
Case in computed goto ‐‐ number needs to be computed separately |
|
Edge for the arithmetic if expression being less than zero |
|
Edge for the arithmetic if expression being equal to zero |
|
Edge for the arithmetic if expression being greater than zero |
|
Edge spanning two procedures |
Created with MrDocs