Closed jeffhammond closed 10 years ago
The following changes allow that code to compile but I have no idea if they are correct overall. And more changes are still required to compile the whole library.
Jeffs-MacBook-Air:build jhammond$ cat no-cpp-defaults.patch
diff --git a/src/lapack-like/decomp/HermitianGenDefiniteEig.cpp b/src/lapack-like/decomp/HermitianGenDefiniteEig.cpp
index c58c629..2c23616 100644
--- a/src/lapack-like/decomp/HermitianGenDefiniteEig.cpp
+++ b/src/lapack-like/decomp/HermitianGenDefiniteEig.cpp
@@ -117,8 +117,8 @@ template<typename F>
void HermitianGenDefiniteEig
( HermitianGenDefiniteEigType type, UpperOrLower uplo,
Matrix<F>& A, Matrix<F>& B, Matrix<Base<F>>& w,
- Int a, Int b, SortType sort=UNSORTED,
- const HermitianEigCtrl<Base<F>> ctrl=HermitianEigCtrl<Base<F>>() )
+ Int a, Int b, SortType sort,
+ const HermitianEigCtrl<Base<F>> ctrl )
{
DEBUG_ONLY(CallStackEntry cse("HermitianGenDefiniteEig"))
if( A.Height() != A.Width() || B.Height() != B.Width() )
@@ -218,8 +218,8 @@ template<typename F>
void HermitianGenDefiniteEig
( HermitianGenDefiniteEigType type, UpperOrLower uplo,
Matrix<F>& A, Matrix<F>& B, Matrix<Base<F>>& w,
- Base<F> a, Base<F> b, SortType sort=UNSORTED,
- const HermitianEigCtrl<Base<F>> ctrl=HermitianEigCtrl<Base<F>>() )
+ Base<F> a, Base<F> b, SortType sort,
+ const HermitianEigCtrl<Base<F>> ctrl )
{
DEBUG_ONLY(CallStackEntry cse("HermitianGenDefiniteEig"))
if( A.Height() != A.Width() || B.Height() != B.Width() )
@@ -237,8 +237,8 @@ template<typename F>
void HermitianGenDefiniteEig
( HermitianGenDefiniteEigType type, UpperOrLower uplo,
DistMatrix<F>& A, DistMatrix<F>& B, DistMatrix<Base<F>,VR,STAR>& w,
- Base<F> a, Base<F> b, SortType sort=UNSORTED,
- const HermitianEigCtrl<Base<F>> ctrl=HermitianEigCtrl<Base<F>>() )
+ Base<F> a, Base<F> b, SortType sort,
+ const HermitianEigCtrl<Base<F>> ctrl )
{
DEBUG_ONLY(CallStackEntry cse("HermitianGenDefiniteEig"))
if( A.Height() != A.Width() || B.Height() != B.Width() )
Good catch! I'm not sure why my compiler hasn't been catching that I defined the default values in both the declaration and definition. I'll commit a fix (essentially identical to yours, modulo switching to ASCENDING by default since it's what most people expect) very soon.
Did I fail to set something correctly or is this a real bug?
CMake invocation:
MPI info:
Compiler info:
Error: