diff --git a/src/lrusecurity_Displayer.cpp b/src/lrusecurity_Displayer.cpp index e2b97c960866f08980057db08d7f54abf2c07119..5d17cf1f682644540669b2f522ef68ddca397873 100644 --- a/src/lrusecurity_Displayer.cpp +++ b/src/lrusecurity_Displayer.cpp @@ -7,7 +7,7 @@ #include #include //#include "SecCFGOutput.h" - using namespace otawa; +using namespace otawa; namespace lrusecurity { @@ -57,7 +57,7 @@ protected: _out.setStream(*_stream); } - _out << "ACCESS\t\tKIND\tCATEGORY\tBB\t"; + _out << "ACCESS\t\tKIND\tCATEGORY\t\tBB\t"; if(_line) _out << "\tLINE"; @@ -105,19 +105,29 @@ protected: } _out << "UNSAFE "; int set = otawa::icat3::LBLOCK(access)->set(); + + int number = 0; if (bb->hasProp(EXIST_HIT_PREV_IN)) { ACSSecurity prev = (*EXIST_HIT_PREV_IN(bb))[set]; int index = otawa::icat3::LBLOCK(access)->index(); - for (int i = 0; i < prev[index].size(); i++) - _out << prev[index][i]; + number = prev[index].size(); + for (int i = 0; i < number; i++) + _out << prev[index][i] << "\n\t\t\t\t\b"; + + // REMONTEE + for (int j = 0; j < number; j++) + _out << "\033[1A"; + } - - - _out << "\t\t"; - _out << "BB " << bb->index() << "\t\t"; + + _out << "\t\t\tBB " << bb->index() << "\t\t"; printLine(ws, bb->address(), bb->topAddress().offset()); - _out << io::endl; - } + + // DESCENTE + for (int i = 0; i < number-1; i++) + _out << "\n//"; + _out << io::endl; + } } void printLine(WorkSpace* ws, Address begin, Address::offset_t offset)