diff src/octave.cc @ 3690:55e59236c5e5

[project @ 2000-06-30 20:55:36 by jwe]
author jwe
date Fri, 30 Jun 2000 20:57:14 +0000
parents 26662775f4e9
children 64ca92e02a7e
line wrap: on
line diff
--- a/src/octave.cc	Fri Jun 30 09:30:46 2000 +0000
+++ b/src/octave.cc	Fri Jun 30 20:57:14 2000 +0000
@@ -43,6 +43,7 @@
 #endif
 
 #include "cmd-edit.h"
+#include "f77-fcn.h"
 #include "file-stat.h"
 #include "lo-error.h"
 #include "oct-env.h"
@@ -71,6 +72,9 @@
 #include "variables.h"
 #include <version.h>
 
+// Kluge.
+extern "C" void F77_FCN (xerbla, XERBLA) (const char *, int);
+
 extern void install_builtins (void);
 
 #if !defined (HAVE_ATEXIT) && defined (HAVE_ON_EXIT)
@@ -578,6 +582,17 @@
     retval = 0;
 
   clean_up_and_exit (retval);
+
+  // The following code should never be reached.  It is a hack to make
+  // sure that the xerbla.f from libcruft/blas-xtra is linked with
+  // octave, in preference to the xerbla function from any standard
+  // BLAS that we link to.
+
+  // XXX FIXME XXX -- this may not work on some systems if libcruft
+  // and the external blas libraries are both shared libraries.
+
+  if (retval < 0)
+    F77_FCN (xerbla, XERBLA) ("foobar", 0);
 }
 
 /*