<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>change log for gcc-testing (2010-05-12)</title>
</head>
<body text='#000000' bgcolor='#ffffff'>
<a name='cs1'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>joel</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-05-12 Joel Sherrill <joel.sherrilL@OARcorp.com>

        * ReportsBase.cc, ReportsBase.h, ReportsHtml.cc, ReportsHtml.h,
        ReportsText.cc, ReportsText.h: Add initial Symbol Summary report as
        copy of Size report.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/ChangeLog.diff?r1=text&tr1=1.231&r2=text&tr2=1.232&diff_format=h">M</a></td><td width='1%'>1.232</td><td width='100%'>rtems-coverage/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/ReportsBase.h.diff?r1=text&tr1=1.5&r2=text&tr2=1.6&diff_format=h">M</a></td><td width='1%'>1.6</td><td width='100%'>rtems-coverage/ReportsBase.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/ReportsBase.cc.diff?r1=text&tr1=1.8&r2=text&tr2=1.9&diff_format=h">M</a></td><td width='1%'>1.9</td><td width='100%'>rtems-coverage/ReportsBase.cc</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/ReportsHtml.h.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>rtems-coverage/ReportsHtml.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/ReportsHtml.cc.diff?r1=text&tr1=1.6&r2=text&tr2=1.7&diff_format=h">M</a></td><td width='1%'>1.7</td><td width='100%'>rtems-coverage/ReportsHtml.cc</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/ReportsText.h.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>rtems-coverage/ReportsText.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/ReportsText.cc.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>rtems-coverage/ReportsText.cc</td></tr>
</table>
<pre>
<font color='#006600'>diff -u gcc-testing/rtems-coverage/ChangeLog:1.231 gcc-testing/rtems-coverage/ChangeLog:1.232
--- gcc-testing/rtems-coverage/ChangeLog:1.231  Wed May 12 10:47:13 2010
+++ gcc-testing/rtems-coverage/ChangeLog        Wed May 12 11:14:15 2010
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2010-05-12    Joel Sherrill <joel.sherrilL@OARcorp.com>
+
+       * ReportsBase.cc, ReportsBase.h, ReportsHtml.cc, ReportsHtml.h,
+       ReportsText.cc, ReportsText.h: Add initial Symbol Summary report as
+       copy of Size report.
+
</font> 2010-05-12        Glenn Humphrey
 
        * covoar_flow.doc: New file.

<font color='#006600'>diff -u gcc-testing/rtems-coverage/ReportsBase.h:1.5 gcc-testing/rtems-coverage/ReportsBase.h:1.6
--- gcc-testing/rtems-coverage/ReportsBase.h:1.5        Tue May 11 16:21:25 2010
+++ gcc-testing/rtems-coverage/ReportsBase.h    Wed May 12 11:14:16 2010
</font><font color='#997700'>@@ -60,18 +60,28 @@
</font>      *  This method produces a summary report that lists each uncovered
      *  range of bytes.
      *
<font color='#880000'>-     *  @param[in] fileName identifies the size report file name
</font><font color='#000088'>+     *  @param[in] fileName identifies the report file name
</font>      */
     void WriteSizeReport(
       const char* const fileName
     );
 
     /*!
<font color='#000088'>+     *  This method produces a summary report that lists information on
+     *  each symbol which did not achieve 100% coverage
+     *
+     *  @param[in] fileName identifies the report file name
+     */
+    void WriteSymbolSummaryReport(
+      const char* const fileName
+    );
+
+    /*!
</font>      *  This method returns the unique extension for the Report
      *  type.  If the extension is ".txt" files will be<span style="background-color: #FF0000"> </span>
      *  named "annotated.txt", "branch.txt" ......
      *
<font color='#880000'>-     *  @param[in] fileName identifies the size report file name
</font><font color='#000088'>+     *  @param[in] fileName identifies the report file name
</font>      */
     std::string ReportExtension() { return reportExtension_m; }
 
