diff options
Diffstat (limited to 'covoar/GcovData.h')
-rw-r--r-- | covoar/GcovData.h | 199 |
1 files changed, 0 insertions, 199 deletions
diff --git a/covoar/GcovData.h b/covoar/GcovData.h deleted file mode 100644 index 83b8772..0000000 --- a/covoar/GcovData.h +++ /dev/null @@ -1,199 +0,0 @@ -/*! @file GcovData.h - * @brief GcovData Specification - * - * This file contains the specification of the GcovGcnoWriter class. - */ - -#ifndef __GCOV_DATA_H__ -#define __GCOV_DATA_H__ - -#include <stdint.h> -#include <list> -#include <iostream> -#include "GcovFunctionData.h" - -namespace Gcov { - -#define GCDA_MAGIC ((uint32_t) 0x67636461 ) /* "gcda" */ -#define GCNO_MAGIC ((uint32_t) 0x67636e6f ) /* "gcno" */ - -/* we are using gcc 4.6 release format, coded as "406R" */ -#define GCNO_VERSION ((uint32_t) 0x34303652 ) - -/* GCOV tags */ -#define GCOV_TAG_FUNCTION ((uint32_t)0x01000000) -#define GCOV_TAG_BLOCKS ((uint32_t)0x01410000) -#define GCOV_TAG_ARCS ((uint32_t)0x01430000) -#define GCOV_TAG_LINES ((uint32_t)0x01450000) -#define GCOV_TAG_COUNTER ((uint32_t)0x01a10000) -#define GCOV_TAG_OBJECT_SUMMARY ((uint32_t)0xa1000000) -#define GCOV_TAG_PROGRAM_SUMMARY ((uint32_t)0xa3000000) - - -typedef std::list<Gcov::GcovFunctionData*> functions_t; -typedef std::list<Gcov::GcovFunctionData*>::iterator functions_iterator_t; - -struct gcov_preamble -{ - uint32_t magic; - uint32_t version; - uint32_t timestamp; -}; - -struct gcov_frame_header -{ - uint32_t tag; - uint32_t length; -}; - -struct gcov_statistics -{ - uint32_t checksum; // checksum - uint32_t counters; // number of counters - uint32_t runs; // number of runs - uint64_t sum; // sum of all couter values - uint64_t max; // max value on a single run - uint64_t sumMax; // sum of individual runs max values -}; - - /*! @class GcovData - * - * This is the specification of the GcovData class. - */ - class GcovData { - - public: - - /*! - * This method constructs a GcnoReader instance. - */ - GcovData(); - - /*! - * This method destructs a GcnoReader instance. - */ - virtual ~GcovData(); - - /*! - * This method reads the *.gcno file - * - * @param[in] fileName name of the file to read - * - * @return Returns TRUE if the method succeeded and FALSE if it failed. - */ - bool readGcnoFile( const char* const fileName ); - - /*! - * This method writes the *.gcda file. It also produces and stores - * gcda and txt file names for future outputs. - * - * @return Returns TRUE if the method succeeded and FALSE if it failed. - */ - bool writeGcdaFile (); - - /*! - * This method writes all contained information to stdout file - * - * @return Returns TRUE if the method succeeded and FALSE if it failed. - */ - bool writeReportFile(); - - /*! - * This method runs gcov to generate report. This method should - * be used only when gcno and gcda files are already generated. - */ - void writeGcovFile( ); - - /*! - * This method calculates values of counters for all functions - */ - bool processCounters( void ); - - private: - - uint32_t numberOfFunctions; - gcov_preamble gcnoPreamble; - char gcnoFileName[FILE_NAME_LENGTH]; - char gcdaFileName[FILE_NAME_LENGTH]; - char textFileName[FILE_NAME_LENGTH]; - char cFileName[FILE_NAME_LENGTH]; - functions_t functions; - - - /*! - * This method reads a frame from *.gcno file - * - * @param[in] file points to a file to read - * - * @return true if read was succesfull, false otherwise - */ - bool readFrame( - FILE* gcovFile - ); - - /*! - * This method reads a string from gcov file - * - * @param[in] buffer stores the string - * @param[in] file specifies the name of the file to read - * - * @return Returns length of words read (word = 32bit) or -1 if error ocurred - */ - int readString( - char* buffer, - FILE* gcovFile - ); - - /*! - * This method reads a frame header from gcov file - * - * @param[in] header stores the header - * @param[in] file specifies the name of the file to read - * - * @return Returns length of words read (word = 32bit) - * or -1 if error ocurred - */ - int readFrameHeader( - gcov_frame_header* header, - FILE* gcovFile - ); - - /*! - * This method reads a frame header from gcov file - * - * @param[in] preamble stores the preamble - * @param[in] gcovFile specifies the name of the file to read - * @param[in] desiredMagic stores the expected magic of a file - * - * @return Returns length of words read (word = 32bit) - * or -1 if error ocurred - */ - int readFilePreamble( - gcov_preamble* preamble, - FILE* gcovFile, - const uint32_t desiredMagic - ); - - /*! - * This method reads a function frame from gcov file - * - * @param[in] header passes frame header - * @param[in] gcovFile specifies the name of the file to read - * @param[in] function stores the expected magic of a file - * - * @return Returns true if operation was succesfull - */ - bool readFunctionFrame( - gcov_frame_header header, - FILE* gcovFile, - GcovFunctionData* function - ); - - /*! - * This method prints info about previously read *.gcno file - * to a specified report file - */ - void printGcnoFileInfo( FILE * textFile ); - }; -} -#endif |