Commit Graph

493 Commits

Author SHA1 Message Date
François-Xavier Coudert
0e7e7e6e82 re PR fortran/16580 ([4.1 only] gfortran ICE on test g77.f-torture/execute/intrinsic77.f)
PR fortran/16580
	PR fortran/29288

	* gcc/fortran/intrinsic.c (add_sym): Define the actual_ok when a
	gfc_intrinsic_sym structure is filled.
	(gfc_intrinsic_actual_ok): New function.
	(add_sym_0s, add_sym_1s, add_sym_2s, add_sym_3s, add_sym_4s,
	add_sym_5s): Intrinsic subroutines are not allowed as actual
	arguments, so we remove argument actual_ok.
	(add_functions): Correct the values for actual_ok of all intrinsics.
	(add_subroutines): Remove the actual_ok argument, which was never used.
	* gcc/fortran/intrinsic.h (gfc_intrinsic_actual_ok): New prototype.
	* gcc/fortran/gfortran.h (gfc_resolve_index_func): New prototype.
	* gcc/fortran/resolve.c (resolve_actual_arglist): Check whether
	an intrinsic used as an argument list is allowed there.
	* gcc/fortran/iresolve.c (gfc_resolve_index_func): New function.
	(gfc_resolve_len): Change intrinsic function name to agree with
	libgfortran.
	* gcc/fortran/trans-decl.c (gfc_get_extern_function_decl): Add
	new case, because some specific intrinsics take 3 arguments.
	* gcc/fortran/intrinsic.texi: DIMAG is a GNU extension.

	* libgfortran/Makefile.am: Add the new files to the build
	process, and rules to build them.
	* libgfortran/Makefile.in: Regenerate.
	* libgfortran/m4/misc_specifics.m4: New file.
	* libgfortran/m4/specific.m4: Add new special cases for function
	with complex argument and real result, like abs_c* and aimag_c*.
	* libgfortran/intrinsics/f2c_specifics.F90: Add specifics for
	AIMAG, ASINH, ACOSH and ATANH.
	* libgfortran/generated/_aimag_c4.F90: New file.
	* libgfortran/generated/_aimag_c8.F90: New file.
	* libgfortran/generated/_asinh_r10.F90: New file.
	* libgfortran/generated/_acosh_r16.F90: New file.
	* libgfortran/generated/_aimag_c10.F90: New file.
	* libgfortran/generated/_atanh_r16.F90: New file.
	* libgfortran/generated/_acosh_r4.F90: New file.
	* libgfortran/generated/_acosh_r8.F90: New file.
	* libgfortran/generated/_asinh_r4.F90: New file.
	* libgfortran/generated/_asinh_r8.F90: New file.
	* libgfortran/generated/_asinh_r16.F90: New file.
	* libgfortran/generated/_atanh_r4.F90: New file.
	* libgfortran/generated/_atanh_r8.F90: New file.
	* libgfortran/generated/_acosh_r10.F90: New file.
	* libgfortran/generated/misc_specifics.F90: New file.
	* libgfortran/generated/_aimag_c16.F90: New file.
	* libgfortran/generated/_atanh_r10.F90: New file.

	* gcc/testsuite/gfortran.fortran-torture/execute/specifics.f90:
	Add tests for using all possible intrinsics as actual arguments.
	* gcc/testsuite/gfortran.dg/specifics_1.f90: Add tests for using
	all possible intrinsics as actual arguments.
	* gcc/testsuite/gfortran.dg/specifics_2.f90: New file.
	* gcc/testsuite/gfortran.dg/specifics_3.f90: New file.

From-SVN: r117534
2006-10-07 13:34:16 +00:00
Danny Smith
76be85be9c acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from test.
* acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from test.
	* configure: Regenerate.

From-SVN: r117489
2006-10-06 08:21:49 +00:00
Steven G. Kargl
2c3c88ec20 Makefile.am: Use $(M4) instead of m4.
2006-10-05  Steven G. Kargl  <kargl@gcc.gnu.org>

	* Makefile.am: Use $(M4) instead of m4.
	* Makefile.in: Regenerated.

