[nemiver/asm-support] Be more liberal when parsing asm instrs



commit b3433f55ca578072b866a5cebea7284c725754a9
Author: Dodji Seketeli <dodji redhat com>
Date:   Sun Apr 25 18:04:26 2010 +0200

    Be more liberal when parsing asm instrs
    
    	* src/dbgengine/nmv-gdbmi-parser.cc
    	(GDBMIParser::analyse_pure_asm_instrs): Accept TUPLEs that have
    	less than the 4 usual results: address, func-name, offset,
    	instr. Some instrs like NOP can have only address and instr.
    	Also, don't die on unknown RESULTs. Added a comment.
    	(GDBMIParser::analyse_mixed_asm_instrs): Update this likewise.
    	Added a comment.
    	* tests/test-gdbmi.cc: Add a new test case reported by Luca
    	Bruno at
    	http://mail.gnome.org/archives/nemiver-list/2010-April/msg00003.html

 src/dbgengine/nmv-gdbmi-parser.cc |  204 ++++++++++++++++++-------------------
 tests/test-gdbmi.cc               |    6 +
 2 files changed, 103 insertions(+), 107 deletions(-)
---
diff --git a/src/dbgengine/nmv-gdbmi-parser.cc b/src/dbgengine/nmv-gdbmi-parser.cc
index ff39fd5..6abbe3b 100644
--- a/src/dbgengine/nmv-gdbmi-parser.cc
+++ b/src/dbgengine/nmv-gdbmi-parser.cc
@@ -3963,19 +3963,33 @@ GDBMIParser::parse_asm_instruction_list
     return true;
 }
 
