Bug 184566 - biology/plink : fix build with gcc47
Summary: biology/plink : fix build with gcc47
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-12-07 16:50 UTC by Christoph Moench-Tegeder
Modified: 2013-12-13 09:41 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christoph Moench-Tegeder freebsd_committer 2013-12-07 16:50:01 UTC
Hi,

in an effort towards upgrading lang/gcc to gcc 4.7, I'm helping gerald@
in making ports gcc47-safe.
Please consider the following patch to your port. If you approve of the
patch, gerald@ has offered his help in commiting it.
If you're commiting yourself or have someone else commit this (or
another patch to the same effect), can you please add an additional
reference to ports/183342 in the commit message?
In my test environment, the port built successfully with lang/gcc47.

Fix: This patch fixes some cases of illegal C++ (rejected by gcc47)

# fix illegal variable name reuse
$ svn status
A       files/patch-elf.cpp
A       files/patch-idhelp.cpp
A       files/patch-sets.cpp



Regards,
Christoph--FxCnqq1WkE5MNv0WkM6lTtHXp2fXbzfruGAs8YILXrM4hEHt
Content-Type: text/plain; name="file.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="file.diff"

Index: files/patch-elf.cpp
===================================================================
--- files/patch-elf.cpp	(revision 0)
+++ files/patch-elf.cpp	(working copy)
@@ -0,0 +1,25 @@
+--- elf.cpp.orig	2013-11-16 17:09:56.000000000 +0100
++++ elf.cpp	2013-11-16 17:10:24.000000000 +0100
+@@ -1175,10 +1175,10 @@
+ 	  << setw(8) << gcnt << " "
+ 	  << setw(8) << (double)cnt / (double)gcnt << "\n";
+ 
+-      map<int,int>::iterator i = chr_cnt.begin();
+-      while ( i != chr_cnt.end() )
++      map<int,int>::iterator ichr = chr_cnt.begin();
++      while ( ichr != chr_cnt.end() )
+ 	{
+-	  int c = i->first;
++	  int c = ichr->first;
+ 	  int x = chr_cnt.find( c )->second;
+ 	  int y = chr_gcnt.find( c )->second;
+ 	  
+@@ -1189,7 +1189,7 @@
+ 	      << setw(8) << y << " "
+ 	      << setw(8) << (double)x / (double)y << "\n";
+ 	  
+-	  ++i;
++	  ++ichr;
+ 	}
+       
+     }
Index: files/patch-idhelp.cpp
===================================================================
--- files/patch-idhelp.cpp	(revision 0)
+++ files/patch-idhelp.cpp	(working copy)
@@ -0,0 +1,19 @@
+--- idhelp.cpp.orig	2013-11-16 17:11:42.000000000 +0100
++++ idhelp.cpp	2013-11-16 17:12:53.000000000 +0100
+@@ -772,12 +772,12 @@
+       for (int j = 0 ; j < jointField.size(); j++ )
+ 	{
+ 	  set<IDField*> & jf = jointField[j];
+-	  set<IDField*>::iterator j = jf.begin();
++	  set<IDField*>::iterator jfit = jf.begin();
+ 	  PP->printLOG(" { ");
+-	  while ( j != jf.end() )
++	  while ( jfit != jf.end() )
+ 	    {
+-	      PP->printLOG( (*j)->name + " " );
+-	      ++j;
++	      PP->printLOG( (*jfit)->name + " " );
++	      ++jfit;
+ 	    }
+ 	  PP->printLOG(" }");
+ 	}
Index: files/patch-sets.cpp
===================================================================
--- files/patch-sets.cpp	(revision 0)
+++ files/patch-sets.cpp	(working copy)
@@ -0,0 +1,18 @@
+--- sets.cpp.orig	2013-11-16 17:06:29.000000000 +0100
++++ sets.cpp	2013-11-16 17:07:12.000000000 +0100
+@@ -768,11 +768,11 @@
+       //////////////////////////////////////////////
+       // Reset original missing status
+ 
+-      vector<Individual*>::iterator i = PP->sample.begin();
+-      while ( i != PP->sample.end() )
++      vector<Individual*>::iterator ipp = PP->sample.begin();
++      while ( ipp != PP->sample.end() )
+ 	{
+-	  (*i)->missing = (*i)->flag;
+-	  ++i;
++	  (*ipp)->missing = (*ipp)->flag;
++	  ++ipp;
+ 	}
+ 
+       ////////////////////////////////////////////////
Comment 1 Edwin Groothuis freebsd_committer 2013-12-07 16:50:13 UTC
Maintainer of biology/plink,

Please note that PR ports/184566 has just been submitted.

If it contains a patch for an upgrade, an enhancement or a bug fix
you agree on, reply to this email stating that you approve the patch
and a committer will take care of it.

The full text of the PR can be found at:
    http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/184566

-- 
Edwin Groothuis via the GNATS Auto Assign Tool
edwin@FreeBSD.org
Comment 2 Edwin Groothuis freebsd_committer 2013-12-07 16:50:14 UTC
State Changed
From-To: open->feedback

Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
Comment 3 gerald 2013-12-07 22:57:46 UTC
Apologies, the PR to reference should have been 182136.

Gerald
Comment 4 Jason W. Bacon freebsd_committer 2013-12-09 16:50:52 UTC
Approved.

