tag 667170 patch pending
thanks

Hi,

I'm uploading an NMU for freefem3d (1.0pre10-3.1) to DELAYED/2-day.
Please let me know if you'd like me to cancel it or delay further.

Cheers,

Matej

Attachment: pgpPm2EymHuON.pgp
Description: PGP signature

--- freefem3d-1.0pre10~/debian/changelog
+++ freefem3d-1.0pre10/debian/changelog
@@ -1,3 +1,12 @@
+freefem3d (1.0pre10-3.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * 30_gcc47: Fix build failure with GCC 4.7.  Closes: #667170.
+    - algebra/Vector.hpp: Include <cmath> for sqrt.
+    - solver/FEMDiscretization.hpp: Add "this->" qualifier.
+
+ -- Matej Vela <v...@debian.org>  Thu, 17 May 2012 14:07:03 +0100
+
 freefem3d (1.0pre10-3) unstable; urgency=low
 
   [ Sylvestre Ledru ]
--- freefem3d-1.0pre10~/debian/patches/30_gcc47.patch
+++ freefem3d-1.0pre10/debian/patches/30_gcc47.patch
@@ -0,0 +1,255 @@
+Description: Fix build failure with GCC 4.7
+Bug-Debian: http://bugs.debian.org/667170
+Author: Matej Vela <v...@debian.org>
+Last-Update: 2012-05-17
+
+--- freefem3d-1.0pre10~/algebra/Vector.hpp
++++ freefem3d-1.0pre10/algebra/Vector.hpp
+@@ -24,6 +24,7 @@
+ // Include STD definitions to get same environment ...
+ #include <stddef.h>
+ #include <cstdlib>
++#include <cmath>
+ #include <Assert.hpp>
+ 
+ #include <ZoneCopy.hpp>
+--- freefem3d-1.0pre10~/solver/FEMDiscretization.hpp
++++ freefem3d-1.0pre10/solver/FEMDiscretization.hpp
+@@ -117,7 +117,7 @@
+ 
+       ConformTransformation T(K);
+       JacobianTransformation J(T);
+-      generatesElementaryMatrix(this->__eSet,J);
++      this->generatesElementaryMatrix(this->__eSet,J);
+ 
+       TinyVector<3> massCenter;
+       T.value(FiniteElement::massCenter(), massCenter);
+@@ -132,10 +132,10 @@
+ 
+         for (size_t l=0; l<FiniteElement::numberOfDegreesOfFreedom; l++) {
+           const size_t I // Index of Ith value
+-            = __degreeOfFreedomSet(((*iOperator).second).i(), index[l]);
++            = this->__degreeOfFreedomSet(((*iOperator).second).i(), index[l]);
+           for (size_t m=0; m<FiniteElement::numberOfDegreesOfFreedom; m++) {
+             const size_t J // Index of Jth value
+-              = __degreeOfFreedomSet(((*iOperator).second).j(), index[m]);
++              = this->__degreeOfFreedomSet(((*iOperator).second).j(), 
index[m]);
+             A(I,J) += coef*elementaryMatrix(l,m);
+           }
+         }
+@@ -183,7 +183,7 @@
+ 
+       ConformTransformation T(K);
+       JacobianTransformation J(T);
+-      generatesElementaryMatrix(this->__eSet,J);
++      this->generatesElementaryMatrix(this->__eSet,J);
+ 
+       const size_t cellNumber = icell.number();
+ 
+@@ -204,11 +204,11 @@
+ 
+       for (size_t l=0; l<FiniteElement::numberOfDegreesOfFreedom; l++) {
+         const size_t I1 // Index of Ith value
+-          = __degreeOfFreedomSet(((*iOperator).second).i(), index[l]);
++          = this->__degreeOfFreedomSet(((*iOperator).second).i(), index[l]);
+         if (not((*this->__dirichletList)[I1])) {
+           for (size_t m=0; m<FiniteElement::numberOfDegreesOfFreedom; m++) {
+             const size_t I2 // Index of Jth value
+-              = __degreeOfFreedomSet(((*iOperator).second).j(), index[m]);
++              = this->__degreeOfFreedomSet(((*iOperator).second).j(), 
index[m]);
+             if (not((*this->__dirichletList)[I2])) {
+               z[I1] += coef*elementaryMatrix(l,m)*x[I2];
+             }
+@@ -240,7 +240,7 @@
+ 
+       ConformTransformation T(K);
+       JacobianTransformation J(T);
+-      generatesElementaryMatrix(this->__eSet,J);
++      this->generatesElementaryMatrix(this->__eSet,J);
+ 
+       const size_t cellNumber = icell.number();
+ 
+@@ -261,11 +261,11 @@
+ 
+       for (size_t l=0; l<FiniteElement::numberOfDegreesOfFreedom; l++) {
+         const size_t I1 // Index of Ith value
+-          = __degreeOfFreedomSet(((*iOperator).second).i(), index[l]);
++          = this->__degreeOfFreedomSet(((*iOperator).second).i(), index[l]);
+         if (not((*this->__dirichletList)[I1])) {
+           for (size_t m=0; m<FiniteElement::numberOfDegreesOfFreedom; m++) {
+             const size_t I2 // Index of Jth value
+-              = __degreeOfFreedomSet(((*iOperator).second).j(), index[m]);
++              = this->__degreeOfFreedomSet(((*iOperator).second).j(), 
index[m]);
+             if (not((*this->__dirichletList)[I2])) {
+               z[I2] += coef*elementaryMatrix(l,m)*x[I1];
+             }
+@@ -295,7 +295,7 @@
+ 
+       ConformTransformation T(K);
+       JacobianTransformation J(T);
+-      generatesElementaryMatrix(this->__eSet,J);
++      this->generatesElementaryMatrix(this->__eSet,J);
+ 
+       size_t index[FiniteElement::numberOfDegreesOfFreedom];
+       for (size_t l=0; l<FiniteElement::numberOfDegreesOfFreedom; ++l) {
+@@ -378,10 +378,10 @@
+         for (size_t l=0; l<FiniteElement::numberOfQuadraturePoints; ++l)
+           f[l] = F(quadrature[l]);
+ 
+-        generatesElementaryVector(eVect,J,f);
++        this->generatesElementaryVector(eVect,J,f);
+ 
+         for (size_t l=0; l<FiniteElement::numberOfDegreesOfFreedom; ++l) {
+-          const size_t dof = __degreeOfFreedomSet(i,index[l]);
++          const size_t dof = this->__degreeOfFreedomSet(i,index[l]);
+           b[dof] += eVect[l]*J.jacobianDet();
+         }
+       }
+@@ -434,10 +434,10 @@
+           for (size_t l=0; l<FiniteElement::numberOfQuadraturePoints; ++l)
+             f[l] = F(quadrature[l]);
+ 
+-          generatesElementaryVector(eVect,J,f);
++          this->generatesElementaryVector(eVect,J,f);
+ 
+           for (size_t l=0; l<FiniteElement::numberOfDegreesOfFreedom; ++l) {
+-            const size_t dof = 
__degreeOfFreedomSet(testFunctionNumber,index[l]);
++            const size_t dof = 
this->__degreeOfFreedomSet(testFunctionNumber,index[l]);
+             b[dof] += eVect[l]*J.jacobianDet();
+           }
+         }
+@@ -466,7 +466,7 @@
+           JacobianTransformation J(T);
+ 
+           ElementaryMatrixType edxUV = 0;
+-          generatesElementaryMatrix(PDEOperator::firstorderop,
++          this->generatesElementaryMatrix(PDEOperator::firstorderop,
+                                     J, edxUV, fv.number());
+ 
+           TinyVector<3> massCenter;
+@@ -483,7 +483,7 @@
+ 
+           for (size_t l=0; l<FiniteElement::numberOfDegreesOfFreedom; ++l) {
+             const size_t dof
+-              = __degreeOfFreedomSet(testFunctionNumber,index[l]);
++              = this->__degreeOfFreedomSet(testFunctionNumber,index[l]);
+ 
+             for (size_t m=0; m<FiniteElement::numberOfDegreesOfFreedom; ++m) {
+               b[dof] += edxUV(l,m)*gValues[index[m]]*fValue;
+@@ -513,7 +513,7 @@
+           JacobianTransformation J(T);
+ 
+           ElementaryMatrixType eUdxV = 0;
+-          generatesElementaryMatrix(PDEOperator::firstorderopTransposed,
++          this->generatesElementaryMatrix(PDEOperator::firstorderopTransposed,
+                                     J, eUdxV, fv.number());
+ 
+           const size_t cellNumber = icell.number();
+@@ -556,7 +556,7 @@
+           JacobianTransformation J(T);
+ 
+           ElementaryMatrixType e = 0;
+-          generatesElementaryMatrix(PDEOperator::divmugrad,
++          this->generatesElementaryMatrix(PDEOperator::divmugrad,
+                                     J, e);
+ 
+           TinyVector<3> massCenter;
+@@ -573,7 +573,7 @@
+ 
+           for (size_t l=0; l<FiniteElement::numberOfDegreesOfFreedom; ++l) {
+             const size_t dof
+-              = __degreeOfFreedomSet(testFunctionNumber,index[l]);
++              = this->__degreeOfFreedomSet(testFunctionNumber,index[l]);
+ 
+             for (size_t m=0; m<FiniteElement::numberOfDegreesOfFreedom; ++m) {
+               b[dof] += e(l,m)*gValues[index[m]]*fValue;
+@@ -698,7 +698,7 @@
+       MeshType::iterator icell0(this->__mesh);
+       ConformTransformation T0(*icell0);
+       JacobianTransformation J(T0);
+-      generatesElementaryMatrix(this->__eSet,J);
++      this->generatesElementaryMatrix(this->__eSet,J);
+ 
+       for(MeshType::const_iterator icell(this->__mesh);
+         not(icell.end()); ++icell) {
+@@ -775,7 +775,7 @@
+     MeshType::const_iterator icell(this->__mesh);
+     ConformTransformation T0(*icell);
+     JacobianTransformation J(T0);
+-    generatesElementaryMatrix(this->__eSet,J);
++    this->generatesElementaryMatrix(this->__eSet,J);
+ 
+     for(MeshType::const_iterator icell(this->__mesh);
+       not(icell.end()); ++icell) {
+@@ -836,7 +836,7 @@
+     MeshType::const_iterator icell(this->__mesh);
+     ConformTransformation T0(*icell);
+     JacobianTransformation J(T0);
+-    generatesElementaryMatrix(this->__eSet,J);
++    this->generatesElementaryMatrix(this->__eSet,J);
+ 
+     for(MeshType::const_iterator icell(this->__mesh);
+       not(icell.end()); ++icell) {
+@@ -893,7 +893,7 @@
+     MeshType::const_iterator icell0(this->__mesh);
+     ConformTransformation T0(*icell0);
+     JacobianTransformation J(T0);
+-    generatesElementaryMatrix(this->__eSet,J);
++    this->generatesElementaryMatrix(this->__eSet,J);
+ 
+     for(MeshType::const_iterator icell(this->__mesh);
+       not(icell.end()); ++icell) {
+@@ -982,7 +982,7 @@
+           f[l] = F(quadrature[l]);
+         }
+ 
+-        generatesElementaryVector(eVect,J,f);
++        this->generatesElementaryVector(eVect,J,f);
+ 
+         for (size_t l=0; l<FiniteElement::numberOfDegreesOfFreedom; ++l) {
+           const size_t dof = this->__degreeOfFreedomSet(i,index[l]);
+@@ -1040,7 +1040,7 @@
+             f[l] = F(quadrature[l]);
+           }
+ 
+-          generatesElementaryVector(eVect,J,f);
++          this->generatesElementaryVector(eVect,J,f);
+ 
+           for (size_t l=0; l<FiniteElement::numberOfDegreesOfFreedom; ++l) {
+             const size_t dof = 
this->__degreeOfFreedomSet(testFunctionNumber,index[l]);
+@@ -1068,7 +1068,7 @@
+         JacobianTransformation J(T0);
+ 
+         ElementaryMatrixType edxUV = 0;
+-        generatesElementaryMatrix(PDEOperator::firstorderop,
++        this->generatesElementaryMatrix(PDEOperator::firstorderop,
+                                   J, edxUV, fv.number());
+ 
+         for(MeshType::const_iterator icell(this->__mesh);
+@@ -1117,7 +1117,7 @@
+         JacobianTransformation J(T0);
+ 
+         ElementaryMatrixType eUdxV = 0;
+-        generatesElementaryMatrix(PDEOperator::firstorderopTransposed,
++        this->generatesElementaryMatrix(PDEOperator::firstorderopTransposed,
+                                   J, eUdxV, fv.number());
+ 
+         for(MeshType::const_iterator icell(this->__mesh);
+@@ -1163,7 +1163,7 @@
+         JacobianTransformation J(T0);
+ 
+         ElementaryMatrixType e = 0;
+-        generatesElementaryMatrix(PDEOperator::divmugrad,
++        this->generatesElementaryMatrix(PDEOperator::divmugrad,
+                                   J, e);
+ 
+         for(MeshType::const_iterator icell(this->__mesh);
+@@ -1185,7 +1185,7 @@
+ 
+           for (size_t l=0; l<FiniteElement::numberOfDegreesOfFreedom; ++l) {
+             const size_t dof
+-              = __degreeOfFreedomSet(testFunctionNumber,index[l]);
++              = this->__degreeOfFreedomSet(testFunctionNumber,index[l]);
+ 
+             for (size_t m=0; m<FiniteElement::numberOfDegreesOfFreedom; ++m) {
+               b[dof] += e(l,m)*gValues[index[m]]*fValue;

Reply via email to