aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/runtime/backtrace.c
diff options
context:
space:
mode:
authorFrancois-Xavier Coudert <fxcoudert@gcc.gnu.org>2007-10-18 21:25:21 +0000
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>2007-10-18 21:25:21 +0000
commit1cc0507d4c4ac6799ad44f3804c615efaf72e268 (patch)
tree0769a04922654613317a07a6b2f817cda89a8b9e /libgfortran/runtime/backtrace.c
parentddc4af9c164140e3a6bcbbe448c7cd50719845c8 (diff)
downloadgcc-1cc0507d4c4ac6799ad44f3804c615efaf72e268.zip
gcc-1cc0507d4c4ac6799ad44f3804c615efaf72e268.tar.gz
gcc-1cc0507d4c4ac6799ad44f3804c615efaf72e268.tar.bz2
re PR fortran/32021 (Fix,document,remove GFORTRAN_* environment variables)
PR libfortran/32021 * runtime/backtrace.c (local_strcasestr): Protect by appropriate macros. * runtime/main.c (cleanup): Cast argument to free. * intrinsics/spread_generic.c (spread_internal): Match runtime_error arguments and format. * intrinsics/signal.c (alarm_sub_int_i4, alarm_sub_int_i8): Cast pointers to avoid warnings. From-SVN: r129463
Diffstat (limited to 'libgfortran/runtime/backtrace.c')
-rw-r--r--libgfortran/runtime/backtrace.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/libgfortran/runtime/backtrace.c b/libgfortran/runtime/backtrace.c
index 9f97fe4..00605b5 100644
--- a/libgfortran/runtime/backtrace.c
+++ b/libgfortran/runtime/backtrace.c
@@ -60,7 +60,18 @@ Boston, MA 02110-1301, USA. */
#include <ctype.h>
+/* Macros for common sets of capabilities: can we fork and exec, can
+ we use glibc-style backtrace functions, and can we use pipes. */
+#define CAN_FORK (defined(HAVE_FORK) && defined(HAVE_EXECVP) \
+ && defined(HAVE_WAIT))
+#define GLIBC_BACKTRACE (defined(HAVE_BACKTRACE) \
+ && defined(HAVE_BACKTRACE_SYMBOLS))
+#define CAN_PIPE (CAN_FORK && defined(HAVE_PIPE) \
+ && defined(HAVE_DUP2) && defined(HAVE_FDOPEN) \
+ && defined(HAVE_CLOSE))
+
+#if GLIBC_BACKTRACE && CAN_PIPE
static char *
local_strcasestr (const char *s1, const char *s2)
{
@@ -85,14 +96,7 @@ local_strcasestr (const char *s1, const char *s2)
}
#endif
}
-
-#define CAN_FORK (defined(HAVE_FORK) && defined(HAVE_EXECVP) \
- && defined(HAVE_WAIT))
-#define GLIBC_BACKTRACE (defined(HAVE_BACKTRACE) \
- && defined(HAVE_BACKTRACE_SYMBOLS))
-#define CAN_PIPE (CAN_FORK && defined(HAVE_PIPE) \
- && defined(HAVE_DUP2) && defined(HAVE_FDOPEN) \
- && defined(HAVE_CLOSE))
+#endif
#if GLIBC_BACKTRACE