summaryrefslogtreecommitdiff
path: root/rtems-coverage
diff options
context:
space:
mode:
authorJennifer Averett <Jennifer.Averett@OARcorp.com>2010-05-19 14:47:12 +0000
committerJennifer Averett <Jennifer.Averett@OARcorp.com>2010-05-19 14:47:12 +0000
commit7a7ba6eab92b07b72202d656ba7539f7662eda88 (patch)
tree8640b6bb9de4f897f1bfd6e8d987a5d075025810 /rtems-coverage
parent7e2f6d08c60f33b1e1fee36d9afd44097368735f (diff)
2010-05-19 Jennifer Averett <Jennifer.Averett@OARcorp.com>
* ConfigFile.h, CoverageRanges.h, DesiredSymbols.h, Doxyfile, ObjdumpProcessor.h, ReportsBase.cc, ReportsBase.h, ReportsHtml.cc, ReportsHtml.h, ReportsText.cc, ReportsText.h, Target_lm32.h, Target_m68k.h, Target_powerpc.h, TraceList.h, qemu-log.h, rtemscov_header.h: Resolved doxygen warnings. Added a NoRange report which lists all symbols that are never accessed by an executable.
Diffstat (limited to 'rtems-coverage')
-rw-r--r--rtems-coverage/ChangeLog9
-rw-r--r--rtems-coverage/ConfigFile.h5
-rw-r--r--rtems-coverage/CoverageRanges.h37
-rw-r--r--rtems-coverage/DesiredSymbols.h7
-rw-r--r--rtems-coverage/Doxyfile2
-rw-r--r--rtems-coverage/ObjdumpProcessor.h13
-rw-r--r--rtems-coverage/ReportsBase.cc31
-rw-r--r--rtems-coverage/ReportsBase.h75
-rw-r--r--rtems-coverage/ReportsHtml.cc75
-rw-r--r--rtems-coverage/ReportsHtml.h40
-rw-r--r--rtems-coverage/ReportsText.cc2
-rw-r--r--rtems-coverage/ReportsText.h5
-rw-r--r--rtems-coverage/Target_lm32.h2
-rw-r--r--rtems-coverage/Target_m68k.h2
-rw-r--r--rtems-coverage/Target_powerpc.h2
-rw-r--r--rtems-coverage/TraceList.h23
-rw-r--r--rtems-coverage/qemu-log.h4
-rw-r--r--rtems-coverage/rtemscov_header.h5
18 files changed, 314 insertions, 25 deletions
diff --git a/rtems-coverage/ChangeLog b/rtems-coverage/ChangeLog
index 2788dd3..7b738c8 100644
--- a/rtems-coverage/ChangeLog
+++ b/rtems-coverage/ChangeLog
@@ -1,3 +1,12 @@
+2010-05-19 Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+ * ConfigFile.h, CoverageRanges.h, DesiredSymbols.h, Doxyfile,
+ ObjdumpProcessor.h, ReportsBase.cc, ReportsBase.h, ReportsHtml.cc,
+ ReportsHtml.h, ReportsText.cc, ReportsText.h, Target_lm32.h,
+ Target_m68k.h, Target_powerpc.h, TraceList.h, qemu-log.h,
+ rtemscov_header.h: Resolved doxygen warnings. Added a NoRange report
+ which lists all symbols that are never accessed by an executable.
+
2010-05-19 Joel Sherrill <joel.sherrilL@OARcorp.com>
* covoar.cc: Add executable and coverage file extension parameters
diff --git a/rtems-coverage/ConfigFile.h b/rtems-coverage/ConfigFile.h
index 9728225..4ff98de 100644
--- a/rtems-coverage/ConfigFile.h
+++ b/rtems-coverage/ConfigFile.h
@@ -15,6 +15,11 @@
namespace Configuration {
+ /*!
+ *
+ * This structure contains the configuration parameter
+ * name and value pair.
+ */
typedef struct {
const char *option;
const char *value;
diff --git a/rtems-coverage/CoverageRanges.h b/rtems-coverage/CoverageRanges.h
index 144e43c..de2f311 100644
--- a/rtems-coverage/CoverageRanges.h
+++ b/rtems-coverage/CoverageRanges.h
@@ -42,19 +42,54 @@ namespace Coverage {
* This type defines the information kept for each range.
*/
typedef struct {
+ /*!
+ * This member contains an identification number for this
+ * coverage range.
+ */
uint32_t id;
+
+ /*!
+ * This member contains the low address of this coverage
+ * range.
+ */
uint32_t lowAddress;
+
+ /*!
+ * This member contains the source line associated with the
+ * low address for this coverage range.
+ */
std::string lowSourceLine;
+
+ /*!
+ * This member contains the high address for this coverage range.
+ */
uint32_t highAddress;
+
+ /*!
+ * This member contains the high source line for this coverage range.
+ */
std::string highSourceLine;
+
+ /*!
+ * This member contains an instruction count for this coverage
+ * address range.
+ */
uint32_t instructionCount;
+
+ /*!
+ * This member contains the reason that this area was uncovered.
+ */
uncoveredReason_t reason;
} coverageRange_t;
/*!
- * This member variable contains a list of CoverageRange instances.
+ * This type contains a list of CoverageRange instances.
*/
typedef std::list<coverageRange_t> ranges_t;
+
+ /*!
+ * This member contains a list of the CoverageRange instances.
+ */
ranges_t set;
/*!
diff --git a/rtems-coverage/DesiredSymbols.h b/rtems-coverage/DesiredSymbols.h
index d73704a..7cc07dc 100644
--- a/rtems-coverage/DesiredSymbols.h
+++ b/rtems-coverage/DesiredSymbols.h
@@ -24,7 +24,7 @@
namespace Coverage {
- /*! @class Stats
+ /*!
*
* This class defines the statistics that are tracked.
*/
@@ -188,6 +188,11 @@ namespace Coverage {
* This map associates each symbol with its symbol information.
*/
typedef std::map<std::string, SymbolInformation> symbolSet_t;
+
+ /*!
+ * This variable contains a map of ymbol sets for each
+ * symbol in the system keyed on the symbol name.
+ */
symbolSet_t set;
/*!
diff --git a/rtems-coverage/Doxyfile b/rtems-coverage/Doxyfile
index 26742b5..c2417d5 100644
--- a/rtems-coverage/Doxyfile
+++ b/rtems-coverage/Doxyfile
@@ -585,7 +585,7 @@ INPUT_ENCODING = UTF-8
# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
-FILE_PATTERNS =
+FILE_PATTERNS = *.h
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
# should be searched for input files as well. Possible values are YES and NO.
diff --git a/rtems-coverage/ObjdumpProcessor.h b/rtems-coverage/ObjdumpProcessor.h
index 84efec6..da24f2d 100644
--- a/rtems-coverage/ObjdumpProcessor.h
+++ b/rtems-coverage/ObjdumpProcessor.h
@@ -72,8 +72,17 @@ namespace Coverage {
} objdumpLine_t;
+ /*!
+ * This object defines a list of object dump lines
+ * for a file.
+ */
typedef std::list<objdumpLine_t> objdumpLines_t;
+
+ /*!
+ * This object defines a list of instruction addresses
+ * that will be extracted from the objdump file.
+ */
typedef std::list<uint32_t> objdumpFile_t;
/*!
@@ -135,6 +144,10 @@ namespace Coverage {
private:
+ /*!
+ * This variable consists of a list of all instruction addresses
+ * extracted from the obj dump file.
+ */
objdumpFile_t objdumpList;
/*!
diff --git a/rtems-coverage/ReportsBase.cc b/rtems-coverage/ReportsBase.cc
index e55708e..fc4b1a1 100644
--- a/rtems-coverage/ReportsBase.cc
+++ b/rtems-coverage/ReportsBase.cc
@@ -84,6 +84,14 @@ FILE* ReportsBase::OpenCoverageFile(
return OpenFile(fileName);
}
+FILE* ReportsBase::OpenNoRangeFile(
+ const char* const fileName
+)
+{
+ return OpenFile(fileName);
+}
+
+
FILE* ReportsBase::OpenSizeFile(
const char* const fileName
)
@@ -127,6 +135,13 @@ void ReportsBase::CloseCoverageFile(
CloseFile( aFile );
}
+void ReportsBase::CloseNoRangeFile(
+ FILE* aFile
+)
+{
+ CloseFile( aFile );
+}
+
void ReportsBase::CloseSizeFile(
FILE* aFile
)
@@ -289,7 +304,17 @@ void ReportsBase::WriteCoverageReport(
FILE* report;
Coverage::CoverageRanges::ranges_t::iterator ritr;
Coverage::CoverageRanges* theRanges;
- unsigned int count;
+ unsigned int count, count2;
+ FILE* NoRangeFile;
+ std::string NoRangeName;
+
+ // Open special file that captures NoRange informaiton
+ NoRangeName = "no_range_";
+ NoRangeName += fileName;
+ NoRangeFile = OpenNoRangeFile ( NoRangeName.c_str() );
+ if (!NoRangeFile) {
+ return;
+ }
// Open the coverage report file.
report = OpenCoverageFile( fileName );
@@ -310,7 +335,7 @@ void ReportsBase::WriteCoverageReport(
// desired symbols list or with the executables so put something
// in the report.
if (theRanges == NULL) {
- putCoverageNoRange( report, count, ditr->first );
+ putCoverageNoRange( report, NoRangeFile, count, ditr->first );
count++;
} else if (!theRanges->set.empty()) {
@@ -323,7 +348,9 @@ void ReportsBase::WriteCoverageReport(
}
}
+ CloseNoRangeFile( NoRangeFile );
CloseCoverageFile( report );
+
}
/*
diff --git a/rtems-coverage/ReportsBase.h b/rtems-coverage/ReportsBase.h
index dec45ba..443eed6 100644
--- a/rtems-coverage/ReportsBase.h
+++ b/rtems-coverage/ReportsBase.h
@@ -19,7 +19,11 @@
namespace Coverage {
-
+/*!
+ * This class contains the base information to create a report
+ * set. The report set may be text based, html based or some
+ * other format to be defined at a future time.
+ */
class ReportsBase {
public:
@@ -89,8 +93,6 @@ class ReportsBase {
* This method returns the unique extension for the Report
* type. If the extension is ".txt" files will be
* named "annotated.txt", "branch.txt" ......
- *
- * @param[in] fileName identifies the report file name
*/
std::string ReportExtension() { return reportExtension_m; }
@@ -153,6 +155,16 @@ class ReportsBase {
virtual FILE* OpenCoverageFile(
const char* const fileName
);
+
+ /*!
+ * This method opens a report file and verifies that it opened.
+ * Then appends any necessary header information onto the file.
+ *
+ * @param[in] fileName identifies the report file name
+ */
+ virtual FILE* OpenNoRangeFile(
+ const char* const fileName
+ );
/*!
* This method opens a report file and verifies that it opened.
@@ -177,7 +189,7 @@ class ReportsBase {
/*!
* This method Closes a report file.
*
- * @param[in] fileName identifies the report file name
+ * @param[in] aFile identifies the report file name
*/
void CloseFile(
FILE* aFile
@@ -187,7 +199,7 @@ class ReportsBase {
* This method puts any necessary footer information into
* the report then closes the file.
*
- * @param[in] fileName identifies the report file name
+ * @param[in] aFile identifies the report file name
*/
virtual void CloseAnnotatedFile(
FILE* aFile
@@ -197,7 +209,7 @@ class ReportsBase {
* This method puts any necessary footer information into
* the report then closes the file.
*
- * @param[in] fileName identifies the report file name
+ * @param[in] aFile identifies the report file name
* @param[in] hasBranches indicates if there are branches to report
*/
virtual void CloseBranchFile(
@@ -209,7 +221,7 @@ class ReportsBase {
* This method puts any necessary footer information into
* the report then closes the file.
*
- * @param[in] fileName identifies the report file name
+ * @param[in] aFile identifies the report file name
*/
virtual void CloseCoverageFile(
FILE* aFile
@@ -219,7 +231,17 @@ class ReportsBase {
* This method puts any necessary footer information into
* the report then closes the file.
*
- * @param[in] fileName identifies the report file name
+ * @param[in] aFile identifies the report file name
+ */
+ void CloseNoRangeFile(
+ FILE* aFile
+ );
+
+ /*!
+ * This method puts any necessary footer information into
+ * the report then closes the file.
+ *
+ * @param[in] aFile identifies the report file name
*/
virtual void CloseSizeFile(
FILE* aFile
@@ -229,7 +251,7 @@ class ReportsBase {
* This method puts any necessary footer information into
* the report then closes the file.
*
- * @param[in] fileName identifies the report file name
+ * @param[in] aFile identifies the report file name
*/
virtual void CloseSymbolSummaryFile(
FILE* aFile
@@ -239,7 +261,10 @@ class ReportsBase {
* This method puts any necessary footer information into
* the report then closes the file.
*
- * @param[in] fileName identifies the report file name
+ * @param[in] aFile identifies the report file name
+ * @param[in] state identifies the state machine state
+ * @param[in] line identifies the string to print
+ * @param[in] id identifies the branch or range id.
*/
virtual void PutAnnotatedLine(
FILE* aFile,
@@ -252,7 +277,7 @@ class ReportsBase {
* This method puts any necessary footer information into
* the report then closes the file.
*
- * @param[in] fileName identifies the report file name
+ * @param[in] report identifies the report file name
*/
virtual bool PutNoBranchInfo(
FILE* report
@@ -261,7 +286,10 @@ class ReportsBase {
/*!
* This method puts a branch entry into the branch report.
*
- * @param[in] fileName identifies the report file name
+ * @param[in] report identifies the report file name
+ * @param[in] number identifies the line number.
+ * @param[in] symbolPtr is a pointer to the symbol information
+ * @param[in] rangePtr is a pointer to the range information.
*/
virtual bool PutBranchEntry(
FILE* report,
@@ -274,10 +302,13 @@ class ReportsBase {
* This method reports when no range is available for
* a symbol in the coverage report.
*
- * @param[in] fileName identifies the report file name
+ * @param[in] report identifies the report file name
+ * @param[in] number identifies the line number.
+ * @param[in] symbol is a pointer to the symbol information
*/
virtual void putCoverageNoRange(
FILE* report,
+ FILE* noRangeFile,
unsigned int number,
std::string symbol
)=0;
@@ -285,7 +316,10 @@ class ReportsBase {
/*!
* This method puts a line in the coverage report.
*
- * @param[in] fileName identifies the report file name
+ * @param[in] report identifies the report file name
+ * @param[in] number identifies the line number.
+ * @param[in] ditr is a iterator to the symbol information
+ * @param[in] ritr is a iterator to the range information.
*/
virtual bool PutCoverageLine(
FILE* report,
@@ -297,7 +331,10 @@ class ReportsBase {
/*!
* This method method puts a line into the size report.
*
- * @param[in] fileName identifies the size report file name
+ * @param[in] report identifies the size report file name
+ * @param[in] number identifies the line number.
+ * @param[in] symbol is a pointer to the symbol information
+ * @param[in] range is a iterator to the range information.
*/
virtual bool PutSizeLine(
FILE* report,
@@ -309,7 +346,9 @@ class ReportsBase {
/*!
* This method method puts a line into the symbol summary report.
*
- * @param[in] fileName identifies the report file name
+ * @param[in] report identifies the report file name
+ * @param[in] number identifies the line number.
+ * @param[in] symbol is a pointer to the symbol information
*/
virtual bool PutSymbolSummaryLine(
FILE* report,
@@ -318,6 +357,10 @@ class ReportsBase {
)=0;
};
+/*!
+ * This method iterates over all report set types and generates
+ * all reports.
+ */
void GenerateReports();
}
diff --git a/rtems-coverage/ReportsHtml.cc b/rtems-coverage/ReportsHtml.cc
index 63d9181..7a5e451 100644
--- a/rtems-coverage/ReportsHtml.cc
+++ b/rtems-coverage/ReportsHtml.cc
@@ -117,6 +117,7 @@ namespace Coverage {
fprintf(
aFile,
+ "<title>Annotated Report</title>\n"
"<pre class=\"heading-title\">Annotated Report</pre>\n"
"<body>\n"
"<pre class=\"code\">\n"
@@ -139,6 +140,7 @@ namespace Coverage {
// Put header information into the file
fprintf(
aFile,
+ "<title>Branch Report</title\n"
"<pre class=\"heading-title\">Branch Report</pre>\n"
"<body>\n"
"<table class=\"covoar table-autosort:0 table-autofilter table-stripeclass:covoar-tr-odd"
@@ -172,6 +174,7 @@ namespace Coverage {
// Put header information into the file
fprintf(
aFile,
+ "<title>Coverage Report</title>\n"
"<pre class=\"heading-title\">Coverage Report</pre>\n"
"<body>\n"
"<table class=\"covoar table-autosort:0 table-autofilter table-stripeclass:covoar-tr-odd"
@@ -192,6 +195,36 @@ namespace Coverage {
return aFile;
}
+ FILE* ReportsHtml::OpenNoRangeFile(
+ const char* const fileName
+ )
+ {
+ FILE *aFile;
+
+ // Open the file
+ aFile = OpenFile(fileName);
+
+ // Put header information into the file
+ fprintf(
+ aFile,
+ "<title> Report</title>\n"
+ "<pre class=\"heading-title\">No Range Report</pre>\n"
+ "<body>\n"
+ "<table class=\"covoar table-autosort:0 table-autofilter table-stripeclass:covoar-tr-odd"
+ TABLE_HEADER_CLASS "\">\n"
+ "<thead>\n"
+ "<tr>\n"
+ "<th class=\"table-sortable:default\" align=\"left\">Symbol</th>\n"
+ "</tr>\n"
+ "</thead>\n"
+ "<tbody>\n"
+ );
+
+ return aFile;
+ }
+
+
+
FILE* ReportsHtml::OpenSizeFile(
const char* const fileName
)
@@ -204,6 +237,7 @@ namespace Coverage {
// Put header information into the file
fprintf(
aFile,
+ "<title>Size Report</title>\n"
"<pre class=\"heading-title\">Size Report</pre>\n"
"<body>\n"
"<table class=\"covoar table-autosort:0 table-autofilter table-stripeclass:covoar-tr-odd"
@@ -232,6 +266,7 @@ namespace Coverage {
// Put header information into the file
fprintf(
aFile,
+ "<title>Symbol Summary Report</title>\n"
"<pre class=\"heading-title\">Symbol Summary Report</pre>\n"
"<body>\n"
"<table class=\"covoar table-autosort:0 table-autofilter table-stripeclass:covoar-tr-odd"
@@ -344,6 +379,8 @@ namespace Coverage {
// Mark the background color different for odd and even lines.
if ( ( count%2 ) != 0 )
fprintf( report, "<tr class=\"covoar-tr-odd\">\n");
+ else
+ fprintf( report, "<tr>\n");
// symbol
fprintf(
@@ -432,6 +469,7 @@ namespace Coverage {
void ReportsHtml::putCoverageNoRange(
FILE* report,
+ FILE* noRangeFile,
unsigned int count,
std::string symbol
)
@@ -448,8 +486,13 @@ namespace Coverage {
);
// Mark the background color different for odd and even lines.
- if ( ( count%2 ) != 0 )
+ if ( ( count%2 ) != 0 ){
fprintf( report, "<tr class=\"covoar-tr-odd\">\n");
+ fprintf( noRangeFile, "<tr class=\"covoar-tr-odd\">\n");
+ } else {
+ fprintf( report, "<tr>\n");
+ fprintf( noRangeFile, "<tr>\n");
+ }
// symbol
fprintf(
@@ -457,6 +500,11 @@ namespace Coverage {
"<td class=\"covoar-td\" align=\"center\">%s</td>\n",
symbol.c_str()
);
+ fprintf(
+ noRangeFile,
+ "<td class=\"covoar-td\" align=\"center\">%s</td>\n",
+ symbol.c_str()
+ );
// starting line
fprintf(
@@ -486,6 +534,7 @@ namespace Coverage {
WriteExplationFile( "NotReferenced.html", &explanation );
fprintf( report, "</tr>\n");
+ fprintf( noRangeFile, "</tr>\n");
}
bool ReportsHtml::PutCoverageLine(
@@ -501,6 +550,8 @@ namespace Coverage {
// Mark the background color different for odd and even lines.
if ( ( count%2 ) != 0 )
fprintf( report, "<tr class=\"covoar-tr-odd\">\n");
+ else
+ fprintf( report, "<tr>\n");
// symbol
fprintf(
@@ -573,6 +624,8 @@ namespace Coverage {
// Mark the background color different for odd and even lines.
if ( ( count%2 ) != 0 )
fprintf( report, "<tr class=\"covoar-tr-odd\">\n");
+ else
+ fprintf( report, "<tr>\n");
// size
fprintf(
@@ -610,6 +663,8 @@ namespace Coverage {
// Mark the background color different for odd and even lines.
if ( ( count%2 ) != 0 )
fprintf( report, "<tr class=\"covoar-tr-odd\">\n");
+ else
+ fprintf( report, "<tr>\n");
// symbol
fprintf(
@@ -760,6 +815,24 @@ namespace Coverage {
CloseFile(aFile);
}
+ void ReportsHtml::CloseNoRangeFile(
+ FILE* aFile
+ )
+ {
+ fprintf(
+ aFile,
+ TABLE_FOOTER
+ "</tbody>\n"
+ "</table>\n"
+ "</pre>\n"
+ "</body>\n"
+ "</html>"
+ );
+
+ CloseFile(aFile);
+ }
+
+
void ReportsHtml::CloseSizeFile(
FILE* aFile
)
diff --git a/rtems-coverage/ReportsHtml.h b/rtems-coverage/ReportsHtml.h
index 1be15aa..3951329 100644
--- a/rtems-coverage/ReportsHtml.h
+++ b/rtems-coverage/ReportsHtml.h
@@ -19,6 +19,10 @@
namespace Coverage {
+/*!
+ * This class contains all methods and data necessary to
+ * do all of the HTML style reports.
+ */
class ReportsHtml: public ReportsBase {
public:
@@ -66,50 +70,77 @@ class ReportsHtml: public ReportsBase {
protected:
+ /*!
+ * This variable tracks the annotated state at the time the
+ * last line was output. This allows the text formating to change
+ * based upon the type of lines being put out: source code or assembly
+ * object dump line....
+ */
AnnotatedLineState_t lastState_m;
+ /* Inherit documentation from base class. */
virtual FILE* OpenAnnotatedFile(
const char* const fileName
);
+ /* Inherit documentation from base class. */
virtual FILE* OpenBranchFile(
const char* const fileName,
bool hasBranches
);
+ /* Inherit documentation from base class. */
virtual FILE* OpenCoverageFile(
const char* const fileName
);
+ /* Inherit documentation from base class. */
+ FILE* OpenNoRangeFile(
+ const char* const fileName
+ );
+
+ /* Inherit documentation from base class. */
virtual FILE* OpenSizeFile(
const char* const fileName
);
+ /* Inherit documentation from base class. */
virtual FILE* OpenSymbolSummaryFile(
const char* const fileName
);
+ /* Inherit documentation from base class. */
virtual void CloseAnnotatedFile(
FILE* aFile
);
+ /* Inherit documentation from base class. */
virtual void CloseBranchFile(
FILE* aFile,
bool hasBranches
);
+ /* Inherit documentation from base class. */
virtual void CloseCoverageFile(
FILE* aFile
);
+ /* Inherit documentation from base class. */
+ void CloseNoRangeFile(
+ FILE* aFile
+ );
+
+ /* Inherit documentation from base class. */
virtual void CloseSizeFile(
FILE* aFile
);
+ /* Inherit documentation from base class. */
virtual void CloseSymbolSummaryFile(
FILE* aFile
);
+ /* Inherit documentation from base class. */
virtual void PutAnnotatedLine(
FILE* aFile,
AnnotatedLineState_t state,
@@ -117,10 +148,12 @@ class ReportsHtml: public ReportsBase {
uint32_t id
);
+ /* Inherit documentation from base class. */
virtual bool PutNoBranchInfo(
FILE* report
);
+ /* Inherit documentation from base class. */
virtual bool PutBranchEntry(
FILE* report,
unsigned int number,
@@ -128,12 +161,15 @@ class ReportsHtml: public ReportsBase {
Coverage::CoverageRanges::ranges_t::iterator rangePtr
);
+ /* Inherit documentation from base class. */
virtual void putCoverageNoRange(
FILE* report,
+ FILE* noRangeFile,
unsigned int number,
std::string symbol
);
+ /* Inherit documentation from base class. */
virtual bool PutCoverageLine(
FILE* report,
unsigned int number,
@@ -141,6 +177,7 @@ class ReportsHtml: public ReportsBase {
Coverage::CoverageRanges::ranges_t::iterator ritr
);
+ /* Inherit documentation from base class. */
virtual bool PutSizeLine(
FILE* report,
unsigned int number,
@@ -148,16 +185,19 @@ class ReportsHtml: public ReportsBase {
Coverage::CoverageRanges::ranges_t::iterator range
);
+ /* Inherit documentation from base class. */
virtual bool PutSymbolSummaryLine(
FILE* report,
unsigned int number,
Coverage::DesiredSymbols::symbolSet_t::iterator symbol
);
+ /* Inherit documentation from base class. */
virtual FILE* OpenFile(
const char* const fileName
);
+ /* Inherit documentation from base class. */
virtual bool WriteExplationFile(
const char* fileName,
const Coverage::Explanation* explanation
diff --git a/rtems-coverage/ReportsText.cc b/rtems-coverage/ReportsText.cc
index 36a2967..efc68e9 100644
--- a/rtems-coverage/ReportsText.cc
+++ b/rtems-coverage/ReportsText.cc
@@ -115,6 +115,7 @@ bool ReportsText::PutBranchEntry(
void ReportsText::putCoverageNoRange(
FILE* report,
+ FILE* noRangeFile,
unsigned int number,
std::string symbol
)
@@ -131,6 +132,7 @@ void ReportsText::putCoverageNoRange(
"============================================\n",
symbol.c_str()
);
+ fprintf( noRangeFile, "%s\n", symbol.c_str() );
}
bool ReportsText::PutCoverageLine(
diff --git a/rtems-coverage/ReportsText.h b/rtems-coverage/ReportsText.h
index 8815609..35d159b 100644
--- a/rtems-coverage/ReportsText.h
+++ b/rtems-coverage/ReportsText.h
@@ -18,6 +18,10 @@
namespace Coverage {
+/*!
+ * This class contains all methods and data necessary to
+ * produce all text style reports.
+ */
class ReportsText: public ReportsBase {
public:
@@ -76,6 +80,7 @@ class ReportsText: public ReportsBase {
virtual void putCoverageNoRange(
FILE* report,
+ FILE* noRangeFile,
unsigned int number,
std::string symbol
);
diff --git a/rtems-coverage/Target_lm32.h b/rtems-coverage/Target_lm32.h
index 2b537fe..f8a36dc 100644
--- a/rtems-coverage/Target_lm32.h
+++ b/rtems-coverage/Target_lm32.h
@@ -18,7 +18,7 @@
namespace Target {
- /*! @class TargetBase
+ /*!
*
* This class is the class for the m68k Target.
*
diff --git a/rtems-coverage/Target_m68k.h b/rtems-coverage/Target_m68k.h
index 86c2c17..581fe52 100644
--- a/rtems-coverage/Target_m68k.h
+++ b/rtems-coverage/Target_m68k.h
@@ -18,7 +18,7 @@
namespace Target {
- /*! @class TargetBase
+ /*!
*
* This class is the class for the m68k Target.
*
diff --git a/rtems-coverage/Target_powerpc.h b/rtems-coverage/Target_powerpc.h
index 486eb5b..d35a407 100644
--- a/rtems-coverage/Target_powerpc.h
+++ b/rtems-coverage/Target_powerpc.h
@@ -18,7 +18,7 @@
namespace Target {
- /*! @class TargetBase
+ /*!
*
* This class is the class for the powerpc target.
*
diff --git a/rtems-coverage/TraceList.h b/rtems-coverage/TraceList.h
index 31e3343..0162286 100644
--- a/rtems-coverage/TraceList.h
+++ b/rtems-coverage/TraceList.h
@@ -25,6 +25,10 @@ namespace Trace {
public:
+ /*!
+ * This enumberated type defines an exit reason
+ * for the end of a section.
+ */
typedef enum {
EXIT_REASON_BRANCH_TAKEN,
EXIT_REASON_BRANCH_NOT_TAKEN,
@@ -35,8 +39,22 @@ namespace Trace {
* This type defines the information kept for each range.
*/
typedef struct {
+ /*!
+ * This member variable contains the low address for the
+ * trace range.
+ */
uint32_t lowAddress;
+
+ /*!
+ * This member variable contains the length of the trace
+ * range.
+ */
uint16_t length;
+
+ /*!
+ * This member variable contains the reason that this
+ * trace range ended.
+ */
exitReason_t exitReason;
} traceRange_t;
@@ -44,6 +62,11 @@ namespace Trace {
* This member variable contains a list of CoverageRange instances.
*/
typedef std::list<traceRange_t> ranges_t;
+
+ /*!
+ * This member variable contains a list of coverageRange
+ * instaces.
+ */
ranges_t set;
/*!
diff --git a/rtems-coverage/qemu-log.h b/rtems-coverage/qemu-log.h
index db5f287..d656897 100644
--- a/rtems-coverage/qemu-log.h
+++ b/rtems-coverage/qemu-log.h
@@ -13,6 +13,10 @@
#define QEMU_LOG_SECTION_END "----------------"
#define QEMU_LOG_IN_KEY "IN: "
+/*!
+ * This structure breaks apart the log line information
+ * into the components address, instruction and data.
+ */
typedef struct {
unsigned long address;
char instruction[10];
diff --git a/rtems-coverage/rtemscov_header.h b/rtems-coverage/rtemscov_header.h
index 6eaf318..d1267e9 100644
--- a/rtems-coverage/rtemscov_header.h
+++ b/rtems-coverage/rtemscov_header.h
@@ -15,6 +15,11 @@
#define MAX_DESC_STR 32
+/*!
+ *
+ * This structure contains XXX
+ */
+
typedef struct prof_header_s{
/** the version of header file */
int ver;