summaryrefslogtreecommitdiff
path: root/libgfortran/runtime/compile_options.c
AgeCommit message (Collapse)Author
2020-01-01Update copyright years.Jakub Jelinek
From-SVN: r279813
2019-01-01Update copyright years.Jakub Jelinek
From-SVN: r267494
2018-01-03Update copyright years.Jakub Jelinek
From-SVN: r256169
2017-01-01Update copyright years.Jakub Jelinek
From-SVN: r243994
2016-12-19trans-decl.c (create_main_function): Remove unused elements to the ↵Francois-Xavier Coudert
set_options call. * trans-decl.c (create_main_function): Remove unused elements to the set_options call. * runtime/compile_options.c (set_options): Remove unused elements. From-SVN: r243814
2016-01-04Update copyright years.Jakub Jelinek
From-SVN: r232055
2015-09-02PR 67414 Better diagnostics on backtrace failure, gf_strerror bugfixJanne Blomqvist
2015-09-02 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/67414 * io/write.c (gfc_itoa): Move to runtime/string.c. * libgfortran.h (show_backtrace): Make arg bool. (gfc_itoa): New prototype. * runtime/backtrace.c (struct mystate): Change type of try_simple field, add in_signal_handler field. (error_callback): Print out error number, or if not in a signal handler, the error message. (show_backtrace): Change type of arg, change initialization of struct mystate. (backtrace): Call show_backtrace with correct arg type. * runtime/compile_options.c (backtrace_handler): Call with correct arg type. * runtime/error.c (sys_abort): Likewise. (gf_strerror): Handle newlocale() failure. * runtime/string.c (gfc_itoa): Function moved here from io/write.c. From-SVN: r227404
2015-08-23re PR libfortran/54572 (Use libbacktrace library)Francois-Xavier Coudert
PR libfortran/54572 * Makefile.def: Make libgfortran depend on libbacktrace. * Makefile.in: Regenerate. * config-lang.in: Add libbacktrace to target_libs. * Makefile.am (libgfortran_la_LDFLAGS): Link in libbacktrace. (AM_CPPFLAGS): Add libbacktrace directories to include paths. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * config.h.in: Regenerate. * configure: Regenerate. * configure.ac: Remove checks for strtok_r, wait, execve, pipe, and dup2. Remove call to GCC_CHECK_UNWIND_GETIPINFO. * libgfortran.h (full_exe_path, find_addr2line, backtrace): Remove prototypes. (show_backtrace): Add prototype. * runtime/backtrace.c: Rework file entirely. * runtime/compile_options.c (backtrace_handler): Rename backtrace to show_backtrace. (maybe_find_addr2line): Remove function. (set_options): Remove call to maybe_find_addr2line. * runtime/error.c (sys_abort): Rename backtrace to show_backtrace. * runtime/main.c (store_exe_path): Empty function body. (full_exe_path, gfstrtok_r, find_addr2line): Remove functions. (cleanup): Don't free removed variables. * runtime/minimal.c (full_exe_path): Remove function. (set_args): Don't set exe_path. * gfortran.dg/backtrace_1.f90: New test. From-SVN: r227106
2015-08-06* runtime/compile_options.c (set_options): Fix typos.Francois-Xavier Coudert
From-SVN: r226686
2015-01-05Update copyright years.Jakub Jelinek
From-SVN: r219188
2014-11-28Add support for a minimal version of libgfortran for accelerator targets.Bernd Schmidt
* Makefile.am (AM_CFLAGS): Add -DLIBGFOR_MINIMAL if LIBGFOR_MINIMAL. (gfor_io_src, gfor_heper_src, gfor_src): Split into minimal and always included sources. * Makefile.in: Regenerate. * configure.ac (LIBGFOR_MINIMAL): New AM_CONDITIONAL. * configure: Regenerate. * caf/single.c (caf_runtime_error): Don't print messages if LIBGFOR_MINIMAL. * runtime/compile_options.c (fatal_error_in_progress, show_signal, backtrace_handler, maybe_find_addr2line): Guard with !defined LIBGFOR_MINIMAL. (set_options): Likewise for the backtrace code. * runtime/minimal.c: New file. From-SVN: r218170
2014-01-02Update copyright years in libgfortran/Richard Sandiford
From-SVN: r206296
2013-06-17gfortran.h (gfc_option_t): Add fpe_summary.Tobias Burnus
2013-06-17 Tobias Burnus <burnus@net-b.de> * gfortran.h (gfc_option_t): Add fpe_summary. * gfortran.texi (_gfortran_set_options): Update. * invoke.texi (-ffpe-summary): Add doc. * lang.opt (ffpe-summary): Add flag. * options.c (gfc_init_options, gfc_handle_option): Handle it. (gfc_handle_fpe_option): Renamed from gfc_handle_fpe_trap_option, also handle fpe_summary. * trans-decl.c (create_main_function): Update _gfortran_set_options call. 2013-06-17 Tobias Burnus <burnus@net-b.de> * libgfortran.h (compile_options_t) Add fpe_summary. (get_fpu_except_flags): New prototype. * runtime/compile_options.c (set_options, init_compile_options): Handle fpe_summary. * runtime/stop.c (report_exception): New function. (stop_numeric, stop_numeric_f08, stop_string, error_stop_string, error_stop_numeric): Call it. * config/fpu-387.h (get_fpu_except_flags): New function. * config/fpu-aix.h (get_fpu_except_flags): New function. * config/fpu-generic.h (get_fpu_except_flags): New function. * config/fpu-glibc.h (get_fpu_except_flags): New function. * config/fpu-glibc.h (get_fpu_except_flags): New function. * configure.ac: Check for fpxcp.h. * configure: Regenerate. * config.h.in: Regenerate. From-SVN: r200147
2013-01-14Update copyright years in libgfortran.Richard Sandiford
From-SVN: r195167
2012-12-20re PR libfortran/36044 (user-requested backtrace)Janus Weil
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
2012-05-14PR 52428 Range checking when reading integer values.Janne Blomqvist
gcc/fortran ChangeLog: 2012-05-14 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/52428 * gfortran.texi: Update _gfortran_set_options documentation. * invoke.texi: Remove runtime behavior description of -fno-range-check. * trans-decl.c (create_main_function): Don't pass the range-check setting to the library. libgfortran ChangeLog: 2012-05-14 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/52428 * io/io.h (max_value): Rename to si_max, remove second argument. * io/list_read.c (convert_integer): Use unsigned types when parsing the digits, set max value depending on the sign. * io/read.c (max_value): Rename to si_max, remove second argument, simplify. (read_decimal): Set max value depending on sign, always check overflow. (read_radix): Calculate max unsigned value directly. * libgfortran.h (struct compile_options_t): Remove range_check field. * runtime/compile_options.c (set_options): Skip handling options[7]. (init_compile_options): Don't set removed field. gcc/testsuite ChangeLog: 2012-05-14 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/52428 * gfortran.dg/int_range_io_1.f90: New test. From-SVN: r187478
2012-01-10re PR fortran/51197 (Backtrace information less useful)Tobias Burnus
2012-01-10 Tobias Burnus <burnus@net-b.de> PR fortran/51197 * runtime/compile_options.c (show_signal): List more signals. From-SVN: r183057
2012-01-09re PR fortran/51197 (Backtrace information less useful)Harald Anlauf
2012-01-09 Harald Anlauf <anlauf@gmx.de> Tobias Burnus <burnus@net-b.de> PR fortran/51197 * runtime/backtrace.c (show_backtrace): Modify wording written before the backtrace. * runtime/compile_options.c (show_signal): New function. (backtrace_handler): Use it. Co-Authored-By: Tobias Burnus <burnus@net-b.de> From-SVN: r183030
2011-11-09Configure cleanup.Janne Blomqvist
2011-11-09 Janne Blomqvist <jb@gcc.gnu.org> * configure.ac (AC_STDC_HEADERS): Remove. (AC_HEADER_TIME): Remove. (AC_HAVE_HEADERS, AC_CHECK_HEADERS): Move into a single invocation of AC_CHECK_HEADERS_ONCE, don't check for presence of C89 headers. (AC_CHECK_MEMBERS): Use single invocation. (AC_CHECK_FUNCS): Move into single invocation of AC_CHEC_FUNCS_ONCE, don't check for presence of C89 functions. * config.h.in: Regenerate. * configure: Regenerate. * intrinsics/clock.c: Include time.h. (mclock): Assume clock() is present. (mclock8): Likewise. * intrinsics/ctime.c (strctime): Assume strftime is present. (fdate): Assume time() is present. (fdate_sub): Likewise. (ctime): Likewise. * intrinsics/date_and_time.c: Don't provide abs macro. (HAVE_NO_DATE_TIME): Remove code related to macro which is never set. * intrinsics/execute_command_line.c: Assume stdlib.h is present. * intrinsics/exit.c: Likewise. * intrinsics/extends_type_of.c: Likewise. * intrinsics/gerror.c: Assume strerror() is present. * intrinsics/kill.c: Assume signal.h is present. * intrinsics/malloc.c: Assume stdlib.h is present. * intrinsics/move_alloc.c: Likewise. * intrinsics/perror.c: Assume perror() is present. * intrinsics/signal.c: Assume signal.h is present. * intrinsics/stat.c: Assume stdlib.h is present. * intrinsics/system.c: Likewise. * intrinsics/time.c: Include time.h, assume time() is present. * intrinsics/time_1.h: Conditionally include sys/time.h, unconditionally time.h. (gf_cputime): Do division in double, fallback using clock(). (gf_gettime): Assume time() is present. * intrinsics/umask.c: Assume stdlib.h is present. * runtime/backtrace.c: Likewise. * runtime/compile_options.c: Assume signal.h is present, assume C89 signals are present. * runtime/error.c: Assume signal.h and stdlib.h are present. From-SVN: r181227
2011-05-29PR 48931 Use async-signal-safe execve instead of execvpJanne Blomqvist
From-SVN: r174415
2011-05-14PR 48915 Abort handlingJanne Blomqvist
From-SVN: r173750
2010-06-25decl.c (gfc_match_entry): Mark ENTRY as GFC_STD_F2008_OBS.Tobias Burnus
2010-06-25 Tobias Burnus <burnus@net-b.de> * decl.c (gfc_match_entry): Mark ENTRY as GFC_STD_F2008_OBS. * gfortran.texi (_gfortran_set_options): Update for GFC_STD_F2008_OBS addition. * libgfortran.h: Add GFC_STD_F2008_OBS. * options.c (set_default_std_flags, gfc_handle_option): Handle GFC_STD_F2008_OBS. io.c (check_format): Fix allow_std check. 2010-06-25 Tobias Burnus <burnus@net-b.de> * runtime/compile_options.c (init_compile_options): Update compile_options.allow_std for GFC_STD_F2008_OBS. * io/transfer.c (formatted_transfer_scalar_read, formatted_transfer_scalar_write): Fix allow_std check. * io/list_read.c (nml_parse_qualifier): Ditto. 2010-06-25 Tobias Burnus <burnus@net-b.de> * gfortran.dg/entry_19.f90: New. From-SVN: r161409
2009-04-09Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.Jakub Jelinek
From-SVN: r145841
2008-09-24options.c (set_default_std_flags,gfc_init_options): Add comment: keep in ↵Tobias Burnus
sync with libgfortran. 2008-09-24 Tobias Burnus <burnus@net-b.de> * options.c (set_default_std_flags,gfc_init_options): Add comment: keep in sync with libgfortran. 2008-09-24 Tobias Burnus <burnus@net-b.de> * runtime/compile_options.c (init_compile_options): Sync flags with front end. From-SVN: r140625
2008-06-15re PR fortran/36515 (Integer read from stdin yields a value overflow for a ↵Jerry DeLisle
valid integer.) 2008-06-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/36515 * libgfortran.h (compile_options_t): Add int range_check to structure. * runtime/compile_options.c (set_options): Add range_check option. (init_compile_options): Likewise. *io/read.c (read_decimal): Change overflow checks to include range_check. From-SVN: r136822
2007-09-15re PR libfortran/21185 (Improve testsuite results on newlib targets)Francois-Xavier Coudert
PR libfortran/21185 * runtime/compile_options.c (set_options): Fix typo. * runtime/main.c (store_exe_path): If getcwd is not available, don't use it. * intrinsics/getcwd.c: Same thing here. * io/unix.c (fallback_access): New fallback function for access. (fix_fd): Don't use dup if it's not available. * configure.ac: Check for dup and getcwd. * configure: Regenerate. * config.h.in: Regenerate. From-SVN: r128512
2007-08-31minloc1.m4: Update copyright year and ajust headers order.Francois-Xavier Coudert
* m4/minloc1.m4: Update copyright year and ajust headers order. * m4/maxloc1.m4: Likewise. * m4/in_pack.m4: Likewise. * m4/sum.m4: Likewise. * m4/fraction.m4: Likewise. * m4/all.m4: Likewise. * m4/set_exponent.m4: Likewise. * m4/transpose.m4: Likewise. * m4/eoshift1.m4: Likewise. * m4/spacing.m4: Likewise. * m4/eoshift3.m4: Likewise. * m4/minval.m4: Likewise. * m4/count.m4: Likewise. * m4/maxval.m4: Likewise. * m4/exponent.m4: Likewise. * m4/shape.m4: Likewise. * m4/head.m4: Likewise. * m4/cshift1.m4: Likewise. * m4/minloc0.m4: Likewise. * m4/nearest.m4: Likewise. * m4/maxloc0.m4: Likewise. * m4/pow.m4: Likewise. * m4/in_unpack.m4: Likewise. * m4/matmull.m4: Likewise. * m4/product.m4: Likewise. * m4/reshape.m4: Likewise. * m4/any.m4: Likewise. * m4/rrspacing.m4: Likewise. * m4/matmul.m4: Likewise. * runtime/backtrace.c: Likewise. * runtime/environ.c: Likewise. * runtime/in_pack_generic.c: Likewise. * runtime/compile_options.c: Likewise. * runtime/in_unpack_generic.c: Likewise. * runtime/main.c: Likewise. * runtime/stop.c: Likewise. * runtime/string.c: Likewise. * runtime/memory.c: Likewise. * runtime/error.c: Likewise. * runtime/pause.c: Likewise. * intrinsics/ierrno.c: Likewise. * intrinsics/system_clock.c: Likewise. * intrinsics/cshift0.c: Likewise. * intrinsics/unlink.c: Likewise. * intrinsics/ctime.c: Likewise. * intrinsics/etime.c: Likewise. * intrinsics/cpu_time.c: Likewise. * intrinsics/malloc.c: Likewise. * intrinsics/hostnm.c: Likewise. * intrinsics/sleep.c: Likewise. * intrinsics/exit.c: Likewise. * intrinsics/perror.c: Likewise. * intrinsics/transpose_generic.c: Likewise. * intrinsics/pack_generic.c: Likewise. * intrinsics/spread_generic.c: Likewise. * intrinsics/stat.c: Likewise. * intrinsics/string_intrinsics.c: Likewise. * intrinsics/getcwd.c: Likewise. * intrinsics/date_and_time.c: Likewise. * intrinsics/unpack_generic.c: Likewise. * intrinsics/move_alloc.c: Likewise. * intrinsics/getlog.c: Likewise. * intrinsics/eoshift0.c: Likewise. * intrinsics/eoshift2.c: Likewise. * intrinsics/reshape_generic.c: Likewise. * intrinsics/system.c: Likewise. * intrinsics/iso_c_binding.c: Likewise. * intrinsics/env.c: Likewise. * intrinsics/kill.c: Likewise. * intrinsics/reshape_packed.c: Likewise. * intrinsics/time.c: Likewise. * intrinsics/gerror.c: Likewise. * intrinsics/access.c: Likewise. * intrinsics/fnum.c: Likewise. * intrinsics/abort.c: Likewise. * intrinsics/rename.c: Likewise. * intrinsics/signal.c: Likewise. * intrinsics/symlnk.c: Likewise. * intrinsics/random.c: Likewise. * intrinsics/umask.c: Likewise. * intrinsics/getXid.c: Likewise. * intrinsics/rand.c: Likewise. * intrinsics/chdir.c: Likewise. * intrinsics/chmod.c: Likewise. * intrinsics/clock.c: Likewise. * intrinsics/args.c: Likewise. * intrinsics/link.c: Likewise. * c99_protos.h: Likewise. * config/fpu-387.h: Likewise. * config/fpu-aix.h: Likewise. * config/fpu-sysv.h: Likewise. * config/fpu-generic.h: Likewise. * config/fpu-glibc.h: Likewise. * io/file_pos.c: Likewise. * io/open.c: Likewise. * io/size_from_kind.c: Likewise. * io/close.c: Likewise. * io/list_read.c: Likewise. * io/read.c: Likewise. * io/inquire.c: Likewise. * io/unit.c: Likewise. * io/unix.c: Likewise. * io/transfer.c: Likewise. * io/intrinsics.c: Likewise. * io/format.c: Likewise. * io/lock.c: Likewise. * io/write.c: Likewise. * io/write_float.def: Likewise. * fmain.c: Likewise. * generated/minval_r8.c: Regenerate. * generated/minloc1_16_r16.c: Regenerate. * generated/maxloc1_4_r8.c: Regenerate. * generated/sum_i8.c: Regenerate. * generated/eoshift3_4.c: Regenerate. * generated/transpose_c8.c: Regenerate. * generated/any_l16.c: Regenerate. * generated/eoshift1_8.c: Regenerate. * generated/pow_r8_i8.c: Regenerate. * generated/reshape_r16.c: Regenerate. * generated/pow_i4_i16.c: Regenerate. * generated/maxval_i2.c: Regenerate. * generated/product_r4.c: Regenerate. * generated/maxloc1_8_i4.c: Regenerate. * generated/exponent_r16.c: Regenerate. * generated/maxloc0_4_r4.c: Regenerate. * generated/fraction_r16.c: Regenerate. * generated/in_unpack_i8.c: Regenerate. * generated/matmul_r8.c: Regenerate. * generated/product_i2.c: Regenerate. * generated/fraction_r4.c: Regenerate. * generated/minloc0_4_r16.c: Regenerate. * generated/reshape_c4.c: Regenerate. * generated/minloc0_4_i1.c: Regenerate. * generated/maxloc0_4_r16.c: Regenerate. * generated/maxloc0_4_i2.c: Regenerate. * generated/minloc1_8_r16.c: Regenerate. * generated/maxloc1_8_r16.c: Regenerate. * generated/set_exponent_r8.c: Regenerate. * generated/in_unpack_i16.c: Regenerate. * generated/transpose_c16.c: Regenerate. * generated/maxloc0_8_i8.c: Regenerate. * generated/pow_c4_i8.c: Regenerate. * generated/sum_r16.c: Regenerate. * generated/sum_i1.c: Regenerate. * generated/minloc1_4_r8.c: Regenerate. * generated/transpose_r10.c: Regenerate. * generated/pow_i8_i4.c: Regenerate. * generated/maxloc1_16_r16.c: Regenerate. * generated/minloc1_16_i4.c: Regenerate. * generated/maxloc1_16_i4.c: Regenerate. * generated/minloc0_16_i8.c: Regenerate. * generated/maxloc0_16_i8.c: Regenerate. * generated/nearest_r8.c: Regenerate. * generated/spacing_r16.c: Regenerate. * generated/transpose_i8.c: Regenerate. * generated/count_16_l16.c: Regenerate. * generated/maxval_r16.c: Regenerate. * generated/count_8_l8.c: Regenerate. * generated/product_c10.c: Regenerate. * generated/minloc1_8_i4.c: Regenerate. * generated/minloc0_16_i16.c: Regenerate. * generated/matmul_r16.c: Regenerate. * generated/eoshift1_16.c: Regenerate. * generated/minloc0_4_r4.c: Regenerate. * generated/pow_c16_i16.c: Regenerate. * generated/set_exponent_r10.c: Regenerate. * generated/pow_i16_i16.c: Regenerate. * generated/product_c4.c: Regenerate. * generated/sum_r4.c: Regenerate. * generated/pow_c16_i4.c: Regenerate. * generated/rrspacing_r10.c: Regenerate. * generated/in_pack_c16.c: Regenerate. * generated/minloc0_4_i2.c: Regenerate. * generated/maxloc0_8_i1.c: Regenerate. * generated/reshape_i4.c: Regenerate. * generated/minloc0_8_i8.c: Regenerate. * generated/matmul_c8.c: Regenerate. * generated/spacing_r4.c: Regenerate. * generated/in_pack_c4.c: Regenerate. * generated/all_l16.c: Regenerate. * generated/minloc1_16_r10.c: Regenerate. * generated/sum_i2.c: Regenerate. * generated/minloc0_16_i1.c: Regenerate. * generated/reshape_c16.c: Regenerate. * generated/maxloc0_16_i1.c: Regenerate. * generated/maxloc1_8_r8.c: Regenerate. * generated/minval_i16.c: Regenerate. * generated/reshape_r10.c: Regenerate. * generated/exponent_r10.c: Regenerate. * generated/maxval_i4.c: Regenerate. * generated/any_l4.c: Regenerate. * generated/minval_i8.c: Regenerate. * generated/maxloc1_4_i8.c: Regenerate. * generated/fraction_r10.c: Regenerate. * generated/maxloc0_16_i16.c: Regenerate. * generated/shape_i4.c: Regenerate. * generated/pow_r16_i8.c: Regenerate. * generated/maxloc0_8_r4.c: Regenerate. * generated/rrspacing_r8.c: Regenerate. * generated/pow_c10_i4.c: Regenerate. * generated/minloc1_4_i16.c: Regenerate. * generated/minloc0_4_r10.c: Regenerate. * generated/maxloc1_4_i16.c: Regenerate. * generated/minloc0_8_i16.c: Regenerate. * generated/maxloc0_4_r10.c: Regenerate. * generated/maxloc0_8_i16.c: Regenerate. * generated/minloc1_8_r10.c: Regenerate. * generated/product_i4.c: Regenerate. * generated/minloc0_16_r4.c: Regenerate. * generated/sum_c16.c: Regenerate. * generated/maxloc1_8_r10.c: Regenerate. * generated/maxloc0_16_r4.c: Regenerate. * generated/transpose_c10.c: Regenerate. * generated/minloc1_16_r8.c: Regenerate. * generated/minloc0_8_i1.c: Regenerate. * generated/maxloc0_4_i4.c: Regenerate. * generated/transpose_r4.c: Regenerate. * generated/maxloc1_16_r8.c: Regenerate. * generated/pow_i16_i8.c: Regenerate. * generated/cshift1_4.c: Regenerate. * generated/maxloc0_8_i2.c: Regenerate. * generated/sum_r10.c: Regenerate. * generated/nearest_r16.c: Regenerate. * generated/sum_c4.c: Regenerate. * generated/maxloc1_16_r10.c: Regenerate. * generated/count_4_l16.c: Regenerate. * generated/pow_c8_i8.c: Regenerate. * generated/matmul_i8.c: Regenerate. * generated/in_pack_i4.c: Regenerate. * generated/pow_i4_i8.c: Regenerate. * generated/minloc0_16_i2.c: Regenerate. * generated/minloc1_8_r8.c: Regenerate. * generated/maxloc0_16_i2.c: Regenerate. * generated/exponent_r4.c: Regenerate. * generated/spacing_r10.c: Regenerate. * generated/matmul_c16.c: Regenerate. * generated/pow_c4_i16.c: Regenerate. * generated/maxval_r10.c: Regenerate. * generated/count_4_l4.c: Regenerate. * generated/shape_i16.c: Regenerate. * generated/minval_i1.c: Regenerate. * generated/maxloc1_4_i1.c: Regenerate. * generated/matmul_r10.c: Regenerate. * generated/minloc1_4_i8.c: Regenerate. * generated/pow_r10_i8.c: Regenerate. * generated/minloc0_8_r4.c: Regenerate. * generated/in_unpack_c4.c: Regenerate. * generated/matmul_l4.c: Regenerate. * generated/product_i16.c: Regenerate. * generated/minloc0_16_r16.c: Regenerate. * generated/reshape_r8.c: Regenerate. * generated/pow_r10_i16.c: Regenerate. * generated/all_l4.c: Regenerate. * generated/in_pack_c10.c: Regenerate. * generated/minloc0_4_i4.c: Regenerate. * generated/minloc0_8_i2.c: Regenerate. * generated/matmul_i1.c: Regenerate. * generated/reshape_c10.c: Regenerate. * generated/minval_r4.c: Regenerate. * generated/maxloc1_4_r4.c: Regenerate. * generated/pow_r8_i16.c: Regenerate. * generated/sum_i4.c: Regenerate. * generated/maxval_r8.c: Regenerate. * generated/count_16_l8.c: Regenerate. * generated/transpose_c4.c: Regenerate. * generated/eoshift1_4.c: Regenerate. * generated/eoshift3_8.c: Regenerate. * generated/minval_r16.c: Regenerate. * generated/minloc1_4_i1.c: Regenerate. * generated/minval_i2.c: Regenerate. * generated/maxloc1_4_i2.c: Regenerate. * generated/pow_i8_i16.c: Regenerate. * generated/product_r8.c: Regenerate. * generated/maxloc1_8_i8.c: Regenerate. * generated/maxloc0_4_r8.c: Regenerate. * generated/maxloc0_16_r16.c: Regenerate. * generated/in_unpack_i4.c: Regenerate. * generated/matmul_r4.c: Regenerate. * generated/sum_c10.c: Regenerate. * generated/minloc1_4_r16.c: Regenerate. * generated/fraction_r8.c: Regenerate. * generated/maxloc1_4_r16.c: Regenerate. * generated/set_exponent_r4.c: Regenerate. * generated/minloc0_8_r16.c: Regenerate. * generated/in_unpack_c16.c: Regenerate. * generated/reshape_c8.c: Regenerate. * generated/maxloc0_8_r16.c: Regenerate. * generated/nearest_r10.c: Regenerate. * generated/maxloc0_8_i4.c: Regenerate. * generated/pow_c4_i4.c: Regenerate. * generated/matmul_i2.c: Regenerate. * generated/minloc1_4_r4.c: Regenerate. * generated/transpose_i16.c: Regenerate. * generated/matmul_c10.c: Regenerate. * generated/minloc0_16_i4.c: Regenerate. * generated/maxloc0_16_i4.c: Regenerate. * generated/pow_i8_i8.c: Regenerate. * generated/nearest_r4.c: Regenerate. * generated/minloc1_16_i8.c: Regenerate. * generated/maxloc1_16_i8.c: Regenerate. * generated/transpose_i4.c: Regenerate. * generated/count_8_l4.c: Regenerate. * generated/minloc1_4_i2.c: Regenerate. * generated/matmul_l16.c: Regenerate. * generated/maxloc1_8_i1.c: Regenerate. * generated/minloc0_16_r10.c: Regenerate. * generated/minloc1_8_i8.c: Regenerate. * generated/minloc0_4_r8.c: Regenerate. * generated/product_r16.c: Regenerate. * generated/product_c8.c: Regenerate. * generated/pow_r16_i16.c: Regenerate. * generated/sum_r8.c: Regenerate. * generated/pow_c16_i8.c: Regenerate. * generated/in_pack_i16.c: Regenerate. * generated/minloc0_8_i4.c: Regenerate. * generated/matmul_c4.c: Regenerate. * generated/minloc1_16_i16.c: Regenerate. * generated/reshape_i8.c: Regenerate. * generated/spacing_r8.c: Regenerate. * generated/in_pack_c8.c: Regenerate. * generated/maxloc1_8_r4.c: Regenerate. * generated/minloc1_16_i1.c: Regenerate. * generated/maxloc1_16_i1.c: Regenerate. * generated/reshape_i16.c: Regenerate. * generated/minval_r10.c: Regenerate. * generated/pow_r4_i8.c: Regenerate. * generated/minloc1_8_i1.c: Regenerate. * generated/minval_i4.c: Regenerate. * generated/maxloc1_4_i4.c: Regenerate. * generated/maxloc1_8_i2.c: Regenerate. * generated/maxval_i8.c: Regenerate. * generated/eoshift3_16.c: Regenerate. * generated/any_l8.c: Regenerate. * generated/maxloc0_16_r10.c: Regenerate. * generated/rrspacing_r4.c: Regenerate. * generated/shape_i8.c: Regenerate. * generated/maxloc0_8_r8.c: Regenerate. * generated/minloc0_4_i16.c: Regenerate. * generated/maxloc0_4_i16.c: Regenerate. * generated/minloc1_4_r10.c: Regenerate. * generated/minloc1_8_i16.c: Regenerate. * generated/pow_c10_i8.c: Regenerate. * generated/maxloc1_4_r10.c: Regenerate. * generated/maxloc1_8_i16.c: Regenerate. * generated/in_unpack_c10.c: Regenerate. * generated/minloc0_8_r10.c: Regenerate. * generated/maxloc0_8_r10.c: Regenerate. * generated/minloc1_16_r4.c: Regenerate. * generated/maxloc1_16_r4.c: Regenerate. * generated/minloc0_16_r8.c: Regenerate. * generated/pow_i16_i4.c: Regenerate. * generated/product_i8.c: Regenerate. * generated/maxloc0_16_r8.c: Regenerate. * generated/sum_i16.c: Regenerate. * generated/maxloc0_4_i8.c: Regenerate. * generated/transpose_r8.c: Regenerate. * generated/cshift1_8.c: Regenerate. * generated/maxloc1_16_i16.c: Regenerate. * generated/matmul_i4.c: Regenerate. * generated/pow_c8_i4.c: Regenerate. * generated/pow_i4_i4.c: Regenerate. * generated/minloc1_8_r4.c: Regenerate. * generated/sum_c8.c: Regenerate. * generated/count_8_l16.c: Regenerate. * generated/minloc1_16_i2.c: Regenerate. * generated/maxloc1_16_i2.c: Regenerate. * generated/in_pack_i8.c: Regenerate. * generated/transpose_r16.c: Regenerate. * generated/maxval_i16.c: Regenerate. * generated/exponent_r8.c: Regenerate. * generated/matmul_i16.c: Regenerate. * generated/count_4_l8.c: Regenerate. * generated/pow_c8_i16.c: Regenerate. * generated/maxval_i1.c: Regenerate. * generated/minloc1_4_i4.c: Regenerate. * generated/minloc1_8_i2.c: Regenerate. * generated/pow_c10_i16.c: Regenerate. * generated/product_c16.c: Regenerate. * generated/reshape_r4.c: Regenerate. * generated/in_unpack_c8.c: Regenerate. * generated/minloc0_8_r8.c: Regenerate. * generated/matmul_l8.c: Regenerate. * generated/product_r10.c: Regenerate. * generated/set_exponent_r16.c: Regenerate. * generated/cshift1_16.c: Regenerate. * generated/product_i1.c: Regenerate. * generated/all_l8.c: Regenerate. * generated/maxloc0_4_i1.c: Regenerate. * generated/rrspacing_r16.c: Regenerate. * generated/minloc0_4_i8.c: Regenerate. * generated/pow_r4_i16.c: Regenerate. * generated/count_16_l4.c: Regenerate. * generated/maxval_r4.c: Regenerate. From-SVN: r127990
2007-08-11re PR fortran/31189 (Support backtracing for non-library errors)Francois-Xavier Coudert
PR fortran/31189 * runtime/backtrace.c (show_backtrace): Skip _gfortrani_handler when displaying backtrace. * runtime/compile_options.c: Include <signal.h>. (handler): New function. (set_options): Set signal handlers for backtrace. * libgfortran.h (handler): Add prototype. * invoke.texi (-fbacktrace): Document the new behaviour. Co-Authored-By: Tobias Burnus <burnus@gcc.gnu.org> From-SVN: r127364
2007-07-24re PR fortran/30814 (non-conforming array sizes in PACK should raise an error)Thomas Koenig
2007-07-24 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/30814 * trans-decl.c (generate_function_code): Add argument for flag_bounds_check to the array for set_options. * invoke.texi: Mention that some checks require -fbounds-check to be set during compilation of the main program. 2007-07-24 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/30814 * libgfortran.h: Add bounds_check to compile_options_t. * runtime/compile_options.c (set_options): Add handling of compile_options.bounds_check. * intrinsics/pack_generic.c (pack_internal): Also determine the number of elements if compile_options.bounds_check is true. Raise runtime error if a different array shape is detected. 2007-07-24 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/30814 * gfortran.dg/pack_bounds_1.f90: New test case. From-SVN: r126866
2007-07-15re PR libfortran/32611 (Print sign of negative zero)Jerry DeLisle
2007-07-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR fortran/32611 * runtime/compile_options.c (set_std): Remove. (set_options): New function. (init_compile_options): Add initialization for -fsign-zero option. * gfortran.map (GFORTRAN_1.0): Rename _gfortran_set_std into _gfortran_set_options. * libgfortran.h (compile_options_t): Add sign_zero field. * io/write.c (output_float): Use the sign bit of the value to determine if a negative sign should be emitted for zero values. Do not emit the negative sign for zero if -fno-sign-zero was set during compile. Co-Authored-By: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> From-SVN: r126654
2007-03-15gfortran.h (gfc_option_t): Add flag_backtrace field.Francois-Xavier Coudert
* gfortran.h (gfc_option_t): Add flag_backtrace field. * lang.opt: Add -fbacktrace option. * invoke.texi: Document the new option. * trans-decl.c (gfc_build_builtin_function_decls): Add new option to the call to set_std. * options.c (gfc_init_options, gfc_handle_option): Handle the new option. * runtime/backtrace.c: New file. * runtime/environ.c (variable_table): New GFORTRAN_ERROR_BACKTRACE environment variable. * runtime/compile_options.c (set_std): Add new argument. * runtime/main.c (store_exe_path, full_exe_path): New functions. * runtime/error.c (sys_exit): Add call to show_backtrace. * libgfortran.h (options_t): New backtrace field. (store_exe_path, full_exe_path, show_backtrace): New prototypes. * configure.ac: Add checks for execinfo.h, execvp, pipe, dup2, close, fdopen, strcasestr, getrlimit, backtrace, backtrace_symbols and getppid. * Makefile.am: Add runtime/backtrace.c. * fmain.c (main): Add call to store_exe_path. * Makefile.in: Renegerate. * config.h.in: Renegerate. * configure: Regenerate. From-SVN: r122954
2007-01-18re PR libfortran/29649 (Force core dump on runtime library errors)Francois-Xavier Coudert
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
2006-12-01re PR libfortran/29568 (implement unformatted files with subrecords (Intel ↵Thomas Koenig
style)) 2006-12-01 Thomas Koenig <Thomas.Koenig@online.de> PR libfortran/29568 * gfortran.dg/convert_implied_open.f90: Change to new default record length. * gfortran.dg/unf_short_record_1.f90: Adapt to new error message. * gfortran.dg/unformatted_subrecords_1.f90: New test. 2006-12-01 Thomas Koenig <Thomas.Koenig@online.de> PR libfortran/29568 * gfortran.h (gfc_option_t): Add max_subrecord_length. (top level): Define MAX_SUBRECORD_LENGTH. * lang.opt: Add option -fmax-subrecord-length=. * trans-decl.c: Add new function set_max_subrecord_length. (gfc_generate_function_code): If we are within the main program and max_subrecord_length has been set, call set_max_subrecord_length. * options.c (gfc_init_options): Add defaults for max_subrecord_lenght, convert and record_marker. (gfc_handle_option): Add handling for -fmax_subrecord_length. * invoke.texi: Document the new default for -frecord-marker=<n>. 2006-12-01 Thomas Koenig <Thomas.Koenig@online.de> PR libfortran/29568 * libgfortran/libgfortran.h (compile_options_t): Add record_marker. (top level): Define GFC_MAX_SUBRECORD_LENGTH. * runtime/compile_options.c (set_record_marker): Change default to four-byte record marker. (set_max_subrecord_length): New function. * runtime/error.c (translate_error): Change error message for short record on unformatted read. * io/io.h (gfc_unit): Add recl_subrecord, bytes_left_subrecord and continued. * io/file_pos.c (unformatted_backspace): Change default of record marker size to four bytes. Loop over subrecords. * io/open.c: Default recl is max_offset. If compile_options.max_subrecord_length has been set, set set u->recl_subrecord to its value, to the maximum value otherwise. * io/transfer.c (top level): Add prototypes for us_read, us_write, next_record_r_unf and next_record_w_unf. (read_block_direct): Separate codepaths for unformatted direct and unformatted sequential. If a recl has been set by the user, use the number of bytes left for the record if it is smaller than the read request. Loop over subrecords. Set an error if the user has set a recl and the read was short. (write_buf): Separate codepaths for unformatted direct and unformatted sequential. If a recl has been set by the user, use the number of bytes left for the record if it is smaller than the read request. Loop over subrecords. Set an error if the user has set a recl and the read was short. (us_read): Add parameter continued (to indicate that bytes_left should not be intialized). Change default of record marker size to four bytes. Use subrecord. If the subrecord length is smaller than zero, this indicates a continuation. (us_write): Add parameter continued (to indicate that the continued flag should be set). Use subrecord. (pre_position): Use 0 for continued on us_write and us_read calls. (skip_record): New function. (next_record_r_unf): New function. (next_record_r): Use next_record_r_unf. (write_us_marker): Default size for record markers is four bytes. (next_record_w_unf): New function. (next_record_w): Use next_record_w_unf. From-SVN: r119412
2006-03-22[multiple changes]Thomas Koenig
2006-03-22 Thomas Koenig <Thomas.Koenig@onlien.de> PR fortran/19303 * gfortran.h (gfc_option_t): Add record_marker. * lang.opt: Add -frecord-marker=4 and -frecord-marker=8. * trans-decl.c: Add gfor_fndecl_set_record_marker. (gfc_build_builtin_function_decls): Set gfor_fndecl_set_record_marker. (gfc_generate_function_code): If we are in the main program and -frecord-marker was provided, call set_record_marker. * options.c (gfc_handle_option): Add handling for -frecord-marker=4 and -frecord-marker=8. * invoke.texi: Document -frecord-marker. 2006-03-22 Thomas Koenig <Thomas.Koenig@onlien.de> PR fortran/19303 * libgfortran.h (compile_options_t): Add record_marker. * runtime/compile_options.c (set_record_marker): New function. * io/open.c: If we have four-byte record markers, use GFC_INTEGER_4_HUGE as default record length. * io/file_pos.c (unformatted_backspace): Handle different size record markers. * io/transfer.c (us_read): Likewise. (us_write): Likewise. (next_record_r): Likewise. (write_us_marker): Likewise. (next_record_w): Likewise. 2006-03-22 Thomas Koenig <Thomas.Koenig@online.de> PR fortran/19303 * gfortran.dg/record_marker_1.f90: New test case. * gfortran.dg/record_marker_2.f: New test case. * gfortran.dg/record_marker_3.f90: New test case. From-SVN: r112290
2006-02-08re PR libfortran/25425 ([4.1 only] F95 and F2003 differ on list-directed ↵François-Xavier Coudert
output for 0.0) PR libfortran/25425 * trans-decl.c (gfc_generate_function_code): Add new argument, pedantic, to set_std call. * libgfortran.h: Add pedantic field to compile_options struct. * io/write.c (calculate_G_format): Depending on the standard, choose E or F format for list-directed output of 0.0. * runtime/error.c (notify_std): Make warning and error dependent on pedanticity. * runtime/compile_options.c (set_std): Use new pedantic argument. From-SVN: r110769
2006-02-06re PR fortran/23815 (Add -byteswapio flag)Thomas Koenig
2005-02-06 Thomas Koenig <Thomas.Koenig@online.de> PR libfortran/23815 * gfortran.texi: Document the GFORTRAN_CONVERT_UNIT environment variable. * invoke.texi: Mention the "Runtime" chapter. Document the -fconvert= option. * gfortran.h: Add options_convert. * lang.opt: Add fconvert=little-endian, fconvert=big-endian, fconvert=native and fconvert=swap. * trans-decl.c (top level): Add gfor_fndecl_set_convert. (gfc_build_builtin_function_decls): Set gfor_fndecl_set_convert. (gfc_generate_function_code): If -fconvert was specified, and this is the main program, add a call to set_convert(). * options.c: Handle the -fconvert options. 2005-02-06 Thomas Koenig <Thomas.Koenig@online.de> PR libfortran/23815 * runtime/environ.c (init_unformatted): Add GFORTRAN_CONVERT_UNIT environment variable. (top level): Add defines, type and static variables for GFORTRAN_CONVERT_UNIT handling. (search_unit): New function. (match_word): New function. (match_integer): New function. (next_token): New function. (push_token): New function. (mark_single): New function. (mark_range): New funciton. (do_parse): New function. (init_unformatted): New function. (get_unformatted_convert): New function. * runtime/compile_options.c: Add set_convert(). * libgfortran.h: Add convert to compile_options_t. * io/open.c (st_open): Call get_unformatted_convert to get unit default; if CONVERT_NONE is returned, check for the presence of a CONVERT specifier and use it. As default, use compile_options.convert. * io/io.h (top level): Add CONVERT_NONE to unit_convert, to signal "nothing has been set". (top level): Add prototype for get_unformatted_convert. 2005-02-06 Thomas Koenig <Thomas.Koenig@online.de> PR libfortran/23815 * unf_io_convert_4.f90: New test. From-SVN: r110664
2005-08-17All files: Update FSF address.Kelley Cook
2005-08-17 Kelley Cook <kcook@gcc.gnu.org> * All files: Update FSF address. From-SVN: r103194
2005-08-11re PR libfortran/20006 ($ format extension doesn't work)Francois-Xavier Coudert
PR libfortran/20006 * gfortran.h: Add is_main_program member to symbol_attribute. * trans-decl: Add a gfor_fndecl_set_std tree. (gfc_build_builtin_function_decls): Create it. (gfc_generate_function_code): Add this call at the beginning of the main program. * trans.c (gfc_generate_code): Move main_program and attr. * trans.h: Add declaration for gfor_fndecl_set_std. * Makefile.am: Add file runtime/compile_options.c. * Makefile.in: Regenerate. * libgfortran.h: Create structure compile_options_t. Define the compile_options variable and GFC_STD_ macros. * runtime/compile_options.c: New file. * runtime/error.c (notify_std): New function. * runtime/main.c (init): Call init_compile_options during initialization. * io/format.c: Use the new notify_std function for the $ descriptor extension. * gfortran.dg/runtime_warning_1.f90: New test. Co-Authored-By: Steven Bosscher <stevenb@suse.de> From-SVN: r102990