+// Analyse the list of TUPLEs a_gdbmi_list of the form:
+// {
+//  address=\"0x00000000004004f3\",
+//  func-name=\"main\",
+//  offset=\"15\",
+//  inst=\"mov    $0x4005fc,%edi\"
+//  }
+// and extract the list AsmInstr it contains.
+// Unknown RESULTs contained in the TUPLEs are ignored, and TUPLEs
+// having less than the 4 RESULTs listed above are correctly parsed too.
+// E.g.:
+// {
+//  address=\"0x0000000000400506\",inst=\"nop\"
+// }
+//
 bool
 GDBMIParser::analyse_pure_asm_instrs (GDBMIListSafePtr a_gdbmi_list,
                                       list<IDebugger::AsmInstr> &a_instrs,
-                                      string::size_type a_cur)
+                                      string::size_type /*a_cur*/)
 {
     list<GDBMIValueSafePtr> vals;
     a_gdbmi_list->get_value_content (vals);
     list<GDBMIValueSafePtr>::const_iterator val_iter;
-    string addr, func_name, instr, offset;
     IDebugger::AsmInstr asm_instr;
     // Loop over the tuples contained in a_gdbmi_list.
-    // Each tuple represents an asm instruction descriptor that has at
-    // least four fields:
+    // Each tuple represents an asm instruction descriptor that can have
+    // up to four fields:
     // 1/ the address of the instruction,
     // 2/ name of the function the instruction is located in,
     // 3/ the offset of the instruction inside the function,
@@ -3987,62 +4001,58 @@ GDBMIParser::analyse_pure_asm_instrs (GDBMIListSafePtr a_gdbmi_list,
         GDBMITupleSafePtr tuple = (*val_iter)->get_tuple_content ();
         THROW_IF_FAIL (tuple);
         std::list<GDBMIResultSafePtr> result_list = tuple->content ();
-        if (result_list.size () < 4) {
-            // each tuple should have 'address', 'func-name"', 'offset',
-            // and 'inst' fields.
-            LOG_PARSING_ERROR2 (a_cur);
-            return false;;
-        }
-        list<GDBMIResultSafePtr>::const_iterator res_iter =
-                                                    result_list.begin ();
-        // get address field
-        GDBMIValueSafePtr val = (*res_iter)->value ();
-        if ((*res_iter)->variable () != "address"
-            || val->content_type () != GDBMIValue::STRING_TYPE) {
-            LOG_PARSING_ERROR2 (a_cur);
-            return false;;
-        }
-        addr = val->get_string_content ().raw ();
-        LOG_DD ("addr: " << addr);
-
-        // get func-name field
-        ++res_iter;
-        val = (*res_iter)->value ();
-        if ((*res_iter)->variable () != "func-name"
-            || val->content_type () != GDBMIValue::STRING_TYPE) {
-            LOG_PARSING_ERROR2 (a_cur);
-            return false;;
-        }
-        func_name = val->get_string_content ();
-        LOG_DD ("func-name: " << func_name);
-
-        // get offset field
-        ++res_iter;
-        val = (*res_iter)->value ();
-        if ((*res_iter)->variable () != "offset"
-            || val->content_type () != GDBMIValue::STRING_TYPE) {
-            LOG_PARSING_ERROR2 (a_cur);
-            return false;;
-        }
-        offset = val->get_string_content ().raw ();
-        LOG_DD ("offset: " << offset);
-
-        // get instr field
-        ++res_iter;
-        val = (*res_iter)->value ();
-        if ((*res_iter)->variable () != "inst"
-            || val->content_type () != GDBMIValue::STRING_TYPE) {
-            LOG_PARSING_ERROR2 (a_cur);
-            return false;;
+        LOG_DD ("insn tuple size: " << (int) result_list.size ());
+
+        GDBMIValueSafePtr val;
+        GDBMIValue::Type content_type;
+        string addr, func_name, instr, offset;
+        list<GDBMIResultSafePtr>::const_iterator res_iter;
+        for (res_iter = result_list.begin ();
+             res_iter != result_list.end ();
+             ++res_iter) {
+            val = (*res_iter)->value ();
+            content_type = val->content_type ();
+            if ((*res_iter)->variable () == "address"
+                && content_type == GDBMIValue::STRING_TYPE) {
+                // get address field
+                addr = val->get_string_content ().raw ();
+                LOG_DD ("addr: " << addr);
+            } else if ((*res_iter)->variable () == "func-name"
+                       && content_type == GDBMIValue::STRING_TYPE) {
+                // get func-name field
+                func_name = val->get_string_content ();
+                LOG_DD ("func-name: " << func_name);
+            } else if ((*res_iter)->variable () == "offset"
+                       && content_type == GDBMIValue::STRING_TYPE) {
+                // get offset field
+                offset = val->get_string_content ().raw ();
+                LOG_DD ("offset: " << offset);
+            } else if ((*res_iter)->variable () == "inst"
+                       && content_type == GDBMIValue::STRING_TYPE) {
+                // get instr field
+                instr = val->get_string_content ();
+                LOG_DD ("instr: " << instr);
+            }
         }
-        instr = val->get_string_content ();
-        LOG_DD ("instr: " << instr);
         asm_instr = IDebugger::AsmInstr (addr, func_name, offset, instr);
         a_instrs.push_back (asm_instr);
     }
     return true;
 }
 
+// Analyse the list of RESULTs of the form in which each RESULT has the
+// form:
+//
+// {
+//  src_and_asm_line=
+//  {
+//    line="31",
+//    file="/testsuite/gdb.mi/basics.c",
+//    line_asm_insn=[{address="0x000107bc",func-name="main",offset="0",
+//                    inst="save  %sp, -112, %sp"}]
+//  }
+//  Return a list of IDebugger::MixedAsmInstr representing the list of
+//  RESULT above.
 bool
 GDBMIParser::analyse_mixed_asm_instrs (GDBMIListSafePtr a_gdbmi_list,
                                        list<IDebugger::MixedAsmInstr> &a_instrs,
@@ -4052,7 +4062,8 @@ GDBMIParser::analyse_mixed_asm_instrs (GDBMIListSafePtr a_gdbmi_list,
     if (a_gdbmi_list->content_type () != GDBMIList::RESULT_TYPE)
         return false;
 
-    list<GDBMIResultSafePtr> outer_results, inner_results;
+    list<GDBMIResultSafePtr> outer_results;
+    GDBMIValue::Type inner_result_type;
     a_gdbmi_list->get_result_content (outer_results);
     list<GDBMIResultSafePtr>::const_iterator outer_it, inner_it;
     // Loop over the results tuples contained in a_gdbmi_list. There are
@@ -4080,65 +4091,44 @@ GDBMIParser::analyse_mixed_asm_instrs (GDBMIListSafePtr a_gdbmi_list,
             LOG_PARSING_ERROR_MSG2 (a_cur, s.str ());
             return false;
         }
-        inner_results = (*outer_it)->value ()->get_tuple_content ()->content ();
 
+        const list<GDBMIResultSafePtr> &inner_results =
+                (*outer_it)->value ()->get_tuple_content ()->content ();
+        IDebugger::MixedAsmInstr instr;
         for (inner_it = inner_results.begin ();
              inner_it != inner_results.end ();
              ++inner_it) {
-            if ((*inner_it)->variable () != "line") {
-                stringstream s;
-                s << "got result named " << (*inner_it)->variable ()
-                  << " instead of line";
-                LOG_PARSING_ERROR2 (a_cur);
-                return false;
-            }
-            if ((*inner_it)->value ()->content_type ()
-                != GDBMIValue::STRING_TYPE) {
-                LOG_PARSING_ERROR2 (a_cur);
-                return false;
-            }
-            string line_str =
-                (*inner_it)->value ()->get_string_content ().raw ();
-            if (!str_utils::string_is_number (line_str)) {
-                LOG_PARSING_ERROR2 (a_cur);
-                return false;
-            }
-            IDebugger::MixedAsmInstr instr;
-            instr.line_number (atoi (line_str.c_str ()));
-
-            ++inner_it;
-            if ((*inner_it)->variable () != "file") {
-                LOG_PARSING_ERROR2 (a_cur);
-                return false;
-            }
-            if ((*inner_it)->value ()->content_type ()
-                != GDBMIValue::STRING_TYPE) {
-                LOG_PARSING_ERROR2 (a_cur);
-                return false;
-            }
-            instr.file_path
-                ((*inner_it)->value ()->get_string_content ());
-
-            ++inner_it;
-            if ((*inner_it)->variable ()
-                != "line_asm_insn") {
-                LOG_PARSING_ERROR2 (a_cur);
-                return false;
-            }
-            if ((*inner_it)->value ()->content_type ()
-                != GDBMIValue::LIST_TYPE) {
-                LOG_PARSING_ERROR2 (a_cur);
-                return false;
-            }
-            list<IDebugger::AsmInstr> &instrs = instr.instrs ();
-            if (!analyse_pure_asm_instrs
-                    ((*inner_it)->value ()->get_list_content (),
-                     instrs, a_cur)) {
-                LOG_PARSING_ERROR2 (a_cur);
-                return false;
+            GDBMIValueSafePtr val = (*inner_it)->value ();
+            inner_result_type = val->content_type ();
+            if ((*inner_it)->variable () == "line"
+                && inner_result_type == GDBMIValue::STRING_TYPE) {
+                string line_str = val->get_string_content ().raw ();
+                if (!str_utils::string_is_number (line_str)) {
+                    stringstream s;
+                    s << "The value of the 'line' RESULT should be "
+                         "a number. Instead it was: "
+                      << line_str;
+                    LOG_PARSING_ERROR_MSG2 (a_cur, s.str ());
+                    return false;
+                }
+                instr.line_number (atoi (line_str.c_str ()));
+            } else if ((*inner_it)->variable () == "file"
+                       && inner_result_type == GDBMIValue::STRING_TYPE) {
+                instr.file_path (val->get_string_content ());
+            } else if ((*inner_it)->variable () == "line_asm_insn"
+                       && inner_result_type == GDBMIValue::LIST_TYPE) {
+                list<IDebugger::AsmInstr> &instrs = instr.instrs ();
+                if (!analyse_pure_asm_instrs (val->get_list_content (),
+                                              instrs, a_cur)) {
+                    stringstream s;
+                    s << "Could not parse the instrs of this mixed asm/src "
+                         "tuple." ;
+                    LOG_PARSING_ERROR_MSG2 (a_cur, s.str ());
+                    return false;
+                }
             }
-            a_instrs.push_back (instr);
         }
+        a_instrs.push_back (instr);
     }
     return true;
 }
diff --git a/tests/test-gdbmi.cc b/tests/test-gdbmi.cc
index ce04f42..e67a478 100644
--- a/tests/test-gdbmi.cc
+++ b/tests/test-gdbmi.cc
@@ -172,6 +172,8 @@ static const char* gv_breakpoint2 =
 static const char* gv_disassemble2 =
 "asm_insns=[src_and_asm_line={line=\"91\",file=\"fooprog.cc\",line_asm_insn=[{address=\"0x0000000000400a52\",func-name=\"main(int, char**)\",offset=\"18\",inst=\"lea    -0x41(%rbp),%rax\"},{address=\"0x0000000000400a56\",func-name=\"main(int, char**)\",offset=\"22\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400a59\",func-name=\"main(int, char**)\",offset=\"25\",inst=\"callq  0x400868 <_ZNSaIcEC1Ev plt>\"},{address=\"0x0000000000400a5e\",func-name=\"main(int, char**)\",offset=\"30\",inst=\"lea    -0x41(%rbp),%rdx\"},{address=\"0x0000000000400a62\",func-name=\"main(int, char**)\",offset=\"34\",inst=\"lea    -0x50(%rbp),%rax\"},{address=\"0x0000000000400a66\",func-name=\"main(int, char**)\",offset=\"38\",inst=\"mov    $0x40112d,%esi\"},{address=\"0x0000000000400a6b\",func-name=\"main(int, char**)\",offset=\"43\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400a6e\",func-name=\"main(int, char**)\",offset=\"46\",inst=\"callq  0x400848 <_ZNSsC1EPKcRKSaIcE plt>\"},{add
 ress=\"0x0000000000400a73\",func-name=\"main(int, char**)\",offset=\"51\",inst=\"lea    -0x31(%rbp),%rax\"},{address=\"0x0000000000400a77\",func-name=\"main(int, char**)\",offset=\"55\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400a7a\",func-name=\"main(int, char**)\",offset=\"58\",inst=\"callq  0x400868 <_ZNSaIcEC1Ev plt>\"},{address=\"0x0000000000400a7f\",func-name=\"main(int, char**)\",offset=\"63\",inst=\"lea    -0x31(%rbp),%rdx\"},{address=\"0x0000000000400a83\",func-name=\"main(int, char**)\",offset=\"67\",inst=\"lea    -0x40(%rbp),%rax\"},{address=\"0x0000000000400a87\",func-name=\"main(int, char**)\",offset=\"71\",inst=\"mov    $0x401134,%esi\"},{address=\"0x0000000000400a8c\",func-name=\"main(int, char**)\",offset=\"76\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400a8f\",func-name=\"main(int, char**)\",offset=\"79\",inst=\"callq  0x400848 <_ZNSsC1EPKcRKSaIcE plt>\"},{address=\"0x0000000000400a94\",func-name=\"main(int, char**)\",offset=\"84\",inst=\"
 lea    -0x50(%rbp),%rdx\"},{address=\"0x0000000000400a98\",func-name=\"main(int, char**)\",offset=\"88\",inst=\"lea    -0x40(%rbp),%rbx\"},{address=\"0x0000000000400a9c\",func-name=\"main(int, char**)\",offset=\"92\",inst=\"lea    -0x70(%rbp),%rax\"},{address=\"0x0000000000400aa0\",func-name=\"main(int, char**)\",offset=\"96\",inst=\"mov    $0xf,%ecx\"},{address=\"0x0000000000400aa5\",func-name=\"main(int, char**)\",offset=\"101\",inst=\"mov    %rbx,%rsi\"},{address=\"0x0000000000400aa8\",func-name=\"main(int, char**)\",offset=\"104\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400aab\",func-name=\"main(int, char**)\",offset=\"107\",inst=\"callq  0x400d6c <Person::Person(std::string const&, std::string const&, unsigned int)>\"},{address=\"0x0000000000400ab0\",func-name=\"main(int, char**)\",offset=\"112\",inst=\"lea    -0x40(%rbp),%rax\"},{address=\"0x0000000000400ab4\",func-name=\"main(int, char**)\",offset=\"116\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400
 ab7\",func-name=\"main(int, char**)\",offset=\"119\",inst=\"callq  0x400828 <_ZNSsD1Ev plt>\"},{address=\"0x0000000000400abc\",func-name=\"main(int, char**)\",offset=\"124\",inst=\"jmp    0x400ad7 <main(int, char**)+151>\"},{address=\"0x0000000000400abe\",func-name=\"main(int, char**)\",offset=\"126\",inst=\"mov    %edx,%ebx\"},{address=\"0x0000000000400ac0\",func-name=\"main(int, char**)\",offset=\"128\",inst=\"mov    %rax,%r12\"},{address=\"0x0000000000400ac3\",func-name=\"main(int, char**)\",offset=\"131\",inst=\"lea    -0x40(%rbp),%rax\"},{address=\"0x0000000000400ac7\",func-name=\"main(int, char**)\",offset=\"135\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400aca\",func-name=\"main(int, char**)\",offset=\"138\",inst=\"callq  0x400828 <_ZNSsD1Ev plt>\"},{address=\"0x0000000000400acf\",func-name=\"main(int, char**)\",offset=\"143\",inst=\"mov    %r12,%rax\"},{address=\"0x0000000000400ad2\",func-name=\"main(int, char**)\",offset=\"146\",inst=\"movslq %ebx,%rdx\"},{
 address=\"0x0000000000400ad5\",func-name=\"main(int, char**)\",offset=\"149\",inst=\"jmp    0x400b0a <main(int, char**)+202>\"},{address=\"0x0000000000400ad7\",func-name=\"main(int, char**)\",offset=\"151\",inst=\"lea    -0x31(%rbp),%rax\"},{address=\"0x0000000000400adb\",func-name=\"main(int, char**)\",offset=\"155\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400ade\",func-name=\"main(int, char**)\",offset=\"158\",inst=\"callq  0x400858 <_ZNSaIcED1Ev plt>\"},{address=\"0x0000000000400ae3\",func-name=\"main(int, char**)\",offset=\"163\",inst=\"lea    -0x50(%rbp),%rax\"},{address=\"0x0000000000400ae7\",func-name=\"main(int, char**)\",offset=\"167\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400aea\",func-name=\"main(int, char**)\",offset=\"170\",inst=\"callq  0x400828 <_ZNSsD1Ev plt>\"},{address=\"0x0000000000400aef\",func-name=\"main(int, char**)\",offset=\"175\",inst=\"jmp    0x400b3a <main(int, char**)+250>\"},{address=\"0x0000000000400af1\",func-name=\"main(
 int, char**)\",offset=\"177\",inst=\"mov    %edx,%ebx\"},{address=\"0x0000000000400af3\",func-name=\"main(int, char**)\",offset=\"179\",inst=\"mov    %rax,%r12\"},{address=\"0x0000000000400af6\",func-name=\"main(int, char**)\",offset=\"182\",inst=\"lea    -0x70(%rbp),%rax\"},{address=\"0x0000000000400afa\",func-name=\"main(int, char**)\",offset=\"186\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400afd\",func-name=\"main(int, char**)\",offset=\"189\",inst=\"callq  0x400fbe <Person::~Person()>\"},{address=\"0x0000000000400b02\",func-name=\"main(int, char**)\",offset=\"194\",inst=\"mov    %r12,%rax\"},{address=\"0x0000000000400b05\",func-name=\"main(int, char**)\",offset=\"197\",inst=\"movslq %ebx,%rdx\"},{address=\"0x0000000000400b08\",func-name=\"main(int, char**)\",offset=\"200\",inst=\"jmp    0x400b0a <main(int, char**)+202>\"},{address=\"0x0000000000400b0a\",func-name=\"main(int, char**)\",offset=\"202\",inst=\"mov    %edx,%ebx\"},{address=\"0x0000000000400b0c\",fun
 c-name=\"main(int, char**)\",offset=\"204\",inst=\"mov    %rax,%r12\"},{address=\"0x0000000000400b0f\",func-name=\"main(int, char**)\",offset=\"207\",inst=\"lea    -0x31(%rbp),%rax\"},{address=\"0x0000000000400b13\",func-name=\"main(int, char**)\",offset=\"211\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400b16\",func-name=\"main(int, char**)\",offset=\"214\",inst=\"callq  0x400858 <_ZNSaIcED1Ev plt>\"},{address=\"0x0000000000400b1b\",func-name=\"main(int, char**)\",offset=\"219\",inst=\"mov    %r12,%rax\"},{address=\"0x0000000000400b1e\",func-name=\"main(int, char**)\",offset=\"222\",inst=\"movslq %ebx,%rdx\"},{address=\"0x0000000000400b21\",func-name=\"main(int, char**)\",offset=\"225\",inst=\"mov    %edx,%ebx\"},{address=\"0x0000000000400b23\",func-name=\"main(int, char**)\",offset=\"227\",inst=\"mov    %rax,%r12\"},{address=\"0x0000000000400b26\",func-name=\"main(int, char**)\",offset=\"230\",inst=\"lea    -0x50(%rbp),%rax\"},{address=\"0x0000000000400b2a\",func-n
 ame=\"main(int, char**)\",offset=\"234\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400b2d\",func-name=\"main(int, char**)\",offset=\"237\",inst=\"callq  0x400828 <_ZNSsD1Ev plt>\"},{address=\"0x0000000000400b32\",func-name=\"main(int, char**)\",offset=\"242\",inst=\"mov    %r12,%rax\"},{address=\"0x0000000000400b35\",func-name=\"main(int, char**)\",offset=\"245\",inst=\"movslq %ebx,%rdx\"},{address=\"0x0000000000400b38\",func-name=\"main(int, char**)\",offset=\"248\",inst=\"jmp    0x400b96 <main(int, char**)+342>\"},{address=\"0x0000000000400b3a\",func-name=\"main(int, char**)\",offset=\"250\",inst=\"lea    -0x41(%rbp),%rax\"},{address=\"0x0000000000400b3e\",func-name=\"main(int, char**)\",offset=\"254\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400b41\",func-name=\"main(int, char**)\",offset=\"257\",inst=\"callq  0x400858 <_ZNSaIcED1Ev plt>\"},{address=\"0x0000000000400b82\",func-name=\"main(int, char**)\",offset=\"322\",inst=\"lea    -0x70(%rbp),%rax\"},{ad
 dress=\"0x0000000000400b86\",func-name=\"main(int, char**)\",offset=\"326\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400b89\",func-name=\"main(int, char**)\",offset=\"329\",inst=\"callq  0x400fbe <Person::~Person()>\"},{address=\"0x0000000000400b8e\",func-name=\"main(int, char**)\",offset=\"334\",inst=\"mov    %r12,%rax\"},{address=\"0x0000000000400b91\",func-name=\"main(int, char**)\",offset=\"337\",inst=\"movslq %ebx,%rdx\"},{address=\"0x0000000000400b94\",func-name=\"main(int, char**)\",offset=\"340\",inst=\"jmp    0x400b96 <main(int, char**)+342>\"},{address=\"0x0000000000400b96\",func-name=\"main(int, char**)\",offset=\"342\",inst=\"mov    %edx,%ebx\"},{address=\"0x0000000000400b98\",func-name=\"main(int, char**)\",offset=\"344\",inst=\"mov    %rax,%r12\"},{address=\"0x0000000000400b9b\",func-name=\"main(int, char**)\",offset=\"347\",inst=\"lea    -0x41(%rbp),%rax\"},{address=\"0x0000000000400b9f\",func-name=\"main(int, char**)\",offset=\"351\",inst=\"mov    %r
 ax,%rdi\"},{address=\"0x0000000000400ba2\",func-name=\"main(int, char**)\",offset=\"354\",inst=\"callq  0x400858 <_ZNSaIcED1Ev plt>\"},{address=\"0x0000000000400ba7\",func-name=\"main(int, char**)\",offset=\"359\",inst=\"mov    %r12,%rax\"},{address=\"0x0000000000400baa\",func-name=\"main(int, char**)\",offset=\"362\",inst=\"movslq %ebx,%rdx\"},{address=\"0x0000000000400bad\",func-name=\"main(int, char**)\",offset=\"365\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400bb0\",func-name=\"main(int, char**)\",offset=\"368\",inst=\"callq  0x400888 <_Unwind_Resume plt>\"}]},src_and_asm_line={line=\"92\",file=\"fooprog.cc\",line_asm_insn=[{address=\"0x0000000000400b46\",func-name=\"main(int, char**)\",offset=\"262\",inst=\"callq  0x400994 <func1()>\"}]},src_and_asm_line={line=\"93\",file=\"fooprog.cc\",line_asm_insn=[]},src_and_asm_line={line=\"94\",file=\"fooprog.cc\",line_asm_insn=[{address=\"0x0000000000400b4b\",func-name=\"main(int, char**)\",offset=\"267\",inst=\"mov    
 $0x2,%esi\"},{address=\"0x0000000000400b50\",func-name=\"main(int, char**)\",offset=\"272\",inst=\"mov    $0x1,%edi\"},{address=\"0x0000000000400b55\",func-name=\"main(int, char**)\",offset=\"277\",inst=\"callq  0x4009a5 <func2(int, int)>\"}]},src_and_asm_line={line=\"95\",file=\"fooprog.cc\",line_asm_insn=[]},src_and_asm_line={line=\"96\",file=\"fooprog.cc\",line_asm_insn=[{address=\"0x0000000000400b5a\",func-name=\"main(int, char**)\",offset=\"282\",inst=\"lea    -0x21(%rbp),%rax\"},{address=\"0x0000000000400b5e\",func-name=\"main(int, char**)\",offset=\"286\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400b61\",func-name=\"main(int, char**)\",offset=\"289\",inst=\"callq  0x400868 <_ZNSaIcEC1Ev plt>\"},{address=\"0x0000000000400b66\",func-name=\"main(int, char**)\",offset=\"294\",inst=\"lea    -0x21(%rbp),%rdx\"},{address=\"0x0000000000400b6a\",func-name=\"main(int, char**)\",offset=\"298\",inst=\"lea    -0x30(%rbp),%rax\"},{address=\"0x0000000000400b6e\",func-name=\
 "main(int, char**)\",offset=\"302\",inst=\"mov    $0x401138,%esi\"},{address=\"0x0000000000400b73\",func-name=\"main(int, char**)\",offset=\"307\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400b76\",func-name=\"main(int, char**)\",offset=\"310\",inst=\"callq  0x400848 <_ZNSsC1EPKcRKSaIcE plt>\"},{address=\"0x0000000000400b7b\",func-name=\"main(int, char**)\",offset=\"315\",inst=\"jmp    0x400bb5 <main(int, char**)+373>\"},{address=\"0x0000000000400b7d\",func-name=\"main(int, char**)\",offset=\"317\",inst=\"mov    %edx,%ebx\"},{address=\"0x0000000000400b7f\",func-name=\"main(int, char**)\",offset=\"319\",inst=\"mov    %rax,%r12\"},{address=\"0x0000000000400bb5\",func-name=\"main(int, char**)\",offset=\"373\",inst=\"lea    -0x30(%rbp),%rdx\"},{address=\"0x0000000000400bb9\",func-name=\"main(int, char**)\",offset=\"377\",inst=\"lea    -0x70(%rbp),%rax\"},{address=\"0x0000000000400bbd\",func-name=\"main(int, char**)\",offset=\"381\",inst=\"mov    %rdx,%rsi\"},{address=\"0
 x0000000000400bc0\",func-name=\"main(int, char**)\",offset=\"384\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400bc3\",func-name=\"main(int, char**)\",offset=\"387\",inst=\"callq  0x400e1c <Person::set_first_name(std::string const&)>\"},{address=\"0x0000000000400bc8\",func-name=\"main(int, char**)\",offset=\"392\",inst=\"lea    -0x30(%rbp),%rax\"},{address=\"0x0000000000400bcc\",func-name=\"main(int, char**)\",offset=\"396\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400bcf\",func-name=\"main(int, char**)\",offset=\"399\",inst=\"callq  0x400828 <_ZNSsD1Ev plt>\"},{address=\"0x0000000000400bd4\",func-name=\"main(int, char**)\",offset=\"404\",inst=\"jmp    0x400bef <main(int, char**)+431>\"},{address=\"0x0000000000400bd6\",func-name=\"main(int, char**)\",offset=\"406\",inst=\"mov    %edx,%ebx\"},{address=\"0x0000000000400bd8\",func-name=\"main(int, char**)\",offset=\"408\",inst=\"mov    %rax,%r12\"},{address=\"0x0000000000400bdb\",func-name=\"main(int, char**)\",
 offset=\"411\",inst=\"lea    -0x30(%rbp),%rax\"},{address=\"0x0000000000400bdf\",func-name=\"main(int, char**)\",offset=\"415\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400be2\",func-name=\"main(int, char**)\",offset=\"418\",inst=\"callq  0x400828 <_ZNSsD1Ev plt>\"},{address=\"0x0000000000400be7\",func-name=\"main(int, char**)\",offset=\"423\",inst=\"mov    %r12,%rax\"},{address=\"0x0000000000400bea\",func-name=\"main(int, char**)\",offset=\"426\",inst=\"movslq %ebx,%rdx\"},{address=\"0x0000000000400bed\",func-name=\"main(int, char**)\",offset=\"429\",inst=\"jmp    0x400c1e <main(int, char**)+478>\"},{address=\"0x0000000000400bef\",func-name=\"main(int, char**)\",offset=\"431\",inst=\"lea    -0x21(%rbp),%rax\"},{address=\"0x0000000000400bf3\",func-name=\"main(int, char**)\",offset=\"435\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400bf6\",func-name=\"main(int, char**)\",offset=\"438\",inst=\"callq  0x400858 <_ZNSaIcED1Ev plt>\"},{address=\"0x0000000000400c23
 \",func-name=\"main(int, char**)\",offset=\"483\",inst=\"lea    -0x21(%rbp),%rax\"},{address=\"0x0000000000400c27\",func-name=\"main(int, char**)\",offset=\"487\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400c2a\",func-name=\"main(int, char**)\",offset=\"490\",inst=\"callq  0x400858 <_ZNSaIcED1Ev plt>\"},{address=\"0x0000000000400c2f\",func-name=\"main(int, char**)\",offset=\"495\",inst=\"mov    %r12,%rax\"},{address=\"0x0000000000400c32\",func-name=\"main(int, char**)\",offset=\"498\",inst=\"movslq %ebx,%rdx\"},{address=\"0x0000000000400c35\",func-name=\"main(int, char**)\",offset=\"501\",inst=\"jmpq   0x400cf8 <main(int, char**)+696>\"}]},src_and_asm_line={line=\"97\",file=\"fooprog.cc\",line_asm_insn=[{address=\"0x0000000000400bfb\",func-name=\"main(int, char**)\",offset=\"443\",inst=\"lea    -0x11(%rbp),%rax\"},{address=\"0x0000000000400bff\",func-name=\"main(int, char**)\",offset=\"447\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400c02\",func-name=\"main
 (int, char**)\",offset=\"450\",inst=\"callq  0x400868 <_ZNSaIcEC1Ev plt>\"},{address=\"0x0000000000400c07\",func-name=\"main(int, char**)\",offset=\"455\",inst=\"lea    -0x11(%rbp),%rdx\"},{address=\"0x0000000000400c0b\",func-name=\"main(int, char**)\",offset=\"459\",inst=\"lea    -0x20(%rbp),%rax\"},{address=\"0x0000000000400c0f\",func-name=\"main(int, char**)\",offset=\"463\",inst=\"mov    $0x40113c,%esi\"},{address=\"0x0000000000400c14\",func-name=\"main(int, char**)\",offset=\"468\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400c17\",func-name=\"main(int, char**)\",offset=\"471\",inst=\"callq  0x400848 <_ZNSsC1EPKcRKSaIcE plt>\"},{address=\"0x0000000000400c1c\",func-name=\"main(int, char**)\",offset=\"476\",inst=\"jmp    0x400c3a <main(int, char**)+506>\"},{address=\"0x0000000000400c1e\",func-name=\"main(int, char**)\",offset=\"478\",inst=\"mov    %edx,%ebx\"},{address=\"0x0000000000400c20\",func-name=\"main(int, char**)\",offset=\"480\",inst=\"mov    %rax,%r12\"}
 ,{address=\"0x0000000000400c3a\",func-name=\"main(int, char**)\",offset=\"506\",inst=\"lea    -0x20(%rbp),%rdx\"},{address=\"0x0000000000400c3e\",func-name=\"main(int, char**)\",offset=\"510\",inst=\"lea    -0x70(%rbp),%rax\"},{address=\"0x0000000000400c42\",func-name=\"main(int, char**)\",offset=\"514\",inst=\"mov    %rdx,%rsi\"},{address=\"0x0000000000400c45\",func-name=\"main(int, char**)\",offset=\"517\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400c48\",func-name=\"main(int, char**)\",offset=\"520\",inst=\"callq  0x400e42 <Person::set_family_name(std::string const&)>\"},{address=\"0x0000000000400c4d\",func-name=\"main(int, char**)\",offset=\"525\",inst=\"lea    -0x20(%rbp),%rax\"},{address=\"0x0000000000400c51\",func-name=\"main(int, char**)\",offset=\"529\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400c54\",func-name=\"main(int, char**)\",offset=\"532\",inst=\"callq  0x400828 <_ZNSsD1Ev plt>\"},{address=\"0x0000000000400c59\",func-name=\"main(int, char*
 *)\",offset=\"537\",inst=\"jmp    0x400c74 <main(int, char**)+564>\"},{address=\"0x0000000000400c5b\",func-name=\"main(int, char**)\",offset=\"539\",inst=\"mov    %edx,%ebx\"},{address=\"0x0000000000400c5d\",func-name=\"main(int, char**)\",offset=\"541\",inst=\"mov    %rax,%r12\"},{address=\"0x0000000000400c60\",func-name=\"main(int, char**)\",offset=\"544\",inst=\"lea    -0x20(%rbp),%rax\"},{address=\"0x0000000000400c64\",func-name=\"main(int, char**)\",offset=\"548\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400c67\",func-name=\"main(int, char**)\",offset=\"551\",inst=\"callq  0x400828 <_ZNSsD1Ev plt>\"},{address=\"0x0000000000400c6c\",func-name=\"main(int, char**)\",offset=\"556\",inst=\"mov    %r12,%rax\"},{address=\"0x0000000000400c6f\",func-name=\"main(int, char**)\",offset=\"559\",inst=\"movslq %ebx,%rdx\"},{address=\"0x0000000000400c72\",func-name=\"main(int, char**)\",offset=\"562\",inst=\"jmp    0x400c8e <main(int, char**)+590>\"},{address=\"0x0000000000400
 c74\",func-name=\"main(int, char**)\",offset=\"564\",inst=\"lea    -0x11(%rbp),%rax\"},{address=\"0x0000000000400c78\",func-name=\"main(int, char**)\",offset=\"568\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400c7b\",func-name=\"main(int, char**)\",offset=\"571\",inst=\"callq  0x400858 <_ZNSaIcED1Ev plt>\"},{address=\"0x0000000000400c93\",func-name=\"main(int, char**)\",offset=\"595\",inst=\"lea    -0x11(%rbp),%rax\"},{address=\"0x0000000000400c97\",func-name=\"main(int, char**)\",offset=\"599\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400c9a\",func-name=\"main(int, char**)\",offset=\"602\",inst=\"callq  0x400858 <_ZNSaIcED1Ev plt>\"},{address=\"0x0000000000400c9f\",func-name=\"main(int, char**)\",offset=\"607\",inst=\"mov    %r12,%rax\"},{address=\"0x0000000000400ca2\",func-name=\"main(int, char**)\",offset=\"610\",inst=\"movslq %ebx,%rdx\"},{address=\"0x0000000000400ca5\",func-name=\"main(int, char**)\",offset=\"613\",inst=\"jmp    0x400cf8 <main(int, char
 **)+696>\"}]},src_and_asm_line={line=\"98\",file=\"fooprog.cc\",line_asm_insn=[{address=\"0x0000000000400c80\",func-name=\"main(int, char**)\",offset=\"576\",inst=\"lea    -0x70(%rbp),%rax\"},{address=\"0x0000000000400c84\",func-name=\"main(int, char**)\",offset=\"580\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400c87\",func-name=\"main(int, char**)\",offset=\"583\",inst=\"callq  0x400e6c <Person::do_this()>\"},{address=\"0x0000000000400c8c\",func-name=\"main(int, char**)\",offset=\"588\",inst=\"jmp    0x400ca7 <main(int, char**)+615>\"},{address=\"0x0000000000400c8e\",func-name=\"main(int, char**)\",offset=\"590\",inst=\"mov    %edx,%ebx\"},{address=\"0x0000000000400c90\",func-name=\"main(int, char**)\",offset=\"592\",inst=\"mov    %rax,%r12\"}]},src_and_asm_line={line=\"99\",file=\"fooprog.cc\",line_asm_insn=[{address=\"0x0000000000400ca7\",func-name=\"main(int, char**)\",offset=\"615\",inst=\"lea    -0x70(%rbp),%rax\"},{address=\"0x0000000000400cab\",func-name=\"m
 ain(int, char**)\",offset=\"619\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400cae\",func-name=\"main(int, char**)\",offset=\"622\",inst=\"callq  0x400f90 <Person::overload()>\"}]},src_and_asm_line={line=\"100\",file=\"fooprog.cc\",line_asm_insn=[{address=\"0x0000000000400cb3\",func-name=\"main(int, char**)\",offset=\"627\",inst=\"lea    -0x70(%rbp),%rax\"},{address=\"0x0000000000400cb7\",func-name=\"main(int, char**)\",offset=\"631\",inst=\"mov    $0x0,%esi\"},{address=\"0x0000000000400cbc\",func-name=\"main(int, char**)\",offset=\"636\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400cbf\",func-name=\"main(int, char**)\",offset=\"639\",inst=\"callq  0x400fa6 <Person::overload(int)>\"}]},src_and_asm_line={line=\"101\",file=\"fooprog.cc\",line_asm_insn=[]},src_and_asm_line={line=\"102\",file=\"fooprog.cc\",line_asm_insn=[{address=\"0x0000000000400cc4\",func-name=\"main(int, char**)\",offset=\"644\",inst=\"lea    -0x70(%rbp),%rax\"},{address=\"0x0000000000400cc8\
 ",func-name=\"main(int, char**)\",offset=\"648\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400ccb\",func-name=\"main(int, char**)\",offset=\"651\",inst=\"callq  0x4009c1 <func3(Person&)>\"}]},src_and_asm_line={line=\"103\",file=\"fooprog.cc\",line_asm_insn=[]},src_and_asm_line={line=\"104\",file=\"fooprog.cc\",line_asm_insn=[{address=\"0x0000000000400cd0\",func-name=\"main(int, char**)\",offset=\"656\",inst=\"lea    -0x70(%rbp),%rax\"},{address=\"0x0000000000400cd4\",func-name=\"main(int, char**)\",offset=\"660\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400cd7\",func-name=\"main(int, char**)\",offset=\"663\",inst=\"callq  0x4009db <func4(Person&)>\"}]},src_and_asm_line={line=\"105\",file=\"fooprog.cc\",line_asm_insn=[]},src_and_asm_line={line=\"106\",file=\"fooprog.cc\",line_asm_insn=[{address=\"0x0000000000400cdc\",func-name=\"main(int, char**)\",offset=\"668\",inst=\"mov    $0x0,%ebx\"},{address=\"0x0000000000400ce1\",func-name=\"main(int, char**)\",offset
 =\"673\",inst=\"lea    -0x70(%rbp),%rax\"},{address=\"0x0000000000400ce5\",func-name=\"main(int, char**)\",offset=\"677\",inst=\"mov    %rax,%rdi\"},{address=\"0x0000000000400ce8\",func-name=\"main(int, char**)\",offset=\"680\",inst=\"callq  0x400fbe <Person::~Person()>\"},{address=\"0x0000000000400ced\",func-name=\"main(int, char**)\",offset=\"685\",inst=\"mov    %ebx,%eax\"}]}]";
 
