[rtems-tools commit] tester/coverage: Remove warnings in covoar on Windows.

Chris Johns chrisj at rtems.org
Wed Nov 28 23:20:23 UTC 2018


Module:    rtems-tools
Branch:    master
Commit:    61410dbcc8d6521710702cf8ebc873058e1da0a4
Changeset: http://git.rtems.org/rtems-tools/commit/?id=61410dbcc8d6521710702cf8ebc873058e1da0a4

Author:    Chris Johns <chrisj at rtems.org>
Date:      Thu Nov 29 08:03:29 2018 +1100

tester/coverage: Remove warnings in covoar on Windows.

---

 tester/covoar/DesiredSymbols.cc   |   2 +-
 tester/covoar/GcovFunctionData.cc | 131 +++++++++++++++++++-------------------
 tester/covoar/ObjdumpProcessor.cc |   8 ---
 3 files changed, 65 insertions(+), 76 deletions(-)

diff --git a/tester/covoar/DesiredSymbols.cc b/tester/covoar/DesiredSymbols.cc
index 60d22c3..7def2ce 100644
--- a/tester/covoar/DesiredSymbols.cc
+++ b/tester/covoar/DesiredSymbols.cc
@@ -415,7 +415,7 @@ namespace Coverage {
             std::cerr << "Looking up source lines for uncovered ranges in "
                       << d.first
                       << std::endl;
-            determineSourceLines( theRanges, d.second.sourceFile );
+          determineSourceLines( theRanges, d.second.sourceFile );
         }
 
         // then the uncovered branches.
diff --git a/tester/covoar/GcovFunctionData.cc b/tester/covoar/GcovFunctionData.cc
index f746b12..2e61f88 100644
--- a/tester/covoar/GcovFunctionData.cc
+++ b/tester/covoar/GcovFunctionData.cc
@@ -5,10 +5,9 @@
  *  about single function.
  */
 
-#include <stdio.h>
-#include <string.h>
-//#include <stdlib.h>
-//#include <sys/stat.h>
+#include <cstdio>
+#include <cstring>
+#include <cinttypes>
 
 #include "app_common.h"
 #include "GcovFunctionData.h"
