aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/libgfortran.h
diff options
context:
space:
mode:
authorFrancois-Xavier Coudert <coudert@clipper.ens.fr>2007-01-18 13:54:11 +0100
committerTobias Burnus <burnus@gcc.gnu.org>2007-01-18 13:54:11 +0100
commiteedeea04da0bbdf7e975a31c9c55f3929657b909 (patch)
tree35528f51b61de752d5ace70f20f9840ecaf371df /libgfortran/libgfortran.h
parent9521dd6bd14f4915eecc79f886b805d3e1eb1ff7 (diff)
downloadgcc-eedeea04da0bbdf7e975a31c9c55f3929657b909.zip
gcc-eedeea04da0bbdf7e975a31c9c55f3929657b909.tar.gz
gcc-eedeea04da0bbdf7e975a31c9c55f3929657b909.tar.bz2
re PR libfortran/29649 (Force core dump on runtime library errors)
2007-01-18 Francois-Xavier Coudert <coudert@clipper.ens.fr> Tobias Burnus <burnus@net-b.de> PR libfortran/29649 * gfortran.h (gfc_option_t): Add flag_dump_core. * lang.opt: Add -fdump-core option. * invoke.texi: Document the new options. * trans-decl.c (gfc_build_builtin_function_decls): Add new options to the call to set_std. * options.c (gfc_init_options, gfc_handle_option): Set the new options. 2007-01-18 Francois-Xavier Coudert <coudert@clipper.ens.fr> Tobias Burnus <burnus@net-b.de> PR libfortran/29649 * runtime/environ.c (variable_table): New GFORTRAN_ERROR_DUMPCORE environment variable. * runtime/compile_options.c (set_std): Add new argument. * runtime/error.c (sys_exit): Move from io/unix.c. Add coredump functionality. * libgfortran.h (options_t): New dump_core and backtrace members. (sys_exit): Move prototype. * io/unix.c (sys_exit): Move to runtime/error.c. * configure.ac: Add check for getrlimit. * configure: Regenerate. Co-Authored-By: Tobias Burnus <burnus@net-b.de> From-SVN: r120897
Diffstat (limited to 'libgfortran/libgfortran.h')
-rw-r--r--libgfortran/libgfortran.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/libgfortran/libgfortran.h b/libgfortran/libgfortran.h
index dc93b2f..af53e480 100644
--- a/libgfortran/libgfortran.h
+++ b/libgfortran/libgfortran.h
@@ -355,6 +355,7 @@ typedef struct
int fpu_round, fpu_precision, fpe;
int sighup, sigint;
+ int dump_core;
}
options_t;
@@ -370,6 +371,7 @@ typedef struct
int allow_std;
int pedantic;
int convert;
+ int dump_core;
size_t record_marker;
int max_subrecord_length;
}
@@ -549,6 +551,9 @@ internal_proto(get_args);
#define GFC_OTOA_BUF_SIZE (sizeof (GFC_INTEGER_LARGEST) * 3 + 1)
#define GFC_BTOA_BUF_SIZE (sizeof (GFC_INTEGER_LARGEST) * 8 + 1)
+extern void sys_exit (int) __attribute__ ((noreturn));
+internal_proto(sys_exit);
+
extern const char *gfc_itoa (GFC_INTEGER_LARGEST, char *, size_t);
internal_proto(gfc_itoa);
@@ -571,9 +576,6 @@ internal_proto(internal_error);
extern const char *get_oserror (void);
internal_proto(get_oserror);
-extern void sys_exit (int) __attribute__ ((noreturn));
-internal_proto(sys_exit);
-
extern void st_sprintf (char *, const char *, ...)
__attribute__ ((format (printf, 2, 3)));
internal_proto(st_sprintf);