diff options
author | Janus Weil <janus@gcc.gnu.org> | 2012-12-20 19:15:13 +0100 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2012-12-20 19:15:13 +0100 |
commit | f0f67c96c3906c09d9a9e00cbdbbb959c9c6e539 (patch) | |
tree | e5d70c766699e82a05d85f8b91a5a37c1eee9520 /libgfortran/runtime/backtrace.c | |
parent | d97c9b2248a86fc8a2d3f65df0e0a63347c89e2a (diff) | |
download | gcc-f0f67c96c3906c09d9a9e00cbdbbb959c9c6e539.zip gcc-f0f67c96c3906c09d9a9e00cbdbbb959c9c6e539.tar.gz gcc-f0f67c96c3906c09d9a9e00cbdbbb959c9c6e539.tar.bz2 |
re PR libfortran/36044 (user-requested backtrace)
2012-12-20 Janus Weil <janus@gcc.gnu.org>
PR fortran/36044
* gfortran.h (gfc_isym_id): Add GFC_ISYM_BACKTRACE.
* intrinsic.c (add_subroutines): Add "backtrace".
* intrinsic.texi (BACKTRACE): Document BACKTRACE intrinsic.
2012-12-20 Janus Weil <janus@gcc.gnu.org>
PR fortran/36044
* gfortran.map: Add _gfortran_backtrace.
* libgfortran.h: Rename 'show_backtrace' and export.
* runtime/backtrace.c (show_backtrace): Rename to 'backtrace'.
Don't show message. Close file descriptor. Export.
* runtime/compile_options.c (backtrace_handler): Renamed
'show_backtrace'. Move message outside.
* runtime/error.c (sys_abort): Ditto.
From-SVN: r194648
Diffstat (limited to 'libgfortran/runtime/backtrace.c')
-rw-r--r-- | libgfortran/runtime/backtrace.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libgfortran/runtime/backtrace.c b/libgfortran/runtime/backtrace.c index 9d88d13..3e3e844 100644 --- a/libgfortran/runtime/backtrace.c +++ b/libgfortran/runtime/backtrace.c @@ -190,14 +190,12 @@ trace_function (struct _Unwind_Context *context, void *state_ptr) /* Display the backtrace. */ void -show_backtrace (void) +backtrace (void) { bt_state state; state.frame_number = 0; state.error = 0; - estr_write ("\nBacktrace for this error:\n"); - #if CAN_PIPE if (addr2line_path == NULL) @@ -261,6 +259,7 @@ show_backtrace (void) if (state.error) goto fallback; close (inp[1]); + close (f[0]); wait (NULL); return; @@ -277,3 +276,4 @@ fallback_noerr: state.direct_output = 1; _Unwind_Backtrace (trace_function, &state); } +iexport(backtrace); |