[nemiver/follow-fork-mode: 19/35] Backend support for mixed src/asm disassembly



commit e8ebed3d9ac46a08609fef4d2d3bf15fd8b5fe10
Author: Dodji Seketeli <dodji redhat com>
Date:   Sun Apr 25 12:19:27 2010 +0200

    Backend support for mixed src/asm disassembly
    
    	* src/common/nmv-env.cc (CONF_KEY_GDB_BINARY): New gconf key
    	definition.
    	* src/dbgengine/nmv-i-debugger.h (IDebugger::MixedAsmInstr,
    	IDebugger::Asm): New type.
    	(many declarations): Don't use IDebugger::AsmInstr anymore, but
    	rather IDebugger::Asm that is a type which basically is an union
    	of AsmInstr and MixedAsmInstr.
    	(IDebugger::disassemble, IDebugger::disassemble_lines): Add a
    	a_pure_asm parm to discriminate between pure asm and mixed
    	source/asm disassembling queries.
    	* src/dbgengine/nmv-gdb-engine.h: Adjust.
    	* src/dbgengine/nmv-gdb-engine.cc (many places): Adjust to the
    	IDebugger::Asm usage.
    	(GDBEngine::disassemble, GDBEngine::disassemble_lines): Use the new
    	a_pure_asm parm.
    	* src/dbgengine/nmv-dbg-common.h: Adjust to the
    	IDebugger::AsmInstr -> IDebugger::Asm switch.
    	* src/dbgengine/nmv-gdbmi-parser.h
    	(GDBMIParser::analyse_pure_asm_instrs,
    	 GDBMIParser::analyse_mixed_asm_instrs): New fns.
    	(GDBMIParser::parse_asm_instruction_list): Adjust to the
    	IDebugger::AsmInstr -> IDebugger::Asm switch.
    	* src/dbgengine/nmv-gdbmi-parser.cc
    	(GDBMIParser::analyse_pure_asm_instrs): Factorize out this from
    	GDBMIParser::parse_asm_instruction_list.
    	(GDBMIParser::analyse_mixed_asm_instrs): New fn.
    	(GDBMIParser::parse_result_record): Adjust to the
    	IDebugger::AsmInstr -> IDebugger::Asm switch.
    	(GDBMIParser::parse_asm_instruction_list): Likewise.
    	Support parsing pure /and/ mixed src/asm instructions.
    	* tests/test-gdbmi.cc b/tests/test-gdbmi.cc: Use the new
    	dbgengine/nmv-asm-utils.h.
    	(test_disassemble): Add a test for mixed src/asm.

 src/common/nmv-env.cc             |    4 +
 src/dbgengine/nmv-dbg-common.h    |    6 +-
 src/dbgengine/nmv-gdb-engine.cc   |   38 ++++--
 src/dbgengine/nmv-gdb-engine.h    |    6 +-
 src/dbgengine/nmv-gdbmi-parser.cc |  218 ++++++++++++++++++++++++++++++-------
 src/dbgengine/nmv-gdbmi-parser.h  |   18 ++-
 src/dbgengine/nmv-i-debugger.h    |  110 +++++++++++++++++--
 tests/test-gdbmi.cc               |   14 ++-
 8 files changed, 345 insertions(+), 69 deletions(-)
---
diff --git a/src/common/nmv-env.cc b/src/common/nmv-env.cc
index f39f900..cac974f 100644
--- a/src/common/nmv-env.cc
+++ b/src/common/nmv-env.cc
@@ -39,7 +39,11 @@
 
 using namespace std;
 
+
 NEMIVER_BEGIN_NAMESPACE (nemiver)
+
+const char *CONF_KEY_GDB_BINARY = "/apps/nemiver/dbgperspective/gdb-binary";
+
 NEMIVER_BEGIN_NAMESPACE (common)
 NEMIVER_BEGIN_NAMESPACE (env)
 
diff --git a/src/dbgengine/nmv-dbg-common.h b/src/dbgengine/nmv-dbg-common.h
index d6d2ce1..a2c4992 100644
--- a/src/dbgengine/nmv-dbg-common.h
+++ b/src/dbgengine/nmv-dbg-common.h
@@ -406,7 +406,7 @@ public:
         bool m_has_memory_values;
 
         // asm instruction list
-        std::list<IDebugger::AsmInstr> m_asm_instrs;
+        std::list<IDebugger::Asm> m_asm_instrs;
         bool m_has_asm_instrs;
 
         // Variable Object
@@ -557,12 +557,12 @@ public:
         bool has_asm_instruction_list () const {return m_has_asm_instrs;}
         void has_asm_instruction_list (bool a) {m_has_asm_instrs = a;}
 
-        const std::list<IDebugger::AsmInstr>& asm_instruction_list () const
+        const std::list<IDebugger::Asm>& asm_instruction_list () const
         {
             return m_asm_instrs;
         }
         void asm_instruction_list