From-SVN: r117467
2006-10-05 21:21:53 +00:00
Francois-Xavier Coudert
f53c2bfab1 * libgfortran.h: Add prototype for internal_unpack_c16.
From-SVN: r117345
2006-10-01 07:54:09 +00:00
Francois-Xavier Coudert
5da8d27d97 f2c_specifics.F90: Special-case conjg functions so that their suffices are _4 and _8 instead of...
* intrinsics/f2c_specifics.F90: Special-case conjg functions so
	that their suffices are _4 and _8 instead of _c4 and _c8.

From-SVN: r117335
2006-09-30 22:32:41 +00:00
Steven G. Kargl
d68d3a3d4b cpu_time.c: Add cpu_time_10 and cpu_time_16 routines.
2006-09-29  Steven G. Kargl  <kargl@gcc.gnu.org>
 
	* intrinsics/cpu_time.c:  Add cpu_time_10 and cpu_time_16 routines.

From-SVN: r117320
2006-09-29 22:21:53 +00:00
Francois-Xavier Coudert
f3ed85f6eb Makefile.am: Install libgfortranbegin inside compiler libraries directory instead of system...
* Makefile.am: Install libgfortranbegin inside compiler libraries
	directory instead of system libraries directory.
	* Makefile.in: Regenerate.

From-SVN: r117273
2006-09-28 05:39:00 +00:00
Francois-Xavier Coudert
41e41397de Makefile.am: Remove dependency on gfortypes.h.
* Makefile.am: Remove dependency on gfortypes.h.
	* Makefile.in: Regenerate.

From-SVN: r117178
2006-09-24 08:55:52 +00:00
Danny Smith
6a7c793f3e re PR libfortran/27964 (Wrong line ends on windows (XP))
PR libfortran/27964
	* configure.ac: Check for setmode() function.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* io/unix.c (output_stream): Force stdout to binary mode. 
	(error_stream): Force stderr to binary mode.

From-SVN: r117166
2006-09-23 01:56:55 +00:00
Jerry DeLisle
f49d5a7eca re PR libfortran/29099 (secnds intrinsic gives wrong result)
2006-09-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/29099
	* intrinsics/date_and_time.c (secnds): Fix case of zero time.

From-SVN: r116975
2006-09-15 16:03:52 +00:00
Jerry DeLisle
701306112e re PR fortran/29053 (Consecutive STREAM I/O file positions mixed up)
2006-09-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/29053
	* io.h (gfc_unit): Add variable, strm_pos, to track
	STREAM I/O file position.
	* file_pos.c (st_rewind): Set strm_pos to beginning.
	* open.c (new_unit): Initialize strm_pos.
	* read.c (read_x): Bump strm_pos.
	* inquire.c (inquire_via_unit): Return strm_pos value.
	* transfer.c (read_block),(read_block_direct),(write_block)
	(write_buf): Seek to strm_pos - 1.  Update strm_pos when done.
	(pre_position): Initialize strm_pos.
	(data_transfer_init): Set strm_pos if DT_HAS_REC.
	(finalize_transfer): Flush file, no need to update strm_pos.

From-SVN: r116970
2006-09-15 13:16:15 +00:00
Andrew Pinski
455ad79239 Fix some whitespace issues in the changelog.
From-SVN: r116879
2006-09-12 00:44:52 -07:00
Paul Thomas
f0e871d647 re PR fortran/28947 (Double MATMUL() uses wrong array elements)
2006-09-10  Paul Thomas  <pault@gcc.gnu.org>

	PR libfortran/28947
	* m4/matmul.m4: For the case where the second input argument is
	transposed, ensure that the case with rank (a) == 1 is
	correctly calculated.
	* generated/matmul_r4.c: Regenerate.
	* generated/matmul_r8.c: Regenerate.
	* generated/matmul_r10.c: Regenerate.
	* generated/matmul_r16.c: Regenerate.
	* generated/matmul_c4.c: Regenerate.
	* generated/matmul_c8.c: Regenerate.
	* generated/matmul_c10.c: Regenerate.
	* generated/matmul_c16.c: Regenerate.
	* generated/matmul_i4.c: Regenerate.
	* generated/matmul_i8.c: Regenerate.
	* generated/matmul_i16.c: Regenerate.


2006-09-10  Paul Thomas  <pault@gcc.gnu.org>

	PR libfortran/28947
	gfortran.dg/matmul_4.f90: New test.

From-SVN: r116817
2006-09-10 17:21:44 +00:00
Jerry DeLisle
20e1580fad re PR libfortran/28354 ([4.1 Only] 0.99999 printed as 0. instead of 1. by format(f3.0))
2006-08-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/28354
	* io/write.c: Check for special case of zero precision in format
	and pre-round the real value.

From-SVN: r116502
2006-08-28 05:14:05 +00:00
Jerry DeLisle
91b30ee5b9 re PR fortran/25828 ([f2003] ACCESS='STREAM' io support)
2006-08-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/25828
	* libgfortran.h: Rename GFC_LARGE_IO_INT to GFC_IO_INT.
	* io/file_pos.c (st_backspace): Ignore if access=STREAM.
	(st_rewind): Handle case of access=STREAM.
	* io/open.c (access_opt): Add STREAM_ACCESS.
	(edit_modes): Set current_record to zero only if not STREAM.
	(new_unit): Initialize maxrec, recl, and last_record for STREAM.
	* io/read.c (read_x): Advance file position for STREAM.
	* io/io.h (enum unit_access): Align IOPARM flags with frontend.
	Add ACCESS_STREAM. Add prototype for is_stream_io () function.
	Use GFC_IO_INT.
	* io/inquire.c (inquire_via_unit): Add text for access = "STREAM".
	* io/unit.c (is_stream_io): New function to return true if access =
	STREAM.
	* io/transfer.c (file_mode): Add modes for unformatted stream and
	formatted stream. (current_mode): Return appropriate file mode based
	on access flags.
	(read_block): Handle formatted stream reads.
	(read_block_direct): Handle unformatted stream reads.
	(write_block): Handle formatted stream writes.
	(write_buf): Handle unformatted stream writes.
	(unformatted_read): Fix up, use temporary for size.
	(pre_position): Position file for STREAM access.
	(data_transfer_init): Initialize for stream access, skip irrelevent
	error checks.
	(next_record_r),(next_record_w), and (next_record): Do nothing for
	stream I/O.
	(finalize_transfer): Flush when all done if stream I/O.

From-SVN: r116172
2006-08-15 23:06:44 +00:00
Francois-Xavier Coudert
aa2d15ab84 * intrinsics/bessel.c: Add prototypes for all functions.
From-SVN: r116098
2006-08-12 07:30:04 +00:00
Francois-Xavier Coudert
fd517dc661 * intrinsics/access.c (access_func): Remove export directive.
From-SVN: r115949
2006-08-05 13:37:52 +00:00
Thomas Koenig
73c9fbdf8c Makefile.in: Regenerate using automake 1.9.6.
2006-08-02  Thomas Koenig  <Thomas.Koenig@online.de>

        * Makefile.in:  Regenerate using automake 1.9.6.
        * aclocal.m4:  Revert to previous version.

From-SVN: r115881
2006-08-02 20:05:23 +00:00
Thomas Koenig
6785c63582 re PR libfortran/28452 (__gfortran_random_r10 not found)
2006-08-01  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/28452
	* libgfortran/ChangeLog:  Correct PR number.
	* gcc/testsuite/ChangeLog:  Likewise.

