diff options
author | Francois-Xavier Coudert <coudert@clipper.ens.fr> | 2007-01-18 13:54:11 +0100 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2007-01-18 13:54:11 +0100 |
commit | eedeea04da0bbdf7e975a31c9c55f3929657b909 (patch) | |
tree | 35528f51b61de752d5ace70f20f9840ecaf371df /libgfortran/libgfortran.h | |
parent | 9521dd6bd14f4915eecc79f886b805d3e1eb1ff7 (diff) | |
download | gcc-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.h | 8 |
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); |