1c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
2c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include <iostream>
3c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
4c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#if (defined __GNUC__)
5c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define EIGEN_WEAK_LINKING __attribute__ ((weak))
6c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#else
7c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define EIGEN_WEAK_LINKING
8c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#endif
9c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
10c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#ifdef __cplusplus
11c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathextern "C"
12c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath{
13c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#endif
14c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
15c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan KamathEIGEN_WEAK_LINKING int xerbla_(const char * msg, int *info, int)
16c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath{
17c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  std::cerr << "Eigen BLAS ERROR #" << *info << ": " << msg << "\n";
18c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  return 0;
19c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath}
20c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
21c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#ifdef __cplusplus
22c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath}
23c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#endif
24