From-SVN: r115859
2006-08-01 17:29:50 +00:00
Thomas Koenig
cdc5524fc8 re PR libfortran/28452 (__gfortran_random_r10 not found)
2006-08-01  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/28542
	* Makefile.am:  Remove normalize.c.
	* aclocal.m4:  Regenerate using aclocal 1.9.3.
	* Makefile.in:  Regenerate using automake 1.9.3.
	* libgfortran.h:  #include <float.h>.
	Define GFC_REAL_*_DIGITS and GFC_REAL_*_RADIX.
	Remove prototypes for normalize_r4_i4 and normalize_r8_i8.
	* intrinsics/random.c (top level): Add prototypes for
	random_r10, arandom_r10, random_r16 and arandom_r16.
	(rnumber_4):  New static function.
	(rnumber_8):  New static function.
	(rnumber_10): New static function.
	(rnumber_16): New static function.
	(top level):  Set to kiss_size to 12 if we have
	REAL(KIND=16), to 8 otherwise.
	Define KISS_DEFAULT_SEED_1, KISS_DEFAULT_SEED_2 and
	KISS_DEFAULT_SEED_3.
	(kiss_random_kernel):  Take argument to differentiate
	between different random number generators.
	(random_r4):  Add argument to call to kiss_random_kernel,
	use rnumber_*.
	(random_r8):  Likewise.
	(random_r10):  New function.
	(random_r16):  New function.
	(arandom_r4):  Add argument to call to kiss_random_kernel,
	use_rnumber_*.
	(arandom_r8):  Likewise.
	(arandom_r10):  New function.
	(arandom_r16):  New function.
	* intrinsics/rand.c (rand):  Use shift and mask.
	* runtime/normalize.c:  Remove.

2006-08-01  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/28542
	* gfortran.dg/random_3.f90:  New test.

From-SVN: r115858
2006-08-01 17:15:04 +00:00
Jerry DeLisle
e43c3311bd re PR fortran/28335 (flush() / write() statement on closed units - error?)
2006-07-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/28335
	* file_position.c (st_flush): Add clearer error when UNIT does not
	exist. Add reference to standard in comment.

From-SVN: r115835
2006-07-31 01:32:38 +00:00
Jerry DeLisle
b8d403b467 re PR fortran/28335 (flush() / write() statement on closed units - error?)
2006-07-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/28335
	* close.c (st_close): Revert previous patch and add comment.
	* file_position.c (st_flush): Revert previous patch and add comment.

From-SVN: r115829
2006-07-31 00:15:08 +00:00
François-Xavier Coudert
1672b39fbc ChangeLog: Commit ChangeLog forgotten in previous commit.
* libgfortran/ChangeLog: Commit ChangeLog forgotten in previous
	commit.
	* gcc/testsuite/ChangeLog: Likewise.

From-SVN: r115826
2006-07-30 20:49:15 +00:00
Janne Blomqvist
6097a89729 transfer.c (transfer_array): Remove stride0 fix.
2006-07-30  Janne Blomqvist  <jb@gcc.gnu.org>

	* io/transfer.c (transfer_array): Remove stride0 fix.

From-SVN: r115818
2006-07-30 13:23:26 +03:00
François-Xavier Coudert
bf3fb7e43c intrinsic.c (add_functions): Add INT2, SHORT, INT8, LONG, LSTAT, MCLOCK and MCLOCK8 intrinsic functions.
* intrinsic.c (add_functions): Add INT2, SHORT, INT8, LONG,
	LSTAT, MCLOCK and MCLOCK8 intrinsic functions.
	(add_subroutines): Add LSTAT intrinsic subroutine.
	* gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_INT2,
	GFC_ISYM_INT8, GFC_ISYM_LONG, GFC_ISYM_LSTAT, GFC_ISYM_MCLOCK
	and GFC_ISYM_MCLOCK8.
	* iresolve.c (gfc_resolve_int2, gfc_resolve_int8,
	gfc_resolve_long, gfc_resolve_lstat, gfc_resolve_mclock,
	gfc_resolve_mclock8, gfc_resolve_lstat_sub): New functions.
	* check.c (gfc_check_intconv): New function.
	* trans-intrinsic.c (gfc_conv_intrinsic_function): Add cases for
	the added GFC_ISYM_*.
	* simplify.c (gfc_simplify_intconv, gfc_simplify_int2,
	gfc_simplify_int8, gfc_simplify_long): New functions.
	* intrinsic.h (gfc_check_intconv, gfc_simplify_int2,
	gfc_simplify_int8, gfc_simplify_long, gfc_resolve_int2,
	gfc_resolve_int8, gfc_resolve_long, gfc_resolve_lstat,
	gfc_resolve_mclock, gfc_resolve_mclock8, gfc_resolve_lstat_sub):
	Add prototypes.

	* gfortran.dg/mclock.f90: New test.
	* gfortran.dg/int_conv_1.f90: New test.
	* gfortran.dg/stat_1.f90: New test.
	* gfortran.dg/stat_2.f90: New test.

	* configure.ac: Check for function clock.
	* Makefile.am: Compile new file intrinsics/clock.c.
	* intrinsics/clock.c: New file.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* intrinsics/stat.c: Rename the old stat_i?_sub functions to
	helper functions stat_i?_sub_0, and use them for both STAT and
	LSTAT.

