diff options
author | David Seifert <soap@gentoo.org> | 2019-06-22 23:06:57 +0200 |
---|---|---|
committer | David Seifert <soap@gentoo.org> | 2019-06-22 23:06:57 +0200 |
commit | 07e2fbfa818eaa409bc74f90e7c09ced0736b5ec (patch) | |
tree | f9f1371ede66b6dfaf4e7c1b4317889ed3eff763 /sci-mathematics | |
parent | sci-mathematics/gfan: Port to EAPI 7 (diff) | |
download | gentoo-07e2fbfa818eaa409bc74f90e7c09ced0736b5ec.tar.gz gentoo-07e2fbfa818eaa409bc74f90e7c09ced0736b5ec.tar.bz2 gentoo-07e2fbfa818eaa409bc74f90e7c09ced0736b5ec.zip |
sci-mathematics/gfan: Fix building against GCC 9
Closes: https://bugs.gentoo.org/686484
Package-Manager: Portage-2.3.67, Repoman-2.3.15
Signed-off-by: David Seifert <soap@gentoo.org>
Diffstat (limited to 'sci-mathematics')
-rw-r--r-- | sci-mathematics/gfan/files/gfan-0.5-fix-gcc9.patch | 68 | ||||
-rw-r--r-- | sci-mathematics/gfan/gfan-0.5-r1.ebuild | 1 |
2 files changed, 69 insertions, 0 deletions
diff --git a/sci-mathematics/gfan/files/gfan-0.5-fix-gcc9.patch b/sci-mathematics/gfan/files/gfan-0.5-fix-gcc9.patch new file mode 100644 index 000000000000..930baf9edcf2 --- /dev/null +++ b/sci-mathematics/gfan/files/gfan-0.5-fix-gcc9.patch @@ -0,0 +1,68 @@ +https://bugs.gentoo.org/686484 + +polyhedralfan.h: At global scope: +polyhedralfan.h:77:24: error: friend declaration of ‘PolyhedralFan refinement(const PolyhedralFan&, const PolyhedralFan&, int, bool)’ specifies default arguments and isn’t a definition [-fpermissive] + 77 | friend PolyhedralFan refinement(const PolyhedralFan &a, const PolyhedralFan &b, int cutOffDimension=-1, bool allowASingleConeOfCutOffDimension=false); + | ^~~~~~~~~~ + +--- a/gfanlib_polyhedralfan.h ++++ b/gfanlib_polyhedralfan.h +@@ -24,6 +24,8 @@ + typedef std::map<int,IntVectorList> IncidenceList; + + ++class PolyhedralFan; ++PolyhedralFan refinement(const PolyhedralFan &a, const PolyhedralFan &b, int cutOffDimension=-1, bool allowASingleConeOfCutOffDimension=false); + + /** A PolyhedralFan is simply a collection of canonicalized PolyhedralCones. + * It contains no combinatorial information in the sense of a polyhedral complex. +@@ -52,7 +54,7 @@ + int getAmbientDimension()const; + int getMaxDimension()const; + int getMinDimension()const; +- friend PolyhedralFan refinement(const PolyhedralFan &a, const PolyhedralFan &b, int cutOffDimension=-1, bool allowASingleConeOfCutOffDimension=false); ++ friend PolyhedralFan refinement(const PolyhedralFan &a, const PolyhedralFan &b, int cutOffDimension, bool allowASingleConeOfCutOffDimension); + ZMatrix getRays(int dim=1);//This can be called for other dimensions than 1. The term "Rays" still makes sense modulo the common linearity space + ZMatrix getRelativeInteriorPoints(); + void insert(ZCone const &c); +--- a/halfopencone.h ++++ b/halfopencone.h +@@ -6,6 +6,9 @@ + + #include "polyhedralfan.h" + ++class HalfOpenCone; ++HalfOpenCone intersection(const HalfOpenCone &a, const HalfOpenCone &b, bool findFacets=false); ++ + class HalfOpenCone{ + static void appendList(IntegerVectorList &to, IntegerVectorList const &from, int appendValue); + int liftedDimension;//ambient +@@ -18,7 +21,7 @@ + HalfOpenCone(int dimension_, IntegerVectorList const &equations, IntegerVectorList const &nonstrict, IntegerVectorList const &strict, bool findFacets=false, bool canonicalize=false); + HalfOpenCone(int ambientDimension);//full space + bool isEmpty(); +- friend HalfOpenCone intersection(const HalfOpenCone &a, const HalfOpenCone &b, bool findFacets=false); ++ friend HalfOpenCone intersection(const HalfOpenCone &a, const HalfOpenCone &b, bool findFacets); + friend bool haveEmptyIntersection(const HalfOpenCone &a, const HalfOpenCone &b); + PolyhedralCone closure(); + void splitIntoRelativelyOpenCones(list<HalfOpenCone> &l); +--- a/polyhedralfan.h ++++ b/polyhedralfan.h +@@ -30,6 +30,8 @@ + FPF_default=2+4+8 + }; + ++class PolyhedralFan; ++PolyhedralFan refinement(const PolyhedralFan &a, const PolyhedralFan &b, int cutOffDimension=-1, bool allowASingleConeOfCutOffDimension=false); + + /** A PolyhedralFan is simply a collection of canonicalized PolyhedralCones. + * It contains no combinatorial information in the sense of a polyhedral complex. +@@ -74,7 +76,7 @@ + int getAmbientDimension()const; + int getMaxDimension()const; + int getMinDimension()const; +- friend PolyhedralFan refinement(const PolyhedralFan &a, const PolyhedralFan &b, int cutOffDimension=-1, bool allowASingleConeOfCutOffDimension=false); ++ friend PolyhedralFan refinement(const PolyhedralFan &a, const PolyhedralFan &b, int cutOffDimension, bool allowASingleConeOfCutOffDimension); + friend PolyhedralFan product(const PolyhedralFan &a, const PolyhedralFan &b); + IntegerVectorList getRays(int dim=1);//This can be called for other dimensions than 1. The term "Rays" still makes sense modulo the common linearity space + IntegerVectorList getRelativeInteriorPoints(); diff --git a/sci-mathematics/gfan/gfan-0.5-r1.ebuild b/sci-mathematics/gfan/gfan-0.5-r1.ebuild index 5d1d84e462a4..1cd8c95fbecf 100644 --- a/sci-mathematics/gfan/gfan-0.5-r1.ebuild +++ b/sci-mathematics/gfan/gfan-0.5-r1.ebuild @@ -24,6 +24,7 @@ PATCHES=( "${FILESDIR}"/${P}-double-declare-fix.patch "${FILESDIR}"/${P}-gcc6.1-compat.patch "${FILESDIR}"/${P}-fix-build-system.patch + "${FILESDIR}"/${P}-fix-gcc9.patch ) src_configure() { |