+static const char *gv_disassemble3 =
+"asm_insns=[{address=\"0x00000000004004f3\",func-name=\"main\",offset=\"15\",inst=\"mov    $0x4005fc,%edi\"},{address=\"0x00000000004004f8\",func-name=\"main\",offset=\"20\",inst=\"callq  0x4003e0 <puts plt>\"},{address=\"0x00000000004004fd\",func-name=\"main\",offset=\"25\",inst=\"mov    $0x0,%eax\"},{address=\"0x0000000000400502\",func-name=\"main\",offset=\"30\",inst=\"leaveq \"},{address=\"0x0000000000400503\",func-name=\"main\",offset=\"31\",inst=\"retq   \"},{address=\"0x0000000000400504\",inst=\"nop\"},{address=\"0x0000000000400505\",inst=\"nop\"},{address=\"0x0000000000400506\",inst=\"nop\"}]";
 
 static const char* gv_file_list1 =
 "files=[{file=\"fooprog.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/tests/fooprog.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/locale_facets.h\",fullname=\"/usr/include/c++/4.3.2/bits/locale_facets.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/x86_64-redhat-linux/bits/ctype_base.h\",fullname=\"/usr/include/c++/4.3.2/x86_64-redhat-linux/bits/ctype_base.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/numeric_traits.h\",fullname=\"/usr/include/c++/4.3.2/ext/numeric_traits.h\"},{file=\"/usr/include/wctype.h\",fullname=\"/usr/include/wctype.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/locale_classes.h\",fullname=\"/usr/include/c++/4.3.2/bits/locale_classes.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/basic_string.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/basic_string.tcc\"}
 ,{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stringfwd.h\",fullname=\"/usr/include/c++/4.3.2/bits/stringfwd.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/x86_64-redhat-linux/bits/atomic_word.h\",fullname=\"/usr/include/c++/4.3.2/x86_64-redhat-linux/bits/atomic_word.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/x86_64-redhat-linux/bits/gthr-default.h\",fullname=\"/usr/include/c++/4.3.2/x86_64-redhat-linux/bits/gthr-default.h\"},{file=\"/usr/include/bits/pthreadtypes.h\",fullname=\"/usr/include/bits/pthreadtypes.h\"},{file=\"/usr/include/locale.h\",fullname=\"/usr/include/locale.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/include/_G_config.h\",fullname=\"/usr/include/_G_config.h\"},{file=\"/usr/include/bits/types.h\",fullname=\"/usr/include/bits/t
 ypes.h\"},{file=\"/usr/include/time.h\",fullname=\"/usr/include/time.h\"},{file=\"/usr/include/wchar.h\",fullname=\"/usr/include/wchar.h\"},{file=\"/home/dodji/.ccache/fooprog.tmp.tutu.605.ii\"},{file=\"/usr/include/libio.h\",fullname=\"/usr/include/libio.h\"},{file=\"/usr/include/stdio.h\",fullname=\"/usr/include/stdio.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/include/stddef.h\",fullname=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/include/stddef.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/debug/debug.h\",fullname=\"/usr/include/c++/4.3.2/debug/debug.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/cpp_type_traits.h\",fullname=\"/usr/include/c++/4.3.2/bits/cpp_type_traits.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../inclu
 de/c++/4.3.2/cwctype\",fullname=\"/usr/include/c++/4.3.2/cwctype\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/basic_string.h\",fullname=\"/usr/include/c++/4.3.2/bits/basic_string.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/ios_base.h\",fullname=\"/usr/include/c++/4.3.2/bits/ios_base.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/clocale\",fullname=\"/usr/include/c++/4.3.2/clocale\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/cstdio\",fullname=\"/usr/include/c++/4.3.2/cstdio\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/cwchar\",fullname=\"/usr/include/c++/4.3.2/cwchar\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/cstddef\",fullname=\"/usr/include/c++/4.3.2/cstddef\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/iostream\",fulln
 ame=\"/usr/include/c++/4.3.2/iostream\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/iostream\",fullname=\"/usr/include/c++/4.3.2/iostream\"},{file=\"nmv-safe-ptr.h\"},{file=\"nmv-safe-ptr-utils.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/list.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/list.tcc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_algo.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_algo.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"nmv-proc-mgr.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/lib/gcc/x86_
 64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator_base_types.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator_base_types.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_list.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_list.h\"},{file=\"nmv-proc-mgr.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"nmv-proc-mgr.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-proc-mgr.cc\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"nmv-proc-utils.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/basic_string.h\",fullname=\"/usr/include/c++/4.3.2/bits/basic_string.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/refptr.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/refptr.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4
 .3.2/../../../../include/c++/4.3.2/bits/stl_vector.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_vector.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/backward/auto_ptr.h\",fullname=\"/usr/include/c++/4.3.2/backward/auto_ptr.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator.h\"},{file=\"nmv-proc-utils.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-proc-utils.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_uninitialized.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_uninitialized.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_construct.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_construct.h\"},{file=\"/usr/lib/gcc/x86_64-redh
 at-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_vector.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_vector.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator.h\"},{file=\"nmv-delete-statement.cc\"},{file=\"nmv-sql-statement.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"nmv-delete-statement.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-delete-statement.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/vector.tcc\",fulln
 ame=\"/usr/include/c++/4.3.2/bits/vector.tcc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_uninitialized.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_uninitialized.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_construct.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_construct.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_algobase.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_algobase.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/..
 /../../../include/c++/4.3.2/bits/stl_iterator.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_vector.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_vector.h\"},{file=\"nmv-insert-statement.cc\"},{file=\"nmv-sql-statement.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"nmv-insert-statement.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-insert-statement.cc\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"nmv-sql-statement.cc\"},{file=\"nmv-sql-statement.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-sql-statement.cc\"},{file=\"/usr/include/glibmm-2.4/glibmm/thread.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/thread.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++
 /4.3.2/bits/stl_uninitialized.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_uninitialized.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator_base_funcs.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator_base_funcs.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator_base_types.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator_base_types.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/deque.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/deque.tcc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_construct.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_construct.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3
 .2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_stack.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_stack.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_algobase.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_algobase.h\"},{file=\"nmv-transaction.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_deque.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_deque.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"nmv-transaction.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-transaction.cc\"},{file=\"nmv-tools.cc\"},{file=\"nmv-transaction.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/u
 string.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"nmv-buffer.h\"},{file=\"nmv-tools.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-tools.cc\"},{file=\"/usr/include/glibmm-2.4/glibmm/thread.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/thread.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/vector.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/vector.tcc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_uninitialized.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_uninitialized.h\"},{file=\"nmv-conf-manager.cc\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_algobase.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_algobase.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_constru
 ct.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_construct.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/arrayhandle.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/arrayhandle.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_pair.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_pair.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_function.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_function.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_map.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_map.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../.
 ./../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_vector.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_vector.h\"},{file=\"nmv-safe-ptr.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h\"},{file=\"nmv-libxml-utils.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_tree.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_tree.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/ios_base.h\",fullname=\"/usr/include/c++/4.3.2/bits/ios_base.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"nmv-conf-manager.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-conf-manager.cc\"},{file=\"/usr/l
 ib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/vector.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/vector.tcc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_uninitialized.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_uninitialized.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_algobase.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_algobase.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_construct.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_construct.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/in
 clude/glibmm-2.4/glibmm/ustring.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_vector.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_vector.h\"},{file=\"nmv-parsing-utils.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"nmv-parsing-utils.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-parsing-utils.cc\"},{file=\"nmv-safe-ptr-utils.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/thread.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/thread.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"nmv-safe-ptr.h\"},{file=\"nmv-connection.cc\"},{file=\"nmv-connection.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/com
 mon/nmv-connection.cc\"},{file=\"nmv-dynamic-module.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"nmv-safe-ptr-utils.h\"},{file=\"nmv-connection-manager.cc\"},{file=\"nmv-safe-ptr.h\"},{file=\"nmv-i-connection-manager-driver.h\"},{file=\"nmv-connection-manager.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-connection-manager.cc\"},{file=\"nmv-option-utils.cc\"},{file=\"nmv-option-utils.h\"},{file=\"nmv-option-utils.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-option-utils.cc\"},{file=\"nmv-sequence.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/thread.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/thread.h\"},{file=\"nmv-sequence.cc\"},{file=\"nmv-safe-ptr.h\"},{file=\"nmv-sequence.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-sequence.cc\"},{file=\"nmv-dynamic-module.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bi
 ts/vector.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/vector.tcc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_uninitialized.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_uninitialized.h\"},{file=\"nmv-safe-ptr-utils.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator_base_funcs.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator_base_funcs.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator_base_types.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator_base_types.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_pair.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_pair.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_function.h\",fullname=\"/u
 sr/include/c++/4.3.2/bits/stl_function.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_construct.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_construct.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_algobase.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_algobase.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/arrayhandle.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/arrayhandle.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_map.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_map.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../includ
 e/c++/4.3.2/bits/stl_vector.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_vector.h\"},{file=\"nmv-plugin.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_tree.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_tree.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h\"},{file=\"nmv-plugin.h\"},{file=\"nmv-libxml-utils.h\"},{file=\"nmv-safe-ptr.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/fileutils.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/fileutils.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"nmv-plugin.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-plugin.cc\"},{file=\"/usr/include/glibm
 m-2.4/glibmm/thread.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/thread.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/vector.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/vector.tcc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_uninitialized.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_uninitialized.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_construct.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_construct.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/lib/gcc/x86_64
 -redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_algobase.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_algobase.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/arrayhandle.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/arrayhandle.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_vector.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_vector.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h\"},{file=\"nmv-env.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"nmv-env.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-env.cc\"},{file=\"nmv-date-utils.cc\"},{file=\"nmv-date-utils.cc\",fullname
 =\"/home/dodji/devel/git/nemiver.git/src/common/nmv-date-utils.cc\"},{file=\"/usr/include/glibmm-2.4/glibmm/thread.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/thread.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/vector.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/vector.tcc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_uninitialized.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_uninitialized.h\"},{file=\"nmv-dynamic-module.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_pair.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_pair.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/basic_string.h\",fullname=\"/usr/include/c++/4.3.2/bits/basic_string.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../i
 nclude/c++/4.3.2/bits/stl_algobase.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_algobase.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_function.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_function.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_construct.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_construct.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/arrayhandle.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/arrayhandle.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_map.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_map.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/
 lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_vector.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_vector.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator.h\"},{file=\"nmv-dynamic-module.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_tree.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_tree.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h\"},{file=\"nmv-libxml-utils.h\"},{file=\"nmv-safe-ptr-utils.h\"},{file=\"nmv-safe-ptr.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"nmv-dynamic-module.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-dynamic-module.cc\"},{file=\"/usr/include/glibmm-2.4/glibmm/thread.h\",fu
 llname=\"/usr/include/glibmm-2.4/glibmm/thread.h\"},{file=\"nmv-initializer.cc\"},{file=\"nmv-initializer.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-initializer.cc\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"nmv-exception.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/stdexcept\",fullname=\"/usr/include/c++/4.3.2/stdexcept\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/exception\",fullname=\"/usr/include/c++/4.3.2/exception\"},{file=\"nmv-exception.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-exception.cc\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"nmv-scope-logger.cc\"},{file=\"nmv-safe-ptr.h\"},{file=\"nmv-scope-logger.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-scope-logger.cc\"},{file=\"/usr/lib/gc
 c/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/vector.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/vector.tcc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_uninitialized.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_uninitialized.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/tr1_impl/unordered_map\",fullname=\"/usr/include/c++/4.3.2/tr1_impl/unordered_map\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/list.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/list.tcc\"},{file=\"/usr/include/glibmm-2.4/glibmm/thread.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/thread.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/basic_string.h\",fullname=\"/usr/include/c++/4.3.2/bits/basic_string.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/char_traits.h\",fullname=\"/usr/include/c++/4.
 3.2/bits/char_traits.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/iostream\",fullname=\"/usr/include/c++/4.3.2/iostream\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator_base_funcs.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator_base_funcs.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_construct.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_construct.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator_base_types.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator_base_types.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/tr1_impl/hashtable\",fullname=\"/usr/include/c++/4.3.2/tr1_impl/hashtable\"},{file=\"/usr/include/glibmm-2.4/glibmm/arrayhandle.h\",
 fullname=\"/usr/include/glibmm-2.4/glibmm/arrayhandle.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_function.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_function.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_list.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_list.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_vector.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_vector.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator.h\"},{file=\"/usr
 /lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_pair.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_pair.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_algobase.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_algobase.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/containerhandle_shared.h\"},{file=\"nmv-log-stream.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/tr1_impl/hashtable_policy.h\",fullname=\"/usr/include/c++/4.3.2/tr1_impl/hashtable_policy.h\"},{file=\"nmv-safe-ptr-utils.h\"},{file=\"nmv-safe-ptr.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/ios_base.h\",fullname=\"/usr/include/c++/4.3.2/bits/ios_base.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"nmv-log-stream.cc\",fu
 llname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-log-stream.cc\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"nmv-safe-ptr.h\"},{file=\"nmv-libxml-utils.cc\"},{file=\"nmv-libxml-utils.h\"},{file=\"nmv-libxml-utils.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-libxml-utils.cc\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_pair.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_pair.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_function.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_function.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_map.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_map.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../
 ../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"nmv-object.cc\"},{file=\"nmv-safe-ptr.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_tree.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_tree.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"nmv-object.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-object.cc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/vector.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/vector.tcc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_uninitialized.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_uninitialized.h\"},{file
 =\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/basic_string.tcc\",fullname=\"/usr/include/c++/4.3.2/bits/basic_string.tcc\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator_base_funcs.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator_base_funcs.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator_base_types.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator_base_types.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/type_traits.h\",fullname=\"/usr/include/c++/4.3.2/ext/type_traits.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_algobase.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_algobase.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_construct.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_construct.h\"},{file=\"/usr
 /lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_function.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_function.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/char_traits.h\",fullname=\"/usr/include/c++/4.3.2/bits/char_traits.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/basic_string.h\",fullname=\"/usr/include/c++/4.3.2/bits/basic_string.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/allocator.h\",fullname=\"/usr/include/c++/4.3.2/bits/allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/new_allocator.h\",fullname=\"/usr/include/c++/4.3.2/ext/new_allocator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/bits/stl_iterator.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_iterator.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.
 3.2/bits/stl_vector.h\",fullname=\"/usr/include/c++/4.3.2/bits/stl_vector.h\"},{file=\"nmv-ustring.cc\"},{file=\"nmv-safe-ptr-utils.h\"},{file=\"nmv-safe-ptr.h\"},{file=\"/usr/include/glibmm-2.4/glibmm/ustring.h\",fullname=\"/usr/include/glibmm-2.4/glibmm/ustring.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/new\",fullname=\"/usr/include/c++/4.3.2/new\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/ext/atomicity.h\",fullname=\"/usr/include/c++/4.3.2/ext/atomicity.h\"},{file=\"/usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../include/c++/4.3.2/x86_64-redhat-linux/bits/gthr-default.h\",fullname=\"/usr/include/c++/4.3.2/x86_64-redhat-linux/bits/gthr-default.h\"},{file=\"nmv-ustring.cc\",fullname=\"/home/dodji/devel/git/nemiver.git/src/common/nmv-ustring.cc\"}]";
@@ -896,6 +898,10 @@ test_disassemble ()
     BOOST_REQUIRE (parser.parse_asm_instruction_list (cur, cur, instrs));
     BOOST_REQUIRE_MESSAGE (instrs.size () == 269,
                            "nb instrs was: " << instrs.size ());
+
+    parser.push_input (gv_disassemble3);
+    cur = 0;
+    BOOST_REQUIRE (parser.parse_asm_instruction_list (cur, cur, instrs));
 }
 
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]