<font color='#997700'>@@ -94,30 +104,30 @@
</font>     std::string reportExtension_m;
 
     /*!
<font color='#880000'>-     *  This method Opens a report file and verifies that it opended
</font><font color='#000088'>+     *  This method Opens a report file and verifies that it opened
</font>      *  correctly.  Upon failure NULL is returned.
      *
<font color='#880000'>-     *  @param[in] fileName identifies the size report file name
</font><font color='#000088'>+     *  @param[in] fileName identifies the report file name
</font>      */
      virtual FILE* OpenFile(
       const char* const fileName
     );
 
     /*!
<font color='#880000'>-     *  This method d Opens a report file and verifies that it opended.
</font><font color='#000088'>+     *  This method opens a report file and verifies that it opened.
</font>      *  Then appedns any necessary header information onto the file.
      *
<font color='#880000'>-     *  @param[in] fileName identifies the size report file name
</font><font color='#000088'>+     *  @param[in] fileName identifies the report file name
</font>      */
     virtual FILE* OpenAnnotatedFile(
       const char* const fileName
     );
 
     /*!
<font color='#880000'>-     *  This method d Opens a report file and verifies that it opended.
</font><font color='#000088'>+     *  This method opens a report file and verifies that it opened.
</font>      *  Then appedns any necessary header information onto the file.
      *
<font color='#880000'>-     *  @param[in] fileName identifies the size report file name
</font><font color='#000088'>+     *  @param[in] fileName identifies the report file name
</font>      *  @param[in] hasBranches indicates if there are branches to report
      */
     virtual FILE* OpenBranchFile(
<font color='#997700'>@@ -126,29 +136,39 @@
</font>     );
 
     /*!
<font color='#880000'>-     *  This method d Opens a report file and verifies that it opended.
</font><font color='#000088'>+     *  This method opens a report file and verifies that it opened.
</font>      *  Then appedns any necessary header information onto the file.
      *
<font color='#880000'>-     *  @param[in] fileName identifies the size report file name
</font><font color='#000088'>+     *  @param[in] fileName identifies the report file name
</font>      */
     virtual FILE* OpenCoverageFile(
       const char* const fileName
     );
 
     /*!
<font color='#880000'>-     *  This method d Opens a report file and verifies that it opended.
</font><font color='#000088'>+     *  This method opens a report file and verifies that it opened.
</font>      *  Then appedns any necessary header information onto the file.
      *
<font color='#880000'>-     *  @param[in] fileName identifies the size report file name
</font><font color='#000088'>+     *  @param[in] fileName identifies the report file name
</font>      */
     virtual FILE* OpenSizeFile(
       const char* const fileName
     );
 
     /*!
<font color='#000088'>+     *  This method opens a report file and verifies that it opened.
+     *  Then appedns any necessary header information onto the file.
+     *
+     *  @param[in] fileName identifies the report file name
+     */
+    virtual FILE* OpenSymbolSummaryFile(
+      const char* const fileName
+    );
+
+    /*!
</font>      *  This method Closes a report file.<span style="background-color: #FF0000"> </span>
      *
<font color='#880000'>-     *  @param[in] fileName identifies the size report file name
</font><font color='#000088'>+     *  @param[in] fileName identifies the report file name
</font>      */
     void CloseFile(
       FILE*  aFile
<font color='#997700'>@@ -158,7 +178,7 @@
</font>      *  This method puts any necessary footer information into
      *  the report then closes the file.
      *
<font color='#880000'>-     *  @param[in] fileName identifies the size report file name
</font><font color='#000088'>+     *  @param[in] fileName identifies the report file name
</font>      */
     virtual void CloseAnnotatedFile(
       FILE*  aFile
<font color='#997700'>@@ -168,7 +188,7 @@
</font>      *  This method puts any necessary footer information into
      *  the report then closes the file.
      *
<font color='#880000'>-     *  @param[in] fileName identifies the size report file name
</font><font color='#000088'>+     *  @param[in] fileName identifies the report file name
</font>      *  @param[in] hasBranches indicates if there are branches to report
      */
     virtual void CloseBranchFile(
<font color='#997700'>@@ -180,7 +200,7 @@
</font>      *  This method puts any necessary footer information into
      *  the report then closes the file.
      *
<font color='#880000'>-     *  @param[in] fileName identifies the size report file name
</font><font color='#000088'>+     *  @param[in] fileName identifies the report file name
</font>      */
     virtual void CloseCoverageFile(
       FILE*  aFile
<font color='#997700'>@@ -190,7 +210,7 @@
</font>      *  This method puts any necessary footer information into
      *  the report then closes the file.
      *
<font color='#880000'>-     *  @param[in] fileName identifies the size report file name
</font><font color='#000088'>+     *  @param[in] fileName identifies the report file name
</font>      */
     virtual void CloseSizeFile(
       FILE*  aFile
<font color='#997700'>@@ -200,7 +220,17 @@
</font>      *  This method puts any necessary footer information into
      *  the report then closes the file.
      *
<font color='#880000'>-     *  @param[in] fileName identifies the size report file name
</font><font color='#000088'>+     *  @param[in] fileName identifies the report file name
+     */
+    virtual void CloseSymbolSummaryFile(
+      FILE*  aFile
+    );
+
+    /*!
+     *  This method puts any necessary footer information into
+     *  the report then closes the file.
+     *
+     *  @param[in] fileName identifies the report file name
</font>      */
     virtual void PutAnnotatedLine(<span style="background-color: #FF0000"> </span>
       FILE*                aFile,<span style="background-color: #FF0000"> </span>
<font color='#997700'>@@ -213,7 +243,7 @@
</font>      *  This method puts any necessary footer information into
      *  the report then closes the file.
      *
<font color='#880000'>-     *  @param[in] fileName identifies the size report file name
</font><font color='#000088'>+     *  @param[in] fileName identifies the report file name
</font>      */
     virtual bool PutNoBranchInfo(
       FILE* report
<font color='#997700'>@@ -222,7 +252,7 @@
</font>     /*!
      *  This method puts a branch entry into the branch report.<span style="background-color: #FF0000"> </span>
      *
<font color='#880000'>-     *  @param[in] fileName identifies the size report file name
</font><font color='#000088'>+     *  @param[in] fileName identifies the report file name
</font>      */
     virtual bool PutBranchEntry(
       FILE*                                            report,
<font color='#997700'>@@ -235,7 +265,7 @@
</font>      *  This method reports when no range is available for<span style="background-color: #FF0000"> </span>
      *  a symbol in the coverage report.
      *
<font color='#880000'>-     *  @param[in] fileName identifies the size report file name
</font><font color='#000088'>+     *  @param[in] fileName identifies the report file name
</font>      */
     virtual void putCoverageNoRange(
       FILE*        report,
<font color='#997700'>@@ -246,7 +276,7 @@
</font>     /*!
      *  This method puts a line in the coverage report.
      *
<font color='#880000'>-     *  @param[in] fileName identifies the size report file name
</font><font color='#000088'>+     *  @param[in] fileName identifies the report file name
</font>      */
     virtual bool PutCoverageLine(
       FILE*                                           report,
<font color='#997700'>@@ -266,6 +296,18 @@
</font>       Coverage::DesiredSymbols::symbolSet_t::iterator symbol,
       Coverage::CoverageRanges::ranges_t::iterator    range
     )=0;
<font color='#000088'>+
+    /*!
+     *  This method method puts a line into the symbol summary report.
+     *
+     *  @param[in] fileName identifies the report file name
+     */
+    virtual bool PutSymbolSummaryLine(
+      FILE*                                           report,
+      unsigned int                                    number,
+      Coverage::DesiredSymbols::symbolSet_t::iterator symbol,
+      Coverage::CoverageRanges::ranges_t::iterator    range
+    )=0;
</font> };
 
 void GenerateReports();

<font color='#006600'>diff -u gcc-testing/rtems-coverage/ReportsBase.cc:1.8 gcc-testing/rtems-coverage/ReportsBase.cc:1.9
--- gcc-testing/rtems-coverage/ReportsBase.cc:1.8       Tue May 11 16:21:25 2010
+++ gcc-testing/rtems-coverage/ReportsBase.cc   Wed May 12 11:14:15 2010
</font><font color='#997700'>@@ -29,7 +29,6 @@
</font> {
 }
 
<font color='#880000'>-
</font> FILE* ReportsBase::OpenFile(
   const char* const fileName
 )
<font color='#997700'>@@ -86,6 +85,12 @@
</font>   return OpenFile(fileName);
 }
 
<font color='#000088'>+FILE* ReportsBase::OpenSymbolSummaryFile(
+  const char* const fileName
+)
+{
+  return OpenFile(fileName);
+}
</font> 
 void ReportsBase::CloseFile(
   FILE*  aFile
<font color='#997700'>@@ -123,6 +128,12 @@
</font>   CloseFile( aFile );
 }
 
<font color='#000088'>+void  ReportsBase::CloseSymbolSummaryFile(
+  FILE*  aFile
+)
+{
+  CloseFile( aFile );
+}
</font> 
 /*
  *  Write annotated report
<font color='#997700'>@@ -350,6 +361,44 @@
</font>   CloseSizeFile( report );
 }
 
<font color='#000088'>+void ReportsBase::WriteSymbolSummaryReport(
+  const char* const fileName
+)
+{
+  Coverage::DesiredSymbols::symbolSet_t::iterator ditr;
+  FILE*                                           report;
+  Coverage::CoverageRanges::ranges_t::iterator    ritr;
+  Coverage::CoverageRanges*                       theRanges;
+  unsigned int                                    count;
+
+  // Open the report file.
+  report = OpenSymbolSummaryFile( fileName );
+  if ( !report ) {
+    return;
+  }
+
+  // Process uncovered ranges for each symbol.
+  count = 0;
+  for (ditr = SymbolsToAnalyze->set.begin();
+       ditr != SymbolsToAnalyze->set.end();
+       ditr++) {
+
+    theRanges = ditr->second.uncoveredRanges;
+
+    if (theRanges && !theRanges->set.empty()) {
+
+      for (ritr =  theRanges->set.begin() ;
+           ritr != theRanges->set.end() ;
+           ritr++ ) {
+        PutSymbolSummaryLine( report, count, ditr, ritr );
+        count++;
+      }
+    }
+  }
+
+  CloseSymbolSummaryFile( report );
+}
+
</font> void GenerateReports()
 {
   typedef std::list<ReportsBase *> reportList_t;
<font color='#997700'>@@ -379,6 +428,8 @@
</font>     reportName = "sizes" + reports->ReportExtension();
     reports->WriteSizeReport(reportName.c_str() );
 
<font color='#000088'>+    reportName = "symbolSummary" + reports->ReportExtension();
+    reports->WriteSizeReport(reportName.c_str() );
</font>   }
 
   for (ritr = reportList.begin(); ritr != reportList.end(); ritr++ ) {

<font color='#006600'>diff -u gcc-testing/rtems-coverage/ReportsHtml.h:1.4 gcc-testing/rtems-coverage/ReportsHtml.h:1.5
--- gcc-testing/rtems-coverage/ReportsHtml.h:1.4        Wed May 12 09:04:48 2010
+++ gcc-testing/rtems-coverage/ReportsHtml.h    Wed May 12 11:14:16 2010
</font><font color='#997700'>@@ -72,6 +72,10 @@
</font>       const char* const fileName
     );
 
<font color='#000088'>+    virtual FILE* OpenSymbolSummaryFile(
+      const char* const fileName
+    );
+
</font>     virtual void CloseAnnotatedFile(
       FILE*  aFile
     );
<font color='#997700'>@@ -89,6 +93,10 @@
</font>       FILE*  aFile
     );
 
<font color='#000088'>+    virtual void CloseSymbolSummaryFile(
+      FILE*  aFile
+    );
+
</font>     virtual void PutAnnotatedLine(<span style="background-color: #FF0000"> </span>
       FILE*                aFile,<span style="background-color: #FF0000"> </span>
       AnnotatedLineState_t state,<span style="background-color: #FF0000"> </span>
<font color='#997700'>@@ -127,6 +135,13 @@
</font>       Coverage::CoverageRanges::ranges_t::iterator    range
     );
 
<font color='#000088'>+    virtual bool PutSymbolSummaryLine(
+      FILE*                                           report,
+      unsigned int                                    number,
+      Coverage::DesiredSymbols::symbolSet_t::iterator symbol,
+      Coverage::CoverageRanges::ranges_t::iterator    range
+    );
+
</font>     virtual FILE* OpenFile(
       const char* const fileName
     );

<font color='#006600'>diff -u gcc-testing/rtems-coverage/ReportsHtml.cc:1.6 gcc-testing/rtems-coverage/ReportsHtml.cc:1.7
--- gcc-testing/rtems-coverage/ReportsHtml.cc:1.6       Wed May 12 09:12:36 2010
+++ gcc-testing/rtems-coverage/ReportsHtml.cc   Wed May 12 11:14:16 2010
</font><font color='#997700'>@@ -141,6 +141,29 @@
</font>     return aFile;
   }
 
<font color='#000088'>+  FILE*  ReportsHtml::OpenSymbolSummaryFile(
+    const char* const fileName
+  )
+  {
+    FILE *aFile;
+
+    // Open the file
+    aFile = OpenFile(fileName);
+
+    // Put header information into the file
+    fprintf(
+      aFile,
+      "<table class=\"covoar-table\">\n"
+      "<tbody class=\"covoar-tbody\">\n"
+      "<tr class=\"covoar-tr covoar-tr-first\">\n"
+      "<th class=\"covoar-th\">Size</th>\n"
+      "<th class=\"covoar-th\">Symbol</th>\n"
+      "<th class=\"covoar-th\">File</th>\n"
+      "</tr>\n"
+    );
+    return aFile;
+  }
+
</font>   void ReportsHtml::PutAnnotatedLine(<span style="background-color: #FF0000"> </span>
     FILE*                aFile,<span style="background-color: #FF0000"> </span>
     AnnotatedLineState_t state,<span style="background-color: #FF0000"> </span>
<font color='#997700'>@@ -521,6 +544,44 @@
</font>     return true;
   }
 
<font color='#000088'>+  bool  ReportsHtml::PutSymbolSummaryLine(
+    FILE*                                           report,
+    unsigned int                                    count,
+    Coverage::DesiredSymbols::symbolSet_t::iterator symbol,
+    Coverage::CoverageRanges::ranges_t::iterator    range
+  )
+  {
+    // Mark the background color different for odd and even lines.
+    fprintf( report, "</tr>\n");
+    if ( ( count%2 ) == 0 )
+      fprintf( report, "<tr class=\"covoar-tr covoar-tr-even\">\n");
+    else
+      fprintf( report, "<tr class=\"covoar-tr covoar-tr-odd\">\n");
+
+    // size
+    fprintf(<span style="background-color: #FF0000"> </span>
+      report,<span style="background-color: #FF0000"> </span>
+      "<td class=\"covoar-td\" align=\"center\">%d</td>\n",
+      range->highAddress - range->lowAddress + 1
+    );
+
+    // symbol
+    fprintf(<span style="background-color: #FF0000"> </span>
+      report,<span style="background-color: #FF0000"> </span>
+      "<td class=\"covoar-td\" align=\"center\">%s</td>\n",<span style="background-color: #FF0000">     </span>
+      symbol->first.c_str()
+    );
+
+    // file
+    fprintf(<span style="background-color: #FF0000"> </span>
+      report,<span style="background-color: #FF0000"> </span>
+      "<td class=\"covoar-td\" align=\"center\">%s</td>\n",<span style="background-color: #FF0000">     </span>
+      range->lowSourceLine.c_str()
+    );
+
+    return true;
+  }
+
</font>   void ReportsHtml::CloseAnnotatedFile(
     FILE*  aFile
   )
<font color='#997700'>@@ -580,6 +641,18 @@
</font>     fprintf( aFile, "</tbody>\n" );
     fprintf( aFile, "</table>\n" );
     fprintf( aFile, "</pre>\n" );
<font color='#000088'>+    fprintf( aFile,"</body>\n");
+    fprintf( aFile,"</html>");
+
+    CloseFile( aFile );
+  }
+
+  void ReportsHtml::CloseSymbolSummaryFile(
+    FILE*  aFile
+  )
+  {
+    fprintf( aFile, "</tbody>\n" );
+    fprintf( aFile, "</table>\n" );
</font>     fprintf( aFile, "</pre>\n" );
     fprintf( aFile,"</body>\n");
     fprintf( aFile,"</html>");

<font color='#006600'>diff -u gcc-testing/rtems-coverage/ReportsText.h:1.3 gcc-testing/rtems-coverage/ReportsText.h:1.4
--- gcc-testing/rtems-coverage/ReportsText.h:1.3        Mon May 10 13:10:16 2010
+++ gcc-testing/rtems-coverage/ReportsText.h    Wed May 12 11:14:16 2010
</font><font color='#997700'>@@ -94,7 +94,12 @@
</font>       Coverage::CoverageRanges::ranges_t::iterator    range
     );
 
<font color='#880000'>-
</font><font color='#000088'>+    virtual bool PutSymbolSummaryLine(
+      FILE*                                           report,
+      unsigned int                                    number,
+      Coverage::DesiredSymbols::symbolSet_t::iterator symbol,
+      Coverage::CoverageRanges::ranges_t::iterator    range
+    );
</font> 
 };
 

<font color='#006600'>diff -u gcc-testing/rtems-coverage/ReportsText.cc:1.4 gcc-testing/rtems-coverage/ReportsText.cc:1.5
--- gcc-testing/rtems-coverage/ReportsText.cc:1.4       Tue May 11 16:21:25 2010
+++ gcc-testing/rtems-coverage/ReportsText.cc   Wed May 12 11:14:16 2010
</font><font color='#997700'>@@ -205,6 +205,21 @@
</font>   return true;
 }
 
<font color='#880000'>-
</font><font color='#000088'>+bool  ReportsText::PutSymbolSummaryLine(
+  FILE*                                      report,
+  unsigned int                                     number,
+  Coverage::DesiredSymbols::symbolSet_t::iterator symbol,
+  Coverage::CoverageRanges::ranges_t::iterator    range
+)
+{
+  fprintf(
+    report,
+    "%d\t%s\t%s\n",
+    range->highAddress - range->lowAddress + 1,
+    symbol->first.c_str(),
+    range->lowSourceLine.c_str()
+  );
+  return true;
+}
</font> 
 }
</pre>
<p> </p>
<a name='cs2'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>joel</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-05-12 Joel Sherrill <joel.sherrilL@OARcorp.com>

        * ReportsBase.cc, ReportsBase.h, ReportsHtml.cc, ReportsHtml.h: Add
        index file to reports written.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/ChangeLog.diff?r1=text&tr1=1.232&r2=text&tr2=1.233&diff_format=h">M</a></td><td width='1%'>1.233</td><td width='100%'>rtems-coverage/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/ReportsBase.h.diff?r1=text&tr1=1.6&r2=text&tr2=1.7&diff_format=h">M</a></td><td width='1%'>1.7</td><td width='100%'>rtems-coverage/ReportsBase.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/ReportsBase.cc.diff?r1=text&tr1=1.9&r2=text&tr2=1.10&diff_format=h">M</a></td><td width='1%'>1.10</td><td width='100%'>rtems-coverage/ReportsBase.cc</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/ReportsHtml.h.diff?r1=text&tr1=1.5&r2=text&tr2=1.6&diff_format=h">M</a></td><td width='1%'>1.6</td><td width='100%'>rtems-coverage/ReportsHtml.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/ReportsHtml.cc.diff?r1=text&tr1=1.7&r2=text&tr2=1.8&diff_format=h">M</a></td><td width='1%'>1.8</td><td width='100%'>rtems-coverage/ReportsHtml.cc</td></tr>
</table>
<pre>
<font color='#006600'>diff -u gcc-testing/rtems-coverage/ChangeLog:1.232 gcc-testing/rtems-coverage/ChangeLog:1.233
--- gcc-testing/rtems-coverage/ChangeLog:1.232  Wed May 12 11:14:15 2010
+++ gcc-testing/rtems-coverage/ChangeLog        Wed May 12 11:39:01 2010
</font><font color='#997700'>@@ -1,5 +1,10 @@
</font> 2010-05-12        Joel Sherrill <joel.sherrilL@OARcorp.com>
 
<font color='#000088'>+   * ReportsBase.cc, ReportsBase.h, ReportsHtml.cc, ReportsHtml.h: Add
+       index file to reports written.
+
+2010-05-12     Joel Sherrill <joel.sherrilL@OARcorp.com>
+
</font>   * ReportsBase.cc, ReportsBase.h, ReportsHtml.cc, ReportsHtml.h,
        ReportsText.cc, ReportsText.h: Add initial Symbol Summary report as
        copy of Size report.

<font color='#006600'>diff -u gcc-testing/rtems-coverage/ReportsBase.h:1.6 gcc-testing/rtems-coverage/ReportsBase.h:1.7
--- gcc-testing/rtems-coverage/ReportsBase.h:1.6        Wed May 12 11:14:16 2010
+++ gcc-testing/rtems-coverage/ReportsBase.h    Wed May 12 11:39:01 2010
</font><font color='#997700'>@@ -27,6 +27,15 @@
</font>     ~ReportsBase();
 
     /*!
<font color='#000088'>+     *  This method produces an index of the reports generated.
+     *
+     *  @param[in] fileName identifies the report file name
+     */
+    virtual void WriteIndex(
+      const char* const fileName
+    );
+
+    /*!
</font>      *  This method produces an annotated assembly listing report containing
      *  the disassembly of each symbol that was not completely covered.
      *

<font color='#006600'>diff -u gcc-testing/rtems-coverage/ReportsBase.cc:1.9 gcc-testing/rtems-coverage/ReportsBase.cc:1.10
--- gcc-testing/rtems-coverage/ReportsBase.cc:1.9       Wed May 12 11:14:15 2010
+++ gcc-testing/rtems-coverage/ReportsBase.cc   Wed May 12 11:39:01 2010
</font><font color='#997700'>@@ -56,6 +56,12 @@
</font>   return aFile;
 }
 
<font color='#000088'>+void ReportsBase::WriteIndex(
+  const char* const fileName
+)
+{
+}
+
</font> FILE* ReportsBase::OpenAnnotatedFile(
   const char* const fileName
 )
<font color='#997700'>@@ -416,6 +422,9 @@
</font>   for (ritr = reportList.begin(); ritr != reportList.end(); ritr++ ) {
     reports = *ritr;
 
<font color='#000088'>+    reportName = "index" + reports->ReportExtension();
+    reports->WriteIndex( reportName.c_str() );
+
</font>     reportName = "annotated" + reports->ReportExtension();
     reports->WriteAnnotatedReport( reportName.c_str() );
 

<font color='#006600'>diff -u gcc-testing/rtems-coverage/ReportsHtml.h:1.5 gcc-testing/rtems-coverage/ReportsHtml.h:1.6
--- gcc-testing/rtems-coverage/ReportsHtml.h:1.5        Wed May 12 11:14:16 2010
+++ gcc-testing/rtems-coverage/ReportsHtml.h    Wed May 12 11:39:01 2010
</font><font color='#997700'>@@ -25,35 +25,44 @@
</font>     ReportsHtml();
    ~ReportsHtml();
 
<font color='#880000'>-  /*!
-   *  This method produces a report that contains information about each
-   *  uncovered branch statement.
-   *
-   *  @param[in] fileName identifies the branch report file name
-   */
-  void WriteBranchReport(
-    const char* const fileName
-  );
-
-  /*!
-   *  This method produces a report that contains information about each
-   *  uncovered range of bytes.
-   *
-   *  @param[in] fileName identifies the coverage report file name
-   */
-  void WriteCoverageReport(
-    const char* const fileName
-  );
-
-  /*!
-   *  This method produces a summary report that lists each uncovered
-   *  range of bytes.
-   *
-   *  @param[in] fileName identifies the size report file name
-   */
-  void WriteSizeReport(
-    const char* const fileName
-  );
</font><font color='#000088'>+   /*!
+    *  This method produces an index file.
+    *
+    *  @param[in] fileName identifies the file name.
+    */
+   void WriteIndex(
+     const char* const fileName
+   );
+
+   /*!
+    *  This method produces a report that contains information about each
+    *  uncovered branch statement.
+    *
+    *  @param[in] fileName identifies the branch report file name
+    */
+   void WriteBranchReport(
+     const char* const fileName
+   );
+
+   /*!
+    *  This method produces a report that contains information about each
+    *  uncovered range of bytes.
+    *
+    *  @param[in] fileName identifies the coverage report file name
+    */
+   void WriteCoverageReport(
+     const char* const fileName
+   );
+
+   /*!
+    *  This method produces a summary report that lists each uncovered
+    *  range of bytes.
+    *
+    *  @param[in] fileName identifies the size report file name
+    */
+   void WriteSizeReport(
+     const char* const fileName
+   );
</font> 
   protected:
 

<font color='#006600'>diff -u gcc-testing/rtems-coverage/ReportsHtml.cc:1.7 gcc-testing/rtems-coverage/ReportsHtml.cc:1.8
--- gcc-testing/rtems-coverage/ReportsHtml.cc:1.7       Wed May 12 11:14:16 2010
+++ gcc-testing/rtems-coverage/ReportsHtml.cc   Wed May 12 11:39:01 2010
</font><font color='#997700'>@@ -24,6 +24,46 @@
</font>   {
   }
 
<font color='#000088'>+  void ReportsHtml::WriteIndex(
+    const char* const fileName
+  )
+  {
+    #define PRINT_ITEM( _t, _n ) \
+       fprintf( \
+         aFile, \
+         "<li>%s (<a href=\"%s.html\">html</a> or "\
+         "<a href=\"%s.txt\">text</a>)</li>", \
+        _t, _n, _n );
+    #define PRINT_TEXT_ITEM( _t, _n ) \
+       fprintf( \
+         aFile, \
+         "<li>%s (<a href=\"%s\">text</a>)", \
+        _t, _n );
+
+    FILE*  aFile;
+<span style="background-color: #FF0000">    </span>
+    // Open the file
+    aFile = OpenFile( fileName );
+
+    fprintf( aFile, "<strong>Reports Available</string>\n" );
+    fprintf( aFile, "<ul>\n" );
+
+    PRINT_ITEM( "Coverage Report",      "uncovered" );
+    PRINT_ITEM( "Branch Report",        "branch" );
+    PRINT_ITEM( "Annotated Assembly",   "annotated" );
+    PRINT_ITEM( "Symbol Summary",       "symbolSummary" );
+    PRINT_ITEM( "Size Report",          "sizes" );
+
+    PRINT_TEXT_ITEM( "Explanations Not Found", "ExplanationsNotFound.txt" );
+
+    fprintf( aFile, "</li>\n" );
+
+    CloseFile( aFile );
+
+    #undef PRINT_ITEM
+    #undef PRINT_TEXT_ITEM
+  }
+
</font>   FILE* ReportsHtml::OpenFile(
     const char* const fileName
   )
<font color='#997700'>@@ -44,7 +84,6 @@
</font>       "<pre class=\"code\">\n"
     );
 
<font color='#880000'>-
</font>     return aFile;
   }
 
</pre>
<p> </p>

<p>--<br />
<small>Generated by <a href="http://www.codewiz.org/projects/index.html#loginfo">Deluxe Loginfo</a> 2.122 by Bernardo Innocenti <bernie@develer.com></small></p>
</body>
</html>