From-SVN: r115754
2006-07-26 11:58:48 +00:00
Jerry DeLisle
0fb2088c6a Fix typo in previous commit, pr number.
From-SVN: r115751
2006-07-26 01:48:41 +00:00
Jerry DeLisle
ca8d5bc6c6 2006-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/258335
	* close.c (st_close): Add error when UNIT does not exist.
	* file_position.c (st_flush): Add error when UNIT does not exist.

From-SVN: r115749
2006-07-26 01:40:29 +00:00
Paolo Bonzini
695cd757b9 re PR bootstrap/26188 (4.2.0 fails to compile on FreeBSD 4.11)
config:
2006-07-25  Paolo Bonzini  <bonzini@gnu.org>

	PR build/26188
        * stdint.m4: Test for uintptr_t even on systems with uint64_t or uint32_t.

libdecnumber:
2006-07-25  Paolo Bonzini  <bonzini@gnu.org>

	PR build/26188
	* configure: Regenerate.

libgfortran:
2006-07-25  Paolo Bonzini  <bonzini@gnu.org>

	PR build/26188
	* configure: Regenerate.

From-SVN: r115733
2006-07-25 08:30:38 +00:00
Jerry DeLisle
566ffce895 re PR libfortran/25289 (Cannot handle record numbers large than huge(0_4))
2006-07-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/25289
	* libgfortran.h: Add conditional definition of GFC_LARGE_IO_INT type.
	* io/io.h (st_parameter_dt): Define rec as type GFC_LARGE_IO_INT.

From-SVN: r115698
2006-07-24 00:17:52 +00:00
Jerry DeLisle
f8145d0e61 Fix typo in Changelog.
From-SVN: r115672
2006-07-22 03:21:10 +00:00
Jerry DeLisle
397bc09a65 re PR fortran/28339 (gfortran misses a record from a format statement)
2006-07-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/28339
	* io/transfer.c (next_record_w): Use next_array_record result to set
	END_FILE. (write_block): Test for END_FILE before the next write occurs.
	* io/unit.c (get_internal_unit): Initialize iunit->endfile for internal
	unit.

From-SVN: r115670
2006-07-22 03:14:27 +00:00
Janne Blomqvist
cf0d6f2e57 re PR libfortran/27919 (dot_product should be removed from the library)
2006-07-19  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/27919
	* m4/dotprodc.m4: Remove.
	* m4/dotprodl.m4: Remove.
	* m4/dotprod.m4: Remove.
	* generated/dotprod_*.c: Remove.
	* Makefile.am: Remove any references to dot_product
	implementation.
	* Makefile.in: Regenerated.

From-SVN: r115594
2006-07-19 19:52:45 +03:00
Paolo Bonzini
57255173da Makefile.tpl (configure-stageN-MODULE): Pass --with-build-libsubdir for stages after the first.
2006-07-18  Paolo Bonzini  <bonzini@gnu.org>

        * Makefile.tpl (configure-stageN-MODULE): Pass --with-build-libsubdir
        for stages after the first.

config:
2006-07-18  Paolo Bonzini  <bonzini@gnu.org>

        * acx.m4: Support --with-build-libsubdir and AC_SUBST
        build_libsubdir.

