Changeset 5c52d524 in OpenModelica


Ignore:
Timestamp:
2020-11-11T13:16:35+01:00 (3 years ago)
Author:
GitHub <noreply@…>
Branches:
maintenance/v1.14
Parents:
e269b242
git-author:
Martin Sjölund <martin.sjolund@…> (11/11/20 13:16:35)
git-committer:
GitHub <noreply@…> (11/11/20 13:16:35)
Message:

Look for deprecated lapack functions (#6913)

Note that if we do not have the deprecated lapack functions, older
versions of the Modelica standard library will fail to compile since
it uses these functions and no replacement is provided.

https://trac.openmodelica.org/OpenModelica/ticket/4886

Cherry-picked from (#734)

Location:
OMCompiler
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • OMCompiler/Compiler/runtime/lapackimpl.c

    r83be5f2b r5c52d524  
    8080#endif
    8181
    82 #ifndef NO_LAPACK
    83 
    84 extern int dgeev_(const char *jobvl, const char *jobvr, integer *n,
    85   doublereal *a, integer *lda, doublereal *wr, doublereal *wi, doublereal *vl,
    86   integer *ldvl, doublereal *vr, integer *ldvr, doublereal *work,
    87   integer *lwork, integer *info);
     82#ifdef HAVE_LAPACK_DEPRECATED
     83
     84extern int dgeqpf_(integer *m, integer *n, doublereal *a, integer *lda,
     85  integer *jpvt, doublereal *tau, doublereal *work, integer *info);
    8886
    8987extern int dgegv_(const char *jobvl, const char *jobvr, integer *n, doublereal *a,
     
    9391  integer *info);
    9492
     93extern int dgelsx_(integer *m, integer *n, integer *nrhs, doublereal *a,
     94  integer *lda, doublereal *b, integer *ldb, integer *jpvt, doublereal *rcond,
     95  integer *rank, doublereal *work, integer *info);
     96
     97#endif
     98
     99#ifndef NO_LAPACK
     100
     101extern int dgeev_(const char *jobvl, const char *jobvr, integer *n,
     102  doublereal *a, integer *lda, doublereal *wr, doublereal *wi, doublereal *vl,
     103  integer *ldvl, doublereal *vr, integer *ldvr, doublereal *work,
     104  integer *lwork, integer *info);
     105
    95106extern int dgels_(const char *trans, integer *m, integer *n, integer *nrhs,
    96107  doublereal *a, integer *lda, doublereal *b, integer *ldb, doublereal *work,
    97108  integer *lwork, integer *info);
    98109
    99 extern int dgelsx_(integer *m, integer *n, integer *nrhs, doublereal *a,
    100   integer *lda, doublereal *b, integer *ldb, integer *jpvt, doublereal *rcond,
    101   integer *rank, doublereal *work, integer *info);
    102 
    103110extern int dgelsy_(integer *m, integer *n, integer *nrhs, doublereal *a,
    104111  integer *lda, doublereal *b, integer *ldb, integer *jpvt, doublereal *rcond,
     
    131138extern int dgetri_(integer *n, doublereal *a, integer *lda, integer *ipiv,
    132139  doublereal *work, integer *lwork, integer *info);
    133 
    134 extern int dgeqpf_(integer *m, integer *n, doublereal *a, integer *lda,
    135   integer *jpvt, doublereal *tau, doublereal *work, integer *info);
    136140
    137141extern int dorgqr_(integer *m, integer *n, integer *k, doublereal *a,
     
    356360    void **outWORK, int *INFO)
    357361{
    358 #ifndef NO_LAPACK
     362#ifdef HAVE_LAPACK_DEPRECATED
    359363  integer n, lda, ldb, ldvl, ldvr, lwork, info = 0;
    360364  double *a, *b, *work, *alphar, *alphai, *beta, *vl, *vr;
     
    438442    void **outA, void **outB, void **outJPVT, int *RANK, int *INFO)
    439443{
    440 #ifndef NO_LAPACK
     444#ifdef HAVE_LAPACK_DEPRECATED
    441445  integer m, n, nrhs, lda, ldb, rank = 0, info = 0, lwork;
    442446  double *a, *b, *work;
     
    793797    void *WORK, void **outA, void **outJPVT, void **TAU, int *INFO)
    794798{
    795 #ifndef NO_LAPACK
     799#ifdef HAVE_LAPACK_DEPRECATED
    796800  integer m, n, lda, lwork, ldtau, info = 0;
    797801  double *a, *tau, *work;
  • OMCompiler/m4/lapack.m4

    r83be5f2b r5c52d524  
    8989      ])
    9090    fi
     91    if test ! -z "$LD_LAPACK"; then
     92      # lapack 3.6.0 deprecated dgegv, dgelsx, dgeqpf
     93      AC_MSG_CHECKING([for deprecated LAPACK routines])
     94      AC_LINK_IFELSE([AC_LANG_CALL([], [dgegv_])],[AC_MSG_RESULT([yes]); NO_LAPACK="#define HAVE_LAPACK_DEPRECATED 1"],[
     95        AC_MSG_RESULT([no])
     96      ])
     97    fi
    9198    LIBS="$OLDLIBS"
    9299    AC_LANG_POP([C])
Note: See TracChangeset for help on using the changeset viewer.