@@ -53,8 +52,8 @@ namespace Gcov {
 
     if ( strlen(fcnName) >= FUNCTION_NAME_LENGTH ) {
       fprintf(
-        stderr, 
-        "ERROR: Function name is too long to be correctly stored: %u\n", 
+        stderr,
+        "ERROR: Function name is too long to be correctly stored: %u\n",
         (unsigned int) strlen(fcnName)
       );
       return false;
@@ -89,9 +88,9 @@ namespace Gcov {
   bool GcovFunctionData::setFileName( const char* fileName ) {
     if ( strlen(fileName) >= FILE_NAME_LENGTH ){
       fprintf(
-        stderr, 
-        "ERROR: File name is too long to be correctly stored: %u\n", 
-        (unsigned int) strlen(fileName) 
+        stderr,
+        "ERROR: File name is too long to be correctly stored: %u\n",
+        (unsigned int) strlen(fileName)
       );
       return false;
     }
@@ -119,7 +118,7 @@ namespace Gcov {
     uint32_t &countersFound,
     uint64_t &countersSum,
     uint64_t &countersMax
-  ) 
+  )
   {
     arcs_iterator_t	currentArc;
     int			i;
@@ -186,7 +185,7 @@ namespace Gcov {
   }
 
   void GcovFunctionData::printFunctionInfo(
-    FILE * textFile, 
+    FILE * textFile,
     uint32_t function_number
   )
   {
@@ -230,7 +229,7 @@ namespace Gcov {
   }
 
   void GcovFunctionData::printCoverageInfo(
-    FILE     *textFile, 
+    FILE     *textFile,
     uint32_t  function_number
   )
   {
@@ -254,11 +253,11 @@ namespace Gcov {
       fprintf(
         textFile,
         "\nInstructions (Base address: 0x%08x, Size: %4u): \n\n",
-        baseAddress, 
-        baseSize 
+        baseAddress,
+        baseSize
       );
-      for ( instruction = symbolInfo->instructions.begin(); 
-            instruction != symbolInfo->instructions.end(); 
+      for ( instruction = symbolInfo->instructions.begin();
+            instruction != symbolInfo->instructions.end();
             instruction++
       )
       {
@@ -267,13 +266,13 @@ namespace Gcov {
           fprintf( textFile, "0x%-70s ", instruction->line.c_str() );
           fprintf( textFile, "| 0x%08x ",   currentAddress );
           fprintf( textFile, "*");
-          fprintf( textFile, 
-                    "| exec: %4u ", 
-                    coverageMap->getWasExecuted( currentAddress ) 
+          fprintf( textFile,
+                    "| exec: %4u ",
+                    coverageMap->getWasExecuted( currentAddress )
           );
           fprintf( textFile, "| taken/not: %4u/%4u ",
-                    coverageMap->getWasTaken( currentAddress ), 
-                    coverageMap->getWasNotTaken( currentAddress ) 
+                    coverageMap->getWasTaken( currentAddress ),
+                    coverageMap->getWasNotTaken( currentAddress )
           );
 
           if ( instruction->isBranch )
@@ -329,7 +328,7 @@ namespace Gcov {
     return blockIterator;
   }
 
-  void GcovFunctionData::printArcInfo( 
+  void GcovFunctionData::printArcInfo(
                 FILE * textFile, arcs_iterator_t arc
   )
   {
@@ -368,11 +367,11 @@ namespace Gcov {
         );
         break;
     }
-    fprintf( textFile, "\tTaken: %5llu\n", (unsigned long long) arc->counter );
+    fprintf( textFile, "\tTaken: %5" PRIu64 "\n", (uint64_t) arc->counter );
   }
 
-  void GcovFunctionData::printBlockInfo( 
-    FILE * textFile, 
+  void GcovFunctionData::printBlockInfo(
+    FILE * textFile,
     blocks_iterator_t block
   )
   {
@@ -381,12 +380,12 @@ namespace Gcov {
     fprintf(
       textFile,
       " > BLOCK %3u from %s\n"
-      "    -counter: %5llu\n"
-      "    -flags: 0x%x\n"
+      "    -counter: %5" PRIu64 "\n"
+      "    -flags: 0x%" PRIx32 "\n"
       "    -lines: ",
       block->id,
       block->sourceFileName,
-      (unsigned long long) block->counter,
+      (uint64_t) block->counter,
       block->flags
     );
     if ( !block->lines.empty( ) )
@@ -407,15 +406,15 @@ namespace Gcov {
     std::list<uint64_t>    taken;       // List of taken counts for branches
     std::list<uint64_t>    notTaken;    // List of not taken counts for branches
 
-    //fprintf( stderr, "DEBUG: Processing counters for file: %s\n", sourceFileName  ); 
+    //fprintf( stderr, "DEBUG: Processing counters for file: %s\n", sourceFileName  );
     if ( blocks.empty() || arcs.empty() || coverageMap == NULL || symbolInfo->instructions.empty())
     {
-      //fprintf( stderr, 
-      //          "DEBUG: sanity check returned false for function: %s from file: %s\n", 
-      //          functionName, 
-      //          sourceFileName 
+      //fprintf( stderr,
+      //          "DEBUG: sanity check returned false for function: %s from file: %s\n",
+      //          functionName,
+      //          sourceFileName
       //);
-      return false; 
+      return false;
     }
 
     // Reset iterators and variables
@@ -430,12 +429,12 @@ namespace Gcov {
     // Find taken/not taken values for branches
     if ( !processBranches( &taken , &notTaken ) )
     {
-      //fprintf( stderr, 
-      //          "ERROR: Failed to process branches for function: %s from file: %s\n", 
-      //          functionName, 
-      //          sourceFileName 
+      //fprintf( stderr,
+      //          "ERROR: Failed to process branches for function: %s from file: %s\n",
+      //          functionName,
+      //          sourceFileName
       //);
-      return false; 
+      return false;
     };
 
     // Process the branching arcs
@@ -455,17 +454,17 @@ namespace Gcov {
         break;
 
       // If this is a branch without FAKE arcs process it
-      if ( 
-        (arcIterator->sourceBlock == arcIterator2->sourceBlock ) && 
+      if (
+        (arcIterator->sourceBlock == arcIterator2->sourceBlock ) &&
         !( arcIterator->flags & FAKE_ARC_FLAG ) &&
-        !( arcIterator2->flags & FAKE_ARC_FLAG ) 
+        !( arcIterator2->flags & FAKE_ARC_FLAG )
       ) {
         if ( taken.empty() || notTaken.empty() ) {
           fprintf(
-            stderr, 
-            "ERROR: Branchess missing for function: %s from file: %s\n", 
-            functionName, 
-            sourceFileName 
+            stderr,
+            "ERROR: Branchess missing for function: %s from file: %s\n",
+            functionName,
+            sourceFileName
           );
           return false;
         }
@@ -479,21 +478,21 @@ namespace Gcov {
           arcIterator2->counter = notTaken.front();
           notTaken.pop_front();
           arcIterator->counter = taken.front();
-          taken.pop_front();                   
+          taken.pop_front();
         }
 
         blockIterator2 = blocks.begin();
         //TODO: ADD FAILSAFE
-        while ( arcIterator->destinationBlock != blockIterator2->id) 	
+        while ( arcIterator->destinationBlock != blockIterator2->id)
           blockIterator2++;
         blockIterator2->counter += arcIterator->counter;
-  
+
         blockIterator2 = blocks.begin();
         //TODO: ADD FAILSAFE
         while ( arcIterator2->destinationBlock != blockIterator2->id)
             blockIterator2++;
           blockIterator2->counter += arcIterator2->counter;
-      }	    
+      }
       blockIterator++;
     }
 
@@ -519,10 +518,10 @@ namespace Gcov {
 
       // If this is the last arc, propagate counter and exit
       if ( arcIterator2 == arcs.end() ) {
-        //fprintf( stderr, 
-        //        "DEBUG: Found last arc %3u -> %3u\n", 
-        //        arcIterator->sourceBlock, 
-        //        arcIterator->destinationBlock 
+        //fprintf( stderr,
+        //        "DEBUG: Found last arc %3u -> %3u\n",
+        //        arcIterator->sourceBlock,
+        //        arcIterator->destinationBlock
         //);
         arcIterator->counter = blockIterator->counter;
         blockIterator2 =  blocks.begin();
@@ -530,18 +529,18 @@ namespace Gcov {
           blockIterator2++;
         blockIterator2->counter += arcIterator->counter;
         return true;
-      } 
+      }
 
       // If this is not a branch, propagate counter and continue
       if ( arcIterator->sourceBlock != arcIterator2->sourceBlock ) {
         //fprintf( stderr, "DEBUG: Found simple arc %3u -> %3u\n", arcIterator->sourceBlock, arcIterator->destinationBlock );
         arcIterator->counter = blockIterator->counter;
         blockIterator2 =  blocks.begin();;
-        while ( arcIterator->destinationBlock != blockIterator2->id) 	//TODO: ADD FAILSAFE 
+        while ( arcIterator->destinationBlock != blockIterator2->id) 	//TODO: ADD FAILSAFE
           blockIterator2++;
         blockIterator2->counter += arcIterator->counter;
       }
-	    
+
       // If this is  a branch with FAKE arc
       else if ( (arcIterator->sourceBlock == arcIterator2->sourceBlock ) && ( arcIterator2->flags & FAKE_ARC_FLAG ))
       {
@@ -553,16 +552,16 @@ namespace Gcov {
         blockIterator2->counter += arcIterator->counter;
       }
 
-      // If this is a legitimate branch	    
+      // If this is a legitimate branch
       blockIterator++;
     }
 
     return true;
   }
-    
-  bool GcovFunctionData::processBranches( 
-            std::list<uint64_t> * taken , 
-            std::list<uint64_t> * notTaken 
+
+  bool GcovFunctionData::processBranches(
+            std::list<uint64_t> * taken ,
+            std::list<uint64_t> * notTaken
   )
   {
     uint32_t	    baseAddress = 0;
@@ -587,10 +586,10 @@ namespace Gcov {
         if ( instruction->isBranch ) {
           taken->push_back ( (uint64_t) coverageMap->getWasTaken( currentAddress  ) );
           notTaken->push_back ( (uint64_t) coverageMap->getWasNotTaken( currentAddress ) );
-          //fprintf( stderr, 
+          //fprintf( stderr,
           //          "Added branch to list taken/not: %4u/%4u\n",
-          //          coverageMap->getWasTaken( currentAddress ), 
-          //          coverageMap->getWasNotTaken( currentAddress ) 
+          //          coverageMap->getWasTaken( currentAddress ),
+          //          coverageMap->getWasNotTaken( currentAddress )
           //);
         }
       }
@@ -598,5 +597,3 @@ namespace Gcov {
     return true;
   }
 }
-
-
diff --git a/tester/covoar/ObjdumpProcessor.cc b/tester/covoar/ObjdumpProcessor.cc
index b4c60c6..05507de 100644
--- a/tester/covoar/ObjdumpProcessor.cc
+++ b/tester/covoar/ObjdumpProcessor.cc
@@ -269,14 +269,12 @@ namespace Coverage {
   )
   {
     std::string     currentSymbol = "";
-    uint32_t        endAddress;
     uint32_t        instructionOffset;
     int             items;
     int             found;
     objdumpLine_t   lineInfo;
     uint32_t        offset;
     bool            processSymbol = false;
-    uint32_t        startAddress = 0;
     char            symbol[ MAX_LINE_LENGTH ];
     char            terminator1;
     char            terminatorOne;
@@ -348,8 +346,6 @@ namespace Coverage {
 
       // If all items found, we are at the beginning of a symbol's objdump.
       if ((items == 3) && (terminator1 == ':')) {
-        endAddress = executableInformation->getLoadAddress() + offset - 1;
-
         // If we are currently processing a symbol, finalize it.
         if (processSymbol) {
           finalizeSymbol(
@@ -360,14 +356,12 @@ namespace Coverage {
         }
 
         // Start processing of a new symbol.
-        startAddress = 0;
         currentSymbol = "";
         processSymbol = false;
         theInstructions.clear();
 
         // See if the new symbol is one that we care about.
         if (SymbolsToAnalyze->isDesired( symbol )) {
-          startAddress = executableInformation->getLoadAddress() + offset;
           currentSymbol = symbol;
           processSymbol = true;
           theInstructions.push_back( lineInfo );
@@ -379,8 +373,6 @@ namespace Coverage {
                && (jumpTableID.find( "+0x" ) != std::string::npos)
                && processSymbol )
       {
-        endAddress = executableInformation->getLoadAddress() + offset - 1;
-
         // If we are currently processing a symbol, finalize it.
         if ( processSymbol ) {
           finalizeSymbol(




More information about the vc mailing list