gcc:
2006-07-18  Paolo Bonzini  <bonzini@gnu.org>

        * configure: Regenerate.
        * Makefile.in (build_libsubdir): New configure substitution
        (build_libobjdir): New variable.
        (BUILD_LIBIBERTY): Use it.

libgfortran:
2006-07-18  Paolo Bonzini  <bonzini@gnu.org>

        * configure: Regenerate.

libjava:
2006-07-18  Paolo Bonzini  <bonzini@gnu.org>

        * configure: Regenerate.

libobjc:
2006-07-18  Paolo Bonzini  <bonzini@gnu.org>

        * configure: Regenerate.

From-SVN: r115552
2006-07-18 11:48:36 +00:00
Steven G. Kargl
8daa14ad2a etime.c: Remove etime_
2006-07-15  Steven G. Kargl  <kargls@comcast.net>

    * intrinsics/etime.c: Remove etime_
    * libtool-version: Bump from libgfortran.so.1 to libgfortran.so.2

From-SVN: r115478
2006-07-15 16:12:15 +00:00
Francois-Xavier Coudert
b3eb1e0e9c re PR fortran/28163 (Calling libgfortran's copy_string is inefficient)
PR fortran/28163

	* trans-expr.c (gfc_trans_string_copy): Generate inline code
	to perform string copying instead of calling a library function.
	* trans-decl.c (gfc_build_intrinsic_function_decls): Don't build
	decl for copy_string.
	* trans.h (gfor_fndecl_copy_string): Remove prototype.

	* intrinsics/string_intrinsics.c (copy_string): Remove function.

From-SVN: r115372
2006-07-12 15:11:11 +00:00
Francois-Xavier Coudert
12197210b4 intrinsic.c (add_subroutines): Add ITIME and IDATE.
* intrinsic.c (add_subroutines): Add ITIME and IDATE.
	* intrinsic.h (gfc_check_itime_idate,gfc_resolve_idate,
	fc_resolve_itime): New protos.
	* iresolve.c (gfc_resolve_itime, gfc_resolve_idate): New functions.
	* check.c (gfc_check_itime_idate): New function.
	* intrinsic.texi: Document the new intrinsics.

	* intrinsics/date_and_time.c (itime0,idate0,itime_i4,itime_i8,
	idate_i4,idate_i8): New functions.

	* gfortran.dg/itime_idate_1.f: New test.
	* gfortran.dg/itime_idate_2.f: New test.

Co-Authored-By: Daniel Franke <franke.daniel@gmail.com>

From-SVN: r115173
2006-07-04 11:39:46 +00:00
Jerry DeLisle
2e4444278c re PR libfortran/27704 (Incorrect runtime error on multiple OPEN)
2006-07-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/27704
	* runtime/error.c (notify_std): Pass common flags into function. Use
	flags to show locus of error or warning.
	* libgfortran.h: Add enum try.  Add prototype for notify_std.
	* io/open.c (edit_modes): Allow status="old" and add extension to
	allow status="scratch"
	*io/list_read.c (nml_read_obj): Update call to notify_std.
	*io/io.h: Remove enum try and prototype for notify_std.
	*io/transfer.c (read_sf): Update call to notify_std.
	*io/format.c (parse_format_list): Update call to notify_std.

From-SVN: r115168
2006-07-04 01:36:31 +00:00
Francois-Xavier Coudert
ee4ac5b0b4 io.h: Move proto for unit_to_fd...
* io/io.h: Move proto for unit_to_fd...
	* libgfortran.h: ...here.

From-SVN: r114983
2006-06-25 08:46:09 +00:00
Francois-Xavier Coudert
7606c786fd ierrno.c: Don't include "io/io.h".
* intrinsics/ierrno.c: Don't include "io/io.h".
	* intrinsics/sleep.c: Likewise.
	* intrinsics/perror.c: Likewise.
	* intrinsics/stat.c: Likewise.
	* intrinsics/kill.c: Likewise.
	* intrinsics/time.c: Likewise.
	* intrinsics/fnum.c: Likewise.
	* intrinsics/rename.c: Likewise.
	* intrinsics/symlnk.c: Likewise.
	* intrinsics/chdir.c: Likewise.
	* intrinsics/link.c: Likewise.
	* intrinsics/random.c: Don't include "io/io.h". Include	<gthr.h>.
	* intrinsics/rand.c: Likewise.

From-SVN: r114962
2006-06-24 12:34:51 +00:00
Francois-Xavier Coudert
3e7cb1c7e7 re PR fortran/28094 (Modulo of real(kind=10) variables doesn't work)
PR fortran/28094

	* trans-intrinsic.c (gfc_conv_intrinsic_mod): Support cases where
	there is no integer kind equal to the resulting real kind.
	* intrinsic.c (add_functions): MODULO is not allowed as an actual
	argument.

	* Makefile.am: Add _mod_r10.F90 and _mod_r16.F90.
	* Makefile.in: Regenerate.
	* generated/_mod_r10.F90: New file.
	* generated/_mod_r16.F90: New file.

From-SVN: r114961
2006-06-24 08:27:32 +00:00
François-Xavier Coudert
1f444077fe re PR fortran/26769 (Implement transpose() and reshape() for real instead of using integer)
PR libfortran/26769
	* ChangeLog: Forgotten in the previous commit.

From-SVN: r114881
2006-06-22 06:05:54 +00:00
Paul Thomas
a4a11197f9 re PR fortran/25049 (TRANSPOSE not allowed in initialisation expression)
2006-06-20  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/25049
	PR fortran/25050
	* check.c (non_init_transformational): New function.
	(find_substring_ref): New function to signal use of disallowed
	transformational intrinsic in an initialization expression.
	(gfc_check_all_any): Call previous if initialization expr.
	(gfc_check_count): The same.
	(gfc_check_cshift): The same.
	(gfc_check_dot_product): The same.
	(gfc_check_eoshift): The same.
	(gfc_check_minloc_maxloc): The same.
	(gfc_check_minval_maxval): The same.
	(gfc_check_gfc_check_product_sum): The same.
	(gfc_check_pack): The same.
	(gfc_check_spread): The same.
	(gfc_check_transpose): The same.
	(gfc_check_unpack): The same.

	PR fortran/18769
	*intrinsic.c (add_functions): Add gfc_simplify_transfer.
	*intrinsic.h : Add prototype for gfc_simplify_transfer.
	*simplify.c (gfc_simplify_transfer) : New function to act as
	placeholder for eventual implementation.  Emit error for now.

	PR fortran/16206
	* expr.c (find_array_element): Eliminate condition on length of
	offset. Add bounds checking. Rearrange exit. Return try and
	put gfc_constructor result as an argument.
	(find_array_section): New function.
	(find_substring_ref): New function.
	(simplify_const_ref): Add calls to previous.
	(simplify_parameter_variable): Return on NULL expr.
	(gfc_simplify_expr): Only call gfc_expand_constructor for full
	arrays.

	PR fortran/20876
	* match.c (gfc_match_forall): Add missing locus to gfc_code.

2006-06-20  Paul Thomas  <pault@gcc.gnu.org>

	PR libfortran/28005
	* m4/matmul.m4: aystride = 1 does not uniquely detect the
	presence of a temporary transpose; an array element in the
	first dimension produces the same signature.  Detect this
	using the rank of a and add specific code.
	* generated/matmul_r4.c: Regenerate.
	* generated/matmul_r8.c: Regenerate.
	* generated/matmul_r10.c: Regenerate.
	* generated/matmul_r16.c: Regenerate.
	* generated/matmul_c4.c: Regenerate.
	* generated/matmul_c8.c: Regenerate.
	* generated/matmul_c10.c: Regenerate.
	* generated/matmul_c16.c: Regenerate.
	* generated/matmul_i4.c: Regenerate.
	* generated/matmul_i8.c: Regenerate.
	* generated/matmul_i16.c: Regenerate.

2006-06-20  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/16206
	* gfortran.dg/array_initializer_1.f90: New test.

	PR fortran/28005
	* gfortran.dg/matmul_3.f90: New test.

From-SVN: r114802
2006-06-20 04:30:48 +00:00
John David Anglin
9b7e4f4ff8 re PR libgomp/27254 (FAIL: libgomp.fortran/reduction6.f90)
PR libgomp/27254
	* io/unit.c (get_internal_unit): Initialize and lock thread mutex
	for internal units.

From-SVN: r114765
2006-06-19 03:07:54 +00:00
Janne Blomqvist
6ff24d45dc in_pack.m4: Add TODO comment about detecting temporaries...
2006-06-06  Janne Blomqvist  <jb@gcc.gnu.org>

	* m4/in_pack.m4: Add TODO comment about detecting temporaries,
	remove test for stride 0, update copyright year.
	* m4/transpose.m4: Remove test for stride 0, update copyright
	year.
	* m4/iforeach.m4: Likewise.
	* m4/shape.m4: Likewise.
	* m4/in_unpack.m4: Likewise.
	* m4/reshape.m4: Likewise.
	* m4/ifunction.m4: Likewise.
	* m4/matmul.m4: Likewise.
	* m4/matmull.m4: Likewise.
	* intrinsics/etime.c: Likewise.
	* intrinsics/transpose_generic.c: Likewise.
	* intrinsics/spread_generic.c: Likewise.
	* intrinsics/stat.c: Likewise.
	* intrinsics/reshape_generic.c: Likewise.
	* intrinsics/random.c: Likewise.
	* generated/*: Regenerated from above changed m4 files.

From-SVN: r114424
2006-06-06 11:10:09 +03:00
Jerry DeLisle
22b2be06ec re PR libfortran/27757 (Problems with direct access io)
2006-05-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/27757
	* io/unix.c (fd_seek): Set active to zero.

From-SVN: r114220
2006-05-29 23:39:53 +00:00
Jerry DeLisle
a7a8dddd99 re PR fortran/27634 (formatted reading/writing: real format without dot)
2006-05-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/27634
	* io/format.c (parse_format_list): Allow missing period in format only
	if -std=legacy.

From-SVN: r114212
2006-05-29 19:28:48 +00:00
Thomas Koenig
6545ef83c1 string_intrinsics.c (compare_string): Use memcmp instead of strncmp to avoid tripping over CHAR(0) in a string.
2006-05-28  Thomas Koenig  <Thomas.Koenig@online.de>

	* intrinsics/string_intrinsics.c (compare_string):
	Use memcmp instead of strncmp to avoid tripping over
	CHAR(0) in a string.

2006-05-28  Thomas Koenig  <Thomas.Koenig@online.de>

	* gfortran.dg/string_null_compare_1.f:  New test case.

From-SVN: r114175
2006-05-28 20:25:15 +00:00
Janne Blomqvist
59c0928b6a io.h (find_or_create_unit): Correct export declaration.
2006-05-27  Janne Blomqvist  <jb@gcc.gnu.org>

	* io/io.h (find_or_create_unit): Correct export declaration.

From-SVN: r114151
2006-05-27 11:36:49 +03:00
Janne Blomqvist
647e11bb64 libgfortran ChangeLog:
2006-05-27  Janne Blomqvist  <jb@gcc.gnu.org>

	* intrinsics/abort.c (abort_): Remove.

testsuite ChangeLog:

2006-05-27  Janne Blomqvist  <jb@gcc.gnu.org>

	* gfortran.dg/hollerith_f95.f90: Add -fall-intrinsics.
	* gfortran.dg/byte_1.f90: Likewise.
	* gfortran.dg/dup_save_2.f90: Likewise.

From-SVN: r114150
2006-05-27 10:11:29 +03:00
Janne Blomqvist
dd46a4ded1 configure.ac: Remove AC_FUNC_MMAP.
2006-05-26  Janne Blomqvist  <jb@gcc.gnu.org>

	* configure.ac: Remove AC_FUNC_MMAP.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
	* config.h.in: Regenerated.
	* aclocal.m4: Regenerated.

From-SVN: r114137
2006-05-26 22:12:08 +03:00