On 12/07/13 10:50, Edwin Groothuis wrote:
> Maintainer of biology/plink,
>
> Please note that PR ports/184566 has just been submitted.
>
> If it contains a patch for an upgrade, an enhancement or a bug fix
> you agree on, reply to this email stating that you approve the patch
> and a committer will take care of it.
>
> The full text of the PR can be found at:
>      http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/184566
>
Comment 5 dfilter service freebsd_committer 2013-12-13 09:34:47 UTC
Author: gerald
Date: Fri Dec 13 09:34:40 2013
New Revision: 336328
URL: http://svnweb.freebsd.org/changeset/ports/336328

Log:
  Fix the build with more standards-compliant compilers such as GCC 4.7. [1]
  
  On the way replace USE_GMAKE by USES=gmake.
  
  PR:		184566 [1], 182136
  Submitted by:	Christoph Moench-Tegeder <cmt@burggraben.net> [1]
  Approved by:	maintainer (Jason Bacon <jwbacon@tds.net>) [1]

Added:
  head/biology/plink/files/patch-elf.cpp   (contents, props changed)
  head/biology/plink/files/patch-idhelp.cpp   (contents, props changed)
  head/biology/plink/files/patch-sets.cpp   (contents, props changed)
Modified:
  head/biology/plink/Makefile

Modified: head/biology/plink/Makefile
==============================================================================
--- head/biology/plink/Makefile	Fri Dec 13 09:03:57 2013	(r336327)
+++ head/biology/plink/Makefile	Fri Dec 13 09:34:40 2013	(r336328)
@@ -15,8 +15,8 @@ LICENSE=	GPLv2
 
 LIB_DEPENDS=	liblapack.so:${PORTSDIR}/math/lapack
 
+USES=		gmake
 USE_ZIP=	yes
-USE_GMAKE=	yes
 USE_FORTRAN=	yes	# Make it use the same compiler as lapack
 
 PLIST_FILES=	bin/plink

Added: head/biology/plink/files/patch-elf.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/biology/plink/files/patch-elf.cpp	Fri Dec 13 09:34:40 2013	(r336328)
@@ -0,0 +1,25 @@
+--- elf.cpp.orig	2013-11-16 17:09:56.000000000 +0100
++++ elf.cpp	2013-11-16 17:10:24.000000000 +0100
+@@ -1175,10 +1175,10 @@
+ 	  << setw(8) << gcnt << " "
+ 	  << setw(8) << (double)cnt / (double)gcnt << "\n";
+ 
+-      map<int,int>::iterator i = chr_cnt.begin();
+-      while ( i != chr_cnt.end() )
++      map<int,int>::iterator ichr = chr_cnt.begin();
++      while ( ichr != chr_cnt.end() )
+ 	{
+-	  int c = i->first;
++	  int c = ichr->first;
+ 	  int x = chr_cnt.find( c )->second;
+ 	  int y = chr_gcnt.find( c )->second;
+ 	  
+@@ -1189,7 +1189,7 @@
+ 	      << setw(8) << y << " "
+ 	      << setw(8) << (double)x / (double)y << "\n";
+ 	  
+-	  ++i;
++	  ++ichr;
+ 	}
+       
+     }

Added: head/biology/plink/files/patch-idhelp.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/biology/plink/files/patch-idhelp.cpp	Fri Dec 13 09:34:40 2013	(r336328)
@@ -0,0 +1,19 @@
+--- idhelp.cpp.orig	2013-11-16 17:11:42.000000000 +0100
++++ idhelp.cpp	2013-11-16 17:12:53.000000000 +0100
+@@ -772,12 +772,12 @@
+       for (int j = 0 ; j < jointField.size(); j++ )
+ 	{
+ 	  set<IDField*> & jf = jointField[j];
+-	  set<IDField*>::iterator j = jf.begin();
++	  set<IDField*>::iterator jfit = jf.begin();
+ 	  PP->printLOG(" { ");
+-	  while ( j != jf.end() )
++	  while ( jfit != jf.end() )
+ 	    {
+-	      PP->printLOG( (*j)->name + " " );
+-	      ++j;
++	      PP->printLOG( (*jfit)->name + " " );
++	      ++jfit;
+ 	    }
+ 	  PP->printLOG(" }");
+ 	}

Added: head/biology/plink/files/patch-sets.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/biology/plink/files/patch-sets.cpp	Fri Dec 13 09:34:40 2013	(r336328)
@@ -0,0 +1,18 @@
+--- sets.cpp.orig	2013-11-16 17:06:29.000000000 +0100
++++ sets.cpp	2013-11-16 17:07:12.000000000 +0100
+@@ -768,11 +768,11 @@
+       //////////////////////////////////////////////
+       // Reset original missing status
+ 
+-      vector<Individual*>::iterator i = PP->sample.begin();
+-      while ( i != PP->sample.end() )
++      vector<Individual*>::iterator ipp = PP->sample.begin();
++      while ( ipp != PP->sample.end() )
+ 	{
+-	  (*i)->missing = (*i)->flag;
+-	  ++i;
++	  (*ipp)->missing = (*ipp)->flag;
++	  ++ipp;
+ 	}
+ 
+       ////////////////////////////////////////////////
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 6 Gerald Pfeifer freebsd_committer 2013-12-13 09:40:58 UTC
State Changed
From-To: feedback->closed

Thanks for the patch and report, Christoph! 
And thanks for the quick review/approval, Jason! 
I have committed the patch and am closeing the report.