44{
45#if 0
46#ifdef HAVE_EXECINFO_H
47#define SIZE 50
48 void *buffer[SIZE+1]; int ret;
49#endif
50#endif
51
54#ifndef MAKE_DISTRIBUTION
55 fprintf(stderr, "\n// ***dError: ");
56 vfprintf(stderr, fmt,
ap);
57#if !defined(OM_NDEBUG)
58 #ifdef omPrintCurrentBackTraceMax
59 fprintf(stderr, " occurred at: \n");
61 #endif
62#endif
63
64#if 0
65#ifdef HAVE_EXECINFO_H
66 ret = backtrace( buffer, SIZE );
67 fprintf(stderr, "\nExecinfo backtrace (with %zd stack frames): \n", ret);
68
69#ifndef HAVE_GCC_ABI_DEMANGLE
70 backtrace_symbols_fd(buffer, ret, STDERR_FILENO);
71#else
72 char **ptr = backtrace_symbols( buffer, ret );
73
75 char *demangledName;
77 char *ss;
78 for (
int i = 0;
i < ret;
i++)
79 {
81
83
84
86 ss[0] = 0;
87 fprintf (stderr,
" #%02d: '%s': ",
i,
s);
88 ss[0] =
'(';
s = ss + 1;
89
91
93 {
94 ss[0] = 0;
97 fprintf (stderr,
" '%s'", (demangledName[0] != 0)? demangledName:
s);
98 else
99 fprintf (stderr,
" '%s'",
s);
100
102 ss[0] = '+';
104 }
105
108 {
109 ss[0] = 0;
110 fprintf (stderr,
" + %s",
s);
111 ss[0] = ')';
112 }
113
114 fprintf (stderr, " %s\n", ss + 2);
115 }
117#endif
118#endif
119
120#undef SIZE
121#endif
122
124#else
125 fprintf(stderr, "\n// !!! YOU HAVE FOUND A BUG IN SINGULAR.");
126 fprintf(stderr, "// !!! Please, email the input\n// and the following error message to singular@mathematik.uni-kl.de")
127 vfprintf(stderr, fmt,
ap);
128#endif
129 return 0;
130}
static void malloc_free(void *ptr)
const CanonicalForm int s
static int index(p_Length length, p_Ord ord)
#define omPrintCurrentBackTraceMax(A, B)