Francois-Xavier Coudert
77777b33a8
stop.c: Use C11 _Noreturn.
...
* runtime/stop.c: Use C11 _Noreturn.
* libgfortran.h: Use C11 _Noreturn in prototypes.
Move REALPART, IMAGPART and COMPLEX_ASSIGN macros...
* intrinsics/c99_functions.c: ... here.
From-SVN: r212327
2014-07-07 09:13:48 +00:00
Janne Blomqvist
92e6f3a43e
Introduce xmallocarray, an overflow checking variant of xmalloc.
...
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-06-17 06:50:34 +03:00
Janne Blomqvist
d74fd3c72b
Introduce xrealloc, use it.
...
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-26 23:56:45 +03:00
Janne Blomqvist
410e3e10dd
PR 60324 Handle long path names, don't use PATH_MAX.
...
2014-05-23 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/60324
* runtime/string.c: Include stdlib.h.
From-SVN: r210827
2014-05-23 00:17:29 +03:00
Janne Blomqvist
4269f19c09
PR 60324 Handle long path names, don't use PATH_MAX.
...
From-SVN: r210738
2014-05-22 06:51:25 +03:00
Richard Sandiford
f0bcf62899
Update copyright years in libgfortran/
...
From-SVN: r206296
2014-01-02 22:25:45 +00:00
Tobias Burnus
fa86f4f917
gfortran.h (gfc_option_t): Add fpe_summary.
...
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-06-17 09:48:21 +02:00
David Edelsohn
19f0e98f58
environ.c: Include unistd.h.
...
* 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-05-04 17:23:11 -04:00
Janne Blomqvist
f5e3ed2d42
Use C99 bool instead of enum try.
...
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-03-19 13:13:32 +02:00
Janus Weil
c362c6741d
re PR fortran/55978 (class_optional_2.f90 -Os fails)
...
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-02-06 20:39:35 +01:00
Richard Sandiford
e3c063ceda
Update copyright years in libgfortran.
...
From-SVN: r195167
2013-01-14 18:20:58 +00:00
Janus Weil
f0f67c96c3
re PR libfortran/36044 (user-requested backtrace)
...
2012-12-20 Janus Weil <janus@gcc.gnu.org>
PR fortran/36044
* gfortran.h (gfc_isym_id): Add GFC_ISYM_BACKTRACE.
* intrinsic.c (add_subroutines): Add "backtrace".
* intrinsic.texi (BACKTRACE): Document BACKTRACE intrinsic.
2012-12-20 Janus Weil <janus@gcc.gnu.org>
PR fortran/36044
* gfortran.map: Add _gfortran_backtrace.
* libgfortran.h: Rename 'show_backtrace' and export.
* runtime/backtrace.c (show_backtrace): Rename to 'backtrace'.
Don't show message. Close file descriptor. Export.
* runtime/compile_options.c (backtrace_handler): Renamed
'show_backtrace'. Move message outside.
* runtime/error.c (sys_abort): Ditto.
From-SVN: r194648
2012-12-20 19:15:13 +01:00
Thomas Koenig
4ed3a4d41b
re PR libfortran/54736 (GFORTRAN_CONVERT_UNIT causes malloc error on several 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-10-06 13:04:35 +00:00
Tobias Burnus
7ed26a671c
chmod.c (chmod_func): On MinGW, don't set is_dir
...
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-06-01 07:53:31 +02:00
Tobias Burnus
4179e59afa
re PR libfortran/53444 (Accommodate non-compliant strerror_r() on VxWorks.)
...
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-23 10:34:06 +02:00
Janne Blomqvist
80b91c0b39
PR 52428 Range checking when reading integer values.
...
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-14 22:39:23 +03:00
Janne Blomqvist
68ee9c0807
Fix handling of temporary files.
...
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-05-05 09:30:51 +03:00
Janne Blomqvist
1a0fd3d33a
Combined get_mem and internal_malloc_size.
...
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-26 18:16:05 +03:00
Janne Blomqvist
f4471acbe3
Use calloc instead of malloc and memset.
...
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-25 08:48:49 +03:00
Tobias Burnus
21d1335b2a
libgfortran.h (descriptor_dimension, [...]): Rename _lbound to lower_bound 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-03-10 18:22:31 +01:00
Janne Blomqvist
869eea243d
Remove configure check for unused fdopen.
...
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-12 12:30:45 +02:00
Janne Blomqvist
cb735e3800
PR 51803 Avoid malloc if getcwd fails or is not available.
...
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-12 11:58:34 +02:00
Tobias Burnus
4dec0a42c3
main.c (store_exe_path): Fix absolute path detection for Windows.
...
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-11 15:39:28 +01:00
Janne Blomqvist
8763317661
PR 51803 Handle getcwd failure and lack of the function better.
...
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-11 09:34:16 +02:00
Tobias Burnus
59c615478d
re PR fortran/51197 (Backtrace information less useful)
...
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-10 10:32:29 +01:00
Harald Anlauf
3881a3dee8
re PR fortran/51197 (Backtrace information less useful)
...
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
2012-01-09 20:53:27 +01:00
Janne Blomqvist
c492b9d035
PR 51090 Fix r181288 to conform to GNU style
...
From-SVN: r181290
2011-11-11 18:38:11 +02:00
Janne Blomqvist
ee66e604c3
PR 51090 Check that getenv result != NULL before proceeding.
...
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-11 18:31:47 +02:00
Janne Blomqvist
7454437875
Configure cleanup.
...
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-09 20:25:58 +02:00
Janne Blomqvist
161f270d4e
PR 46686 Fix incorrect comment.
...
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-09 19:52:11 +02:00
Janne Blomqvist
1ff101ff12
PR 46686 Implement backtrace with _Unwind_Backtrace from libgcc.
...
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-09 18:04:42 +02:00
Francois-Xavier Coudert
6ef982714c
re PR libfortran/47972 (error.c:158:7: warning: return makes pointer from integer without a cast)
...
PR libfortran/47972
* runtime/error.c (gf_strerror): Silence warning.
From-SVN: r181180
2011-11-08 21:58:47 +00:00
Andreas Schwab
53390685bd
ctime.c: Include <stdlib.h>.
...
* libgfortran/intrinsics/ctime.c: Include <stdlib.h>.
* libgfortran/intrinsics/getlog.c: Likewise.
* libgfortran/runtime/stop.c: Likewise.
From-SVN: r176675
2011-07-23 11:06:04 +00:00
Tobias Burnus
f6da75edeb
error.c (sys_abort): Change argument list from "()" to "(void)".
...
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-09 23:22:44 +02:00
Thomas Koenig
a787f6f9ec
memory.c (internal_malloc_size): If size is zero, allocate a single byte.
...
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-07-05 18:16:17 +00:00
Janne Blomqvist
155732f56d
PR 48931 Use async-signal-safe execve instead of execvp
...
From-SVN: r174415
2011-05-29 23:13:52 +03:00
Janne Blomqvist
8bea6ce492
PR 49214 fd_gets should return NULL if nothing was read
...
From-SVN: r174395
2011-05-29 16:17:17 +03:00
Tobias Burnus
1523ffa92a
stop.c (stop_string,error_stop_string): Minor cleanup.
...
2011-05-22 Tobias Burnus <burnus@net-b.de>
* runtime/stop.c (stop_string,error_stop_string): Minor cleanup.
From-SVN: r174039
2011-05-22 21:34:16 +02:00
Janne Blomqvist
eec2794c17
PR 48931 Make backtrace async-signal-safe, reformat output
...
From-SVN: r174030
2011-05-22 19:38:05 +03:00
Tobias Burnus
ade2e40389
lang.opt (fdump-core): Re-add as ignored option for backward compatibility.
...
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-14 18:02:07 +02:00
Janne Blomqvist
de8bd1420e
PR 48915 Abort handling
...
From-SVN: r173750
2011-05-14 11:44:09 +03:00
Janne Blomqvist
1028b2bded
Error printing thread safety, remove GFORTRAN_USE_STDERR
...
From-SVN: r173749
2011-05-14 10:55:51 +03:00
Janne Blomqvist
d30fe1c5cd
Replace sprintf with snprintf
...
From-SVN: r172590
2011-04-16 20:43:03 +03:00
Janne Blomqvist
723553bdc1
PR 46267 strerror thread safety
...
From-SVN: r169110
2011-01-22 00:42:17 +02:00
Jakub Jelinek
d652f226fc
Update Copyright years for files modified in 2010.
...
From-SVN: r168438
2011-01-03 21:52:22 +01:00
Francois-Xavier Coudert
1ec601bf9f
re PR fortran/32049 (Support on x86_64 also kind=16)
...
/
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-16 22:23:19 +01:00
Jerry DeLisle
fc5f5bb770
re PR fortran/43899 (Wrong unused-variable warning with NAMELISTs)
...
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-11-03 15:22:25 +00:00
Jerry DeLisle
cea59acecf
re PR fortran/46079 (ABI for empty stop statement broken)
...
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-10-21 00:45:15 +00:00
Francois-Xavier Coudert
a5ad78bbcd
string.c (compare0): Remove.
...
* runtime/string.c (compare0): Remove.
(find_option): Inline string comparison
From-SVN: r164168
2010-09-10 12:19:57 +00:00
Tobias Burnus
58fc89f6b9
decl.c (gfc_match_entry): Mark ENTRY as GFC_STD_F2008_OBS.
...
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-06-25 21:17:21 +02:00
Jerry DeLisle
00b97acd1b
re PR fortran/43851 (Add _gfortran_error_stop_numeric)
...
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
2010-05-20 19:40:30 +00:00
Jerry DeLisle
6d1b0f922a
re PR fortran/43851 (Add _gfortran_error_stop_numeric)
...
2010-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/43851
* runtime/stop.c (error_stop_numeric): New function and updated comment.
Add declaration for stop_numeric and remove declaration for stop_string.
(stop_string): Use for blank STOP.
(stop_numeric): Remove use of special -1 stop code.
* runtime/pause.c (do_pause): Use stop_string for blank stop.
(pause_numeric): Remove use of special -1 pause code.
* gfortran.map: Add new symbol to run-time library.
* libgfortran.h: Move declaration for stop_string to here to make
function visible for do_pause. Remove declaration for stop_numeric.
2010-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/43851
* trans-stmt.c (gfc_trans_stop): Add generation of call to
gfortran_error_stop_numeric. Fix up some whitespace. Use stop_string for
blank STOP, handling a null expression. (gfc_trans_pause): Use
pause_string for blank PAUSE.
* trans.h: Add external function declaration for error_stop_numeric.
* trans-decl.c (gfc_build_builtin_function_decls): Add the building of
the declaration for the library call. Adjust whitespaces.
* match.c (gfc_match_stopcode): Remove use of the actual stop code to
signal no stop code. Match the expression following the stop and pass
that to the translators. Remove the old use of digit matching. Add
checks that the stop_code expression is INTEGER or CHARACTER, constant,
and if CHARACTER, default character KIND.
2010-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/43851
* gfortran.dg/label_1.f90: Update test.
From-SVN: r159609
2010-05-20 04:44:11 +00:00
Janne Blomqvist
bb408e876c
Remove free_mem
...
From-SVN: r159160
2010-05-07 18:55:59 +03:00
Tobias Burnus
d0a4a61c3d
re PR fortran/39997 (Procedure(), pointer & implicit typing: rejects-valid / accepts-invalid?)
...
2010-04-06 Tobias Burnus <burnus@net-b.de>
PR fortran/39997
* intrinsic.c (add_functions): Add num_images.
* decl.c (gfc_match_end): Handle END CRITICAL.
* intrinsic.h (gfc_simplify_num_images): Add prototype.
* dump-parse-tree.c (show_code_node): Dump CRITICAL, ERROR STOP,
and SYNC.
* gfortran.h (gfc_statement): Add enum items for those.
(gfc_exec_op) Ditto.
(gfc_isym_id): Add num_images.
* trans-stmt.c (gfc_trans_stop): Handle ERROR STOP.
(gfc_trans_sync,gfc_trans_critical): New functions.
* trans-stmt.h (gfc_trans_stop,gfc_trans_sync,
gfc_trans_critical): Add/update prototypes.
* trans.c (gfc_trans_code): Handle CRITICAL, ERROR STOP,
and SYNC statements.
* trans.h (gfor_fndecl_error_stop_string) Add variable.
* resolve.c (resolve_sync): Add function.
(gfc_resolve_blocks): Handle CRITICAL.
(resolve_code): Handle CRITICAL, ERROR STOP,
(resolve_branch): Add CRITICAL constraint check.
and SYNC statements.
* st.c (gfc_free_statement): Add new statements.
* trans-decl.c (gfor_fndecl_error_stop_string): Global variable.
(gfc_build_builtin_function_decls): Initialize it.
* match.c (gfc_match_if): Handle ERROR STOP and SYNC.
(gfc_match_critical, gfc_match_error_stop, sync_statement,
gfc_match_sync_all, gfc_match_sync_images,
gfc_match_sync_memory):
New functions.
(match_exit_cycle): Handle CRITICAL constraint.
(gfc_match_stopcode): Handle ERROR STOP.
* match.h (gfc_match_critical, gfc_match_error_stop,
gfc_match_sync_all, gfc_match_sync_images,
gfc_match_sync_memory): Add prototype.
* parse.c (decode_statement, gfc_ascii_statement,
parse_executable): Handle new statements.
(parse_critical_block): New function.
* parse.h (gfc_compile_state): Add COMP_CRITICAL.
* intrinsic.texi (num_images): Document new function.
* simplify.c (gfc_simplify_num_images): Add function.
2010-04-06 Tobias Burnus <burnus@net-b.de>
PR fortran/39997
* gfortran.dg/coarray_1.f90: New test.
* gfortran.dg/coarray_2.f90: New test.
* gfortran.dg/coarray_3.f90: New test.
2010-04-06 Tobias Burnus <burnus@net-b.de>
PR fortran/39997
* runtime/stop.c (error_stop_string): New function.
* gfortran.map (_gfortran_error_stop_string): Add.
From-SVN: r158008
2010-04-06 18:26:02 +02:00
Paul Thomas
a1ff2ab8e4
transfer.c: Update copyright.
...
2010-04-01 Paul Thomas <pault@gcc.gnu.org>
* io/transfer.c : Update copyright.
* io/unix.c : ditto
* io/read.c : ditto
* io/io.h : ditto
* io/unix.h : ditto
* io/inquire.c : ditto
* io/format.c : ditto
* io/list_read.c : ditto
* runtime/error.c : ditto
* libgfortran.h : ditto
* intrinsics/date_and_time.c: ditto
* intrinsics/args.c : ditto
From-SVN: r157924
2010-04-01 18:22:00 +00:00
Kai Tietz
b2ef02df53
format.c (parse_format_list): Add to ERROR, WARNING, SILENT enumerators NOTIFICATION_ prefix.
...
2010-03-12 Kai Tietz <kai.tietz@onevision.com>
PR/42950
* io/format.c (parse_format_list): Add to ERROR, WARNING,
SILENT enumerators NOTIFICATION_ prefix.
* runtime/error.c (notification_std): Likewise.
* libgfortran.h (notification): Likewise.
(GFC_LARGEST_BUF): Check for HAVE_GFC_INTEGER_16.
From-SVN: r157407
2010-03-12 15:43:55 +01:00
Thomas Koenig
01d93568e8
pack.m4 (pack_'rtype_code`): Use count_0 for counting true values in a logical array.
...
2009-08-30 Thomas Koenig <tkoenig@gcc.gnu.org>
* m4/pack.m4 (pack_'rtype_code`): Use count_0 for counting true
values in a logical array. Mark bounds checking tests as
unlikely.
* intrinsics/pack_generic.c (pack_internal): Likewise.
* runtime/bounds.c (count_0): Fix off-by-one error in detecting
empty arrays.
* generated/pack_c4.c: Regenerated.
* generated/pack_c8.c: Regenerated.
* generated/pack_c10.c: Regenerated.
* generated/pack_c16.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_r4.c: Regenerated.
* generated/pack_r8.c: Regenerated.
* generated/pack_r10.c: Regenerated.
* generated/pack_r16.c: Regenerated.
From-SVN: r151225
2009-08-30 09:02:01 +00:00
Thomas Koenig
8c39b98796
re PR libfortran/34670 (bounds checking for array intrinsics)
...
2009-08-25 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34670
* runtime/bounds.c (count_0): New function.
* intrinsics/unpack_generic (unpack_bounds): New function.
(unpack_internal): Remove zero stride checks.
(unpack1): Use unpack_bounds.
(unpack1_char): Likeweise.
(unpack1_char4): Likewise
(unpack0): Likewise.
(unpack0_char): Likewise.
(unpack0_char4): Likewise.
2009-08-25 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34670
* gfortran.dg/unpack_bounds_1.f90: New test.
* gfortran.dg/unpack_bounds_2.f90: New test.
* gfortran.dg/unpack_bounds_3.f90: New test.
From-SVN: r151085
2009-08-25 17:05:10 +00:00
Steven G. Kargl
1237f8f1c4
cshift0.c: Update license to GPL3+exception.
...
2009-08-23 Steven G. Kargl <kargl@gcc.gnu.org>
* intrinsics/cshift0.c: Update license to GPL3+exception.
* runtime/fpu.c: Add a GPL3+exception statement.
From-SVN: r151038
2009-08-23 19:10:25 +00:00
Thomas Koenig
16bff92192
[multiple changes]
...
2009-07-19 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34670
PR libfortran/36874
* Makefile.am: Add bounds.c
* libgfortran.h (bounds_equal_extents): Add prototype.
(bounds_iforeach_return): Likewise.
(bounds_ifunction_return): Likewise.
(bounds_reduced_extents): Likewise.
* runtime/bounds.c: New file.
(bounds_iforeach_return): New function; correct typo in
error message.
(bounds_ifunction_return): New function.
(bounds_equal_extents): New function.
(bounds_reduced_extents): Likewise.
* intrinsics/cshift0.c (cshift0): Use new functions
for bounds checking.
* intrinsics/eoshift0.c (eoshift0): Likewise.
* intrinsics/eoshift2.c (eoshift2): Likewise.
* m4/iforeach.m4: Likewise.
* m4/eoshift1.m4: Likewise.
* m4/eoshift3.m4: Likewise.
* m4/cshift1.m4: Likewise.
* m4/ifunction.m4: Likewise.
* Makefile.in: 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/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/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/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.
2009-07-19 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34670
PR libfortran/36874
* gfortran.dg/cshift_bounds_1.f90: New test.
* gfortran.dg/cshift_bounds_2.f90: New test.
* gfortran.dg/cshift_bounds_3.f90: New test.
* gfortran.dg/cshift_bounds_4.f90: New test.
* gfortran.dg/eoshift_bounds_1.f90: New test.
* gfortran.dg/maxloc_bounds_4.f90: Correct typo in error message.
* gfortran.dg/maxloc_bounds_5.f90: Correct typo in error message.
* gfortran.dg/maxloc_bounds_7.f90: Correct typo in error message.
From-SVN: r149792
2009-07-19 15:07:21 +00:00
Thomas Koenig
dfb55fdcdb
re PR fortran/37577 ([meta-bug] change internal array descriptor format for better syntax, C interop TR, rank 15)
...
2009-06-21 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/37577
Port from fortran-dev
* runtime/in_pack_generic (internal_pack): Remove unnecessary
test for stride == 0.
* runtime/in_unpack_generic.c (internal_unpack): Likewise.
* intrinsics/iso_c_binding.c (c_f_pointer_u0): Take care
of stride in "shape" argument. Use array access macros for
accessing array descriptors.
* libgfortran.h (struct descriptor_dimension): Change stride
to _stride, lbound to _lbound and ubound to _ubound.
(GFC_DIMENSION_LBOUND): Use new name(s) in struct
descriptor_dimension.
(GFC_DIMENSION_UBOUND): Likewise.
(GFC_DIMENSION_STRIDE): Likewise.
(GFC_DIMENSION_EXTENT): Likewise.
(GFC_DIMENSION_SET): Likewise.
(GFC_DESCRIPTOR_LBOUND): Likewise.
(GFC_DESCRIPTOR_UBOUND): Likewise.
(GFC_DESCRIPTOR_EXTENT): Likewise.
(GFC_DESCRIPTOR_STRIDE): Likewise.
* io/transfer.c (transfer_array): Use array access macros.
Use byte-sized strides.
* intrinsics/eoshift0.c (eoshift0): Use array access
macros everywhere.
* m4/in_pack.m4 (internal_pack_'rtype_ccode`): Use
array access macros for accessing array descriptors.
* m4/in_unpack.m4 (internal_unpack_'rtype_ccode`):
Likewise.
* m4/matmull.m4 (matmul_'rtype_code`): Likewise.
* m4/matmul.m4 (matmul_'rtype_code`): Likewise.
* m4/unpack.m4 (unpack0_'rtype_code`): Likewise.
(unpack1_'rtype_code`): Likewise.
* m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code): Likewise.
* m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Use array access
macros everywhere.
* intrinsics/dtime.c (dtime_sub): Use array access macros
for accessing array descriptors.
* intrinsics/cshift0 (cshift0): Likewise.
* intrinsics/etime.c: Likewise. Remove redundant calculation
of rdim.
* m4/cshift0.m4 (cshift0_'rtype_code`): Use array access macros
for accessing array descriptors.
* m4/pack.m4 (pack_'rtype_code`): Likewise.
* m4/spread.m4 (spread_'rtype_code`): Likewise.
(spread_scalar_'rtype_code`): Likewise.
* m4/transpose.m4 (transpose_'rtype_code`): Likewise.
* m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Likewise.
* m4/eoshift1.m4 (eoshift1): Likewise. Remove size argument,
calculate within function.
(eoshift1_'atype_kind`): Remove size argument from call
to eoshift1.
(eoshift1_'atype_kind`_char): Likewise.
(eoshift1_'atype_kind`_char4): Likewise.
* m4/eoshift3.m4 (eoshift3): Remove size argument, calculate
within function. Use array access macros for accessing array
descriptors.
(eoshift3_'atype_kind`): Remove size argument from call
to eoshift1.
(eoshift3_'atype_kind`_char): Likewise.
(eoshift3_'atype_kind`_char4): Likewise.
* m4/shape.m4 (shape_'rtype_kind`): Use array access macros
for accessing array descriptors.
* m4/cshift1.m4 (cshift1): Remove size argument, calculate
within function. Use array access macros for accessing array
descriptors.
(cshift1_'atype_kind`): Remove size argument from call to
cshift1.
(cshift1_'atype_kind`_char): Remove size argument from call to
cshift1.
(cshift1_'atype_kind`_char4): Remove size argument from call to
cshift1.
* m4/reshape.m4 (reshape_'rtype_ccode`): Use array access macros
for accessing array descriptors.
* m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Likewise.
* intrinsics/pack_generic.c (pack_internal): Use array access
macros for accessing array descriptors.
(pack_s_internal): Likewise.
* intrinsics/transpose_generic.c (transpose_internal): Remove
size argument, calculate from array descriptor. Use array
access macros for accessing array descriptors.
(transpose): Remove size argument from call.
(transpoe_char): Likewise.
(transpose_char4): Likewise.
* intrinsics/move_alloc.c (move_alloc): Use array access macros
for accessing array descriptors.
* intrinsics/spread_generic.c (spread_internal): Remove size
argument, calculate from array descriptor. Use array access
macros for accessing array descriptors.
(spread_internal_scalar): Likewise.
(spread): Remove size argument from call to spread_internal.
(spread_char): Mark argument source_length as unused.
Remove size argument from call to spread_internal.
(spread_char4): Likewise.
(spread_char_scalar): Likewise.
(spread_char4_scalar): Likewise.
* intrinsics/unpack_generic.c (unpack_internal): Use array access
macros for accessing array descriptors.
* intrinsics/eoshift2.c (eoshift2): Remove size argument, calculate
from array descriptor instead. Use array access macros for
accessing array descriptors.
(eoshift2_##N): Remove size argument from call to eoshift2.
(eoshift2_##N_##char): Likewise.
(eoshift2_##N_##char4): Likewise.
* intrinsics/reshape_generic.c (reshape_internal): Use array
access macross for accessing array descriptors.
* libgfortran.h: Introduce new macros GFC_DIMENSION_LBOUND,
GFC_DIMENSION_UBOUND,GFC_DIMENSION_STRIDE, GFC_DIMENSION_EXTENT,
GFC_DIMENSION_SET, GFC_DESCRIPTOR_LBOUND, GFC_DESCRIPTOR_UBOUND,
GFC_DESCRIPTOR_EXTENT, GFC_DESCRIPTOR_EXTENT_BYTES,
GFC_DESCRIPTOR_STRIDE, GFC_DESCRIPTOR_STRIDE_BYTES
* runtime/in_pack_generic.c (internal_pack): Use new macros
for array descriptor access.
* runtime/in_unpack_generic.c (internal_unpack): Likewise.
* intrinsics/dtime.c (dtime_sub): Likewise.
* intrinsics/cshift0 (cshift0): Remove argument size,
calculate directly from the array descriptor. Use new macros
for array descriptor access.
* cshift0_##N: Remove shift argument in call to cshift0.
* cshift0_##N_char: Mark array_length as unused. Remove
array_length in call to cshift0.
* cshift0_##N_char4: Likewise.
* intrisics/etime.c: Use new macros for array descriptor access.
* intrinsics/stat.c (stat_i4_sub_0): Likewise.
(stat_i8_sub_0): Likewise.
(fstat_i4_sub): Likewise.
(fstat_i8_sub): Likewise.
* intrinsics/date_and_time.c (date_and_time): Likewise.
(secnds): Likewise.
(itime_i4): Likewise.
(itime_i8): Likewise.
(idate_i4): Likewise.
(idate_i8): Likewise.
(gmtime_i4): Likewise.
(gmtime_i8): Likewise.
(ltime_i4): Likewise.
(litme_i8): Likewise.
* intrinsics/associated.c (associated): Likewise.
* intrinsics/eoshift0.c (eoshift0): Likewise.
* intriniscs/size.c (size0): Likewise.
* intrinsics/random.c (arandom_r4): Likewise.
(arandom_r8): Likewise.
(arandom_r10): Likewise.
(arandom_r16): Likewise.
(random_seed_i4): Likewise.
(random_seed_i8): Likewise.
* io/list_read.c (nml_parse_qualifier): Likewise.
(nml_touch_nodes): Likewise.
(nml_read_obj): Likewise.
(get_name): Likewise.
* io/transfer.c (transfer_array): Likewise.
(init_loop_spec): Likewise.
(st_set_nml_var_dim): Likewise.
* io/write.c (nml_write_obj): Likewise.
(obj_loop): Likewise.
* 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/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/cshift0_c10.c: Regenerated.
* generated/cshift0_c16.c: Regenerated.
* generated/cshift0_c4.c: Regenerated.
* generated/cshift0_c8.c: Regenerated.
* generated/cshift0_i1.c: Regenerated.
* generated/cshift0_i16.c: Regenerated.
* generated/cshift0_i2.c: Regenerated.
* generated/cshift0_i4.c: Regenerated.
* generated/cshift0_i8.c: Regenerated.
* generated/cshift0_r10.c: Regenerated.
* generated/cshift0_r16.c: Regenerated.
* generated/cshift0_r4.c: Regenerated.
* generated/cshift0_r8.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/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/in_unpack_c10.c: Regenerated.
* generated/in_unpack_c16.c: Regenerated.
* generated/in_unpack_c4.c: Regenerated.
* generated/in_unpack_c8.c: Regenerated.
* generated/in_unpack_i1.c: Regenerated.
* generated/in_unpack_i16.c: Regenerated.
* generated/in_unpack_i2.c: Regenerated.
* generated/in_unpack_i4.c: Regenerated.
* generated/in_unpack_i8.c: Regenerated.
* generated/in_unpack_r10.c: Regenerated.
* generated/in_unpack_r16.c: Regenerated.
* generated/in_unpack_r4.c: Regenerated.
* generated/in_unpack_r8.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/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/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.
From-SVN: r148769
2009-06-21 19:24:55 +00:00
Francois-Xavier Coudert
fa10ccb275
fmain.c (main): Don't PREFIX set_args.
...
* fmain.c (main): Don't PREFIX set_args.
* libgfortran.h (set_args): Use iexport_proto.
* runtime/main.c (set_args): Use iexport.
From-SVN: r148472
2009-06-14 16:52:49 +00:00
Janne Blomqvist
c1df0e1ac5
Revert part of r147883 that breaks ABI
...
From-SVN: r147915
2009-05-27 18:22:34 +03:00
Tobias Burnus
092231a8d6
re PR fortran/39178 (Generate main() rather than using a main in libgfortran/fmain.c)
...
fortran/
2009-05-26 Tobias Burnus <burnus@net-b.de>
PR fortran/39178
* gfortranspec.c (lang_specific_driver): Stop linking
libgfortranbegin.
* trans-decl.c (gfc_build_builtin_function_decls): Stop
making MAIN__ publicly visible.
(gfc_build_builtin_function_decls): Add
gfor_fndecl_set_args.
(create_main_function) New function.
(gfc_generate_function_code): Use it.
libgfortran/
2009-05-26 Tobias Burnus <burnus@net-b.de>
PR fortran/39178
* runtime/main.c (store_exe_path): Make static
and multiple-times callable.
(set_args): Call store_exe_path.
* libgfortran.h: Remove store_exe_path prototype.
* fmain.c (main): Remove store_exe_path call.
From-SVN: r147883
2009-05-26 23:19:57 +02:00
François-Xavier Coudert
743460ea82
re PR libfortran/22423 (Warnings when building libgfortran)
...
PR fortran/22423
* io/transfer.c (read_block_direct): Avoid warning.
* runtime/string.c (compare0): Avoid warning.
From-SVN: r147254
2009-05-07 21:42:22 +00:00
Jakub Jelinek
748086b7b2
Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
...
From-SVN: r145841
2009-04-09 17:00:19 +02:00
Janne Blomqvist
f9bfed2243
string.c (compare0): Use gfc_charlen_type.
...
2009-04-08 Janne Blomqvist <jb@gcc.gnu.org>
* runtime/string.c (compare0): Use gfc_charlen_type.
* runtime/error.c (gfc_itoa): Move to io/write.c
(xtoa): Rename to gfc_xtoa.
* runtime/backtrace.c (show_backtrace): Call gfc_xtoa.
* intrinsics/cshift0.c (cshift0): Use index_type for shift arg.
* intrinsics/date_and_time.c (date_and_time): Use index_type.
(itime_i4): Likewise.
(itime_i8): Likewise.
(idate_i4): Likewise.
(idate_i8): Likewise.
(gmtime_i4): Likewise.
(gmtime_i8): Likewise.
(ltime_i4): Likewise.
(ltime_i8): Likewise.
* libgfortran.h (gfc_itoa): Remove prototype.
(xtoa): Rename prototype to gfc_xtoa.
* io/list_read.c (nml_read_obj): Use size_t for string length.
* io/transfer.c (read_block_direct): Change nbytes arg from
pointer to value.
(unformatted_read): Minor cleanup, call read_block_directly properly.
(skip_record): Use ssize_t.
(next_record_w_unf): Avoid stell() call by calling sseek with SEEK_CUR.
(iolength_transfer): Make sure to multiply before cast.
* io/intrinsics.c (fgetc): Remove unnecessary variable.
* io/format.c (format_hash): Use gfc_charlen_type.
* io/write.c (itoa): Move from runtime/error.c:gfc_itoa, rename,
make static.
(write_i): Call with pointer to itoa.
(write_z): Call with pointer to gfc_xtoa.
(write_integer): Pointer to itoa.
(nml_write_obj): Type cleanup, don't call strlen in loop.
From-SVN: r145758
2009-04-08 19:48:07 +03:00
Daniel Kraft
210879b85b
re PR fortran/38887 (run-time abort for MVBITS with run-time zero sized array arguments)
...
2009-01-21 Daniel Kraft <d@domob.eu>
* trans-stmt.c (gfc_conv_elemental_dependencies): Cleaned up comment.
2009-01-21 Daniel Kraft <d@domob.eu>
PR fortran/38887
* runtime/in_unpack_generic.c (internal_unpack): Return instead of
abort when called with empty array.
* m4/in_unpack.m4: Ditto.
* generated/in_unpack_i1.c: Regenerated.
* generated/in_unpack_i2.c: Regenerated.
* generated/in_unpack_i4.c: Regenerated.
* generated/in_unpack_i8.c: Regenerated.
* generated/in_unpack_i16.c: Regenerated.
* generated/in_unpack_r4.c: Regenerated.
* generated/in_unpack_r8.c: Regenerated.
* generated/in_unpack_r10.c: Regenerated.
* generated/in_unpack_r16.c: Regenerated.
* generated/in_unpack_c4.c: Regenerated.
* generated/in_unpack_c8.c: Regenerated.
* generated/in_unpack_c10.c: Regenerated.
* generated/in_unpack_c16.c: Regenerated.
2009-01-21 Daniel Kraft <d@domob.eu>
PR fortran/38887
* gfortran.dg/mvbits_5.f90: New test.
From-SVN: r143541
2009-01-21 14:34:55 +01:00
Adam Nemet
8b86bdbc02
* runtime/main.c (store_exe_path): Don't crash if argv0 is NULL.
...
From-SVN: r142526
2008-12-06 18:07:43 +00:00
Tobias Burnus
5fb41e29c6
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>
* 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-09-24 09:08:22 +02:00
Jerry DeLisle
4e2eb53c13
error.c: Fix cast for printf.
...
2008-09-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* runtime/error.c: Fix cast for printf.
From-SVN: r139880
2008-09-02 01:14:04 +00:00
Tobias Burnus
0d52899f78
re PR fortran/36132 (_gfortran_internal_pack on optional arguments)
...
2008-07-27 Tobias Burnus <burnus@net-b.de>
PR fortran/36132
PR fortran/29952
PR fortran/36909
* trans.c (gfc_trans_runtime_check): Allow run-time warning
* besides
run-time error.
* trans.h (gfc_trans_runtime_check): Update declaration.
* trans-array.c
* (gfc_trans_array_ctor_element,gfc_trans_array_bound_check,
gfc_conv_array_ref,gfc_conv_ss_startstride,gfc_trans_dummy_array_bias):
Updated gfc_trans_runtime_check calls.
(gfc_conv_array_parameter): Implement flag_check_array_temporaries,
fix packing/unpacking for nonpresent optional actuals to optional
formals.
* trans-array.h (gfc_conv_array_parameter): Update declaration.
* trans-expr.c (gfc_conv_substring,gfc_trans_arrayfunc_assign,
gfc_conv_function_call): Updated gfc_trans_runtime_check calls.
(gfc_conv_function_call): Update gfc_conv_array_parameter calls.
* trans-expr.c (gfc_trans_goto): Updated gfc_trans_runtime_check
calls.
* trans-io.c (set_string,gfc_conv_intrinsic_repeat): Ditto.
(gfc_conv_intrinsic_transfer,gfc_conv_intrinsic_loc): Same for
gfc_conv_array_parameter.
* trans-intrinsics.c (gfc_conv_intrinsic_bound): Ditto.
* trans-decl.c (gfc_build_builtin_function_decls): Add
gfor_fndecl_runtime_warning_at.
* lang.opt: New option fcheck-array-temporaries.
* gfortran.h (gfc_options): New flag_check_array_temporaries.
* options.c (gfc_init_options, gfc_handle_option): Handle flag.
* invoke.texi: New option fcheck-array-temporaries.
2008-07-27 Tobias Burnus <burnus@net-b.de>
PR fortran/36132
PR fortran/29952
PR fortran/36909
* runtime/error.c: New function runtime_error_at.
* gfortran.map: Ditto.
* libgfortran.h: Ditto.
2008-07-27 Tobias Burnus <burnus@net-b.de>
PR fortran/36132
PR fortran/29952
PR fortran/36909
gfortran.dg/internal_pack_4.f90: New.
gfortran.dg/internal_pack_5.f90: New.
gfortran.dg/array_temporaries_2.f90: New.
From-SVN: r138186
2008-07-27 12:45:44 +02:00
Jerry DeLisle
a9608b5743
re PR fortran/36515 (Integer read from stdin yields a value overflow for a 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
2008-06-15 20:02:58 +00:00
Jerry DeLisle
cea93abbe2
re PR libfortran/35863 ([F2003] Implement ENCODING="UTF-8")
...
2008-06-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/35863
* libgfortran.h: Change l8_to_l4_offset to big_endian and add endian_off.
* runtime/main.c: Fix error in comment. Change l8_to_l4_offset to
big_endian. (determine_endianness): Add endian_off and set its value
according to big_endian.
* gfortran.map: Add symbol for new _gfortran_transfer_character_wide.
* io/io.h: Add prototype declarations for new functions.
* io/list_read.c (list_formatted_read_scalar): Modify to handle kind=4.
(list_formatted_read): Calculate stride based on kind for character type
and use it when calling list_formatted_read_scalar.
* io/inquire.c (inquire_via_unit): Change l8_to_l4_offset to big_endian.
* io/open.c (st_open): Change l8_to_l4_offset to big_endian.
* io/read.c (read_a_char4): New function to handle formatted read.
* io/write.c: Define GFC_CHAR4(x) to improve readability of code.
(write_a_char4): New function to handle formatted write.
(write_character): Modify to accept the kind parameter and adjust for
endianess of the machine. (list_formatted_write): Calculate the stride
resulting from the kind and adjust the list_formatted_write_scalar call
accordingly. (nml_write_obj): Adjust calls to write_character.
(namelist_write): Likewise.
* io/transfer.c (formatted_transfer_scaler): Rename 'len' argument to
'kind' argument to better describe what it is. Add calls to new
functions for kind == 4. (formatted_transfer): Modify to handle the case
of type character and kind equals 4 to pass in the kind to the transfer
routines. (transfer_character_wide): Add this new function.
(transfer_array): Don't set kind to the character string length. Adjust
strides bases on character kind.
(unformatted_read): Adjust size based on kind for character types.
(unformatted_write): Likewise. (data_transfer_init): Change
l8_to_l4_offset to big_endian.
From-SVN: r136763
2008-06-13 20:28:08 +00:00
Francois-Xavier Coudert
3571925eb5
select.c: Moved content to select_inc.c.
...
* runtime/select.c: Moved content to select_inc.c. Include it.
Add macros for different character types.
* runtime/select_inc.c: New file.
* runtime/convert_char.c: New file.
* intrinsics/pack_generic.c (pack_char4, pack_s_char4): New
functions.
* intrinsics/transpose_generic.c (transpose_char4): New function.
* intrinsics/spread_generic.c (spread_char4, spread_char4_scalar):
New functions.
* intrinsics/unpack_generic.c (unpack1_char4, unpack0_char4):
New functions.
* intrinsics/reshape_generic.c (reshape_char): Use
gfc_charlen_type as type for length variables.
(reshape_char4): New function.
* gfortran.map (GFORTRAN_1.1): Add _gfortran_select_string_char4,
_gfortran_convert_char1_to_char4, _gfortran_convert_char4_to_char1,
_gfortran_transpose_char4, _gfortran_spread_char4,
_gfortran_spread_char4_scalar, _gfortran_reshape_char4,
_gfortran_pack_char4, _gfortran_pack_s_char4,
_gfortran_unpack0_char4 and _gfortran_unpack1_char4.
* Makefile.am: Add runtime/convert_char.c.
* Makefile.in: Regenerate.
From-SVN: r135496
2008-05-18 12:00:20 +00:00
Jerry DeLisle
c26cc9a6a6
re PR libfortran/36094 (Runtime error show_locus not working correctly)
...
2008-05-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/36094
* runtime/error.c (show_locus): Provide modified error message when
filename has not yet been associated with a unit number.
* io/open.c (encoding_opt[]): Comment out "utf-8" option and add TODO.
From-SVN: r134876
2008-05-02 01:33:16 +00:00
Thomas Koenig
c7d0f4d5fa
re PR libfortran/32972 (performance of pack/unpack)
...
2008-04-13 Thomas Koenig <tkoenig@gcc.gnu.org>
Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR libfortran/32972
PR libfortran/32512
configure.ac: Add test for uintptr_t.
configure: Regenerated.
config.h.in: Regenerated.
* libgfortran.h: GFC_DTYPE_DERIVED_1: New macro.
GFC_DTYPE_DERIVED_2: New macro.
GFC_DTYPE_DERIVED_4: New macro.
GFC_DTYPE_DERIVED_8: New macro.
GFC_DTYPE_DERIVED_16: New macro.
GFC_UNALIGNED_2: New macro.
GFC_UNALIGNED_4: New macro.
GFC_UNALIGNED_8: New macro.
GFC_UNALIGNED_16: New macro.
intptr_t: Define if we don't have it.
uintptr_t: Likewise.
* runtime/backtrace.c (show_backtrace): Use intptr_t.
* intrinsics/signal.c (signal_sub): Likewise.
(signal_sub_int): Likewise.
(alarm_sub_int_i4): Likewise.
* intrinsics/spread_generic.c (spread): Use the integer
routines for handling derived types of sizes 1, 2, 4, 8 and 16
if the alignment of all pointers is correct.
(spread_scalar): Likewise.
* intrinsics/pack_generic.c (pack): Likewise.
Use GFD_DTYPE_TYPE_SIZE to avoid nested switch statements.
* intrinsics/unpack_generic.c (unpack1): Likewise.
(unpack0): Likewise.
* runtime/in_pack_generic.c (internal_pack): Likewise.
* runtime/in_unpack_generic.c (internal_unpack): Likewise.
2008-04-13 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/32972
PR libfortran/32512
* gfortran.dg/internal_pack_1.f90: Add test for derived type.
* gfortran.dg/intrinsic_spread_1.f90: Likewise.
* gfortran.dg/intrinsic_pack_1.f90: Likewise.
* gfortran.dg/intrinsic_unpack_1.f90: Likewise.
Co-Authored-By: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
From-SVN: r134245
2008-04-13 20:15:58 +00:00
Thomas Koenig
2f3b8279bf
re PR libfortran/32972 (performance of pack/unpack)
...
2008-03-19 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/32972
* runtime/in_pack_generic.c (internal_pack): Fix typo in
last commit.
From-SVN: r133345
2008-03-19 16:56:22 +00:00
Thomas Koenig
8e1d7686de
re PR libfortran/32972 (performance of pack/unpack)
...
2008-03-19 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/32972
* Makefile.am (in_pack_c): Add in_pack_i1.c, in_pack_i2.c,
in_pack_r4.c, in_pack_r8.c, in_pack_r10.c and in_pack_r16.c.
(in_unpack_c): Add in_unpack_i1.c, in_unpack_i2.c,
in_unpack_r4.c, in_unpack_r8.c, in_unpack_r10.c and
in_unpack_r16.c.
* Makefile.in: Regenerate.
* libgfortran.h: Add prototypes for internal_pack_1,
internal_pack_2, internal_pack_16, internal_pack_r4,
internal_pack_r8, internal_pack_r10, internal_pack_r16,
internal_pack_c10 and internal_pack_c16. Add prototypes for
internal_unpack_1, internal_unpack_2, internal_unpack_16,
internal_unpack_r4, internal_unpack_r8, internal_unpack_r10,
internal_unpack_r16, internal_unpack_c10 and
internal_unpack_c16.
* runtime/in_pack_generic.c (internal_pack): Use sizeof instead
of hardwired sizes.
Add calls to internal_pack_1, internal_pack_2,
internal_pack_16, internal_pack_r4, internal_pack_r8,
internal_pack_r10, internal_pack_r16, internal_pack_c10 and
internal_pack_c16.
* runtime/in_unpack_generic.c (internal_unpack): Use sizeof
instead of hardwired sizes.
Add calls to internal_unpack_1, internal_unpack_2,
internal_unpack_16, internal_unpack_r4, internal_unpack_r8,
internal_unpack_r10, internal_unpack_r16, internal_unpack_c10
and internal_unpack_c16.
* generated/in_pack_r4.c: New file.
* generated/in_pack_i2.c: New file.
* generated/in_unpack_i1.c: New file.
* generated/in_pack_r10.c: New file.
* generated/in_unpack_r4.c: New file.
* generated/in_unpack_i2.c: New file.
* generated/in_unpack_r16.c: New file.
* generated/in_pack_r8.c: New file.
* generated/in_unpack_r10.c: New file.
* generated/in_unpack_r8.c: New file.
* generated/in_pack_r16.c: New file.
* generated/in_pack_i1.c: New file.
2008-03-19 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/32972
* gfortran.dg/internal_pack_1.f90: New test case.
* gfortran.dg/internal_pack_2.f90: New test case.
* gfortran.dg/internal_pack_3.f90: New test case.
From-SVN: r133344
2008-03-19 15:42:55 +00:00
Thomas Koenig
ceac3d59ad
re PR fortran/34594 (On error and END, no jump to ERR=<label>)
...
2007-12-27 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34594
* runtime/error.c: If there was a previous error, don't
mask it with another error mesage, EOF or EOR condition.
2007-12-27 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/34594
* gfortran.dg/direct_io_8.f90: New test case.
From-SVN: r131199
2007-12-27 12:33:52 +00:00
Francois-Xavier Coudert
1f94e1d88e
re PR fortran/33795 (Environment variable GFORTRAN_UNBUFFERED_<number> not working)
...
2007-10-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33795
* libgfortran.h: Add unbuffered_preconnected.
* io/unix.c (output_stream): Set stream unbuffered flag if
options.unbuffered_preconnected has been set.
(error_stream): Ditto.
* runtime/environ.c (variable_table): Add to environment variable table
the entry: GFORTRAN_UNBUFFERED_PRECONNECTED.
Co-Authored-By: Jerry DeLisle <jvdelisle@gcc.gnu.org>
From-SVN: r129470
2007-10-19 04:10:58 +00:00
Francois-Xavier Coudert
1cc0507d4c
re PR fortran/32021 (Fix,document,remove GFORTRAN_* environment variables)
...
PR libfortran/32021
* runtime/backtrace.c (local_strcasestr): Protect by appropriate
macros.
* runtime/main.c (cleanup): Cast argument to free.
* intrinsics/spread_generic.c (spread_internal): Match runtime_error
arguments and format.
* intrinsics/signal.c (alarm_sub_int_i4, alarm_sub_int_i8): Cast
pointers to avoid warnings.
From-SVN: r129463
2007-10-18 21:25:21 +00:00
Ben Elliston
9651c2ed93
environ.c (init_choice): Remove unused function.
...
* runtime/environ.c (init_choice): Remove unused function.
(show_choice): Likewise.
(choice): Remove.
(FP_ROUND_NEAREST, FP_ROUND_UP, FP_ROUND_DOWN, FP_ROUND_ZERO):
Remove.
(precision, signal_choices): Remove.
From-SVN: r129423
2007-10-18 09:28:37 +10:00
François-Xavier Coudert
34e366b39c
re PR fortran/32021 (Fix,document,remove GFORTRAN_* environment variables)
...
PR libfortran/32021
* runtime/environ.c (init_mem, show_mem, init_round, show_round,
init_precision, show_precision, init_signal, show_signal): Remove.
(variable_table): Remove GFORTRAN_MEM_INIT, GFORTRAN_MEM_CHECK,
GFORTRAN_SIGHUP, GFORTRAN_SIGINT, GFORTRAN_FPU_ROUND and
GFORTRAN_FPU_PRECISION.
* libgfortran.h (options_t): Remove mem_check, fpu_round,
fpu_precision, sighup, sigint, allocate_init_flag and
allocate_init_value.
From-SVN: r129014
2007-10-04 15:18:48 +00:00
Francois-Xavier Coudert
2515e5a7a0
re PR libfortran/21185 (Improve testsuite results on newlib targets)
...
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-09-15 14:52:46 +00:00
Francois-Xavier Coudert
257fafe0c9
re PR libfortran/33386 (Fortran SELECT statement miscompiles)
...
PR libfortran/33386
* runtime/select.c (select_string): Initialize default_jump.
From-SVN: r128379
2007-09-11 14:53:02 +00:00
Francois-Xavier Coudert
d74b97cc7e
re PR fortran/31675 (Fortran front-end and libgfortran should have a common header file)
...
PR fortran/31675
* libgfortran.h: New file.
* iso-fortran-env.def: Use macros in the new header instead of
hardcoded integer constants.
* Make-lang.in (F95_PARSER_OBJS, GFORTRAN_TRANS_DEPS): Add
fortran/libgfortran.h.
* gfortran.h (GFC_STD_*, GFC_FPE_*, options_convert,
ioerror_codes): Remove.
* trans.c (ERROR_ALLOCATION): Remove.
(gfc_call_malloc, gfc_allocate_with_status,
gfc_allocate_array_with_status): Use LIBERROR_ALLOCATION.
* trans-types.h (GFC_DTYPE_*): Remove.
* trans-decl.c (gfc_generate_function_code): Use
GFC_CONVERT_NATIVE instead of CONVERT_NATIVE.
* trans-io.c (set_parameter_value, set_parameter_ref): Use
LIBERROR_* macros instead of IOERROR_ macros.
* trans-intrinsic.c (gfc_conv_intrinsic_function): Use
LIBERROR_END and LIBERROR_EOR instead of hardcoded constants.
* options.c (gfc_init_options): Use GFC_CONVERT_NATIVE instead of
CONVERT_NATIVE.
(gfc_handle_option): Use GFC_CONVERT_* macros instead of CONVERT_*.
* libgfortran.h: Include gcc/fortran/libgfortran.h.
Remove M_PI, GFC_MAX_DIMENSIONS, GFC_DTYPE_*, GFC_NUM_RANK_BITS,
error_codes, GFC_STD_*, GFC_FPE_* and unit_convert.
* runtime/environ.c (variable_table): Use GFC_*_UNIT_NUMBER instead
of hardcoded constants.
(do_parse, init_unformatted): Use GFC_CONVERT_* macros instead of
CONVERT_*.
* runtime/string.c (find_option): Use LIBERROR_BAD_OPTION instead
of ERROR_BAD_OPTION.
* runtime/error.c (translate_error, generate_error): Use
LIBERROR_* macros instead of ERROR_*.
* io/file_pos.c (formatted_backspace, unformatted_backspace,
st_backspace, st_rewind, st_flush): Rename macros.
* io/open.c (convert_opt, edit_modes, new_unit, already_open,
st_open): Likewise.
* io/close.c (st_close): Likewise.
* io/list_read.c (next_char, convert_integer, parse_repeat,
read_logical, read_integer, read_character, parse_real,
check_type, list_formatted_read_scalar, namelist_read,
nml_err_ret): Likewise.
* io/read.c (convert_real, read_l, read_decimal, read_radix,
read_f): Likewise.
* io/inquire.c (inquire_via_unit): Likewise.
* io/unit.c (get_internal_unit): Likewise.
* io/transfer.c (read_sf, read_block, read_block_direct,
write_block, write_buf, unformatted_read, unformatted_write,
formatted_transfer_scalar, us_read, us_write, data_transfer_init,
skip_record, next_record_r, write_us_marker, next_record_w_unf,
next_record_w, finalize_transfer, st_read, st_write_done):
Likewise.
* io/format.c (format_error): Likewise.
From-SVN: r128050
2007-09-03 16:44:15 +00:00
Francois-Xavier Coudert
36ae8a61ad
minloc1.m4: Update copyright year and ajust headers order.
...
* 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-31 14:01:34 +00:00
Francois-Xavier Coudert
4376b7cf2b
builtin-types.def (BT_FN_PTR_PTR_SIZE): New type.
...
* builtin-types.def (BT_FN_PTR_PTR_SIZE): New type.
* builtins.def (BUILT_IN_REALLOC): New builtin.
* trans-array.c (gfc_grow_array): Use gfc_call_realloc.
(gfc_array_allocate): Use gfc_allocate_with_status and
gfc_allocate_array_with_status.
(gfc_array_deallocate): Use gfc_deallocate_with_status.
(gfc_trans_dealloc_allocated): Use gfc_deallocate_with_status.
* trans-stmt.c (gfc_trans_allocate): Use gfc_allocate_with_status.
(gfc_trans_deallocate): Use gfc_deallocate_with_status.
* trans.c (gfc_allocate_with_status, gfc_allocate_array_with_status,
gfc_deallocate_with_status, gfc_call_realloc): New functions.
* trans.h (gfc_allocate_with_status, gfc_allocate_array_with_status,
gfc_deallocate_with_status, gfc_call_realloc): New prototypes.
(gfor_fndecl_internal_realloc, gfor_fndecl_allocate,
gfor_fndecl_allocate_array, gfor_fndecl_deallocate): Remove.
* f95-lang.c (gfc_init_builtin_functions): Create decl for
BUILT_IN_REALLOC.
* trans-decl.c (gfor_fndecl_internal_realloc,
gfor_fndecl_allocate, gfor_fndecl_allocate_array,
gfor_fndecl_deallocate): Remove function decls.
(gfc_build_builtin_function_decls): Likewise.
* runtime/memory.c (internal_realloc, allocate, allocate_array,
deallocate): Remove functions.
* gfortran.map (_gfortran_allocate, _gfortran_allocate_array,
_gfortran_deallocate, _gfortran_internal_realloc): Remove symbols.
* libgfortran.h (error_codes): Add comment.
* gfortran.dg/alloc_comp_basics_1.f90: Update check.
* gfortran.dg/alloc_comp_constructor_1.f90: Update check.
From-SVN: r127897
2007-08-29 12:44:32 +00:00
Francois-Xavier Coudert
34b4bc5c61
re PR fortran/30964 (optional arguments to random_seed)
...
PR fortran/30964
PR fortran/33054
* trans-expr.c (gfc_conv_function_call): When no formal argument
list is available, we still substitute missing optional arguments.
* check.c (gfc_check_random_seed): Correct the check on the
number of arguments to RANDOM_SEED.
* intrinsic.c (add_subroutines): Add a resolution function to
RANDOM_SEED.
* iresolve.c (gfc_resolve_random_seed): New function.
* intrinsic.h (gfc_resolve_random_seed): New prototype.
* intrinsics/random.c (random_seed): Rename into random_seed_i4.
(random_seed_i8): New function.
* gfortran.map (GFORTRAN_1.0): Remove _gfortran_random_seed,
add _gfortran_random_seed_i4 and _gfortran_random_seed_i8.
* libgfortran.h (iexport_proto): Replace random_seed by
random_seed_i4 and random_seed_i8.
* runtime/main.c (init): Call the new random_seed_i4.
* gfortran.dg/random_4.f90: New test.
* gfortran.dg/random_5.f90: New test.
* gfortran.dg/random_6.f90: New test.
* gfortran.dg/random_7.f90: New test.
From-SVN: r127383
2007-08-12 20:45:29 +00:00
Francois-Xavier Coudert
2b840e5067
re PR fortran/31189 (Support backtracing for non-library errors)
...
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-08-11 21:52:22 +00:00
Francois-Xavier Coudert
c8fe94c7ea
re PR fortran/31270 (print subscript value and array bounds when out-of-bounds error occurs)
...
PR fortran/31270
* trans.c (gfc_trans_runtime_check): Reorder arguments and
add extra variable arguments. Hand them to the library function.
* trans.h (gfc_trans_runtime_check): Update prototype.
* trans-array.c (gfc_trans_array_bound_check): Issue more
detailled error messages.
(gfc_conv_array_ref): Likewise.
(gfc_conv_ss_startstride): Likewise.
(gfc_trans_dummy_array_bias): Reorder arguments to
gfc_trans_runtime_check.
* trans-expr.c (gfc_conv_substring): Issue more detailled
error messages.
(gfc_conv_function_call): Reorder arguments to gfc_trans_runtime_check.
* trans-stmt.c (gfc_trans_goto): Likewise.
* trans-io.c (set_string): Reorder arguments to
gfc_trans_runtime_check and issue a more detailled error message.
* trans-decl.c (gfc_build_builtin_function_decls): Make
runtime_error and runtime_error_at handle a variable number of
arguments.
* trans-intrinsic.c (gfc_conv_intrinsic_bound): Reorder arguments
to gfc_trans_runtime_check.
(gfc_conv_intrinsic_minmax): Likewise.
(gfc_conv_intrinsic_repeat): Issue more detailled error messages.
* runtime/error.c (runtime_error_at): Add a variable number of
arguments.
* libgfortran.h (runtime_error_at): Update prototype.
From-SVN: r127352
2007-08-10 22:12:04 +00:00
Thomas Koenig
d8163f5cc0
re PR libfortran/32858 (printf-capabilities for runtime_error())
...
2007-07-29 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/32858
PR libfortran/30814
* configure.ac: Added checks for presence of stdio.h and
stdarg.h. Test presence of vsnprintf().
* configure: Regenerated.
* config.h.in: Regenerated.
* libgfortran.h: Include <stdio.h>. Add printf attribute to
prototype of runtime_error. Remove prototype for st_sprintf.
Add prototype for st_vprintf.
* runtime/main.c (store_exec_path): Replace st_sprintf by sprintf.
* runtime/error.c (st_sprintf): Remove.
(runtime_error): Rewrite as a variadic function. Call
st_vprintf().
* intrinsics/pack_generic.c: Output extents of LHS and RHS for
bounds error.
* io/open.c (new_unit): Replace st_sprintf by sprintf.
* io/list_read.c (convert_integer): Likewise.
(parse_repeat): Likewise.
(read_logical): Likewise.
(read_character): Likewise.
(parse_real): Likewise.
(read_real): Likewise.
(check_type): Likewise.
(nml_parse_qualifyer): Likewise.
(nml_read_obj): Likewise.
(nml_get_ojb_data): Likewise.
* io/unix.c (init_error_stream): Remove.
(tempfile): Replace st_sprintf by sprintf.
(st_vprintf): New function.
(st_printf): Rewrite to call st_vprintf.
* io/transfer.c (require_type): Replace st_sprintf by sprintf.
* io/format.c (format_error): Likewise.
* io/write.c (nml_write_obj): Likewise.
2007-07-29 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/32858
PR libfortran/30814
* gfortran.dg/pack_bounds_1.f90: Adjust to new error message.
From-SVN: r127049
2007-07-29 20:01:45 +00:00
Francois-Xavier Coudert
2b8327ce6a
re PR fortran/32035 ('<anonymous>' may be used uninitialized in this function)
...
PR fortran/32035
* trans-stmt.c (gfc_trans_character_select): Replace the
mechanism with labels by a SWITCH_EXPR.
* trans-decl.c (gfc_build_builtin_function_decls): Change
return type for select_string.
* runtime/select.c (select_string): Adjust prototype and function
so that the return value is an integer, not a pointer.
* gfortran.dg/select_char_1.f90: New test.
From-SVN: r126978
2007-07-27 14:26:43 +00:00
Thomas Koenig
18fe404fbc
re PR fortran/30814 (non-conforming array sizes in PACK should raise an error)
...
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-24 05:52:44 +00:00
Jerry DeLisle
2bb6de3a7e
re PR libfortran/32611 (Print sign of negative zero)
...
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-07-15 16:26:22 +00:00
Janne Blomqvist
db430f6a2a
Fortran frontend:
...
2007-07-03 Janne Blomqvist <jb@gcc.gnu.org>
* trans-decl.c (gfc_build_builtin_function_decls): Mark
internal_realloc as a malloc function.
libgfortran:
2007-07-03 Janne Blomqvist <jb@gcc.gnu.org>
* libgfortran.h: Mark internal_malloc_size as a malloc function.
* runtime/memory.c (internal_realloc_size): Remove.
(internal_realloc): Call realloc directly instead of
internal_realloc_size.
(allocate_size): Remove.
(allocate): Call malloc directly instead of allocate_size, mark as
malloc function.
From-SVN: r126264
2007-07-03 19:50:05 +03:00
Janne Blomqvist
a6bd380438
fortran frontend:
...
2007-07-01 Janne Blomqvist <jb@gcc.gnu.org>
* trans.h: Remove decls for 64-bit allocation functions.
* trans-array.c (gfc_grow_array): Always pick the standard realloc
function decl.
(gfc_array_allocate): Likewise.
* trans-decl.c: Remove trees for 64-bit allocation functions.
(gfc_build_builtin_function_decls): Don't build fndecls for 64-bit
allocations functions, use index_int_type for normal allocation
functions.
libgfortran changelog:
2007-07-01 Janne Blomqvist <jb@gcc.gnu.org>
* runtime/memory.c (internal_realloc): Use index_type for size
argument instead of GFC_INTEGER_4.
(allocate_array): Likewise.
(allocate): Likewise, add ifdef around unnecessary check.
(internal_reallo64): Remove.
(allocate_array64): Remove.
(allocate64): Remove.
* gfortran.map: Remove symbols for 64-bit allocation functions.
From-SVN: r126166
2007-07-01 15:08:59 +03:00
Adam Nemet
c861db6620
re PR libfortran/32495 (static declaration of 'strcasestr' follows non-static declaration)
...
PR libfortran/32495
* runtime/backtrace.c (local_strcasestr): Rename from strcasestr.
(show_backtrace): Rename strcasestr to local_strcasestr.
From-SVN: r125998
2007-06-25 17:21:46 +00:00
Jerry DeLisle
87557722c8
re PR libfortran/32456 (IO error message should show Unit/Filename)
...
2007-06-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/32456
* runtime/error.c (show_locus): Update to emit the unit number
and file name involved with the error. Use new function
filename_from_unit.
* libgfortran.h (filename_from_unit): Declare new function.
* io/unit.c (init_units): Set the unit file name for stdin, stdout,
and stderr for use later in error reporting.
(filename_from_unit): Add this new function.
From-SVN: r125989
2007-06-24 22:56:21 +00:00