Re: [PATCH v2] ReportsBase: Change raw pointer to unique_ptr

2021-12-21 Thread Chris Johns
OK

Thanks
Chris

On 22/12/21 7:49 am, Ryan Long wrote:
> Replaced raw pointer used with ReportsBase-derived classes to make code
> cleaner and make it to where pointers do not have to be manually
> deleted.
> 
> Closes #4376
> ---
>  tester/covoar/ReportsBase.cc | 77 
> +---
>  1 file changed, 36 insertions(+), 41 deletions(-)
> 
> diff --git a/tester/covoar/ReportsBase.cc b/tester/covoar/ReportsBase.cc
> index 219e5af..0fb9ce0 100644
> --- a/tester/covoar/ReportsBase.cc
> +++ b/tester/covoar/ReportsBase.cc
> @@ -591,80 +591,75 @@ void GenerateReports(
>boolbranchInfoAvailable
>  )
>  {
> -  typedef std::list reportList_t;
> +  using reportList_ptr = std::unique_ptr;
> +  using reportList = std::vector;
>  
> -  reportList_t   reportList;
> -  reportList_t::iterator ritr;
> +  reportList reports;
>std::stringreportName;
> -  ReportsBase*   reports;
>time_t timestamp;
>  
>  
>timestamp = time( NULL ); /* get current cal time */
> -  reports = new ReportsText(
> -timestamp,
> -symbolSetName,
> -allExplanations,
> -projectName,
> -outputDirectory,
> -symbolsToAnalyze,
> -branchInfoAvailable
> +  reports.emplace_back(
> +new ReportsText(
> +  timestamp,
> +  symbolSetName,
> +  allExplanations,
> +  projectName,
> +  outputDirectory,
> +  symbolsToAnalyze,
> +  branchInfoAvailable
> +)
>);
> -  reportList.push_back( reports );
> -  reports = new ReportsHtml(
> -timestamp,
> -symbolSetName,
> -allExplanations,
> -projectName,
> -outputDirectory,
> -symbolsToAnalyze,
> -branchInfoAvailable
> +  reports.emplace_back(
> +new ReportsHtml(
> +  timestamp,
> +  symbolSetName,
> +  allExplanations,
> +  projectName,
> +  outputDirectory,
> +  symbolsToAnalyze,
> +  branchInfoAvailable
> +)
>);
> -  reportList.push_back( reports );
>  
> -  for ( ritr = reportList.begin(); ritr != reportList.end(); ritr++ ) {
> -reports = *ritr;
> +  for ( auto& report: reports ) {
>  
> -reportName = "index" + reports->ReportExtension();
> +reportName = "index" + report->ReportExtension();
>  if ( verbose ) {
>std::cerr << "Generate " << reportName << std::endl;
>  }
> -reports->WriteIndex( reportName );
> +report->WriteIndex( reportName );
>  
> -reportName = "annotated" + reports->ReportExtension();
> +reportName = "annotated" + report->ReportExtension();
>  if ( verbose ) {
>std::cerr << "Generate " << reportName << std::endl;
>  }
> -reports->WriteAnnotatedReport( reportName );
> +report->WriteAnnotatedReport( reportName );
>  
> -reportName = "branch" + reports->ReportExtension();
> +reportName = "branch" + report->ReportExtension();
>  if ( verbose ) {
>std::cerr << "Generate " << reportName << std::endl;
>  }
> -reports->WriteBranchReport( reportName );
> +report->WriteBranchReport( reportName );
>  
> -reportName = "uncovered" + reports->ReportExtension();
> +reportName = "uncovered" + report->ReportExtension();
>  if ( verbose ) {
>std::cerr << "Generate " << reportName << std::endl;
>  }
> -reports->WriteCoverageReport( reportName );
> +report->WriteCoverageReport( reportName );
>  
> -reportName = "sizes" + reports->ReportExtension();
> +reportName = "sizes" + report->ReportExtension();
>  if ( verbose ) {
>std::cerr << "Generate " << reportName << std::endl;
>  }
> -reports->WriteSizeReport( reportName );
> +report->WriteSizeReport( reportName );
>  
> -reportName = "symbolSummary" + reports->ReportExtension();
> +reportName = "symbolSummary" + report->ReportExtension();
>  if ( verbose ) {
>std::cerr << "Generate " << reportName << std::endl;
>  }
> -reports->WriteSymbolSummaryReport( reportName, symbolsToAnalyze );
> -  }
> -
> -  for ( ritr = reportList.begin(); ritr != reportList.end(); ritr++ ) {
> -reports = *ritr;
> -delete reports;
> +report->WriteSymbolSummaryReport( reportName, symbolsToAnalyze );
>}
>  
>ReportsBase::WriteSummaryReport(
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


[PATCH v2] ReportsBase: Change raw pointer to unique_ptr

2021-12-21 Thread Ryan Long
Replaced raw pointer used with ReportsBase-derived classes to make code
cleaner and make it to where pointers do not have to be manually
deleted.

Closes #4376
---
 tester/covoar/ReportsBase.cc | 77 +---
 1 file changed, 36 insertions(+), 41 deletions(-)

diff --git a/tester/covoar/ReportsBase.cc b/tester/covoar/ReportsBase.cc
index 219e5af..0fb9ce0 100644
--- a/tester/covoar/ReportsBase.cc
+++ b/tester/covoar/ReportsBase.cc
@@ -591,80 +591,75 @@ void GenerateReports(
   boolbranchInfoAvailable
 )
 {
-  typedef std::list reportList_t;
+  using reportList_ptr = std::unique_ptr;
+  using reportList = std::vector;
 
-  reportList_t   reportList;
-  reportList_t::iterator ritr;
+  reportList reports;
   std::stringreportName;
-  ReportsBase*   reports;
   time_t timestamp;
 
 
   timestamp = time( NULL ); /* get current cal time */
-  reports = new ReportsText(
-timestamp,
-symbolSetName,
-allExplanations,
-projectName,
-outputDirectory,
-symbolsToAnalyze,
-branchInfoAvailable
+  reports.emplace_back(
+new ReportsText(
+  timestamp,
+  symbolSetName,
+  allExplanations,
+  projectName,
+  outputDirectory,
+  symbolsToAnalyze,
+  branchInfoAvailable
+)
   );
-  reportList.push_back( reports );
-  reports = new ReportsHtml(
-timestamp,
-symbolSetName,
-allExplanations,
-projectName,
-outputDirectory,
-symbolsToAnalyze,
-branchInfoAvailable
+  reports.emplace_back(
+new ReportsHtml(
+  timestamp,
+  symbolSetName,
+  allExplanations,
+  projectName,
+  outputDirectory,
+  symbolsToAnalyze,
+  branchInfoAvailable
+)
   );
-  reportList.push_back( reports );
 
-  for ( ritr = reportList.begin(); ritr != reportList.end(); ritr++ ) {
-reports = *ritr;
+  for ( auto& report: reports ) {
 
-reportName = "index" + reports->ReportExtension();
+reportName = "index" + report->ReportExtension();
 if ( verbose ) {
   std::cerr << "Generate " << reportName << std::endl;
 }
-reports->WriteIndex( reportName );
+report->WriteIndex( reportName );
 
-reportName = "annotated" + reports->ReportExtension();
+reportName = "annotated" + report->ReportExtension();
 if ( verbose ) {
   std::cerr << "Generate " << reportName << std::endl;
 }
-reports->WriteAnnotatedReport( reportName );
+report->WriteAnnotatedReport( reportName );
 
-reportName = "branch" + reports->ReportExtension();
+reportName = "branch" + report->ReportExtension();
 if ( verbose ) {
   std::cerr << "Generate " << reportName << std::endl;
 }
-reports->WriteBranchReport( reportName );
+report->WriteBranchReport( reportName );
 
-reportName = "uncovered" + reports->ReportExtension();
+reportName = "uncovered" + report->ReportExtension();
 if ( verbose ) {
   std::cerr << "Generate " << reportName << std::endl;
 }
-reports->WriteCoverageReport( reportName );
+report->WriteCoverageReport( reportName );
 
-reportName = "sizes" + reports->ReportExtension();
+reportName = "sizes" + report->ReportExtension();
 if ( verbose ) {
   std::cerr << "Generate " << reportName << std::endl;
 }
-reports->WriteSizeReport( reportName );
+report->WriteSizeReport( reportName );
 
-reportName = "symbolSummary" + reports->ReportExtension();
+reportName = "symbolSummary" + report->ReportExtension();
 if ( verbose ) {
   std::cerr << "Generate " << reportName << std::endl;
 }
-reports->WriteSymbolSummaryReport( reportName, symbolsToAnalyze );
-  }
-
-  for ( ritr = reportList.begin(); ritr != reportList.end(); ritr++ ) {
-reports = *ritr;
-delete reports;
+report->WriteSymbolSummaryReport( reportName, symbolsToAnalyze );
   }
 
   ReportsBase::WriteSummaryReport(
-- 
1.8.3.1

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel