aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/runtime
AgeCommit message (Collapse)AuthorFilesLines
2014-06-17Introduce xmallocarray, an overflow checking variant of xmalloc.Janne Blomqvist4-5/+32
2014-06-17 Janne Blomqvist <jb@gcc.gnu.org> * libgfortran.h (xmallocarray): New prototype. * runtime/memory.c (xmallocarray): New function. (xcalloc): Check for nonzero separately instead of multiplying. * generated/*.c: Regenerated. * intrinsics/cshift0.c (cshift0): Call xmallocarray instead of xmalloc. * intrinsics/eoshift0.c (eoshift0): Likewise. * intrinsics/eoshift2.c (eoshift2): Likewise. * intrinsics/pack_generic.c (pack_internal): Likewise. (pack_s_internal): Likewise. * intrinsics/reshape_generic.c (reshape_internal): Likewise. * intrinsics/spread_generic.c (spread_internal): Likewise. (spread_internal_scalar): Likewise. * intrinsics/string_intrinsics_inc.c (string_trim): Likewise. (string_minmax): Likewise. * intrinsics/transpose_generic.c (transpose_internal): Likewise. * intrinsics/unpack_generic.c (unpack_internal): Likewise. * io/list_read.c (nml_touch_nodes): Don't cast xmalloc return value. * io/transfer.c (st_set_nml_var): Call xmallocarray instead of xmalloc. * io/unit.c (get_internal_unit): Likewise. (filename_from_unit): Don't cast xmalloc return value. * io/write.c (nml_write_obj): Likewise, formatting. * m4/bessel.m4 (bessel_jn_r'rtype_kind`): Call xmallocarray instead of xmalloc. (besse_yn_r'rtype_kind`): Likewise. * m4/cshift1.m4 (cshift1): Likewise. * m4/eoshift1.m4 (eoshift1): Likewise. * m4/eoshift3.m4 (eoshift3): Likewise. * m4/iforeach.m4: Likewise. * m4/ifunction.m4: Likewise. * m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code): Likewise. * m4/in_pack.m4 (internal_pack_'rtype_ccode`): Likewise. * m4/matmul.m4 (matmul_'rtype_code`): Likewise. * m4/matmull.m4 (matmul_'rtype_code`): Likewise. * m4/pack.m4 (pack_'rtype_code`): Likewise. * m4/reshape.m4 (reshape_'rtype_ccode`): Likewise. * m4/shape.m4 (shape_'rtype_kind`): Likewise. * m4/spread.m4 (spread_'rtype_code`): Likewise. (spread_scalar_'rtype_code`): Likewise. * m4/transpose.m4 (transpose_'rtype_code`): Likewise. * m4/unpack.m4 (unpack0_'rtype_code`): Likewise. (unpack1_'rtype_code`): Likewise. * runtime/convert_char.c (convert_char1_to_char4): Likewise. (convert_char4_to_char1): Simplify. * runtime/environ.c (init_unformatted): Call xmallocarray instead of xmalloc. * runtime/in_pack_generic.c (internal_pack): Likewise. From-SVN: r211721
2014-05-26Introduce xrealloc, use it.Janne Blomqvist1-0/+14
2014-05-26 Janne Blomqvist <jb@gcc.gnu.org> * libgfortran.h (xrealloc): New prototype. * runtime/memory.c (xrealloc): New function. * io/fbuf.c (fbuf_alloc): Use xrealloc. * io/list_read.c (push_char_default): Likewise. (push_char4): Likewise. From-SVN: r210948
2014-05-23PR 60324 Handle long path names, don't use PATH_MAX.Janne Blomqvist1-0/+1
2014-05-23 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/60324 * runtime/string.c: Include stdlib.h. From-SVN: r210827
2014-05-22PR 60324 Handle long path names, don't use PATH_MAX.Janne Blomqvist2-18/+89
From-SVN: r210738
2014-01-02Update copyright years in libgfortran/Richard Sandiford16-16/+16
From-SVN: r206296
2013-06-17gfortran.h (gfc_option_t): Add fpe_summary.Tobias Burnus2-0/+57
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-05-04environ.c: Include unistd.h.David Edelsohn3-0/+12
* runtime/environ.c: Include unistd.h. * runtime/pause.c: Test HAVE_UNISTD_H. * runtime/stop.c: Same. * io/open.c: Same. * io/unix.c: Same. * io/read.c (si_max): Protect declaration of value. From-SVN: r198603
2013-03-19Use C99 bool instead of enum try.Janne Blomqvist1-4/+4
2013-03-19 Janne Blomqvist <jb@gcc.gnu.org> * libgfortran.h: Include stdbool.h. (enum try): Remove. (notify_std): Change return type to bool. * intrinsics/chmod.c: Don't include stdbool.h. * intrinsics/execute_command_line.c: Likewise. * io/format.c: Likewise. * io/list_read.c (nml_parse_qualifier): Change return type to bool. (nml_read_obj): Likewise. (nml_get_obj_data): Likewise. * io/transfer.c (read_block_form): Fix comment. (write_buf): Change return type to bool. * io/write.c: Don't include stdbool.h. * io/write_float.def (output_float): Change return type to bool. (output_float_FMT_G_ ## x): Change type of result variable. * runtime/error.c (notify_std): Change return type to bool. From-SVN: r196791
2013-02-06re PR fortran/55978 (class_optional_2.f90 -Os fails)Janus Weil1-0/+3
2013-02-06 Janus Weil <janus@gcc.gnu.org> PR fortran/55978 * runtime/in_pack_generic.c (internal_pack): Return if base_addr is NULL. 2013-02-06 Janus Weil <janus@gcc.gnu.org> PR fortran/55978 * gfortran.dg/class_optional_2.f90: Uncomment some cases which work now. From-SVN: r195814
2013-01-14Update copyright years in libgfortran.Richard Sandiford16-25/+16
From-SVN: r195167
2012-12-20re PR libfortran/36044 (user-requested backtrace)Janus Weil3-5/+7
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-10-06re PR libfortran/54736 (GFORTRAN_CONVERT_UNIT causes malloc error on several ↵Thomas Koenig1-14/+28
platforms) 2012-10-06 Thomas König <tkoenig@gcc.gnu.org> PR libfortran/54736 * runtime/environ.c (search_unit): Correct logic for binary search. (mark_single): Fix index errors. From-SVN: r192158
2012-06-01chmod.c (chmod_func): On MinGW, don't set is_dirTobias Burnus1-1/+1
2012-06-01 Tobias Burnus <burnus@net-b.de> * intrinsics/chmod.c (chmod_func): On MinGW, don't set is_dir * and fix octal-mode handling. * io/unit.c (get_internal_unit): Add cast. * io/unix.c (min): Undef "min" before defining it. * runtime/backtrace.c (show_backtrace): Move label into ifndef __MINGW__ block. From-SVN: r188098
2012-05-23re PR libfortran/53444 (Accommodate non-compliant strerror_r() on VxWorks.)Tobias Burnus1-0/+4
2012-05-23 Tobias Burnus <burnus@net-b.de> PR libfortran/53444 * acinclude.m4 (LIBGFOR_CHECK_STRERROR_R): Add configure checks * for two- and three-argument versions of strerror_r. * configure.ac (LIBGFOR_CHECK_STRERROR_R): Use it. * runtime/error.c (gf_strerror): Handle two-argument version of strerror_r. * config.h.in: Regenerate. * configure: Regenerate. From-SVN: r187796
2012-05-14PR 52428 Range checking when reading integer values.Janne Blomqvist1-3/+4
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-05-05Fix handling of temporary files.Janne Blomqvist2-4/+16
2012-05-05 Janne Blomqvist <jb@gcc.gnu.org> * gfortran.texi (GFORTRAN_TMPDIR): Rename to TMPDIR, explain algorithm for choosing temp directory. 2012-05-05 Janne Blomqvist <jb@gcc.gnu.org> * config.h.in: Regenerated. * configure: Regenerated. * configure.ac: Add checks for getegid and __secure_getenv. * io/unix.c (P_tmpdir): Fallback definition for macro. (tempfile_open): New function. (tempfile): Use secure_getenv, call tempfile_open to try each directory in turn. * libgfortran.h (DEFAULT_TMPDIR): Remove macro. (secure_getenv): New macro/prototype. * runtime/environ.c (secure_getenv): New function. (variable_table): Rename GFORTRAN_TMPDIR to TMPDIR. * runtime/main.c (find_addr2line): Use secure_getenv. From-SVN: r187190
2012-03-26Combined get_mem and internal_malloc_size.Janne Blomqvist4-30/+14
2012-03-26 Janne Blomqvist <jb@gcc.gnu.org> * runtime/memory.c (get_mem): Rename to xmalloc, check for zero size. (internal_malloc_size): Remove. * libgfortran.h (get_mem): Rename to xmalloc. (internal_malloc_size): Remove prototype. * Makefile.am (i_iall_c): Fix dependency. (i_iany_c): Likewise. (i_iparity_c): Likewise. (i_norm2_c): Likewise. (i_parity_c): Likewise. * Makefile.in: Regenerated. * m4/parity.m4: Fix typo in comment. * generated/all_l1.c: Regenerated. * generated/all_l16.c: Regenerated. * generated/all_l2.c: Regenerated. * generated/all_l4.c: Regenerated. * generated/all_l8.c: Regenerated. * generated/any_l1.c: Regenerated. * generated/any_l16.c: Regenerated. * generated/any_l2.c: Regenerated. * generated/any_l4.c: Regenerated. * generated/any_l8.c: Regenerated. * generated/bessel_r10.c: Regenerated. * generated/bessel_r16.c: Regenerated. * generated/bessel_r4.c: Regenerated. * generated/bessel_r8.c: Regenerated. * generated/count_16_l.c: Regenerated. * generated/count_1_l.c: Regenerated. * generated/count_2_l.c: Regenerated. * generated/count_4_l.c: Regenerated. * generated/count_8_l.c: Regenerated. * generated/cshift1_16.c: Regenerated. * generated/cshift1_4.c: Regenerated. * generated/cshift1_8.c: Regenerated. * generated/eoshift1_16.c: Regenerated. * generated/eoshift1_4.c: Regenerated. * generated/eoshift1_8.c: Regenerated. * generated/eoshift3_16.c: Regenerated. * generated/eoshift3_4.c: Regenerated. * generated/eoshift3_8.c: Regenerated. * generated/iall_i1.c: Regenerated. * generated/iall_i16.c: Regenerated. * generated/iall_i2.c: Regenerated. * generated/iall_i4.c: Regenerated. * generated/iall_i8.c: Regenerated. * generated/iany_i1.c: Regenerated. * generated/iany_i16.c: Regenerated. * generated/iany_i2.c: Regenerated. * generated/iany_i4.c: Regenerated. * generated/iany_i8.c: Regenerated. * generated/in_pack_c10.c: Regenerated. * generated/in_pack_c16.c: Regenerated. * generated/in_pack_c4.c: Regenerated. * generated/in_pack_c8.c: Regenerated. * generated/in_pack_i1.c: Regenerated. * generated/in_pack_i16.c: Regenerated. * generated/in_pack_i2.c: Regenerated. * generated/in_pack_i4.c: Regenerated. * generated/in_pack_i8.c: Regenerated. * generated/in_pack_r10.c: Regenerated. * generated/in_pack_r16.c: Regenerated. * generated/in_pack_r4.c: Regenerated. * generated/in_pack_r8.c: Regenerated. * generated/iparity_i1.c: Regenerated. * generated/iparity_i16.c: Regenerated. * generated/iparity_i2.c: Regenerated. * generated/iparity_i4.c: Regenerated. * generated/iparity_i8.c: Regenerated. * generated/matmul_c10.c: Regenerated. * generated/matmul_c16.c: Regenerated. * generated/matmul_c4.c: Regenerated. * generated/matmul_c8.c: Regenerated. * generated/matmul_i1.c: Regenerated. * generated/matmul_i16.c: Regenerated. * generated/matmul_i2.c: Regenerated. * generated/matmul_i4.c: Regenerated. * generated/matmul_i8.c: Regenerated. * generated/matmul_l16.c: Regenerated. * generated/matmul_l4.c: Regenerated. * generated/matmul_l8.c: Regenerated. * generated/matmul_r10.c: Regenerated. * generated/matmul_r16.c: Regenerated. * generated/matmul_r4.c: Regenerated. * generated/matmul_r8.c: Regenerated. * generated/maxloc0_16_i1.c: Regenerated. * generated/maxloc0_16_i16.c: Regenerated. * generated/maxloc0_16_i2.c: Regenerated. * generated/maxloc0_16_i4.c: Regenerated. * generated/maxloc0_16_i8.c: Regenerated. * generated/maxloc0_16_r10.c: Regenerated. * generated/maxloc0_16_r16.c: Regenerated. * generated/maxloc0_16_r4.c: Regenerated. * generated/maxloc0_16_r8.c: Regenerated. * generated/maxloc0_4_i1.c: Regenerated. * generated/maxloc0_4_i16.c: Regenerated. * generated/maxloc0_4_i2.c: Regenerated. * generated/maxloc0_4_i4.c: Regenerated. * generated/maxloc0_4_i8.c: Regenerated. * generated/maxloc0_4_r10.c: Regenerated. * generated/maxloc0_4_r16.c: Regenerated. * generated/maxloc0_4_r4.c: Regenerated. * generated/maxloc0_4_r8.c: Regenerated. * generated/maxloc0_8_i1.c: Regenerated. * generated/maxloc0_8_i16.c: Regenerated. * generated/maxloc0_8_i2.c: Regenerated. * generated/maxloc0_8_i4.c: Regenerated. * generated/maxloc0_8_i8.c: Regenerated. * generated/maxloc0_8_r10.c: Regenerated. * generated/maxloc0_8_r16.c: Regenerated. * generated/maxloc0_8_r4.c: Regenerated. * generated/maxloc0_8_r8.c: Regenerated. * generated/maxloc1_16_i1.c: Regenerated. * generated/maxloc1_16_i16.c: Regenerated. * generated/maxloc1_16_i2.c: Regenerated. * generated/maxloc1_16_i4.c: Regenerated. * generated/maxloc1_16_i8.c: Regenerated. * generated/maxloc1_16_r10.c: Regenerated. * generated/maxloc1_16_r16.c: Regenerated. * generated/maxloc1_16_r4.c: Regenerated. * generated/maxloc1_16_r8.c: Regenerated. * generated/maxloc1_4_i1.c: Regenerated. * generated/maxloc1_4_i16.c: Regenerated. * generated/maxloc1_4_i2.c: Regenerated. * generated/maxloc1_4_i4.c: Regenerated. * generated/maxloc1_4_i8.c: Regenerated. * generated/maxloc1_4_r10.c: Regenerated. * generated/maxloc1_4_r16.c: Regenerated. * generated/maxloc1_4_r4.c: Regenerated. * generated/maxloc1_4_r8.c: Regenerated. * generated/maxloc1_8_i1.c: Regenerated. * generated/maxloc1_8_i16.c: Regenerated. * generated/maxloc1_8_i2.c: Regenerated. * generated/maxloc1_8_i4.c: Regenerated. * generated/maxloc1_8_i8.c: Regenerated. * generated/maxloc1_8_r10.c: Regenerated. * generated/maxloc1_8_r16.c: Regenerated. * generated/maxloc1_8_r4.c: Regenerated. * generated/maxloc1_8_r8.c: Regenerated. * generated/maxval_i1.c: Regenerated. * generated/maxval_i16.c: Regenerated. * generated/maxval_i2.c: Regenerated. * generated/maxval_i4.c: Regenerated. * generated/maxval_i8.c: Regenerated. * generated/maxval_r10.c: Regenerated. * generated/maxval_r16.c: Regenerated. * generated/maxval_r4.c: Regenerated. * generated/maxval_r8.c: Regenerated. * generated/minloc0_16_i1.c: Regenerated. * generated/minloc0_16_i16.c: Regenerated. * generated/minloc0_16_i2.c: Regenerated. * generated/minloc0_16_i4.c: Regenerated. * generated/minloc0_16_i8.c: Regenerated. * generated/minloc0_16_r10.c: Regenerated. * generated/minloc0_16_r16.c: Regenerated. * generated/minloc0_16_r4.c: Regenerated. * generated/minloc0_16_r8.c: Regenerated. * generated/minloc0_4_i1.c: Regenerated. * generated/minloc0_4_i16.c: Regenerated. * generated/minloc0_4_i2.c: Regenerated. * generated/minloc0_4_i4.c: Regenerated. * generated/minloc0_4_i8.c: Regenerated. * generated/minloc0_4_r10.c: Regenerated. * generated/minloc0_4_r16.c: Regenerated. * generated/minloc0_4_r4.c: Regenerated. * generated/minloc0_4_r8.c: Regenerated. * generated/minloc0_8_i1.c: Regenerated. * generated/minloc0_8_i16.c: Regenerated. * generated/minloc0_8_i2.c: Regenerated. * generated/minloc0_8_i4.c: Regenerated. * generated/minloc0_8_i8.c: Regenerated. * generated/minloc0_8_r10.c: Regenerated. * generated/minloc0_8_r16.c: Regenerated. * generated/minloc0_8_r4.c: Regenerated. * generated/minloc0_8_r8.c: Regenerated. * generated/minloc1_16_i1.c: Regenerated. * generated/minloc1_16_i16.c: Regenerated. * generated/minloc1_16_i2.c: Regenerated. * generated/minloc1_16_i4.c: Regenerated. * generated/minloc1_16_i8.c: Regenerated. * generated/minloc1_16_r10.c: Regenerated. * generated/minloc1_16_r16.c: Regenerated. * generated/minloc1_16_r4.c: Regenerated. * generated/minloc1_16_r8.c: Regenerated. * generated/minloc1_4_i1.c: Regenerated. * generated/minloc1_4_i16.c: Regenerated. * generated/minloc1_4_i2.c: Regenerated. * generated/minloc1_4_i4.c: Regenerated. * generated/minloc1_4_i8.c: Regenerated. * generated/minloc1_4_r10.c: Regenerated. * generated/minloc1_4_r16.c: Regenerated. * generated/minloc1_4_r4.c: Regenerated. * generated/minloc1_4_r8.c: Regenerated. * generated/minloc1_8_i1.c: Regenerated. * generated/minloc1_8_i16.c: Regenerated. * generated/minloc1_8_i2.c: Regenerated. * generated/minloc1_8_i4.c: Regenerated. * generated/minloc1_8_i8.c: Regenerated. * generated/minloc1_8_r10.c: Regenerated. * generated/minloc1_8_r16.c: Regenerated. * generated/minloc1_8_r4.c: Regenerated. * generated/minloc1_8_r8.c: Regenerated. * generated/minval_i1.c: Regenerated. * generated/minval_i16.c: Regenerated. * generated/minval_i2.c: Regenerated. * generated/minval_i4.c: Regenerated. * generated/minval_i8.c: Regenerated. * generated/minval_r10.c: Regenerated. * generated/minval_r16.c: Regenerated. * generated/minval_r4.c: Regenerated. * generated/minval_r8.c: Regenerated. * generated/norm2_r10.c: Regenerated. * generated/norm2_r16.c: Regenerated. * generated/norm2_r4.c: Regenerated. * generated/norm2_r8.c: Regenerated. * generated/pack_c10.c: Regenerated. * generated/pack_c16.c: Regenerated. * generated/pack_c4.c: Regenerated. * generated/pack_c8.c: Regenerated. * generated/pack_i1.c: Regenerated. * generated/pack_i16.c: Regenerated. * generated/pack_i2.c: Regenerated. * generated/pack_i4.c: Regenerated. * generated/pack_i8.c: Regenerated. * generated/pack_r10.c: Regenerated. * generated/pack_r16.c: Regenerated. * generated/pack_r4.c: Regenerated. * generated/pack_r8.c: Regenerated. * generated/parity_l1.c: Regenerated. * generated/parity_l16.c: Regenerated. * generated/parity_l2.c: Regenerated. * generated/parity_l4.c: Regenerated. * generated/parity_l8.c: Regenerated. * generated/product_c10.c: Regenerated. * generated/product_c16.c: Regenerated. * generated/product_c4.c: Regenerated. * generated/product_c8.c: Regenerated. * generated/product_i1.c: Regenerated. * generated/product_i16.c: Regenerated. * generated/product_i2.c: Regenerated. * generated/product_i4.c: Regenerated. * generated/product_i8.c: Regenerated. * generated/product_r10.c: Regenerated. * generated/product_r16.c: Regenerated. * generated/product_r4.c: Regenerated. * generated/product_r8.c: Regenerated. * generated/reshape_c10.c: Regenerated. * generated/reshape_c16.c: Regenerated. * generated/reshape_c4.c: Regenerated. * generated/reshape_c8.c: Regenerated. * generated/reshape_i16.c: Regenerated. * generated/reshape_i4.c: Regenerated. * generated/reshape_i8.c: Regenerated. * generated/reshape_r10.c: Regenerated. * generated/reshape_r16.c: Regenerated. * generated/reshape_r4.c: Regenerated. * generated/reshape_r8.c: Regenerated. * generated/shape_i16.c: Regenerated. * generated/shape_i4.c: Regenerated. * generated/shape_i8.c: Regenerated. * generated/spread_c10.c: Regenerated. * generated/spread_c16.c: Regenerated. * generated/spread_c4.c: Regenerated. * generated/spread_c8.c: Regenerated. * generated/spread_i1.c: Regenerated. * generated/spread_i16.c: Regenerated. * generated/spread_i2.c: Regenerated. * generated/spread_i4.c: Regenerated. * generated/spread_i8.c: Regenerated. * generated/spread_r10.c: Regenerated. * generated/spread_r16.c: Regenerated. * generated/spread_r4.c: Regenerated. * generated/spread_r8.c: Regenerated. * generated/sum_c10.c: Regenerated. * generated/sum_c16.c: Regenerated. * generated/sum_c4.c: Regenerated. * generated/sum_c8.c: Regenerated. * generated/sum_i1.c: Regenerated. * generated/sum_i16.c: Regenerated. * generated/sum_i2.c: Regenerated. * generated/sum_i4.c: Regenerated. * generated/sum_i8.c: Regenerated. * generated/sum_r10.c: Regenerated. * generated/sum_r16.c: Regenerated. * generated/sum_r4.c: Regenerated. * generated/sum_r8.c: Regenerated. * generated/transpose_c10.c: Regenerated. * generated/transpose_c16.c: Regenerated. * generated/transpose_c4.c: Regenerated. * generated/transpose_c8.c: Regenerated. * generated/transpose_i16.c: Regenerated. * generated/transpose_i4.c: Regenerated. * generated/transpose_i8.c: Regenerated. * generated/transpose_r10.c: Regenerated. * generated/transpose_r16.c: Regenerated. * generated/transpose_r4.c: Regenerated. * generated/transpose_r8.c: Regenerated. * generated/unpack_c10.c: Regenerated. * generated/unpack_c16.c: Regenerated. * generated/unpack_c4.c: Regenerated. * generated/unpack_c8.c: Regenerated. * generated/unpack_i1.c: Regenerated. * generated/unpack_i16.c: Regenerated. * generated/unpack_i2.c: Regenerated. * generated/unpack_i4.c: Regenerated. * generated/unpack_i8.c: Regenerated. * generated/unpack_r10.c: Regenerated. * generated/unpack_r16.c: Regenerated. * generated/unpack_r4.c: Regenerated. * generated/unpack_r8.c: Regenerated. * intrinsics/cshift0.c: Use xmalloc. * intrinsics/ctime.c: Likewise. * intrinsics/date_and_time.c: Likewise. * intrinsics/eoshift0.c: Likewise. * intrinsics/eoshift2.c: Likewise. * intrinsics/getlog.c: Likewise. * intrinsics/pack_generic.c: Likewise. * intrinsics/reshape_generic.c: Likewise. * intrinsics/spread_generic.c: Likewise. * intrinsics/string_intrinsics_inc.c: Likewise. * intrinsics/transpose_generic.c: Likewise. * intrinsics/unpack_generic.c: Likewise. * io/fbuf.c: Likewise. * io/format.c: Likewise. * io/intrinsics.c: Likewise. * io/list_read.c: Likewise. * io/open.c: Likewise. * io/transfer.c: Likewise. * io/unit.c: Likewise. * io/unix.c: Likewise. * io/write.c: Likewise. * m4/bessel.m4: Likewise. * m4/cshift1.m4: Likewise. * m4/eoshift1.m4: Likewise. * m4/eoshift3.m4: Likewise. * m4/iforeach.m4: Likewise. * m4/ifunction.m4: Likewise. * m4/ifunction_logical.m4: Likewise. * m4/in_pack.m4: Likewise. * m4/matmul.m4: Likewise. * m4/matmull.m4: Likewise. * m4/pack.m4: Likewise. * m4/reshape.m4: Likewise. * m4/shape.m4: Likewise. * m4/spread.m4: Likewise. * m4/transpose.m4: Likewise. * m4/unpack.m4: Likewise. * runtime/convert_char.c: Likewise. * runtime/environ.c: Likewise. * runtime/in_pack_generic.c: Likewise. From-SVN: r185806
2012-03-25Use calloc instead of malloc and memset.Janne Blomqvist1-1/+18
2012-03-25 Janne Blomqvist <jb@gcc.gnu.org> * runtime/memory.c (xcalloc): New function. * libgfortran.h (xcalloc): New prototype. * io/list_read.c (push_char): Use xcalloc instead of get_mem and memset. (l_push_char): Likewise. * io/unit.c (insert_unit): Likewise. (get_internal_unit): Likewise. * io/unix.c (open_internal): Likewise. (open_internal4): Likewise. (fd_to_stream): Likewise. From-SVN: r185773
2012-03-10libgfortran.h (descriptor_dimension, [...]): Rename _lbound to lower_bound ↵Tobias Burnus3-17/+17
and data to base_addr. 2012-03-10 Tobias Burnus <burnus@net-b.de> * libgfortran.h (descriptor_dimension, GFC_DIMENSION_LBOUND, GFC_DIMENSION_EXTENT, GFC_DIMENSION_SET, GFC_DESCRIPTOR_DATA, GFC_ARRAY_DESCRIPTOR): Rename _lbound to lower_bound and data to base_addr. * intrinsics/cshift0.c (size0, cshift0): Handle data to base_addr rename. * intrinsics/date_and_time.c (date_and_time, secnds, itime_i4, itime_i8, gmtime_i4, gmtime_i8, ltime_i4, ltime_i8): Ditto. * intrinsics/dtime.c (dtime_sub): Ditto. * intrinsics/eoshift0.c (eoshift0): Ditto. * intrinsics/eoshift2.c (eoshift2): Ditto. * intrinsics/etime.c (etime_sub): Ditto. * intrinsics/iso_c_binding.c (c_f_pointer_u0): Ditto. * intrinsics/move_alloc.c (move_alloc): Ditto. * intrinsics/pack_generic.c (pack_internal, pack, pack_s_internal): Ditto. * intrinsics/random.c (arandom_r4, arandom_r8, arandom_r10, arandom_r16, random_seed_i4, random_seed_i8): Ditto. * intrinsics/reshape_generic.c (reshape_internal): Ditto. * intrinsics/spread_generic.c (spread_internal, spread_internal_scalar, spread, spread_scalar): Ditto. * intrinsics/stat.c (stat_i4_sub_0, stat_i8_sub_0, fstat_i4_sub, fstat_i8_sub): Ditto. * intrinsics/transpose_generic.c (transpose_internal): Ditto. * intrinsics/unpack_generic.c (unpack_bounds, unpack_internal, unpack1, unpack0, unpack0_char4): Ditto. * m4/bessel.m4 (bessel_jn_r'rtype_kind`, * bessel_yn_r'rtype_kind`): Ditto. * m4/cshift0.m4 (cshift0_'rtype_code`): Ditto. * m4/cshift1.m4 (cshift1): Ditto. * m4/eoshift1.m4 (eoshift1): Ditto. * m4/eoshift3.m4 (eoshift3): Ditto. * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Ditto. * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Ditto. * m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code): * Ditto. * m4/in_pack.m4 (internal_pack_'rtype_ccode`): Ditto. * m4/in_unpack.m4 (internal_unpack_'rtype_ccode`): Ditto. * m4/matmul.m4 (matmul_'rtype_code`): Ditto. * m4/matmull.m4 (matmul_'rtype_code`): Ditto. * m4/pack.m4 (pack_'rtype_code`): Ditto. * m4/reshape.m4 (reshape_'rtype_ccode`): Ditto. * m4/shape.m4 (shape_'rtype_kind`): Ditto. * m4/spread.m4 (spread_'rtype_code`): Ditto. * m4/transpose.m4 (transpose_'rtype_code`): Ditto. * m4/unpack.m4 (unpack0_'rtype_code`, unpack1_'rtype_code`): * Ditto. * runtime/bounds.c (count_0): Ditto. * runtime/in_pack_generic.c (internal_pack): Ditto. * runtime/in_unpack_generic.c (internal_unpack): Ditto. * generated/cshift0_r4.c: Regenerated. * generated/unpack_r8.c: Regenerated. * generated/cshift0_c10.c: Regenerated. * generated/in_unpack_i1.c: Regenerated. * generated/eoshift1_16.c: Regenerated. * generated/iany_i16.c: Regenerated. * generated/reshape_i4.c: Regenerated. * generated/parity_l16.c: Regenerated. * generated/in_unpack_r16.c: Regenerated. * generated/iparity_i1.c: Regenerated. * generated/minloc0_16_r10.c: Regenerated. * generated/minloc1_16_i8.c: Regenerated. * generated/bessel_r8.c: Regenerated. * generated/maxloc0_4_i8.c: Regenerated. * generated/maxloc1_8_i1.c: Regenerated. * generated/sum_c10.c: Regenerated. * generated/maxloc0_8_r10.c: Regenerated. * generated/unpack_r16.c: Regenerated. * generated/maxloc1_16_i1.c: Regenerated. * generated/minloc1_4_i1.c: Regenerated. * generated/unpack_i4.c: Regenerated. * generated/in_pack_i1.c: Regenerated. * generated/cshift0_i1.c: Regenerated. * generated/minloc0_16_i4.c: Regenerated. * generated/minloc1_8_r8.c: Regenerated. * generated/maxval_r8.c: Regenerated. * generated/unpack_i2.c: Regenerated. * generated/matmul_r16.c: Regenerated. * generated/maxloc0_16_r8.c: Regenerated. * generated/maxloc1_8_i16.c: Regenerated. * generated/maxloc0_4_r4.c: Regenerated. * generated/pack_c10.c: Regenerated. * generated/in_unpack_c8.c: Regenerated. * generated/maxloc1_8_i8.c: Regenerated. * generated/in_pack_c16.c: Regenerated. * generated/parity_l1.c: Regenerated. * generated/in_pack_i2.c: Regenerated. * generated/maxloc0_4_r8.c: Regenerated. * generated/pack_r4.c: Regenerated. * generated/matmul_r8.c: Regenerated. * generated/pack_i1.c: Regenerated. * generated/minloc0_16_r16.c: Regenerated. * generated/cshift0_c8.c: Regenerated. * generated/minloc1_4_i16.c: Regenerated. * generated/minloc0_4_r4.c: Regenerated. * generated/product_i2.c: Regenerated. * generated/maxval_r10.c: Regenerated. * generated/minloc0_16_r8.c: Regenerated. * generated/in_pack_i8.c: Regenerated. * generated/all_l8.c: Regenerated. * generated/minloc0_8_i16.c: Regenerated. * generated/minloc1_8_i2.c: Regenerated. * generated/matmul_l8.c: Regenerated. * generated/spread_r10.c: Regenerated. * generated/product_c4.c: Regenerated. * generated/reshape_r16.c: Regenerated. * generated/cshift0_i16.c: Regenerated. * generated/minloc1_8_r10.c: Regenerated. * generated/iparity_i8.c: Regenerated. * generated/minloc0_16_i8.c: Regenerated. * generated/minloc1_8_i1.c: Regenerated. * generated/maxloc0_16_r10.c: Regenerated. * generated/maxloc1_8_i4.c: Regenerated. * generated/maxloc0_16_i8.c: Regenerated. * generated/maxloc1_16_i16.c: Regenerated. * generated/reshape_i8.c: Regenerated. * generated/all_l16.c: Regenerated. * generated/cshift1_8.c: Regenerated. * generated/matmul_c10.c: Regenerated. * generated/pack_r16.c: Regenerated. * generated/transpose_r10.c: Regenerated. * generated/maxloc1_16_i2.c: Regenerated. * generated/minloc1_4_r4.c: Regenerated. * generated/reshape_r8.c: Regenerated. * generated/product_r10.c: Regenerated. * generated/spread_c10.c: Regenerated. * generated/reshape_r4.c: Regenerated. * generated/in_unpack_i4.c: Regenerated. * generated/minval_r4.c: Regenerated. * generated/minloc1_16_r16.c: Regenerated. * generated/norm2_r8.c: Regenerated. * generated/iany_i2.c: Regenerated. * generated/eoshift3_8.c: Regenerated. * generated/maxloc1_16_r8.c: Regenerated. * generated/maxloc0_16_r16.c: Regenerated. * generated/cshift0_i8.c: Regenerated. * generated/all_l1.c: Regenerated. * generated/minloc1_16_r10.c: Regenerated. * generated/spread_i16.c: Regenerated. * generated/minloc1_8_r16.c: Regenerated. * generated/spread_r16.c: Regenerated. * generated/matmul_c8.c: Regenerated. * generated/pack_r10.c: Regenerated. * generated/reshape_r10.c: Regenerated. * generated/sum_r10.c: Regenerated. * generated/count_8_l.c: Regenerated. * generated/minloc1_16_i16.c: Regenerated. * generated/maxloc0_16_i2.c: Regenerated. * generated/count_1_l.c: Regenerated. * generated/unpack_c16.c: Regenerated. * generated/any_l8.c: Regenerated. * generated/minloc1_16_i1.c: Regenerated. * generated/sum_r4.c: Regenerated. * generated/in_unpack_r8.c: Regenerated. * generated/product_r8.c: Regenerated. * generated/in_unpack_r4.c: Regenerated. * generated/unpack_i1.c: Regenerated. * generated/cshift0_r8.c: Regenerated. * generated/spread_i2.c: Regenerated. * generated/minloc1_4_r10.c: Regenerated. * generated/minloc1_16_i2.c: Regenerated. * generated/minloc0_16_i2.c: Regenerated. * generated/eoshift3_16.c: Regenerated. * generated/maxloc0_8_i4.c: Regenerated. * generated/maxloc1_16_r10.c: Regenerated. * generated/maxloc1_4_i16.c: Regenerated. * generated/maxloc1_4_r8.c: Regenerated. * generated/parity_l2.c: Regenerated. * generated/maxloc0_16_i16.c: Regenerated. * generated/product_r4.c: Regenerated. * generated/in_unpack_r10.c: Regenerated. * generated/maxloc1_8_i2.c: Regenerated. * generated/iparity_i2.c: Regenerated. * generated/maxloc1_8_r4.c: Regenerated. * generated/maxloc1_8_r8.c: Regenerated. * generated/iall_i4.c: Regenerated. * generated/maxloc0_4_i16.c: Regenerated. * generated/cshift0_i4.c: Regenerated. * generated/in_unpack_c10.c: Regenerated. * generated/unpack_c8.c: Regenerated. * generated/transpose_c8.c: Regenerated. * generated/in_unpack_c16.c: Regenerated. * generated/product_c16.c: Regenerated. * generated/minval_r8.c: Regenerated. * generated/minloc0_4_i1.c: Regenerated. * generated/minloc0_8_r16.c: Regenerated. * generated/in_unpack_i16.c: Regenerated. * generated/reshape_c16.c: Regenerated. * generated/pack_i4.c: Regenerated. * generated/minval_r10.c: Regenerated. * generated/maxloc0_4_r10.c: Regenerated. * generated/unpack_i8.c: Regenerated. * generated/minloc1_16_r8.c: Regenerated. * generated/pack_c16.c: Regenerated. * generated/maxval_r4.c: Regenerated. * generated/spread_r8.c: Regenerated. * generated/minloc0_16_r4.c: Regenerated. * generated/maxval_i4.c: Regenerated. * generated/matmul_r4.c: Regenerated. * generated/product_c8.c: Regenerated. * generated/maxloc1_4_i4.c: Regenerated. * generated/any_l4.c: Regenerated. * generated/cshift0_r16.c: Regenerated. * generated/maxloc1_16_r4.c: Regenerated. * generated/in_pack_r10.c: Regenerated. * generated/iall_i1.c: Regenerated. * generated/product_i1.c: Regenerated. * generated/maxloc0_4_i1.c: Regenerated. * generated/maxloc0_8_r16.c: Regenerated. * generated/minloc1_8_i16.c: Regenerated. * generated/reshape_c10.c: Regenerated. * generated/matmul_l4.c: Regenerated. * generated/cshift0_c16.c: Regenerated. * generated/spread_r4.c: Regenerated. * generated/sum_r16.c: Regenerated. * generated/in_unpack_c4.c: Regenerated. * generated/maxval_i8.c: Regenerated. * generated/maxloc0_8_r8.c: Regenerated. * generated/unpack_i16.c: Regenerated. * generated/norm2_r4.c: Regenerated. * generated/maxloc1_4_r16.c: Regenerated. * generated/in_pack_r4.c: Regenerated. * generated/sum_c8.c: Regenerated. * generated/parity_l8.c: Regenerated. * generated/minval_i2.c: Regenerated. * generated/transpose_c10.c: Regenerated. * generated/cshift0_r10.c: Regenerated. * generated/cshift0_i2.c: Regenerated. * generated/spread_c4.c: Regenerated. * generated/maxval_r16.c: Regenerated. * generated/unpack_c10.c: Regenerated. * generated/bessel_r4.c: Regenerated. * generated/minloc0_8_i1.c: Regenerated. * generated/product_c10.c: Regenerated. * generated/minloc1_4_i4.c: Regenerated. * generated/minloc1_4_i2.c: Regenerated. * generated/transpose_c4.c: Regenerated. * generated/in_pack_c8.c: Regenerated. * generated/minval_i8.c: Regenerated. * generated/maxloc1_4_i2.c: Regenerated. * generated/maxloc1_4_i1.c: Regenerated. * generated/iall_i8.c: Regenerated. * generated/iany_i8.c: Regenerated. * generated/sum_c16.c: Regenerated. * generated/spread_i8.c: Regenerated. * generated/sum_i8.c: Regenerated. * generated/pack_i2.c: Regenerated. * generated/unpack_r10.c: Regenerated. * generated/minloc0_4_i4.c: Regenerated. * generated/iany_i4.c: Regenerated. * generated/maxloc0_4_i4.c: Regenerated. * generated/in_pack_r8.c: Regenerated. * generated/spread_i1.c: Regenerated. * generated/maxval_i16.c: Regenerated. * generated/pack_c8.c: Regenerated. * generated/iparity_i16.c: Regenerated. * generated/matmul_c16.c: Regenerated. * generated/eoshift1_8.c: Regenerated. * generated/any_l16.c: Regenerated. * generated/maxloc1_4_i8.c: Regenerated. * generated/minloc0_8_r4.c: Regenerated. * generated/transpose_c16.c: Regenerated. * generated/reshape_c4.c: Regenerated. * generated/minloc0_8_r8.c: Regenerated. * generated/count_16_l.c: Regenerated. * generated/minloc0_16_i1.c: Regenerated. * generated/minloc1_16_r4.c: Regenerated. * generated/maxloc0_8_i1.c: Regenerated. * generated/matmul_i1.c: Regenerated. * generated/sum_i2.c: Regenerated. * generated/cshift1_4.c: Regenerated. * generated/minloc0_4_i2.c: Regenerated. * generated/bessel_r10.c: Regenerated. * generated/matmul_c4.c: Regenerated. * generated/parity_l4.c: Regenerated. * generated/in_unpack_i2.c: Regenerated. * generated/product_i16.c: Regenerated. * generated/maxloc0_16_i4.c: Regenerated. * generated/minloc0_4_r10.c: Regenerated. * generated/transpose_i16.c: Regenerated. * generated/matmul_l16.c: Regenerated. * generated/any_l1.c: Regenerated. * generated/minval_r16.c: Regenerated. * generated/shape_i16.c: Regenerated. * generated/in_pack_c4.c: Regenerated. * generated/minloc1_8_r4.c: Regenerated. * generated/iany_i1.c: Regenerated. * generated/matmul_i16.c: Regenerated. * generated/maxloc0_16_r4.c: Regenerated. * generated/spread_c8.c: Regenerated. * generated/product_i8.c: Regenerated. * generated/minloc1_8_i4.c: Regenerated. * generated/product_i4.c: Regenerated. * generated/minval_i16.c: Regenerated. * generated/pack_r8.c: Regenerated. * generated/matmul_r10.c: Regenerated. * generated/shape_i8.c: Regenerated. * generated/eoshift1_4.c: Regenerated. * generated/minloc1_16_i4.c: Regenerated. * generated/transpose_r16.c: Regenerated. * generated/spread_c16.c: Regenerated. * generated/maxloc0_8_i16.c: Regenerated. * generated/minval_i1.c: Regenerated. * generated/sum_i4.c: Regenerated. * generated/in_pack_r16.c: Regenerated. * generated/iall_i16.c: Regenerated. * generated/minloc0_8_r10.c: Regenerated. * generated/maxloc0_8_i8.c: Regenerated. * generated/transpose_i4.c: Regenerated. * generated/maxloc0_4_i2.c: Regenerated. * generated/iall_i2.c: Regenerated. * generated/maxloc0_8_r4.c: Regenerated. * generated/minloc0_4_r16.c: Regenerated. * generated/minloc1_4_r8.c: Regenerated. * generated/minloc0_4_i8.c: Regenerated. * generated/minval_i4.c: Regenerated. * generated/minloc1_8_i8.c: Regenerated. * generated/in_pack_i16.c: Regenerated. * generated/spread_i4.c: Regenerated. * generated/cshift0_c4.c: Regenerated. * generated/minloc0_4_i16.c: Regenerated. * generated/sum_r8.c: Regenerated. * generated/minloc0_16_i16.c: Regenerated. * generated/sum_i1.c: Regenerated. * generated/all_l2.c: Regenerated. * generated/sum_c4.c: Regenerated. * generated/shape_i4.c: Regenerated. * generated/maxval_i1.c: Regenerated. * generated/norm2_r10.c: Regenerated. * generated/unpack_c4.c: Regenerated. * generated/maxloc0_16_i1.c: Regenerated. * generated/all_l4.c: Regenerated. * generated/maxloc1_16_i8.c: Regenerated. * generated/sum_i16.c: Regenerated. * generated/maxloc1_8_r16.c: Regenerated. * generated/minloc1_4_r16.c: Regenerated. * generated/maxloc1_16_r16.c: Regenerated. * generated/transpose_i8.c: Regenerated. * generated/minloc0_8_i2.c: Regenerated. * generated/product_r16.c: Regenerated. * generated/in_pack_c10.c: Regenerated. * generated/maxloc0_4_r16.c: Regenerated. * generated/pack_c4.c: Regenerated. * generated/bessel_r16.c: Regenerated. * generated/norm2_r16.c: Regenerated. * generated/in_unpack_i8.c: Regenerated. * generated/maxloc1_16_i4.c: Regenerated. * generated/minloc1_4_i8.c: Regenerated. * generated/eoshift3_4.c: Regenerated. * generated/maxloc1_8_r10.c: Regenerated. * generated/matmul_i8.c: Regenerated. * generated/matmul_i4.c: Regenerated. * generated/reshape_i16.c: Regenerated. * generated/matmul_i2.c: Regenerated. * generated/transpose_r8.c: Regenerated. * generated/transpose_r4.c: Regenerated. * generated/cshift1_16.c: Regenerated. * generated/maxloc1_4_r10.c: Regenerated. * generated/iparity_i4.c: Regenerated. * generated/in_pack_i4.c: Regenerated. * generated/maxloc0_8_i2.c: Regenerated. * generated/unpack_r4.c: Regenerated. * generated/count_4_l.c: Regenerated. * generated/maxloc1_4_r4.c: Regenerated. * generated/minloc0_8_i8.c: Regenerated. * generated/any_l2.c: Regenerated. * generated/minloc0_8_i4.c: Regenerated. * generated/pack_i8.c: Regenerated. * generated/count_2_l.c: Regenerated. * generated/reshape_c8.c: Regenerated. * generated/maxval_i2.c: Regenerated. * generated/minloc0_4_r8.c: Regenerated. From-SVN: r185177
2012-01-12Remove configure check for unused fdopen.Janne Blomqvist1-4/+3
2012-01-12 Janne Blomqvist <jb@gcc.gnu.org> * configure.ac: Remove check for fdopen. * runtime/backtrace.c (CAN_PIPE): Fix comment, remove check for fdopen. * configure: Regenerated. * config.h.in: Regenerated. From-SVN: r183124
2012-01-12PR 51803 Avoid malloc if getcwd fails or is not available.Janne Blomqvist1-3/+8
2012-01-12 Janne Blomqvist <jb@gcc.gnu.org> Tobias Burnus <burnus@net-b.de> PR libfortran/51803 * runtime/main.c (store_exe_path): Avoid malloc if getcwd fails or is not available. Co-Authored-By: Tobias Burnus <burnus@net-b.de> From-SVN: r183122
2012-01-11main.c (store_exe_path): Fix absolute path detection for Windows.Tobias Burnus1-4/+12
2012-01-11 Tobias Burnus <burnus@net-b.de> * runtime/main.c (store_exe_path): Fix absolute path detection for Windows. From-SVN: r183094
2012-01-11PR 51803 Handle getcwd failure and lack of the function better.Janne Blomqvist1-1/+3
2012-01-11 Janne Blomqvist <jb@gcc.gnu.org> Mike Stump <mikestump@comcast.net> PR libfortran/51803 * runtime/main.c (store_exe_path): Handle getcwd failure and lack of the function better. Co-Authored-By: Mike Stump <mikestump@comcast.net> From-SVN: r183090
2012-01-10re PR fortran/51197 (Backtrace information less useful)Tobias Burnus1-13/+48
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 Anlauf2-3/+51
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-11PR 51090 Fix r181288 to conform to GNU styleJanne Blomqvist1-1/+1
From-SVN: r181290
2011-11-11PR 51090 Check that getenv result != NULL before proceeding.Janne Blomqvist1-0/+2
2011-11-11 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/51090 * runtime/main.c (find_addr2line): NULL check before proceeding. From-SVN: r181288
2011-11-09Configure cleanup.Janne Blomqvist3-29/+3
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-11-09PR 46686 Fix incorrect comment.Janne Blomqvist1-1/+1
2011-11-09 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/46686 * runtime/backtrace.c (show_backtrace): Fix incorrect comment. From-SVN: r181217
2011-11-09PR 46686 Implement backtrace with _Unwind_Backtrace from libgcc.Janne Blomqvist1-154/+113
2011-11-09 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/46686 * configure.ac: Don't check execinfo.h, backtrace, backtrace_symbols_fd. Check execve instead of execvp. Call GCC_CHECK_UNWIND_GETIPINFO. * runtime/backtrace.c: Don't include unused headers, include limits.h and unwind.h. (CAN_FORK): Check execve instead of execvp. (GLIBC_BACKTRACE): Remove. (bt_header): Conform to gdb backtrace format. (struct bt_state): New struct. (trace_function): New function. (show_backtrace): Use _Unwind_Backtrace from libgcc instead of glibc backtrace functions. * Makefile.in: Regenerated. * aclocal.m4: Regenerated. * config.h.in: Regenerated. * configure: Regenerated. From-SVN: r181209
2011-11-08re PR libfortran/47972 (error.c:158:7: warning: return makes pointer from ↵Francois-Xavier Coudert1-13/+7
integer without a cast) PR libfortran/47972 * runtime/error.c (gf_strerror): Silence warning. From-SVN: r181180
2011-07-23ctime.c: Include <stdlib.h>.Andreas Schwab1-0/+1
* libgfortran/intrinsics/ctime.c: Include <stdlib.h>. * libgfortran/intrinsics/getlog.c: Likewise. * libgfortran/runtime/stop.c: Likewise. From-SVN: r176675
2011-07-09error.c (sys_abort): Change argument list from "()" to "(void)".Tobias Burnus1-1/+1
2011-07-09 Tobias Burnus <burnus@net-b.de> * runtime/error.c (sys_abort): Change argument list from "()" to "(void)". From-SVN: r176109
2011-07-05memory.c (internal_malloc_size): If size is zero, allocate a single byte.Thomas Koenig1-2/+2
2011-07-05 Thomas Koenig <tkoenig@gcc.gnu.org> * runtime/memory.c (internal_malloc_size): If size is zero, allocate a single byte. * m4/pack.m4 (pack_'rtype_code`): Don't check for zero size for the argument of internal_malloc_size. * m4/spread.m4 (spread_'rtype_code`): Likewise. * m4/eoshift1.m4 (eoshift1): Don't allocate twice. Don't check for zero size for the argument of internal_malloc_size. * m4/eoshift3.m4: Don't check for zero size for the argument of internal_malloc_size. * intrinsics/pack_generic.c (pack_internal): Likewise. (pack_s_internal): Likewise. * intrinsics/cshift0.c (cshift0): Likewise. * intrinsics/spread_generic.c (spread_internal): Likewise. * intrinsics/eoshift0.c (eoshift0): Likewise. * intrinsics/eoshift2.c (eoshift2): Likewise. * generated/eoshift1_16.c: Regenerated. * generated/eoshift1_4.c: Regenerated. * generated/eoshift1_8.c: Regenerated. * generated/eoshift3_16.c: Regenerated. * generated/eoshift3_4.c: Regenerated. * generated/eoshift3_8.c: Regenerated. * generated/pack_c10.c: Regenerated. * generated/pack_c16.c: Regenerated. * generated/pack_c4.c: Regenerated. * generated/pack_c8.c: Regenerated. * generated/pack_i16.c: Regenerated. * generated/pack_i1.c: Regenerated. * generated/pack_i2.c: Regenerated. * generated/pack_i4.c: Regenerated. * generated/pack_i8.c: Regenerated. * generated/pack_r10.c: Regenerated. * generated/pack_r16.c: Regenerated. * generated/pack_r4.c: Regenerated. * generated/pack_r8.c: Regenerated. * generated/spread_c10.c: Regenerated. * generated/spread_c16.c: Regenerated. * generated/spread_c4.c: Regenerated. * generated/spread_c8.c: Regenerated. * generated/spread_i16.c: Regenerated. * generated/spread_i1.c: Regenerated. * generated/spread_i2.c: Regenerated. * generated/spread_i4.c: Regenerated. * generated/spread_i8.c: Regenerated. * generated/spread_r10.c: Regenerated. * generated/spread_r16.c: Regenerated. * generated/spread_r4.c: Regenerated. * generated/spread_r8.c: Regenerated. From-SVN: r175880
2011-05-29PR 48931 Use async-signal-safe execve instead of execvpJanne Blomqvist3-2/+60
From-SVN: r174415
2011-05-29PR 49214 fd_gets should return NULL if nothing was readJanne Blomqvist1-0/+2
From-SVN: r174395
2011-05-22stop.c (stop_string,error_stop_string): Minor cleanup.Tobias Burnus1-4/+2
2011-05-22 Tobias Burnus <burnus@net-b.de> * runtime/stop.c (stop_string,error_stop_string): Minor cleanup. From-SVN: r174039
2011-05-22PR 48931 Make backtrace async-signal-safe, reformat outputJanne Blomqvist2-166/+151
From-SVN: r174030
2011-05-14lang.opt (fdump-core): Re-add as ignored option for backward compatibility.Tobias Burnus1-4/+1
2011-05-14 Tobias Burnus <burnus@net-b.de> * lang.opt (fdump-core): Re-add as ignored option for backward compatibility. 2011-05-14 Tobias Burnus <burnus@net-b.de> * runtime/stop.c (error_stop_string, error_stop_numeric): Do not backtrace for ERROR STOP. From-SVN: r173760
2011-05-14PR 48915 Abort handlingJanne Blomqvist5-112/+126
From-SVN: r173750
2011-05-14Error printing thread safety, remove GFORTRAN_USE_STDERRJanne Blomqvist5-69/+161
From-SVN: r173749
2011-04-16Replace sprintf with snprintfJanne Blomqvist2-10/+8
From-SVN: r172590
2011-01-22PR 46267 strerror thread safetyJanne Blomqvist1-3/+39
From-SVN: r169110
2011-01-03Update Copyright years for files modified in 2010.Jakub Jelinek4-4/+7
From-SVN: r168438
2010-11-16re PR fortran/32049 (Support on x86_64 also kind=16)Francois-Xavier Coudert2-12/+48
/ 2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> Tobias Burnus <burnus@net-b.de> PR fortran/32049 * Makefile.def: Add libquadmath; build it with language=fortran. * configure.ac: Add libquadmath. * Makefile.tpl: Handle multiple libs in check-[+language+]. * Makefile.in: Regenerate. * configure: Regenerate. libquadmath/ 2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> Tobias Burnus <burnus@net-b.de> PR fortran/32049 Initial implementation and checkin. gcc/fortran/ 2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> Tobias Burnus <burnus@net-b.de> PR fortran/32049 * gfortranspec.c (find_spec_file): New function. (lang_specific_driver): Try to find .spec file and use it. * trans-io.c (iocall): Define * IOCALL_X_REAL128/COMPLEX128(,write). (gfc_build_io_library_fndecls): Build decl for __float128 I/O. (transfer_expr): Call __float128 I/O functions. * trans-types.c (gfc_init_kinds): Allow kind-16 belonging to __float128. gcc/testsuite/ 2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> Tobias Burnus <burnus@net-b.de> PR fortran/32049 * gfortran.dg/quad_1.f90: New. * lib/gcc-defs.exp (gcc-set-multilib-library-path): Use also compiler arguments. * lib/gfortran.exp (gfortran_link_flags): Add libquadmath to library search path; call gcc-set-multilib-library-path with arguments such that libgfortran.spec is found. (gfortran_init): Add path for libgfortran.spec to GFORTRAN_UNDER_TEST. libgomp/ 2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> Tobias Burnus <burnus@net-b.de> PR fortran/32049 * configure.ac: * configure: Regenerate. libgfortran/ 2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> Tobias Burnus <burnus@net-b.de> PR fortran/32049 * Makefile.am: Add missing pow_r16_i4.c, add transfer128.c, link libquadmath, if used. * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Add. * configure.ac: Use it, touch spec file. * gfortran.map: Add pow_r16_i4 and transfer_(real,complex)128(,write) functions. * intrinsics/cshift0.c (cshift0): Handle __float128 type. * intrinsics/erfc_scaled_inc.c: Ditto. * intrinsics/pack_generic.c (pack): Ditto * intrinsics/spread_generic.c (spread): Ditto. * intrinsics/unpack_generic.c (unpack1): Ditto. * io/read.c (convert_real): Ditto. * io/transfer.c: Update comments. * io/transfer128.c: New file. * io/write_float.def (write_float): Handle __float128 type. * libgfortran.h: #include quadmath_weak.h, define __builtin_infq and nanq. * m4/mtype.m4: Handle __float128 type. * runtime/in_pack_generic.c (internal_pack): Ditto. * runtime/in_unpack_generic.c (internal_unpack): Ditto. * kinds-override.h: New file. * libgfortran.spec.in: Ditto. * generated/pow_r16_i4.c: Generated. * Makefile.in: Regenerate. * configure: Regenerate. * config.h: Regenerate. * bessel_r10.c: Regenerate. * bessel_r16.c: Regenerate. * bessel_r4.c: Regenerate. * bessel_r8.c: Regenerate. * exponent_r16.c: Regenerate. * fraction_r16.c: Regenerate. * nearest_r16.c: Regenerate. * norm2_r10.c: Regenerate. * norm2_r16.c: Regenerate. * norm2_r4.c: Regenerate. * norm2_r8.c: Regenerate. * rrspacing_r16.c: Regenerate. * set_exponent_r16.c: Regenerate. * spacing_r16.c: Regenerate. Co-Authored-By: Tobias Burnus <burnus@net-b.de> From-SVN: r166825
2010-11-03re PR fortran/43899 (Wrong unused-variable warning with NAMELISTs)Jerry DeLisle1-1/+14
2010-11-03 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/43899 * runtime/error.c (generate_warning): New function to generate a run time warning message. Fix some whitespace. * libgfortran.h: Add prototype for new function. * io/list_read.c (nml_read_obj): Use new function to warn when a character namelist object is truncated. Only warn if compiled with -fbounds-check. From-SVN: r166252
2010-10-21re PR fortran/46079 (ABI for empty stop statement broken)Jerry DeLisle1-1/+21
2010-10-20 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/46079 * runtime/stop.c (stop_numeric_f08): New function. (stop_numeric): Restore to previous behavior. * gfortran.map: Add symbol _gfortran_stop_numeric_f08. 2010-10-20 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/46079 * trans_stmt.c (gfc_trans_stop): Fix whitespace. Build a call to new F08 numeric stop function. * trans.h: Add declaration for gfor_fndecl_stop_numeric_f08. * trans-decl.c (gfc_build_builtin_function_decls): Build declaration for stop_numeric_f08. From-SVN: r165746
2010-09-10string.c (compare0): Remove.Francois-Xavier Coudert1-19/+4
* runtime/string.c (compare0): Remove. (find_option): Inline string comparison From-SVN: r164168
2010-06-25decl.c (gfc_match_entry): Mark ENTRY as GFC_STD_F2008_OBS.Tobias Burnus1-3/+3
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
2010-05-20re PR fortran/43851 (Add _gfortran_error_stop_numeric)Jerry DeLisle1-5/+7
2010-05-20 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/43851 * runtime/stop.c (stop_string): Make sure nothing is emitted for blank stop. From-SVN: r159638