-                            (const std::list<IDebugger::AsmInstr> &a_asms)
+                            (const std::list<IDebugger::Asm> &a_asms)
         {
             m_asm_instrs = a_asms;
             m_has_asm_instrs = true;
diff --git a/src/dbgengine/nmv-gdb-engine.cc b/src/dbgengine/nmv-gdb-engine.cc
index 2b51ef8..5c21acc 100644
--- a/src/dbgengine/nmv-gdb-engine.cc
+++ b/src/dbgengine/nmv-gdb-engine.cc
@@ -51,10 +51,11 @@ using namespace nemiver::cpp;
 
 static const UString GDBMI_OUTPUT_DOMAIN = "gdbmi-output-domain";
 static const UString DEFAULT_GDB_BINARY = "default-gdb-binary";
-static const UString CONF_KEY_GDB_BINARY = "/apps/nemiver/dbgperspective/gdb-binary";
 
 NEMIVER_BEGIN_NAMESPACE (nemiver)
 
+extern const char* CONF_KEY_GDB_BINARY;
+
 // Helper function to handle escaping the arguments 
 static UString
 quote_args (const vector<UString> &a_prog_args)
@@ -270,7 +271,7 @@ public:
 
     mutable sigc::signal<void,
                  const IDebugger::DisassembleInfo&,
-                 const std::list<IDebugger::AsmInstr>&,
+                 const std::list<IDebugger::Asm>&,
                  const UString& /*cookie*/> instructions_disassembled_signal;
 
     mutable sigc::signal<void, const VariableSafePtr, const UString&>
@@ -2316,7 +2317,7 @@ struct OnDisassembleHandler : OutputHandler {
 
         THROW_IF_FAIL (m_engine);
 
-        const std::list<IDebugger::AsmInstr>& instrs =
+        const std::list<IDebugger::Asm>& instrs =
             a_in.output ().result_record ().asm_instruction_list ();
         IDebugger::DisassembleInfo info;
 
@@ -2324,12 +2325,11 @@ struct OnDisassembleHandler : OutputHandler {
             info.file_name (a_in.command ().tag0 ());
         }
         if (!instrs.empty ()) {
-            std::list<IDebugger::AsmInstr>::const_iterator it =
-                                                            instrs.begin ();
-            info.start_address (it->address ());
+            std::list<IDebugger::Asm>::const_iterator it = instrs.begin ();
+            info.start_address ((*it).instr ().address ());
             it = instrs.end ();
             it--;
-            info.end_address (it->address ());
+            info.end_address ((*it).instr ().address ());
         }
         // Call the slot associated to IDebugger::disassemble, if any.
         if (a_in.command ().has_slot ()) {
@@ -3141,7 +3141,7 @@ GDBEngine::program_finished_signal () const
 
 sigc::signal<void,
              const IDebugger::DisassembleInfo&,
-             const std::list<IDebugger::AsmInstr>&,
+             const std::list<IDebugger::Asm>&,
              const UString& /*cookie*/>&
 GDBEngine::instructions_disassembled_signal () const
  {
@@ -4425,7 +4425,7 @@ GDBEngine::set_memory (size_t a_addr,
 
 void
 null_disass_slot (const IDebugger::DisassembleInfo &,
-                  const std::list<IDebugger::AsmInstr> &)
+                  const std::list<IDebugger::Asm> &)
 {
 }
 
@@ -4434,11 +4434,13 @@ GDBEngine::disassemble (size_t a_start_addr,
                         bool a_start_addr_relative_to_pc,
                         size_t a_end_addr,
                         bool a_end_addr_relative_to_pc,
+                        bool a_pure_asm,
                         const UString &a_cookie)
 {
     LOG_FUNCTION_SCOPE_NORMAL_DD;
     disassemble (a_start_addr, a_start_addr_relative_to_pc, a_end_addr,
-                 a_end_addr_relative_to_pc, &null_disass_slot, a_cookie);
+                 a_end_addr_relative_to_pc, &null_disass_slot,
+                 a_pure_asm, a_cookie);
 }
 
 void
@@ -4447,6 +4449,7 @@ GDBEngine::disassemble (size_t a_start_addr,
                         size_t a_end_addr,
                         bool a_end_addr_relative_to_pc,
                         const DisassSlot &a_slot,
+                        bool a_pure_asm,
                         const UString &a_cookie)
 {
     LOG_FUNCTION_SCOPE_NORMAL_DD;
@@ -4474,7 +4477,11 @@ GDBEngine::disassemble (size_t a_start_addr,
     } else {
         cmd_str += " -e " + UString::from_int (a_end_addr);
     }
-    cmd_str += " -- 0";
+
+    if (a_pure_asm)
+        cmd_str += " -- 0";
+    else
+        cmd_str += " -- 1";
 
     // </build the command string>
 
@@ -4489,11 +4496,12 @@ void
 GDBEngine::disassemble_lines (const UString &a_file_name,
                               int a_line_num,
                               int a_nb_disassembled_lines,
+                              bool a_pure_asm,
                               const UString &a_cookie)
 {
     LOG_FUNCTION_SCOPE_NORMAL_DD;
     disassemble_lines (a_file_name, a_line_num, a_nb_disassembled_lines,
-                       &null_disass_slot, a_cookie);
+                       &null_disass_slot, a_pure_asm, a_cookie);
 }
 
 void
@@ -4501,6 +4509,7 @@ GDBEngine::disassemble_lines (const UString &a_file_name,
                               int a_line_num,
                               int a_nb_disassembled_lines,
                               const DisassSlot &a_slot,
+                              bool a_pure_asm,
                               const UString &a_cookie)
 {
     LOG_FUNCTION_SCOPE_NORMAL_DD;
@@ -4512,7 +4521,10 @@ GDBEngine::disassemble_lines (const UString &a_file_name,
     if (a_nb_disassembled_lines) {
         cmd_str += " -n " + UString::from_int (a_nb_disassembled_lines);
     }
-    cmd_str += " -- 0";
+    if (a_pure_asm)
+        cmd_str += " -- 0";
+    else
+        cmd_str += " -- 1";
 
     LOG_DD ("cmd_str: " << cmd_str);
 
diff --git a/src/dbgengine/nmv-gdb-engine.h b/src/dbgengine/nmv-gdb-engine.h
index cbeed92..679f740 100644
--- a/src/dbgengine/nmv-gdb-engine.h
+++ b/src/dbgengine/nmv-gdb-engine.h
@@ -176,7 +176,7 @@ public:
                                                       set_memory_signal () const;
     sigc::signal<void,
                  const IDebugger::DisassembleInfo&,
-                 const std::list<IDebugger::AsmInstr>&,
+                 const std::list<IDebugger::Asm>&,
                  const UString& /*cookie*/>&
                              instructions_disassembled_signal () const;
 
@@ -456,6 +456,7 @@ public:
                       bool a_start_addr_relative_to_pc,
                       size_t a_end_addr,
                       bool a_end_addr_relative_to_pc,
+                      bool a_pure_asm,
                       const UString &a_cookie);
 
     void disassemble (size_t a_start_addr,
@@ -463,17 +464,20 @@ public:
                       size_t a_end_addr,
                       bool a_end_addr_relative_to_pc,
                       const DisassSlot &a_slot,
+                      bool a_pure_asm,
                       const UString &a_cookie);
 
     void disassemble_lines (const UString &a_file_name,
                             int a_line_num,
                             int a_nb_disassembled_lines,
+                            bool a_pure_asm,
                             const UString &a_cookie);
 
     void disassemble_lines (const UString &a_file_name,
                             int a_line_num,
                             int a_nb_disassembled_lines,
                             const DisassSlot &a_slot,
+                            bool a_pure_asm,
                             const UString &a_cookie);
 
     void create_variable (const UString &a_name,
diff --git a/src/dbgengine/nmv-gdbmi-parser.cc b/src/dbgengine/nmv-gdbmi-parser.cc
index 46f90d4..cce676a 100644
--- a/src/dbgengine/nmv-gdbmi-parser.cc
+++ b/src/dbgengine/nmv-gdbmi-parser.cc
@@ -1904,13 +1904,13 @@ fetch_gdbmi_result:
             } else if (!RAW_INPUT.compare (cur,
                                            strlen (PREFIX_ASM_INSTRUCTIONS),
                                            PREFIX_ASM_INSTRUCTIONS)) {
-                std::list<IDebugger::AsmInstr> asm_instr_list;
+                std::list<IDebugger::Asm> asm_instrs;
                 if (!parse_asm_instruction_list (cur, cur,
-                                                 asm_instr_list)) {
+                                                 asm_instrs)) {
                     LOG_PARSING_ERROR2 (cur);
                 } else {
                     LOG_D ("parsed asm instruction list", GDBMI_PARSING_DOMAIN);
-                    result_record.asm_instruction_list (asm_instr_list);
+                    result_record.asm_instruction_list (asm_instrs);
                 }
             } else if (!RAW_INPUT.compare (cur,
                                            strlen (PREFIX_NAME),
@@ -3882,17 +3882,11 @@ bool
 GDBMIParser::parse_asm_instruction_list
                                 (UString::size_type a_from,
                                  UString::size_type &a_to,
-                                 std::list<IDebugger::AsmInstr> &a_asm_instrs)
+                                 std::list<IDebugger::Asm> &a_instrs)
 {
     LOG_FUNCTION_SCOPE_NORMAL_D (GDBMI_PARSING_DOMAIN);
     UString::size_type cur = a_from;
 
-#define ERROR_OUT \
-do { \
-a_asm_instrs.clear (); \
-return false; \
-} while (false)
-
     if (RAW_INPUT.compare (cur,
                            strlen (PREFIX_ASM_INSTRUCTIONS),
                            PREFIX_ASM_INSTRUCTIONS)) {
@@ -3906,56 +3900,106 @@ return false; \
         return false;
     }
 
-    // A GDB/MI list of asm instruction descriptors
+    // A GDB/MI LIST of asm instruction descriptors
+    //
+    // Each insn descriptor is either a TUPLE or a RESULT:
+    // When it's a TUPLE, it represents a  pure asm insn
+    // that looks like:
+    // {address="0x000107bc",func-name="main",offset="0",
+    //  inst="save  %sp, -112, %sp"}
+    // When it's a RESULT, it represents a mixed source/asm insn that
+    // looks like:
+    // src_and_asm_line=
+    //  {
+    //    line="31",file="basics.c",
+    //    line_asm_insn=[{address="0x000107bc",func-name="main",offset="0",
+    //                    inst="save  %sp, -112, %sp"}]
+    //  }
     GDBMIListSafePtr gdbmi_list;
+
+    // OK, now parse the LIST.
     if (!parse_gdbmi_list (cur, cur, gdbmi_list)) {
         LOG_PARSING_ERROR2 (cur);
         return false;
     }
+
     // If gdbmi_list is empty, gdbmi_list->content_type will yield
     // GDBMIList::UNDEFINED_TYPE, so lets test it now and return early
     // if necessary.
     if (gdbmi_list->empty ()) {
         a_to = cur;
-        a_asm_instrs.clear ();
+        a_instrs.clear ();
         return true;
     }
-    if (gdbmi_list->content_type () != GDBMIList::VALUE_TYPE) {
+    // So the content of the list gdbmi_list is either a list of TUPLES,
+    // or a list of result, like described earlier. Figure out which is
+    // which and parse the damn thing accordingly.
+    if (gdbmi_list->content_type () == GDBMIList::VALUE_TYPE) {
+        list<IDebugger::AsmInstr> instrs;
+        if (!analyse_pure_asm_instrs (gdbmi_list, instrs, cur)) {
+            LOG_PARSING_ERROR2 (cur);
+            return false;
+        }
+        list<IDebugger::AsmInstr>::const_iterator it;
+        for (it = instrs.begin (); it != instrs.end (); ++it) {
+            a_instrs.push_back (*it);
+        }
+    } else if (gdbmi_list->content_type () == GDBMIList::RESULT_TYPE) {
+        list<IDebugger::MixedAsmInstr> instrs;
+        if (!analyse_mixed_asm_instrs (gdbmi_list, instrs, cur)) {
+            LOG_PARSING_ERROR2 (cur);
+            return false;
+        }
+        list<IDebugger::MixedAsmInstr>::const_iterator it;
+        for (it = instrs.begin (); it != instrs.end (); ++it) {
+            a_instrs.push_back (*it);
+        }
+    } else {
         LOG_PARSING_ERROR2 (cur);
         return false;
     }
-    std::list<GDBMIValueSafePtr> vals;
-    gdbmi_list->get_value_content (vals);
-    std::list<GDBMIValueSafePtr>::const_iterator val_iter;
+    a_to = cur;
+    return true;
+}
+
+bool
+GDBMIParser::analyse_pure_asm_instrs (GDBMIListSafePtr a_gdbmi_list,
+                                      list<IDebugger::AsmInstr> &a_instrs,
+                                      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 gdbmi_list.
-    // Each tuple represents an asm instruction descriptor that has 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, 4/a string representing the asm intruction.
+    // Loop over the tuples contained in a_gdbmi_list.
+    // Each tuple represents an asm instruction descriptor that has at
+    // least 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,
+    // 4/ a string representing the asm intruction.
     for (val_iter = vals.begin (); val_iter != vals.end (); ++val_iter) {
         if ((*val_iter)->content_type () != GDBMIValue::TUPLE_TYPE) {
-            LOG_PARSING_ERROR2 (cur);
-            ERROR_OUT;
+            return false;;
         }
         GDBMITupleSafePtr tuple = (*val_iter)->get_tuple_content ();
         THROW_IF_FAIL (tuple);
         std::list<GDBMIResultSafePtr> result_list = tuple->content ();
-        if (result_list.size () != 4) {
+        if (result_list.size () < 4) {
             // each tuple should have 'address', 'func-name"', 'offset',
             // and 'inst' fields.
-            LOG_PARSING_ERROR2 (cur);
-            ERROR_OUT;
+            LOG_PARSING_ERROR2 (a_cur);
+            return false;;
         }
-        std::list<GDBMIResultSafePtr>::const_iterator res_iter =
-                                                        result_list.begin ();
+        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 (cur);
-            ERROR_OUT;
+            LOG_PARSING_ERROR2 (a_cur);
+            return false;;
         }
         addr = val->get_string_content ().raw ();
         LOG_DD ("addr: " << addr);
@@ -3965,8 +4009,8 @@ return false; \
         val = (*res_iter)->value ();
         if ((*res_iter)->variable () != "func-name"
             || val->content_type () != GDBMIValue::STRING_TYPE) {
-            LOG_PARSING_ERROR2 (cur);
-            ERROR_OUT;
+            LOG_PARSING_ERROR2 (a_cur);
+            return false;;
         }
         func_name = val->get_string_content ();
         LOG_DD ("func-name: " << func_name);
@@ -3976,8 +4020,8 @@ return false; \
         val = (*res_iter)->value ();
         if ((*res_iter)->variable () != "offset"
             || val->content_type () != GDBMIValue::STRING_TYPE) {
-            LOG_PARSING_ERROR2 (cur);
-            ERROR_OUT;
+            LOG_PARSING_ERROR2 (a_cur);
+            return false;;
         }
         offset = val->get_string_content ().raw ();
         LOG_DD ("offset: " << offset);
@@ -3987,18 +4031,116 @@ return false; \
         val = (*res_iter)->value ();
         if ((*res_iter)->variable () != "inst"
             || val->content_type () != GDBMIValue::STRING_TYPE) {
-            LOG_PARSING_ERROR2 (cur);
-            ERROR_OUT;
+            LOG_PARSING_ERROR2 (a_cur);
+            return false;;
         }
         instr = val->get_string_content ();
         LOG_DD ("instr: " << instr);
         asm_instr = IDebugger::AsmInstr (addr, func_name, offset, instr);
-        a_asm_instrs.push_back (asm_instr);
+        a_instrs.push_back (asm_instr);
     }
-    a_to = cur;
     return true;
 }
 
+bool
+GDBMIParser::analyse_mixed_asm_instrs (GDBMIListSafePtr a_gdbmi_list,
+                                       list<IDebugger::MixedAsmInstr> &a_instrs,
+                                       string::size_type a_cur)
+{
+
+    if (a_gdbmi_list->content_type () != GDBMIList::RESULT_TYPE)
+        return false;
+
+    list<GDBMIResultSafePtr> outer_results, inner_results;
+    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
+    // at least 3 results in the list:
+    // 1/ line=<source-line-number>
+    // 2/ file=<source-file-path>
+    // 3/ line_asm_insn=[<tuples>], where <tuples> are tuples that can
+    // be analysed by analyse_pure_asm_instrs.
+
+    for (outer_it = outer_results.begin ();
+         outer_it != outer_results.end ();
+         ++outer_it) {
+        if ((*outer_it)->variable () != "src_and_asm_line") {
+                stringstream s;
+                s << "got result named " << (*outer_it)->variable ()
+                  << " instead of src_and_asm_line";
+                LOG_PARSING_ERROR_MSG2 (a_cur, s.str ());
+                return false;
+        }
+        if ((*outer_it)->value ()->content_type ()
+            != GDBMIValue::TUPLE_TYPE) {
+            stringstream s;
+            s << "got value of type " << (*outer_it)->value ()->content_type ()
+              << " instead of TUPLE_TYPE (3)";
+            LOG_PARSING_ERROR_MSG2 (a_cur, s.str ());
+            return false;
+        }
+        inner_results = (*outer_it)->value ()->get_tuple_content ()->content ();
+
+        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;
+            }
+            a_instrs.push_back (instr);
+        }
+    }
+    return true;
+}
 
 bool
 GDBMIParser::parse_variable (UString::size_type a_from,
diff --git a/src/dbgengine/nmv-gdbmi-parser.h b/src/dbgengine/nmv-gdbmi-parser.h
index ef9b207..096fead 100644
--- a/src/dbgengine/nmv-gdbmi-parser.h
+++ b/src/dbgengine/nmv-gdbmi-parser.h
@@ -179,7 +179,6 @@ class GDBMIList : public Object {
     GDBMIList (const GDBMIList &);
     GDBMIList& operator= (const GDBMIList &);
 
-    //boost::variant<list<GDBMIResultSafePtr>, list<GDBMIValueSafePtr> > m_content;
     list<boost::variant<GDBMIResultSafePtr, GDBMIValueSafePtr> >  m_content;
     bool m_empty;
 
@@ -325,6 +324,13 @@ class GDBMIParser {
     struct Priv;
     SafePtr<Priv> m_priv;
 
+    bool analyse_pure_asm_instrs (GDBMIListSafePtr,
+                                    list<IDebugger::AsmInstr>&,
+                                    string::size_type a_cur);
+
+    bool analyse_mixed_asm_instrs (GDBMIListSafePtr,
+                                      list<IDebugger::MixedAsmInstr>&,
+                                      string::size_type a_cur);
 public:
 
     /// Parsing mode.
@@ -560,7 +566,8 @@ public:
     /// See the GDB/MI documentation for more.
     bool parse_stack_arguments (UString::size_type a_from,
                                 UString::size_type &a_to,
-                                map<int, list<IDebugger::VariableSafePtr> > &a_params);
+                                map<int,
+                                    list<IDebugger::VariableSafePtr> > &a_parms);
 
     /// parse a list of local variables as returned by
     /// the GDBMI command -stack-list-locals 2
@@ -593,11 +600,12 @@ public:
 
     bool parse_changed_registers (UString::size_type a_from,
                                   UString::size_type &a_to,
-                                  std::list<IDebugger::register_id_t> &a_registers);
+                                  std::list<IDebugger::register_id_t> &a_regs);
 
     bool parse_register_values (UString::size_type a_from,
                                 UString::size_type &a_to,
-                                std::map<IDebugger::register_id_t, UString> &a_values);
+                                std::map<IDebugger::register_id_t,
+                                         UString> &a_values);
 
     bool parse_memory_values (UString::size_type a_from,
                               UString::size_type &a_to,
@@ -608,7 +616,7 @@ public:
     /// by GDB/MI
     bool parse_asm_instruction_list (UString::size_type a_from,
                                      UString::size_type &a_to,
-                                     std::list<IDebugger::AsmInstr> &a_asm);
+                                     std::list<IDebugger::Asm> &a_asm);
 
     bool parse_variable (UString::size_type a_from,
                          UString::size_type &a_to,
diff --git a/src/dbgengine/nmv-i-debugger.h b/src/dbgengine/nmv-i-debugger.h
index 49af67f..db9c41d 100644
--- a/src/dbgengine/nmv-i-debugger.h
+++ b/src/dbgengine/nmv-i-debugger.h
@@ -789,10 +789,10 @@ public:
         {
         }
 
-        AsmInstr (string &a_address,
-                  string &a_func,
-                  string &a_offset,
-                  string &a_instr):
+        AsmInstr (const string &a_address,
+                  const string &a_func,
+                  const string &a_offset,
+                  const string &a_instr):
             m_address (a_address),
             m_func (a_func),
             m_offset (a_offset),
@@ -817,13 +817,103 @@ public:
         void instruction (const string &a_instr) {m_instr = a_instr;}
     };//end class AsmInstr
 
+    class MixedAsmInstr {
+        // No need of copy constructor or assignment operator yet.
+        UString m_file_path;
+        int m_line_number;
+        list<AsmInstr> m_instrs;
+
+    public:
+
+        MixedAsmInstr () :
+            m_line_number (-1)
+        {
+        }
+
+        MixedAsmInstr (const UString &a_path,
+                       int a_line_num) :
+            m_file_path (a_path),
+            m_line_number (a_line_num)
+        {
+        }
+
+        MixedAsmInstr (const UString &a_path,
+                       int a_line_num,
+                       list<AsmInstr> &a_instrs) :
+            m_file_path (a_path),
+            m_line_number (a_line_num),
+            m_instrs (a_instrs)
+        {
+        }
+
+        const UString& file_path () const {return m_file_path;}
+        void file_path (const UString &a) {m_file_path = a;}
+
+        int line_number () const {return m_line_number;}
+        void line_number (int a) {m_line_number = a;}
+
+        const list<AsmInstr>& instrs () const {return m_instrs;}
+        list<AsmInstr>& instrs () {return m_instrs;}
+        void instrs (const list<AsmInstr> &a) {m_instrs = a;}
+    };
+
+    // Okay, so the result of a call to IDebugger::disassemble returns a
+    // list of Asm. An Asm is a variant type that is either an AsmInstr
+    // (a pure asm instruction) or a mixed asm/source that is basically
+    // a source code locus associated to the list of AsmInstr it
+    // generated. Asm::which will return an ASM_TYPE_PURE if it's an
+    // AsmInstr or ASM_TYPE_MIXED if it's an MixedAsmInstr.
+    class Asm {
+        boost::variant<AsmInstr, MixedAsmInstr> m_asm;
+
+    public:
+        enum Type {
+            TYPE_PURE = 0,
+            TYPE_MIXED
+        };
+
+        Asm (const AsmInstr &a) :
+            m_asm (a)
+        {
+        }
+
+        Asm (const MixedAsmInstr &a) :
+            m_asm (a)
+        {
+        }
+
+        Type which () const
+        {
+            return static_cast<Type> (m_asm.which ());
+        }
+
+        const AsmInstr& instr () const
+        {
+            switch (which ()) {
+                case TYPE_PURE:
+                    return boost::get<AsmInstr> (m_asm);
+                case TYPE_MIXED:
+                    return boost::get<MixedAsmInstr> (m_asm).instrs ().front ();
+                default:
+                    break;
+            }
+            THROW ("reached unreachable");
+        }
+
+        const MixedAsmInstr& mixed_instr () const
+        {
+            THROW_IF_FAIL (which () == TYPE_MIXED);
+            return boost::get<MixedAsmInstr> (m_asm);
+        }
+    };
+
     class DisassembleInfo {
         // no need of copy constructor yet,
         // as we don't have any pointer member.
         UString m_function_name;
         UString m_file_name;
-        std::string m_start_address;
-        std::string m_end_address;
+        string m_start_address;
+        string m_end_address;
 
     public:
         DisassembleInfo ()
@@ -1034,7 +1124,7 @@ public:
     // So that the code receiving the signal can adjust accordingly
     virtual sigc::signal<void,
                          const IDebugger::DisassembleInfo&,
-                         const std::list<IDebugger::AsmInstr>&,
+                         const std::list<IDebugger::Asm>&,
                          const UString& /*cookie*/>&
                              instructions_disassembled_signal () const = 0;
 
@@ -1257,12 +1347,13 @@ public:
 
     typedef sigc::slot<void,
                        const IDebugger::DisassembleInfo&,
-                       const std::list<IDebugger::AsmInstr>& > DisassSlot;
+                       const std::list<IDebugger::Asm>& > DisassSlot;
 
     virtual void disassemble (size_t a_start_addr,
                               bool a_start_addr_relative_to_pc,
                               size_t a_end_addr,
                               bool a_end_addr_relative_to_pc,
+                              bool a_pure_asm = true,
                               const UString &a_cookie = "") = 0;
 
     virtual void disassemble (size_t a_start_addr,
@@ -1270,17 +1361,20 @@ public:
                               size_t a_end_addr,
                               bool a_end_addr_relative_to_pc,
                               const DisassSlot &a_slot,
+                              bool a_pure_asm = true,
                               const UString &a_cookie = "") = 0;
 
     virtual void disassemble_lines (const UString &a_file_name,
                                     int a_line_num,
                                     int a_nb_disassembled_lines,
+                                    bool a_pure_asm = true,
                                     const UString &a_cookie = "") = 0;
 
     virtual void disassemble_lines (const UString &a_file_name,
                                     int a_line_num,
                                     int a_nb_disassembled_lines,
                                     const DisassSlot &a_slot,
+                                    bool a_pure_asm = true,
                                     const UString &a_cookie = "") = 0;
 
     typedef sigc::slot<void, const VariableSafePtr> ConstVariableSlot;
diff --git a/tests/test-gdbmi.cc b/tests/test-gdbmi.cc
index 9d10de0..ce04f42 100644
--- a/tests/test-gdbmi.cc
+++ b/tests/test-gdbmi.cc
@@ -3,6 +3,7 @@
 #include <map>
 #include <boost/test/unit_test.hpp>
 #include "dbgengine/nmv-gdbmi-parser.h"
+#include "dbgengine/nmv-asm-utils.h"
 #include "common/nmv-exception.h"
 #include "common/nmv-initializer.h"
 
@@ -168,6 +169,10 @@ static const char* gv_breakpoint2 =
  const char *gv_disassemble1 =
  "^done,asm_insns=[{address=\"0x08048dc3\",func-name=\"main\",offset=\"0\",inst=\"lea    0x4(%esp),%ecx\"},{address=\"0x08048dc7\",func-name=\"main\",offset=\"4\",inst=\"and    $0xfffffff0,%esp\"},{address=\"0x08048dca\",func-name=\"main\",offset=\"7\",inst=\"pushl  -0x4(%ecx)\"},{address=\"0x08048dcd\",func-name=\"main\",offset=\"10\",inst=\"push   %ebp\"},{address=\"0x08048dce\",func-name=\"main\",offset=\"11\",inst=\"mov    %esp,%ebp\"},{address=\"0x08048dd0\",func-name=\"main\",offset=\"13\",inst=\"push   %esi\"},{address=\"0x08048dd1\",func-name=\"main\",offset=\"14\",inst=\"push   %ebx\"},{address=\"0x08048dd2\",func-name=\"main\",offset=\"15\",inst=\"push   %ecx\"},{address=\"0x08048dd3\",func-name=\"main\",offset=\"16\",inst=\"sub    $0x5c,%esp\"},{address=\"0x08048dd6\",func-name=\"main\",offset=\"19\",inst=\"lea    -0x25(%ebp),%eax\"},{address=\"0x08048dd9\",func-name=\"main\",offset=\"22\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048ddc\",func-name=\"main\",off
 set=\"25\",inst=\"call   0x8048be4 <_ZNSaIcEC1Ev plt>\"},{address=\"0x08048de1\",func-name=\"main\",offset=\"30\",inst=\"lea    -0x25(%ebp),%eax\"},{address=\"0x08048de4\",func-name=\"main\",offset=\"33\",inst=\"mov    %eax,0x8(%esp)\"},{address=\"0x08048de8\",func-name=\"main\",offset=\"37\",inst=\"movl   $0x8049485,0x4(%esp)\"},{address=\"0x08048df0\",func-name=\"main\",offset=\"45\",inst=\"lea    -0x2c(%ebp),%eax\"},{address=\"0x08048df3\",func-name=\"main\",offset=\"48\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048df6\",func-name=\"main\",offset=\"51\",inst=\"call   0x8048b84 <_ZNSsC1EPKcRKSaIcE plt>\"},{address=\"0x08048dfb\",func-name=\"main\",offset=\"56\",inst=\"lea    -0x1d(%ebp),%eax\"},{address=\"0x08048dfe\",func-name=\"main\",offset=\"59\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048e01\",func-name=\"main\",offset=\"62\",inst=\"call   0x8048be4 <_ZNSaIcEC1Ev plt>\"},{address=\"0x08048e06\",func-name=\"main\",offset=\"67\",inst=\"lea    -0x1d(%ebp),%eax\"},
 {address=\"0x08048e09\",func-name=\"main\",offset=\"70\",inst=\"mov    %eax,0x8(%esp)\"},{address=\"0x08048e0d\",func-name=\"main\",offset=\"74\",inst=\"movl   $0x804948c,0x4(%esp)\"},{address=\"0x08048e15\",func-name=\"main\",offset=\"82\",inst=\"lea    -0x24(%ebp),%eax\"},{address=\"0x08048e18\",func-name=\"main\",offset=\"85\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048e1b\",func-name=\"main\",offset=\"88\",inst=\"call   0x8048b84 <_ZNSsC1EPKcRKSaIcE plt>\"},{address=\"0x08048e20\",func-name=\"main\",offset=\"93\",inst=\"movl   $0xf,0xc(%esp)\"},{address=\"0x08048e28\",func-name=\"main\",offset=\"101\",inst=\"lea    -0x2c(%ebp),%eax\"},{address=\"0x08048e2b\",func-name=\"main\",offset=\"104\",inst=\"mov    %eax,0x8(%esp)\"},{address=\"0x08048e2f\",func-name=\"main\",offset=\"108\",inst=\"lea    -0x24(%ebp),%eax\"},{address=\"0x08048e32\",func-name=\"main\",offset=\"111\",inst=\"mov    %eax,0x4(%esp)\"},{address=\"0x08048e36\",func-name=\"main\",offset=\"115\",inst=\"l
 ea    -0x38(%ebp),%eax\"},{address=\"0x08048e39\",func-name=\"main\",offset=\"118\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048e3c\",func-name=\"main\",offset=\"121\",inst=\"call   0x8049178 <Person>\"},{address=\"0x08048e41\",func-name=\"main\",offset=\"126\",inst=\"lea    -0x24(%ebp),%eax\"},{address=\"0x08048e44\",func-name=\"main\",offset=\"129\",inst=\"mov    %eax,-0x48(%ebp)\"},{address=\"0x08048e47\",func-name=\"main\",offset=\"132\",inst=\"mov    -0x48(%ebp),%eax\"},{address=\"0x08048e4a\",func-name=\"main\",offset=\"135\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048e4d\",func-name=\"main\",offset=\"138\",inst=\"call   0x8048bb4 <_ZNSsD1Ev plt>\"},{address=\"0x08048e52\",func-name=\"main\",offset=\"143\",inst=\"jmp    0x8048e79 <main+182>\"},{address=\"0x08048e54\",func-name=\"main\",offset=\"145\",inst=\"mov    %eax,-0x54(%ebp)\"},{address=\"0x08048e57\",func-name=\"main\",offset=\"148\",inst=\"mov    %edx,-0x50(%ebp)\"},{address=\"0x08048e5a\",func-name=\"ma
 in\",offset=\"151\",inst=\"mov    -0x50(%ebp),%esi\"},{address=\"0x08048e5d\",func-name=\"main\",offset=\"154\",inst=\"mov    -0x54(%ebp),%ebx\"},{address=\"0x08048e60\",func-name=\"main\",offset=\"157\",inst=\"lea    -0x24(%ebp),%eax\"},{address=\"0x08048e63\",func-name=\"main\",offset=\"160\",inst=\"mov    %eax,-0x48(%ebp)\"},{address=\"0x08048e66\",func-name=\"main\",offset=\"163\",inst=\"mov    -0x48(%ebp),%eax\"},{address=\"0x08048e69\",func-name=\"main\",offset=\"166\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048e6c\",func-name=\"main\",offset=\"169\",inst=\"call   0x8048bb4 <_ZNSsD1Ev plt>\"},{address=\"0x08048e71\",func-name=\"main\",offset=\"174\",inst=\"mov    %ebx,-0x54(%ebp)\"},{address=\"0x08048e74\",func-name=\"main\",offset=\"177\",inst=\"mov    %esi,-0x50(%ebp)\"},{address=\"0x08048e77\",func-name=\"main\",offset=\"180\",inst=\"jmp    0x8048ebc <main+249>\"},{address=\"0x08048e79\",func-name=\"main\",offset=\"182\",inst=\"lea    -0x1d(%ebp),%eax\"},{addres
 s=\"0x08048e7c\",func-name=\"main\",offset=\"185\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048e7f\",func-name=\"main\",offset=\"188\",inst=\"call   0x8048b74 <_ZNSaIcED1Ev plt>\"},{address=\"0x08048e84\",func-name=\"main\",offset=\"193\",inst=\"lea    -0x2c(%ebp),%eax\"},{address=\"0x08048e87\",func-name=\"main\",offset=\"196\",inst=\"mov    %eax,-0x4c(%ebp)\"},{address=\"0x08048e8a\",func-name=\"main\",offset=\"199\",inst=\"mov    -0x4c(%ebp),%eax\"},{address=\"0x08048e8d\",func-name=\"main\",offset=\"202\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048e90\",func-name=\"main\",offset=\"205\",inst=\"call   0x8048bb4 <_ZNSsD1Ev plt>\"},{address=\"0x08048e95\",func-name=\"main\",offset=\"210\",inst=\"jmp    0x8048ef2 <main+303>\"},{address=\"0x08048e97\",func-name=\"main\",offset=\"212\",inst=\"mov    %eax,-0x54(%ebp)\"},{address=\"0x08048e9a\",func-name=\"main\",offset=\"215\",inst=\"mov    %edx,-0x50(%ebp)\"},{address=\"0x08048e9d\",func-name=\"main\",offset=\"218\",ins
 t=\"mov    -0x50(%ebp),%esi\"},{address=\"0x08048ea0\",func-name=\"main\",offset=\"221\",inst=\"mov    -0x54(%ebp),%ebx\"},{address=\"0x08048ea3\",func-name=\"main\",offset=\"224\",inst=\"lea    -0x38(%ebp),%eax\"},{address=\"0x08048ea6\",func-name=\"main\",offset=\"227\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048ea9\",func-name=\"main\",offset=\"230\",inst=\"call   0x804921a <~Person>\"},{address=\"0x08048eae\",func-name=\"main\",offset=\"235\",inst=\"mov    %ebx,-0x54(%ebp)\"},{address=\"0x08048eb1\",func-name=\"main\",offset=\"238\",inst=\"mov    %esi,-0x50(%ebp)\"},{address=\"0x08048eb4\",func-name=\"main\",offset=\"241\",inst=\"jmp    0x8048ebc <main+249>\"},{address=\"0x08048eb6\",func-name=\"main\",offset=\"243\",inst=\"mov    %eax,-0x54(%ebp)\"},{address=\"0x08048eb9\",func-name=\"main\",offset=\"246\",inst=\"mov    %edx,-0x50(%ebp)\"},{address=\"0x08048ebc\",func-name=\"main\",offset=\"249\",inst=\"mov    -0x50(%ebp),%esi\"},{address=\"0x08048ebf\",func-name=\"
 main\",offset=\"252\",inst=\"mov    -0x54(%ebp),%ebx\"},{address=\"0x08048ec2\",func-name=\"main\",offset=\"255\",inst=\"lea    -0x1d(%ebp),%eax\"},{address=\"0x08048ec5\",func-name=\"main\",offset=\"258\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048ec8\",func-name=\"main\",offset=\"261\",inst=\"call   0x8048b74 <_ZNSaIcED1Ev plt>\"},{address=\"0x08048ecd\",func-name=\"main\",offset=\"266\",inst=\"mov    %ebx,-0x54(%ebp)\"},{address=\"0x08048ed0\",func-name=\"main\",offset=\"269\",inst=\"mov    %esi,-0x50(%ebp)\"},{address=\"0x08048ed3\",func-name=\"main\",offset=\"272\",inst=\"mov    -0x50(%ebp),%esi\"},{address=\"0x08048ed6\",func-name=\"main\",offset=\"275\",inst=\"mov    -0x54(%ebp),%ebx\"},{address=\"0x08048ed9\",func-name=\"main\",offset=\"278\",inst=\"lea    -0x2c(%ebp),%eax\"},{address=\"0x08048edc\",func-name=\"main\",offset=\"281\",inst=\"mov    %eax,-0x4c(%ebp)\"},{address=\"0x08048edf\",func-name=\"main\",offset=\"284\",inst=\"mov    -0x4c(%ebp),%eax\"},{addre
 ss=\"0x08048ee2\",func-name=\"main\",offset=\"287\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048ee5\",func-name=\"main\",offset=\"290\",inst=\"call   0x8048bb4 <_ZNSsD1Ev plt>\"},{address=\"0x08048eea\",func-name=\"main\",offset=\"295\",inst=\"mov    %ebx,-0x54(%ebp)\"},{address=\"0x08048eed\",func-name=\"main\",offset=\"298\",inst=\"mov    %esi,-0x50(%ebp)\"},{address=\"0x08048ef0\",func-name=\"main\",offset=\"301\",inst=\"jmp    0x8048f62 <main+415>\"},{address=\"0x08048ef2\",func-name=\"main\",offset=\"303\",inst=\"lea    -0x25(%ebp),%eax\"},{address=\"0x08048ef5\",func-name=\"main\",offset=\"306\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048ef8\",func-name=\"main\",offset=\"309\",inst=\"call   0x8048b74 <_ZNSaIcED1Ev plt>\"},{address=\"0x08048efd\",func-name=\"main\",offset=\"314\",inst=\"call   0x8048cd4 <_Z5func1v>\"},{address=\"0x08048f02\",func-name=\"main\",offset=\"319\",inst=\"movl   $0x2,0x4(%esp)\"},{address=\"0x08048f0a\",func-name=\"main\",offset=\"327\"
 ,inst=\"movl   $0x1,(%esp)\"},{address=\"0x08048f11\",func-name=\"main\",offset=\"334\",inst=\"call   0x8048ce7 <_Z5func2ii>\"},{address=\"0x08048f16\",func-name=\"main\",offset=\"339\",inst=\"lea    -0x15(%ebp),%eax\"},{address=\"0x08048f19\",func-name=\"main\",offset=\"342\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048f1c\",func-name=\"main\",offset=\"345\",inst=\"call   0x8048be4 <_ZNSaIcEC1Ev plt>\"},{address=\"0x08048f21\",func-name=\"main\",offset=\"350\",inst=\"lea    -0x15(%ebp),%eax\"},{address=\"0x08048f24\",func-name=\"main\",offset=\"353\",inst=\"mov    %eax,0x8(%esp)\"},{address=\"0x08048f28\",func-name=\"main\",offset=\"357\",inst=\"movl   $0x8049490,0x4(%esp)\"},{address=\"0x08048f30\",func-name=\"main\",offset=\"365\",inst=\"lea    -0x1c(%ebp),%eax\"},{address=\"0x08048f33\",func-name=\"main\",offset=\"368\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048f36\",func-name=\"main\",offset=\"371\",inst=\"call   0x8048b84 <_ZNSsC1EPKcRKSaIcE plt>\"},{address=\"
 0x08048f3b\",func-name=\"main\",offset=\"376\",inst=\"jmp    0x8048f84 <main+449>\"},{address=\"0x08048f3d\",func-name=\"main\",offset=\"378\",inst=\"mov    %eax,-0x54(%ebp)\"},{address=\"0x08048f40\",func-name=\"main\",offset=\"381\",inst=\"mov    %edx,-0x50(%ebp)\"},{address=\"0x08048f43\",func-name=\"main\",offset=\"384\",inst=\"mov    -0x50(%ebp),%esi\"},{address=\"0x08048f46\",func-name=\"main\",offset=\"387\",inst=\"mov    -0x54(%ebp),%ebx\"},{address=\"0x08048f49\",func-name=\"main\",offset=\"390\",inst=\"lea    -0x38(%ebp),%eax\"},{address=\"0x08048f4c\",func-name=\"main\",offset=\"393\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048f4f\",func-name=\"main\",offset=\"396\",inst=\"call   0x804921a <~Person>\"},{address=\"0x08048f54\",func-name=\"main\",offset=\"401\",inst=\"mov    %ebx,-0x54(%ebp)\"},{address=\"0x08048f57\",func-name=\"main\",offset=\"404\",inst=\"mov    %esi,-0x50(%ebp)\"},{address=\"0x08048f5a\",func-name=\"main\",offset=\"407\",inst=\"jmp    0x8048
 f62 <main+415>\"},{address=\"0x08048f5c\",func-name=\"main\",offset=\"409\",inst=\"mov    %eax,-0x54(%ebp)\"},{address=\"0x08048f5f\",func-name=\"main\",offset=\"412\",inst=\"mov    %edx,-0x50(%ebp)\"},{address=\"0x08048f62\",func-name=\"main\",offset=\"415\",inst=\"mov    -0x50(%ebp),%esi\"},{address=\"0x08048f65\",func-name=\"main\",offset=\"418\",inst=\"mov    -0x54(%ebp),%ebx\"},{address=\"0x08048f68\",func-name=\"main\",offset=\"421\",inst=\"lea    -0x25(%ebp),%eax\"},{address=\"0x08048f6b\",func-name=\"main\",offset=\"424\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048f6e\",func-name=\"main\",offset=\"427\",inst=\"call   0x8048b74 <_ZNSaIcED1Ev plt>\"},{address=\"0x08048f73\",func-name=\"main\",offset=\"432\",inst=\"mov    %ebx,-0x54(%ebp)\"},{address=\"0x08048f76\",func-name=\"main\",offset=\"435\",inst=\"mov    %esi,-0x50(%ebp)\"},{address=\"0x08048f79\",func-name=\"main\",offset=\"438\",inst=\"mov    -0x54(%ebp),%eax\"},{address=\"0x08048f7c\",func-name=\"main\",o
 ffset=\"441\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048f7f\",func-name=\"main\",offset=\"444\",inst=\"call   0x8048bd4 <_Unwind_Resume plt>\"},{address=\"0x08048f84\",func-name=\"main\",offset=\"449\",inst=\"lea    -0x1c(%ebp),%eax\"},{address=\"0x08048f87\",func-name=\"main\",offset=\"452\",inst=\"mov    %eax,0x4(%esp)\"},{address=\"0x08048f8b\",func-name=\"main\",offset=\"456\",inst=\"lea    -0x38(%ebp),%eax\"},{address=\"0x08048f8e\",func-name=\"main\",offset=\"459\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048f91\",func-name=\"main\",offset=\"462\",inst=\"call   0x8049140 <_ZN6Person14set_first_nameERKSs>\"},{address=\"0x08048f96\",func-name=\"main\",offset=\"467\",inst=\"lea    -0x1c(%ebp),%eax\"},{address=\"0x08048f99\",func-name=\"main\",offset=\"470\",inst=\"mov    %eax,-0x44(%ebp)\"},{address=\"0x08048f9c\",func-name=\"main\",offset=\"473\",inst=\"mov    -0x44(%ebp),%eax\"},{address=\"0x08048f9f\",func-name=\"main\",offset=\"476\",inst=\"mov    %eax,(%esp)\
 "},{address=\"0x08048fa2\",func-name=\"main\",offset=\"479\",inst=\"call   0x8048bb4 <_ZNSsD1Ev plt>\"},{address=\"0x08048fa7\",func-name=\"main\",offset=\"484\",inst=\"jmp    0x8048fce <main+523>\"},{address=\"0x08048fa9\",func-name=\"main\",offset=\"486\",inst=\"mov    %eax,-0x54(%ebp)\"},{address=\"0x08048fac\",func-name=\"main\",offset=\"489\",inst=\"mov    %edx,-0x50(%ebp)\"},{address=\"0x08048faf\",func-name=\"main\",offset=\"492\",inst=\"mov    -0x50(%ebp),%esi\"},{address=\"0x08048fb2\",func-name=\"main\",offset=\"495\",inst=\"mov    -0x54(%ebp),%ebx\"},{address=\"0x08048fb5\",func-name=\"main\",offset=\"498\",inst=\"lea    -0x1c(%ebp),%eax\"},{address=\"0x08048fb8\",func-name=\"main\",offset=\"501\",inst=\"mov    %eax,-0x44(%ebp)\"},{address=\"0x08048fbb\",func-name=\"main\",offset=\"504\",inst=\"mov    -0x44(%ebp),%eax\"},{address=\"0x08048fbe\",func-name=\"main\",offset=\"507\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048fc1\",func-name=\"main\",offset=\"510\",
 inst=\"call   0x8048bb4 <_ZNSsD1Ev plt>\"},{address=\"0x08048fc6\",func-name=\"main\",offset=\"515\",inst=\"mov    %ebx,-0x54(%ebp)\"},{address=\"0x08048fc9\",func-name=\"main\",offset=\"518\",inst=\"mov    %esi,-0x50(%ebp)\"},{address=\"0x08048fcc\",func-name=\"main\",offset=\"521\",inst=\"jmp    0x8049006 <main+579>\"},{address=\"0x08048fce\",func-name=\"main\",offset=\"523\",inst=\"lea    -0x15(%ebp),%eax\"},{address=\"0x08048fd1\",func-name=\"main\",offset=\"526\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048fd4\",func-name=\"main\",offset=\"529\",inst=\"call   0x8048b74 <_ZNSaIcED1Ev plt>\"},{address=\"0x08048fd9\",func-name=\"main\",offset=\"534\",inst=\"lea    -0xd(%ebp),%eax\"},{address=\"0x08048fdc\",func-name=\"main\",offset=\"537\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048fdf\",func-name=\"main\",offset=\"540\",inst=\"call   0x8048be4 <_ZNSaIcEC1Ev plt>\"},{address=\"0x08048fe4\",func-name=\"main\",offset=\"545\",inst=\"lea    -0xd(%ebp),%eax\"},{address=\
 "0x08048fe7\",func-name=\"main\",offset=\"548\",inst=\"mov    %eax,0x8(%esp)\"},{address=\"0x08048feb\",func-name=\"main\",offset=\"552\",inst=\"movl   $0x8049494,0x4(%esp)\"},{address=\"0x08048ff3\",func-name=\"main\",offset=\"560\",inst=\"lea    -0x14(%ebp),%eax\"},{address=\"0x08048ff6\",func-name=\"main\",offset=\"563\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08048ff9\",func-name=\"main\",offset=\"566\",inst=\"call   0x8048b84 <_ZNSsC1EPKcRKSaIcE plt>\"},{address=\"0x08048ffe\",func-name=\"main\",offset=\"571\",inst=\"jmp    0x8049022 <main+607>\"},{address=\"0x08049000\",func-name=\"main\",offset=\"573\",inst=\"mov    %eax,-0x54(%ebp)\"},{address=\"0x08049003\",func-name=\"main\",offset=\"576\",inst=\"mov    %edx,-0x50(%ebp)\"},{address=\"0x08049006\",func-name=\"main\",offset=\"579\",inst=\"mov    -0x50(%ebp),%esi\"},{address=\"0x08049009\",func-name=\"main\",offset=\"582\",inst=\"mov    -0x54(%ebp),%ebx\"},{address=\"0x0804900c\",func-name=\"main\",offset=\"585\",in
 st=\"lea    -0x15(%ebp),%eax\"},{address=\"0x0804900f\",func-name=\"main\",offset=\"588\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08049012\",func-name=\"main\",offset=\"591\",inst=\"call   0x8048b74 <_ZNSaIcED1Ev plt>\"},{address=\"0x08049017\",func-name=\"main\",offset=\"596\",inst=\"mov    %ebx,-0x54(%ebp)\"},{address=\"0x0804901a\",func-name=\"main\",offset=\"599\",inst=\"mov    %esi,-0x50(%ebp)\"},{address=\"0x0804901d\",func-name=\"main\",offset=\"602\",inst=\"jmp    0x80490fa <main+823>\"},{address=\"0x08049022\",func-name=\"main\",offset=\"607\",inst=\"lea    -0x14(%ebp),%eax\"},{address=\"0x08049025\",func-name=\"main\",offset=\"610\",inst=\"mov    %eax,0x4(%esp)\"},{address=\"0x08049029\",func-name=\"main\",offset=\"614\",inst=\"lea    -0x38(%ebp),%eax\"},{address=\"0x0804902c\",func-name=\"main\",offset=\"617\",inst=\"mov    %eax,(%esp)\"},{address=\"0x0804902f\",func-name=\"main\",offset=\"620\",inst=\"call   0x804915a <_ZN6Person15set_family_nameERKSs>\"},{addr
 ess=\"0x08049034\",func-name=\"main\",offset=\"625\",inst=\"lea    -0x14(%ebp),%eax\"},{address=\"0x08049037\",func-name=\"main\",offset=\"628\",inst=\"mov    %eax,-0x40(%ebp)\"},{address=\"0x0804903a\",func-name=\"main\",offset=\"631\",inst=\"mov    -0x40(%ebp),%eax\"},{address=\"0x0804903d\",func-name=\"main\",offset=\"634\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08049040\",func-name=\"main\",offset=\"637\",inst=\"call   0x8048bb4 <_ZNSsD1Ev plt>\"},{address=\"0x08049045\",func-name=\"main\",offset=\"642\",inst=\"jmp    0x804906c <main+681>\"},{address=\"0x08049047\",func-name=\"main\",offset=\"644\",inst=\"mov    %eax,-0x54(%ebp)\"},{address=\"0x0804904a\",func-name=\"main\",offset=\"647\",inst=\"mov    %edx,-0x50(%ebp)\"},{address=\"0x0804904d\",func-name=\"main\",offset=\"650\",inst=\"mov    -0x50(%ebp),%esi\"},{address=\"0x08049050\",func-name=\"main\",offset=\"653\",inst=\"mov    -0x54(%ebp),%ebx\"},{address=\"0x08049053\",func-name=\"main\",offset=\"656\",inst=\"l
 ea    -0x14(%ebp),%eax\"},{address=\"0x08049056\",func-name=\"main\",offset=\"659\",inst=\"mov    %eax,-0x40(%ebp)\"},{address=\"0x08049059\",func-name=\"main\",offset=\"662\",inst=\"mov    -0x40(%ebp),%eax\"},{address=\"0x0804905c\",func-name=\"main\",offset=\"665\",inst=\"mov    %eax,(%esp)\"},{address=\"0x0804905f\",func-name=\"main\",offset=\"668\",inst=\"call   0x8048bb4 <_ZNSsD1Ev plt>\"},{address=\"0x08049064\",func-name=\"main\",offset=\"673\",inst=\"mov    %ebx,-0x54(%ebp)\"},{address=\"0x08049067\",func-name=\"main\",offset=\"676\",inst=\"mov    %esi,-0x50(%ebp)\"},{address=\"0x0804906a\",func-name=\"main\",offset=\"679\",inst=\"jmp    0x804908a <main+711>\"},{address=\"0x0804906c\",func-name=\"main\",offset=\"681\",inst=\"lea    -0xd(%ebp),%eax\"},{address=\"0x0804906f\",func-name=\"main\",offset=\"684\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08049072\",func-name=\"main\",offset=\"687\",inst=\"call   0x8048b74 <_ZNSaIcED1Ev plt>\"},{address=\"0x08049077\",func-
 name=\"main\",offset=\"692\",inst=\"lea    -0x38(%ebp),%eax\"},{address=\"0x0804907a\",func-name=\"main\",offset=\"695\",inst=\"mov    %eax,(%esp)\"},{address=\"0x0804907d\",func-name=\"main\",offset=\"698\",inst=\"call   0x8049272 <_ZN6Person7do_thisEv>\"},{address=\"0x08049082\",func-name=\"main\",offset=\"703\",inst=\"jmp    0x80490a3 <main+736>\"},{address=\"0x08049084\",func-name=\"main\",offset=\"705\",inst=\"mov    %eax,-0x54(%ebp)\"},{address=\"0x08049087\",func-name=\"main\",offset=\"708\",inst=\"mov    %edx,-0x50(%ebp)\"},{address=\"0x0804908a\",func-name=\"main\",offset=\"711\",inst=\"mov    -0x50(%ebp),%esi\"},{address=\"0x0804908d\",func-name=\"main\",offset=\"714\",inst=\"mov    -0x54(%ebp),%ebx\"},{address=\"0x08049090\",func-name=\"main\",offset=\"717\",inst=\"lea    -0xd(%ebp),%eax\"},{address=\"0x08049093\",func-name=\"main\",offset=\"720\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08049096\",func-name=\"main\",offset=\"723\",inst=\"call   0x8048b74 <_ZNSaI
 cED1Ev plt>\"},{address=\"0x0804909b\",func-name=\"main\",offset=\"728\",inst=\"mov    %ebx,-0x54(%ebp)\"},{address=\"0x0804909e\",func-name=\"main\",offset=\"731\",inst=\"mov    %esi,-0x50(%ebp)\"},{address=\"0x080490a1\",func-name=\"main\",offset=\"734\",inst=\"jmp    0x80490fa <main+823>\"},{address=\"0x080490a3\",func-name=\"main\",offset=\"736\",inst=\"lea    -0x38(%ebp),%eax\"},{address=\"0x080490a6\",func-name=\"main\",offset=\"739\",inst=\"mov    %eax,(%esp)\"},{address=\"0x080490a9\",func-name=\"main\",offset=\"742\",inst=\"call   0x804911c <_ZN6Person8overloadEv>\"},{address=\"0x080490ae\",func-name=\"main\",offset=\"747\",inst=\"movl   $0x0,0x4(%esp)\"},{address=\"0x080490b6\",func-name=\"main\",offset=\"755\",inst=\"lea    -0x38(%ebp),%eax\"},{address=\"0x080490b9\",func-name=\"main\",offset=\"758\",inst=\"mov    %eax,(%esp)\"},{address=\"0x080490bc\",func-name=\"main\",offset=\"761\",inst=\"call   0x8049130 <_ZN6Person8overloadEi>\"},{address=\"0x080490c1\",func
 -name=\"main\",offset=\"766\",inst=\"lea    -0x38(%ebp),%eax\"},{address=\"0x080490c4\",func-name=\"main\",offset=\"769\",inst=\"mov    %eax,(%esp)\"},{address=\"0x080490c7\",func-name=\"main\",offset=\"772\",inst=\"call   0x8048db0 <_Z5func3R6Person>\"},{address=\"0x080490cc\",func-name=\"main\",offset=\"777\",inst=\"lea    -0x38(%ebp),%eax\"},{address=\"0x080490cf\",func-name=\"main\",offset=\"780\",inst=\"mov    %eax,(%esp)\"},{address=\"0x080490d2\",func-name=\"main\",offset=\"783\",inst=\"call   0x8048cff <_Z5func4R6Person>\"},{address=\"0x080490d7\",func-name=\"main\",offset=\"788\",inst=\"mov    $0x0,%ebx\"},{address=\"0x080490dc\",func-name=\"main\",offset=\"793\",inst=\"lea    -0x38(%ebp),%eax\"},{address=\"0x080490df\",func-name=\"main\",offset=\"796\",inst=\"mov    %eax,(%esp)\"},{address=\"0x080490e2\",func-name=\"main\",offset=\"799\",inst=\"call   0x804921a <~Person>\"},{address=\"0x080490e7\",func-name=\"main\",offset=\"804\",inst=\"mov    %ebx,%eax\"},{addres
 s=\"0x080490e9\",func-name=\"main\",offset=\"806\",inst=\"add    $0x5c,%esp\"},{address=\"0x080490ec\",func-name=\"main\",offset=\"809\",inst=\"pop    %ecx\"},{address=\"0x080490ed\",func-name=\"main\",offset=\"810\",inst=\"pop    %ebx\"},{address=\"0x080490ee\",func-name=\"main\",offset=\"811\",inst=\"pop    %esi\"},{address=\"0x080490ef\",func-name=\"main\",offset=\"812\",inst=\"pop    %ebp\"},{address=\"0x080490f0\",func-name=\"main\",offset=\"813\",inst=\"lea    -0x4(%ecx),%esp\"},{address=\"0x080490f3\",func-name=\"main\",offset=\"816\",inst=\"ret    \"},{address=\"0x080490f4\",func-name=\"main\",offset=\"817\",inst=\"mov    %eax,-0x54(%ebp)\"},{address=\"0x080490f7\",func-name=\"main\",offset=\"820\",inst=\"mov    %edx,-0x50(%ebp)\"},{address=\"0x080490fa\",func-name=\"main\",offset=\"823\",inst=\"mov    -0x50(%ebp),%esi\"},{address=\"0x080490fd\",func-name=\"main\",offset=\"826\",inst=\"mov    -0x54(%ebp),%ebx\"},{address=\"0x08049100\",func-name=\"main\",offset=\"829
 \",inst=\"lea    -0x38(%ebp),%eax\"},{address=\"0x08049103\",func-name=\"main\",offset=\"832\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08049106\",func-name=\"main\",offset=\"835\",inst=\"call   0x804921a <~Person>\"},{address=\"0x0804910b\",func-name=\"main\",offset=\"840\",inst=\"mov    %ebx,-0x54(%ebp)\"},{address=\"0x0804910e\",func-name=\"main\",offset=\"843\",inst=\"mov    %esi,-0x50(%ebp)\"},{address=\"0x08049111\",func-name=\"main\",offset=\"846\",inst=\"mov    -0x54(%ebp),%eax\"},{address=\"0x08049114\",func-name=\"main\",offset=\"849\",inst=\"mov    %eax,(%esp)\"},{address=\"0x08049117\",func-name=\"main\",offset=\"852\",inst=\"call   0x8048bd4 <_Unwind_Resume plt>\"}]\n";
 
+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_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\"}]";
 
@@ -859,7 +864,7 @@ test_breakpoint ()
 void
 test_disassemble ()
 {
-    typedef list<IDebugger::AsmInstr> AsmInstrList;
+    typedef list<IDebugger::Asm> AsmInstrList;
     AsmInstrList instrs;
     UString::size_type cur = 0;
     GDBMIParser parser (gv_disassemble0);
@@ -876,6 +881,7 @@ test_disassemble ()
     }
     std::cout << "========== end of asm instructions =============\n";
 
+
     Output::ResultRecord record;
     cur = 0;
     parser.push_input (gv_disassemble1);
@@ -884,6 +890,12 @@ test_disassemble ()
     nb_instrs = record.asm_instruction_list ().size ();
     // There should be 253 assembly instructions in gv_disassemble1.
     BOOST_REQUIRE_MESSAGE (nb_instrs == 253, "nb_instrs was: " << nb_instrs);
+
+    parser.push_input (gv_disassemble2);
+    cur = 0;
+    BOOST_REQUIRE (parser.parse_asm_instruction_list (cur, cur, instrs));
+    BOOST_REQUIRE_MESSAGE (instrs.size () == 269,
+                           "nb instrs was: " << instrs.size ());
 }
 
 



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