Fix compatibility with newer versions of UMFPACK. #499
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In old versions of UMFPACK (like the one that is bundled with ElmerFEM), the
*l_*
versions of its functions usedlong
for indices in their interface.That was later changed to use
SuiteSparse_long
.SuiteSparse_long
waslong long
on Windows andlong
on any other platform.For the latest versions of UMFPACK,
SuiteSparse_long
isint64_t
(on all platforms).This change fixes compilation errors on Windows (where
long
is 32-bit wide also on 64-bit, LLP64) and macOS (whereint64_t
islong long
which has the same size aslong
but is still technically a different type thanlong
).The change still maintains compatibility with old versions of UMFPACK (like the one that is bundled with ElmerFEM).
See also #471 (comment) for the issue with
long
vs.long long
with newer versions of UMFPACK on macOS.