Commit Graph

1594 Commits

Author SHA1 Message Date
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
Francois-Xavier Coudert
a709346f06 fpu-387.h, [...]: Use static assertions.
* config/fpu-387.h, config/fpu-aix.h, config/fpu-sysv.h,
	config/fpu-glibc.h: Use static assertions.

From-SVN: r212323
2014-07-07 07:47:41 +00:00
Rainer Orth
de51fc1b15 Restore Solaris/SPARC bootstrap
* configure, config.h.in: Regenerate.
	* config/fpu-sysv.h: Include <assert.h>.

From-SVN: r212307
2014-07-05 20:43:07 +00:00
Uros Bizjak
1680a43208 * config/fpu-sysv.h (void set_fpu): Remove stalled comment.
From-SVN: r212235
2014-07-02 18:11:46 +02:00
Francois-Xavier Coudert
4a72ba02f4 * config/fpu-glibc.h: Fix comment about FE_DENORMAL.
From-SVN: r212226
2014-07-02 09:17:04 +00:00
Uros Bizjak
5b0936da94 configure.host (ieee_flags): Add -mieee for alpha*.
libgfortran/ChangeLog:

	* configure.host (ieee_flags): Add -mieee for alpha*.

	* config/fpu-glibc.h (support_fpu_rounding_mode): Correctly handle
	GFC_FPE_UPWARD, GFC_FPE_DOWNWARD and GFC_FPE_TOWARDZERO.
	* config/fpu-aix.h (support_fpu_rounding_mode): Ditto.

testsuite/ChangeLog:

	* gfortran.dg/ieee/ieee_1.F90 (dg-additional-options): Remove -O0.
	* gfortran.dg/ieee/ieee_rounding_1.f90 (dg-additional-options): Add.

From-SVN: r212224
2014-07-02 10:45:08 +02:00
Francois-Xavier Coudert
25ef060ae0 fpu-387.h (my_fenv_t): Amend structure so it also works on mingw32.
* config/fpu-387.h (my_fenv_t): Amend structure so it also works
	on mingw32.

From-SVN: r212126
2014-06-29 19:51:59 +00:00
Jerry DeLisle
9389649842 re PR libfortran/61640 (KIND=4 Character Array Internal Unit Read Fail)
2014-06-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/61640
	* io/list_read.c (next_char_internal): Adjust the read length to
	a single wide character. (eat_spaces): Add missing paren. 
	* io/unix.c (mem_read4): Use the correct mem_alloc function for
	wide character internal reads.

From-SVN: r212118
2014-06-29 02:49:45 +00:00
Francois-Xavier Coudert
8b19810222 re PR fortran/29383 (Fortran 2003/F95[TR15580:1999]: Floating point exception (IEEE) support)
PR fortran/29383

gcc/fortran/
	* gfortran.h (gfc_simplify_ieee_selected_real_kind): New prototype.
	* libgfortran.h (GFC_FPE_*): Use simple integer values, valid in
	both C and Fortran.
	* expr.c (gfc_check_init_expr): Simplify IEEE_SELECTED_REAL_KIND.
	* simplify.c (gfc_simplify_ieee_selected_real_kind): New function.
	* module.c (mio_symbol): Keep track of symbols which came from
	intrinsic modules.
	(gfc_use_module): Keep track of the IEEE modules.
	* trans-decl.c (gfc_get_symbol_decl): Adjust code since
	we have new intrinsic modules.
	(gfc_build_builtin_function_decls): Build decls for
	ieee_procedure_entry and ieee_procedure_exit.
	(is_from_ieee_module, is_ieee_module_used, save_fp_state,
	restore_fp_state): New functions.
	(gfc_generate_function_code): Save and restore floating-point
	state on procedure entry/exit, when IEEE modules are used.
	* intrinsic.texi: Document the IEEE modules.

libgfortran/
	* configure.host: Add checks for IEEE support, rework priorities.
	* configure.ac: Define IEEE_SUPPORT, check for fpsetsticky and
	fpresetsticky.
	* configure: Regenerate.
	* Makefile.am: Build new ieee files, install IEEE_* modules.
	* Makefile.in: Regenerate.
	* gfortran.map (GFORTRAN_1.6): Add new symbols.
	* libgfortran.h (get_fpu_trap_exceptions, set_fpu_trap_exceptions,
	support_fpu_trap, set_fpu_except_flags, support_fpu_flag,
	support_fpu_rounding_mode, get_fpu_state, set_fpu_state): New
	prototypes.
	* config/fpu-*.h (get_fpu_trap_exceptions,
	set_fpu_trap_exceptions, support_fpu_trap, set_fpu_except_flags,
	support_fpu_flag, support_fpu_rounding_mode, get_fpu_state,
	set_fpu_state): New functions.
	* ieee/ieee_features.F90: New file.
	* ieee/ieee_exceptions.F90: New file.
	* ieee/ieee_arithmetic.F90: New file.
	* ieee/ieee_helper.c: New file.

gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_fortran_ieee): 
	New function.
	* gfortran.dg/ieee/ieee.exp: New file.
	* gfortran.dg/ieee/ieee_1.F90: New file.
	* gfortran.dg/ieee/ieee_2.f90: New file.
	* gfortran.dg/ieee/ieee_3.f90: New file.
	* gfortran.dg/ieee/ieee_4.f90: New file.
	* gfortran.dg/ieee/ieee_5.f90: New file.
	* gfortran.dg/ieee/ieee_6.f90: New file.
	* gfortran.dg/ieee/ieee_7.f90: New file.
	* gfortran.dg/ieee/ieee_rounding_1.f90: New file.

From-SVN: r212102
2014-06-28 14:17:41 +00:00
Jerry DeLisle
b896e6744e re PR libfortran/61499 (Internal read of negative integer broken)
2014-06-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/61499
	* io/list_read.c (eat_spaces): Use a 'for' loop instead of
	'while' loop to skip the loop if there are no bytes left in the
	string. Only seek if actual spaces can be skipped.

From-SVN: r212059
2014-06-27 04:23:36 +00:00
Tobias Burnus
5c75088c80 resolve.c (resolve_ordinary_assign): Don't invoke caf_send when assigning a coindexed RHS scalar to a noncoindexed...
2014-06-25  Tobias Burnus  <burnus@net-b.de>

fortran/
        * resolve.c (resolve_ordinary_assign): Don't invoke caf_send
        when assigning a coindexed RHS scalar to a noncoindexed LHS
        array.
        * trans-intrinsic.c (conv_caf_send): Do numeric type conversion
        for a noncoindexed scalar RHS.

gcc/testsuite/
        * gfortran.dg/coarray/coindexed_1.f90: New.

libgfortran/
        * caf/single.c (assign_char4_from_char1,
        * assign_char1_from_char4,
        convert_type): New static functions.
        (_gfortran_caf_get, _gfortran_caf_send): Use them.

From-SVN: r211993
2014-06-25 22:31:32 +02:00
Tobias Burnus
7f6c4159bf trans-intrinsic.c (conv_co_minmaxsum): Fix argument passing.
gcc/fortran/
2014-06-19  Tobias Burnus  <burnus@net-b.de>

        * trans-intrinsic.c (conv_co_minmaxsum): Fix argument
        passing.

gcc/testsuite/
2014-06-19  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray/collectives_2.f90: Extend
        and make valid.

libgfortran/
2014-06-19  Tobias Burnus  <burnus@net-b.de>

        * caf/single.c (_gfortran_caf_co_sum, _gfortran_caf_co_max,
        _gfortran_caf_co_min): Fix stat setting.

From-SVN: r211816
2014-06-19 09:16:34 +02:00
Tobias Burnus
b511626828 check.c (gfc_check_atomic, [...]): Use argument for GFC_ISYM_CAF_GET.
gcc/fortran/
2014-06-17  Tobias Burnus  <burnus@net-b.de>

        * check.c (gfc_check_atomic, gfc_check_atomic_def):
        Use argument for GFC_ISYM_CAF_GET.
        * resolve.c (resolve_variable): Enable CAF_GET insertion.
        (resolve_lock_unlock): Remove GFC_ISYM_CAF_GET.
        (resolve_ordinary_assign): Enable CAF_SEND insertion.
        * trans-const.c (gfc_build_string_const,
        gfc_build_wide_string_const): Set TYPE_STRING_FLAG.
        * trans-decl.c (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
        gfor_fndecl_caf_sendget): New global variables.
        (gfc_build_builtin_function_decls): Initialize them;
        update co_min/max/sum initialization.
        * trans-expr.c (gfc_get_tree_for_caf_expr): Renamed from
        get_tree_for_caf_expr and removed static.
        (gfc_conv_procedure_call): Update call.
        * trans-intrinsic.c (caf_get_image_index,
        conv_caf_vector_subscript_elem, conv_caf_vector_subscript,
        get_caf_token_offset, gfc_conv_intrinsic_caf_get,
        conv_caf_send): New.
        (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine,
        gfc_walk_intrinsic_function): Handle CAF_GET and CAF_SEND.
        (conv_co_minmaxsum): Update call for remove unused vector
        subscript.
        (conv_intrinsic_atomic_def, conv_intrinsic_atomic_ref):
        Skip a CAF_GET of the argument.
        * trans-types.c (gfc_get_caf_vector_type): New.
        * trans-types.h (gfc_get_caf_vector_type): New.
        * trans.h (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
        gfor_fndecl_caf_sendget): New global variables.
        (gfc_get_tree_for_caf_expr): New prototypes.

libgfortran/
2014-06-17  Tobias Burnus  <burnus@net-b.de>

        * caf/libcaf.h (gfc_descriptor_t): New typedef.
        (caf_vector_t): Update.
        (_gfortran_caf_co_sum, _gfortran_caf_co_max, _gfortran_caf_co_min):
        Remove vector-subscript argument.
        (_gfortran_caf_co_send, _gfortran_caf_co_get,
        _gfortran_caf_co_sendget): New.
        * caf/single.c (_gfortran_caf_co_sum, _gfortran_caf_co_max,
        _gfortran_caf_co_min): Remove vector-subscript argument.
        (_gfortran_caf_co_send, _gfortran_caf_co_get,
        _gfortran_caf_co_sendget): New.

gcc/testsuite/
2014-06-17  Tobias Burnus  <burnus@net-b.de>
            Alessandro Fanfarillo <alessandro.fanfarillo@gmail.com>

        * gfortran.dg/coarray/send_array.f90: New.
        * gfortran.dg/coarray/get_array.f90: New.
        * gfortran.dg/coarray/sendget_array.f90: New.
        * gfortran.dg/coarray/collectives_1.f90: Correct subroutine
        names.
        * gfortran.dg/coarray/collectives_2.f90: New.



Co-Authored-By: Alessandro Fanfarillo <alessandro.fanfarillo@gmail.com>

From-SVN: r211748
2014-06-17 22:54:14 +02:00
Richard Sandiford
31107d5d29 Rotate ChangeLog for 2013.
From-SVN: r211722
2014-06-17 06:55:59 +03: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
Francois-Xavier Coudert
6faf47517f re PR libfortran/60468 (./fpu-target.h:93:3: error: unknown type name 'choke')
PR libfortran/60468
	* configure.ac: Include <math.h> when checking for
	fp_except_t and fp_rnd_t types.
	* configure: Regenerate.

From-SVN: r211685
2014-06-15 09:44:04 +00:00
Janne Blomqvist
89a862b40a PR 56981 Flush buffer at record boundary if possible.
2014-06-08  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/56981
	* io/unix.h (struct stream_vtable): Add new member function,
	markeor.
	(smarkeor): New inline function.
	(flush_if_unbuffered): Remove prototype.
	* io/unix.c (raw_markeor): New function.
	(raw_vtable): Initialize markeor member.
	(buf_markeor): New function.
	(buf_vtable): Initialize markeor member.
	(mem_vtable): Likewise.
	(mem4_vtable): Likewise.
	(flush_if_unbuffered): Remove function.
	* io/transfer.c (next_record): Call smarkeor instead of
	flush_if_unbuffered.

From-SVN: r211353
2014-06-08 08:43:29 +03:00
Uros Bizjak
d9f99ec416 getcwd.c: Include stdlib.h.
* intrinsics/getcwd.c: Include stdlib.h.

From-SVN: r210962
2014-05-27 11:15:52 +02: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
ab75303f7d PR 61310 Rewrite implementation of CTIME and FDATE intrinsics.
2014-05-26  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/61310
	* intrinsics.texi (CTIME): Remove mention of locale-dependent
	behavior.

2014-05-26  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/61310
	* intrinsics/ctime.c (strctime): Rename to gf_ctime, use snprintf
	instead of strftime.
	(fdate): Use gf_ctime.
	(fdate_sub): Likewise.
	(ctime): Likewise.
	(ctime_sub): Likewise.

From-SVN: r210938
2014-05-26 21:17:13 +03:00
Jerry DeLisle
3b111bd757 [multiple changes]
2014-05-26  Tobias Burnus  <burnus@net-b.de>

	PR fortran/55117
	* trans-io.c (nml_full_name, transfer_namelist_element): Insert
	a '+' rather then '%' to differentiate namelist variable names
	that are based on extended derived types.

2014-05-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/55117
	* io/list_read.c (extended_look_ahead): New helper function to
	scan the namelist name and look for matches with the new '+'
	extended type parent indicator.  (str_comp_extended): New
	helper function to compare the namelist name with the varname
	namelist. (find_nml_name): Use the new helper functions to match
	the extended type varnames.

From-SVN: r210934
2014-05-26 15:19:36 +00:00
Jerry DeLisle
03c0f19520 re PR libfortran/61173 (Erroneous "end of file" with internal read)
2014-05-23  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/61173
	* io/list_read.c (eat_spaces): If the next character pointed to
	is a space, don't seek, must be at the end.

From-SVN: r210898
2014-05-24 19:26:02 +00:00
Hans-Peter Nilsson
ebfedee6d7 configure.ac [...] (HAVE_STRNLEN, [...]): Define.
* configure.ac [with_newlib] (HAVE_STRNLEN, HAVE_STRNDUP): Define.
	* configure: Regenerate.

From-SVN: r210841
2014-05-23 02:06:40 +00: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
Jerry DeLisle
d428be77b6 re PR libfortran/52539 (I/O: Wrong result for UTF-8/UCS-4 list-directed and namelist read and nml write)
2014-05-17  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/52539
	* io/io.h (gfc_unit): New function pointers *next_char_fn_ptr
	and *push_char_fn_ptr.
	*io/list_read.c (next_char): Create macro with this name to call
	the new function pointer. Split the original next_char function
	into three new functions. (next_char_default, next_char_internal,
	next_char_utf8): New functions. (push_char): Create macro with
	this name to call new function pointer. Split the original
	push_char into three new functions. (push_char_default,
	push_char_internal, push_char4): New functions. (set_workers):
	New function to initilize the function pointers depending on the
	type of IO to be performed. (list_formatted_read_scalar): Use
	set_workers function. (finish_list_read): Likewise.
	(namelist_read): Likewise.
	(nml_get_obj_data): Use push_char_default.

From-SVN: r210574
2014-05-18 02:29:27 +00:00
Janne Blomqvist
870c7fa03a PR 61187 Fix use of uninitialized memory.
2014-05-16  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/61187
	* io/unix.c (raw_close): Check if s->fd is -1.
	(fd_to_stream): Check return value of fstat(), handle error.

From-SVN: r210527
2014-05-16 23:37:13 +03:00
Janne Blomqvist
16e60fff0b Fix stack overflow crash in getcwd intrinsic.
2014-05-12  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/61035
	* intrinsics/getcwd.c (getcwd_i4_sub): Avoid potentially large
	stack allocation, avoid extra copying in the common case.

From-SVN: r210335
2014-05-12 22:23:11 +03:00
Janne Blomqvist
f7b6856fa4 Use -std=gnu11 instead of -std=gnu99 for libgfortran C code.
2014-05-12  Janne Blomqvist  <jb@gcc.gnu.org>

	* configure.ac (AM_CFLAGS): Use -std=gnu11.
	(CFLAGS): Likewise.
	* configure: Regenerated.

From-SVN: r210334
2014-05-12 22:20:50 +03:00
Tobias Burnus
a9fe68774e trans-intrinsic.c (gfc_build_builtin_function_decls): Change type of second argument to int.
2014-05-11  Tobias Burnus  <burnus@net-b.de>

       * trans-intrinsic.c (gfc_build_builtin_function_decls):
       Change type of second argument to int.

2014-05-11  Tobias Burnus  <burnus@net-b.de>

       * caf/libcaf.h (_gfortran_caf_num_images): Change type of
       second argument to int.
       * caf/mpi.c (_gfortran_caf_num_images): Ditto.
       * caf/single.c (_gfortran_caf_num_images): Ditto.

From-SVN: r210311
2014-05-11 20:25:55 +02:00
Tobias Burnus
d62cf3dfbe check.c (check_co_minmaxsum, [...]): New.
gcc/fortran/
2014-05-08  Tobias Burnus  <burnus@net-b.de>

        * check.c (check_co_minmaxsum, gfc_check_co_minmax,
        gfc_check_co_sum): New.
        * error.c (gfc_notify_std): Update -std=f2008ts.
        * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_MAX,
        GFC_ISYM_CO_MIN, GFC_ISYM_CO_SUM.
        * intrinsic.h (gfc_check_co_minmax,
        gfc_check_co_sum): Declare.
        * intrinsic.c (add_subroutines): Add co_min, co_max
        and co_sum.
        (gfc_check_intrinsic_standard): Update text for
        -std=f2008ts.
        * intrinsic.texi (CO_MIN, CO_MAX, CO_SUM): Document
        them.
        * invoke.texi (-std=f2008ts): Update wording.
        * trans.h (gfor_fndecl_co_max,
        gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
        * trans-decl.c (gfor_fndecl_co_max,
        gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
        (gfc_build_builtin_function_decls): Assign to it.
        * trans-intrinsic.c (conv_co_minmaxsum): New.
        (gfc_conv_intrinsic_subroutine): Call it.

libgfortran/
2014-05-08  Tobias Burnus  <burnus@net-b.de>

        * caf/libcaf.h (caf_vector_t, _gfortran_caf_co_sum,
        _gfortran_caf_co_min, _gfortran_caf_co_max): Declare
        * caf/single.c

gcc/testsuite/
2014-05-08  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_collectives_1.f90: New.
        * gfortran.dg/coarray_collectives_2.f90: New.
        * gfortran.dg/coarray_collectives_3.f90: New.
        * gfortran.dg/coarray_collectives_4.f90: New.
        * gfortran.dg/coarray_collectives_5.f90: New.
        * gfortran.dg/coarray_collectives_6.f90: New.
        * gfortran.dg/coarray/collectives_1.f90: New.
        * gfortran.dg/assumed_rank_5.f90: Update dg-error.
        * gfortran.dg/assumed_type_4.f90: Update dg-error.
        * gfortran.dg/bind_c_array_params.f03: Update dg-error.
        * gfortran.dg/bind_c_usage_28.f90: Update dg-error.
        * gfortran.dg/c_funloc_tests_5.f03: Update dg-error.
        * gfortran.dg/c_funloc_tests_6.f90: Update dg-error.
        * gfortran.dg/c_loc_tests_11.f03: Update dg-error.

From-SVN: r210223
2014-05-08 18:55:23 +02:00
Jerry DeLisle
0222756393 re PR libfortran/61049 (NIST test FM906 fails)
2014-05-06  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/61049
	* io/list_read.c (list_formatted_read_scalar): Use eat_separator
	and delete extraneous code.

From-SVN: r210134
2014-05-07 01:31:42 +00:00
Tobias Burnus
a8a5f4a972 gfortran.h (gfc_init_coarray_decl): Remove.
2014-04-30  Tobias Burnus  <burnus@net-b.de>

        * gfortran.h (gfc_init_coarray_decl): Remove.
        * parse.c (translate_all_program_units): Remove call to it.
        (gfc_parse_file): Update call.
        * trans.h (gfor_fndecl_caf_this_image,
        gfor_fndecl_caf_num_images): Add.
        (gfort_gvar_caf_num_images,
        gfort_gvar_caf_this_image): Remove.
        * trans-decl.c (gfor_fndecl_caf_this_image,
        gfor_fndecl_caf_num_images): Add.
        (gfort_gvar_caf_num_images,
        gfort_gvar_caf_this_image): Remove.
        (gfc_build_builtin_function_decls): Init new decl.
        (gfc_init_coarray_dec): Remove.
        (create_main_function): Change calls.
        * trans-intrinsic.c (trans_this_image, trans_image_index,
        conv_intrinsic_cobound): Generate call to new library function
        instead of to a static variable.
        * trans-stmt.c (gfc_trans_sync): Ditto.

2014-04-30  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_lib_this_image_1.f90: New.
        * gfortran.dg/coarray_lib_this_image_2.f90: New.

2014-04-30  Tobias Burnus  <burnus@net-b.de>

        * caf/libcaf.h (_gfortran_caf_this_image,
        * _gfortran_caf_num_images):
        New prototypes.
        (_gfortran_caf_init): Change prototype.
        (mpi_token_t): New typedef.
        (TOKEN): New define.
        * caf/mpi.c (_gfortran_caf_this_image,
        * _gfortran_caf_num_images):
        New functions.
        (_gfortran_caf_init): Update.
        (_gfortran_caf_finalize, _gfortran_caf_register,
        _gfortran_caf_deregister): Use mpi_token_t.
        * caf/single.c (_gfortran_caf_this_image,
        * _gfortran_caf_num_images):
        New functions.
        (_gfortran_caf_init): Update.
        (_gfortran_caf_finalize, _gfortran_caf_register,
        _gfortran_caf_deregister): Use mpi_token_t, simplify.

From-SVN: r209951
2014-04-30 21:02:23 +02:00
Jerry DeLisle
42c1e008b0 re PR libfortran/52539 (I/O: Wrong result for UTF-8/UCS-4 list-directed and namelist read and nml write)
2014-04-26  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/52539
	* io/list_read.c: Add uchar typedef. (push_char4): New function
	to save kind=4 character. (next_char_utf8): New function to read
	a single UTF-8 encoded character value. (read_chracter): Update
	to use the new functions for reading UTF-8 strings.
	(list_formatted_read_scalar): Update to handle list directed
	reads of UTF-8 strings. (nml_read_obj): Likewise update for
	UTF-8 strings in namelists.
	* io/write.c (nml_write_obj): Add kind=4 character support for
	namelist writes.

From-SVN: r209828
2014-04-26 21:52:26 +00:00
Kyrylo Tkachov
deb9dd7455 Fix warning in libgfortran configure script
* configure.ac: Quote usage of ac_cv_func_clock_gettime in if test.
	* configure: Regenerate.

From-SVN: r209747
2014-04-24 11:03:56 +00:00
Rainer Orth
d9f069ab4f Remove obsolete Solaris 9 support
libstdc++-v3:
	* configure.host: Remove solaris2.9 handling.
	Change os_include_dir to os/solaris/solaris2.10.
	* acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
	* crossconfig.m4: Remove *-solaris2.9 handling, simplify.
	* configure: Regenerate.
	* config/abi/post/solaris2.9: Remove.
	* config/os/solaris/solaris2.9: Rename to ...
	* config/os/solaris/solaris2.10: ... this.
	* config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
	Remove.

	* doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
	Remove Solaris 9 reference.
	* doc/html/manual/configure.html: Regenerate.

	* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
	Remove *-*-solaris2.9 xfail.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
	Likewise.

	* testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
	xfail.

	libjava:
	* configure.ac (THREADLIBS, THREADSPEC): Remove *-*-solaris2.9
	handling.
	* configure: Regenerate.

	libgfortran:
	* config/fpu-387.h [__sun__ && __svr4__]: Remove SSE execution
	check.

	libgcc:
	* config/i386/crtfastmath.c (set_fast_math): Remove SSE execution
	check.
	* config/i386/sol2-unwind.h (x86_fallback_frame_state): Remove
	Solaris 9 single-threaded support.
	* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove
	Solaris 9 single-threaded support.  Add call_user_handler code
	sequences.
	(sparc_is_sighandler): Likewise.

	libcpp:
	* lex.c: Remove Solaris 9 reference.

	gcc/testsuite:
	* gcc.c-torture/compile/pr28865.c: Remove dg-xfail-if.

	* gcc.dg/c99-stdint-6.c: Remove dg-options for *-*-solaris2.9.
	* gcc.dg/lto/20090210_0.c: Remove dg-extra-ld-options for
	*-*-solaris2.9.
	* gcc.dg/torture/pr47917.c: Remove dg-options for *-*-solaris2.9.
	* gcc.target/i386/pr22076.c: Remove i?86-*-solaris2.9 handling
	from dg-options.
	* gcc.target/i386/pr22152.c: Remove i?86-*-solaris2.9 handling
	from dg-additional-options.
	* gcc.target/i386/vect8-ret.c: Remove i?86-*-solaris2.9 handling
	from dg-options.

	* gcc.dg/vect/tree-vect.h (check_vect): Remove Solaris 9 SSE2
	execution check.
	* gcc.target/i386/sse-os-support.h [__sun__ && __svr4__]
	(sigill_hdlr): Remove.
	(sse_os_support) [__sun__ && __svr4__]: Remove SSE execution
	check.

	* gfortran.dg/erf_3.F90: Remove sparc*-*-solaris2.9* handling.
	* gfortran.dg/fmt_en.f90: Remove i?86-*-solaris2.9* handling.
	* gfortran.dg/round_4.f90: Remove *-*-solaris2.9* handling.

	* lib/target-supports.exp (add_options_for_tls): Remove
	*-*-solaris2.9* handling.

	gcc:
	* config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
	(*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
	(*-*-solaris2*): Simplify.
	(i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
	(i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
	*-*-solaris2.9* handling.

	* configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
	as bug.
	(gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
	(ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
	handling, simplify.
	(gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
	* configure: Regenerate.

	* config/i386/sol2-9.h: Remove.

	* doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
	(Specific, *-*-solaris2*): Mention Solaris 9 support removal.
	Remove Solaris 9 references.

	fixincludes:
	* inclhack.def (math_exception): Bypass on *-*-solaris2.1[0-9]*.
	(solaris_int_types): Remove.
	(solaris_longjmp_noreturn): Remove.
	(solaris_mutex_init_2): Remove.
	(solaris_once_init_2): Remove.
	(solaris_sys_va_list): Remove.
	* fixincl.x: Regenerate.
	* tests/base/iso/setjmp_iso.h: Remove.
	* tests/base/pthread.h [SOLARIS_MUTEX_INIT_2_CHECK]: Remove.
	[SOLARIS_ONCE_INIT_1_CHECK]: Remove wrapping done by
	solaris_once_init_2.
	[SOLARIS_ONCE_INIT_2_CHECK]: Remove.
	* tests/base/sys/int_types.h: Remove.
	* tests/base/sys/va_list.h: Remove.

	contrib:
	* config-list.mk (LIST): Remove sparc-sun-solaris2.9, i686-solaris2.9.

From-SVN: r209621
2014-04-22 12:30:59 +00:00
Jerry DeLisle
861b2d2cde re PR fortran/60810 (list directed io from array results in end of file)
2014-04-11  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/60810
	io/unit.c (is_trim_ok): If internal unit is array, do not trim.

From-SVN: r209329
2014-04-12 00:04:41 +00:00
Jerry DeLisle
09e40ffe10 re PR fortran/60148 (strings in NAMELIST do not honor DELIM= in open statement)
2014-03-21  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/60148
	* io/transfer.c (data_transfer_init): If std= was specified, set
	delim status to DELIM_NONE of no other was specified.

From-SVN: r208759
2014-03-21 22:19:44 +00:00
Ulrich Weigand
b5b5834350 configure.ac: Check for presence of fcntl.
* configure.ac: Check for presence of fcntl.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* io/unix.c (set_close_on_exec): Check for HAVE_FCNTL.

From-SVN: r208634
2014-03-18 09:58:17 +00:00
Jerry DeLisle
f2538eee23 Fix PR Number in log
From-SVN: r208630
2014-03-18 01:30:46 +00:00
Jerry DeLisle
e34994fcff re PR libfortran/46800 (Handle CTRL-D correctly with STDIN)
2014-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/46800
	* io/list_read.c (list_formatted_read_scalar): Do not use
	eat_separator. Explicitly set the comma and end-of-line flags.
	Check for END condition from finish_separator.

From-SVN: r208629
2014-03-18 01:20:02 +00:00
Jerry DeLisle
e94710443a re PR fortran/58324 (Bogus END-of-line error with list-directed I/O of file without trailing sequential record marker)
2014-03-15  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/58324
	* io/list_read.c (finish_list_read): Read one character to check
	for the end of the file.  If it is the end, then issue the file
	end error message.  If not, use eat_line to reach the end
	without giving error.  The next attempt to read will then
	issue the error as described above.

From-SVN: r208591
2014-03-15 15:12:01 +00:00
Jerry DeLisle
3b63b663d7 re PR libfortran/38199 (missed optimization: I/O performance)
2014-03-12  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/38199
	* io/read.c (read_decimal): Quickly skip spaces to avoid calls
	to next_char.
	* io/unit.c (is_trim_ok): New helper function to check various
	conditions to see if its OK to trim the internal unit string.
	(get_internal_unit): Use LEN_TRIM to shorten selected internal
	unit strings for optimizing READ. Enable this optimization for
	formatted READ.
	* io/list_read.c (finish_list_read): Don't call eat_line for
	internal units.

From-SVN: r208528
2014-03-13 05:06:57 +00:00
Jerry DeLisle
c706a67a4d re PR libfortran/38199 (missed optimization: I/O performance)
2014-03-08  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/38199
	* io/list_read.c (next_char): Mark unlikely error checks.
	(eat_spaces): For character array reading, skip ahead over
	spaces rather than call next_char multiple times.

From-SVN: r208439
2014-03-09 05:34:34 +00:00
Jerry DeLisle
c8869272f7 re PR libfortran/38199 (missed optimization: I/O performance)
2014-03-08  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/38199
	* io/list_read.c (next_char): Delete unuseful error checks.
	(eat_spaces): For character array reading, skip ahead over
	spaces rather than call next_char multiple times.

From-SVN: r208438
2014-03-09 03:17:16 +00:00
Tobias Burnus
433d6b3986 libgfortran.h (unlikely, likely): Add usage comment.
2014-03-08  Tobias Burnus  <burnus@net-b.de>

        * libgfortran.h (unlikely, likely): Add usage comment.

From-SVN: r208434
2014-03-08 23:13:26 +01:00
Dominique d'Humieres
4e185d7cee re PR fortran/60128 (Wrong ouput using en edit descriptor)
2014-03-08  Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR libgfortran/60128
	* io/write_float.def (output_float): Remove unused variable
	nzero_real. Replace a double space with a single one.
	(determine_en_precision): Fix wrong handling of the EN format.

	PR libfortran/60128
	* gfortran.dg/fmt_en.f90: New test.

From-SVN: r208423
2014-03-08 06:04:34 +00:00
Jerry DeLisle
75b2dba9ae re PR fortran/60148 (strings in NAMELIST do not honor DELIM= in open statement)
2014-03-03  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/60148
	* io/inquire.c (inquire_via_unit): In the case of
	DELIM_UNSPECIFIED set inquire return string to "NONE".
	* io/list_read.c (read_character): In the case of DELIM_NONE and
	namelists, complete the character read using the namelist
	variable length.
	* io/open.c (new_unit): Don't set delim status to none if not
	specified so that DELIM_UNSPECIFIED can be used later.
	* io/transfer.c (data_transfer_init): For namelist I/O, if the
	unit delim status is unspecified set the current status to quote.
	Otherwise, set current status to the unit status.
	* io/unit.c (get_internel_unit, init_unit): Remember to set
	flags_delim initially to DELIM_UNSPECIFIED so defaults come out
	correctly.
	* io/write.c (write_character): Add a new function argument
	"mode" to signify that raw output is to be used vs output with
	delimiters. If the mode is set to DELIM (1) proceed with
	delimiters. (list_formatted_write_scalar): Write the separator
	only if a delimiter was previously specified. Update the call to
	write_character with the mode argument given.
	(namelist_write_newline): Use the mode argument. (nml_write_obj):
	Use the mode argument. Remove use of tmp_delim. Write the
	semi-colon or comma correctly only when needed with using
	delimiters. Cleanup whitespace.
	(namelist_write): If delim is not specified in namelist I/O,
	default	to using quotes. Get rid of the tmp_delim variable and
	use the new mode argument in write_character.

From-SVN: r208302
2014-03-04 04:33:40 +00:00
Tobias Burnus
76a4b7ad2d re PR fortran/60286 (INQUIRE reports STDOUT as not writable)
2014-02-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/60286
        * libgfortran/io/inquire.c (yes, no): New static const char
        * vars.
        (inquire_via_unit): Use them. Use OPEN mode instead of using
        POSIX's access to query about write=, read= and readwrite=.

2014-02-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/60286
        * gfortran.dg/inquire_16.f90: New.

From-SVN: r207979
2014-02-21 08:37:06 +01:00
Jerry DeLisle
91d45414d8 write_float.def (output_float): Remove inadvertent test code from previous patch.
2014-01-20  Jerry DeLisle  <jvdelisle@gcc.gnu>
	    Dominique d'Humieres  <dominiq@lps.ens.fr>

	* io/write_float.def (output_float): Remove inadvertent test
	code from previous patch.

Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>

From-SVN: r206865
2014-01-21 02:39:53 +00:00
Jerry DeLisle
32aeb94ab1 re PR libfortran/59771 (Cleanup handling of Gw.0 and Gw.0Ee format)
2014-01-19  Jerry DeLisle  <jvdelisle@gcc.gnu>
	    Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR libfortran/59771
	PR libfortran/59774
	PR libfortran/59836
	* io/write_float.def (output_float): Fix wrong handling of the
	Fw.0 format.
	(output_float_FMT_G_): Fixes rounding issues with -m32.

Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>

From-SVN: r206785
2014-01-19 23:17:43 +00:00
Jerry DeLisle
2558e2e838 re PR fortran/59700 (Misleading/buggy runtime error message: Bad integer for item 0 in list input)
2014-01-11  Jerry DeLisle  <jvdelisle@gcc.gnu>
	    Dominique d'Humieres  <dominiq@lps.ens.fr>
	    Steven G. Kargl  <kargl@gcc.gnu.org>

	PR libfortran/59700
	PR libfortran/59764
	* io/io.h (struct st_parameter_dt): Assign expanded_read flag to
	unused bit. Define new variable line_buffer_pos.
	* io/list_read.c (free_saved, next_char, l_push_char,
	read_logical, read_real): Replace use of item_count with
	line_buffer_pos for line_buffer look ahead.
	(read_logical, read_integer, parse_real, read_real, check_type):
	Adjust location of free_line to after generating error messages
	to retain the correct item count for the message.

Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>

From-SVN: r206553
2014-01-11 18:57:20 +00:00
Richard Sandiford
f0bcf62899 Update copyright years in libgfortran/
From-SVN: r206296
2014-01-02 22:25:45 +00:00
Steven G. Kargl
7b6b435332 read.c (read_f): Convert assert to runtime error.
2013-12-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	* io/read.c (read_f): Convert assert to runtime error.

2013-12-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	* gfortran.dg/io_err_1.f90: New test.

From-SVN: r206102
2013-12-18 23:41:50 +00:00
Andreas Tobler
95796c1fa5 unix.c (tempfile_open): Only use the needed flag O_CLOEXEC.
2013-12-17  Andreas Tobler  <andreast@gcc.gnu.org>

    * io/unix.c (tempfile_open): Only use the needed flag O_CLOEXEC.

From-SVN: r206064
2013-12-17 19:12:39 +01:00
Jerry DeLisle
1ede59e4c7 re PR libfortran/59419 (Failing OPEN with FILE='xxx' and IOSTAT creates the file 'xxx' after revision 196783)
2013-12-16  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/59419
	* io/file_pos.c (st_rewind): Do proper return after
	generate_error.
	* io/open.c (edit_modes): Move action code inside block that
	checks for library ok. (new_unit): Do cleanup after error.
	(st_open): Do proper return after error.
	* io/transfer.c (data_transfer_init): Likewise.

From-SVN: r206039
2013-12-17 03:06:04 +00:00
Tobias Burnus
711df88d24 fpu-387.h (sigill_hdlr, [...]): Emit
2013-12-11  Tobias Burnus  <burnus@net-b.de>

        * config/fpu-387.h (sigill_hdlr, get_fpu_rounding_mode): Emit
        * SSE
        instructions when __SSE_MATH__ is defined.

From-SVN: r205903
2013-12-11 20:50:56 +01:00
Rainer Orth
041508a2ec Provide _M_2_SQRTPI if missing.
* intrinsics/erfc_scaled.c (_M_2_SQRTPI): Define if missing.

From-SVN: r205731
2013-12-06 10:04:05 +00:00
Uros Bizjak
3d41d9d98c re PR libfortran/59313 (gfortran.dg/erf_3.F90 FAILs on Solaris/SPARC)
PR libfortran/59313
	* intrinsics/erfc_scaled.c (erfc_scaled_r16): Also provide for
	quadruple precision long double variant.

From-SVN: r205574
2013-12-01 21:56:21 +01:00
Andreas Schwab
8f45afb879 Remove wrong PR link
From-SVN: r205201
2013-11-21 09:24:44 +00:00
Francois-Xavier Coudert
933cfd4a37 re PR libfortran/59227 (FAIL: gfortran.dg/erf_3.F90 -O0 execution test)
PR libfortran/59227
	* intrinsics/erfc_scaled.c (erfc_scaled_r16): Don't define if
	__float128 is not available.

From-SVN: r205193
2013-11-21 08:45:00 +00:00
Francois-Xavier Coudert
41fd665971 re PR libfortran/49024 (REAL*16 ERFC_SCALED inaccuracy)
PR libfortran/49024

	* intrinsics/erfc_scaled.c (erfc_scaled_r16): New function.
	* intrinsics/erfc_scaled_inc.c: Do not provide quadruple
	precision variant.

	* gfortran.dg/erf_3.F90: New file.

From-SVN: r205151
2013-11-20 22:18:55 +00:00
Francois-Xavier Coudert
74bc175e84 re PR libfortran/51828 (libgfortran build warnings)
PR libfortran/51828
	* intrinsics/unpack_generic.c (unpack_internal): Let the compiler
	know that dim > 0 to avoid warnings.

From-SVN: r204940
2013-11-18 09:27:11 +00:00
Janne Blomqvist
35f48a901d When file status is unknown, don't set O_CREAT when opening read-only.
2013-11-15  Janne Blomqvist  <jb@gcc.gnu.org>
	    Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/59108
	* io/unix.c (regular_file): Don't set O_CREAT when opening a file
	read-only with unknown status. Mask out O_CREAT when falling back
	to opening read-only if ACTION= is not set and read-write fails.

Co-Authored-By: Jerry DeLisle <jvdelisle@gcc.gnu.org>

From-SVN: r204864
2013-11-16 00:00:36 +02:00
Steve Ellcey
cb83df668c configure.ac: Do not define HAVE_STRTOLD.
2013-11-15  Steve Ellcey  <sellcey@mips.com>

	* configure.ac: Do not define HAVE_STRTOLD.
	* configure: Regenerate.

From-SVN: r204855
2013-11-15 17:50:28 +00:00
Janne Blomqvist
c20fdb917f Set close-on-exec flag when opening files.
2013-11-10  Janne Blomqvist  <jb@gcc.gnu.org>

	* configure.ac: Check presence of mkostemp.
	* io/unix.c (set_close_on_exec): New function.
	(tempfile_open): Use mkostemp and O_CLOEXEC if available, fallback
	to calling set_close_on_exec.
	(regular_file): Add O_CLOEXEC to flags if defined.
	(open_external): Call set_close_on_exec if O_CLOEXEC is not
	defined.
	* config.h.in: Regenerated.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
	* aclocal.m4: Regenerated.

From-SVN: r204654
2013-11-10 22:34:29 +02:00
Tobias Burnus
7902928918 re PR fortran/55469 (memory leak on read with istat.ne.0)
2013-10-01  Tobias Burnus  <burnus@net-b.de>

        PR fortran/55469
        * io/list_read (parse_repeat, read_integer, read_character,
        parse_real, read_real, check_type, list_formatted_read_scalar,
        finish_list_read): Call list_free.

From-SVN: r203086
2013-10-01 22:52:49 +02:00
Alan Modra
3cbe17f7de libtool.m4 (_LT_ENABLE_LOCK <ld -m flags>): Remove non-canonical ppc host match.
* libtool.m4 (_LT_ENABLE_LOCK <ld -m flags>): Remove non-canonical
	ppc host match.  Support little-endian powerpc linux hosts.
Regenerate configure throughout.

From-SVN: r202773
2013-09-20 19:17:52 +09:30
Uros Bizjak
d7172355ef fpu-387.h (get_fpu_rounding_mode): Read rounding mode from SSE mxcsr register on x86_64.
* config/fpu-387.h (get_fpu_rounding_mode): Read rounding mode
	from SSE mxcsr register on x86_64.

From-SVN: r201161
2013-07-23 11:45:30 +02:00
Ondřej Bílka
9b110be230 trans-decl.c: Fix comment typos.
2013-07-21   Ondřej Bílka  <neleai@seznam.cz>

        * trans-decl.c: Fix comment typos.
        * trans-expr.c: Ditto.

2013-07-21   Ondřej Bílka  <neleai@seznam.cz>

        * io/transfer.c: Fix comment typos.

From-SVN: r201107
2013-07-21 19:57:23 +02:00
Tobias Burnus
5b70b3e44b re PR libfortran/35862 ([F2003] Implement new rounding modes for run time)
2013-07-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/35862
        * config/fpu-387.h (set_fpu_rounding_mode,
        get_fpu_rounding_mode): Add missing _ to fix build.

From-SVN: r201095
2013-07-21 17:16:21 +02:00
Tobias Burnus
82a4f54cc5 re PR libfortran/35862 ([F2003] Implement new rounding modes for run time)
2013-07-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/35862
        * libgfortran.h (GFC_FPE_DOWNWARD, GFC_FPE_TONEAREST,
        GFC_FPE_TOWARDZERO, GFC_FPE_UPWARD): New defines.

2013-07-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/35862
        * libgfortran.h (set_fpu_rounding_mode,
        get_fpu_rounding_mode): New prototypes.
        * config/fpu-387.h (set_fpu_rounding_mode,
        get_fpu_rounding_mode): New functions.
        * config/fpu-aix.h (set_fpu_rounding_mode,
        get_fpu_rounding_mode): Ditto.
        * config/fpu-generic.h (set_fpu_rounding_mode,
        get_fpu_rounding_mode): Ditto.
        * config/fpu-glibc.h (set_fpu_rounding_mode,
        get_fpu_rounding_mode): Ditto.
        * config/fpu-sysv.h (set_fpu_rounding_mode,
        get_fpu_rounding_mode): Ditto.
        * configure.ac: Check for fp_rnd and fp_rnd_t.
        * io/io.h (enum unit_round): Use GFC_FPE_* for the value.
        * io/read.c (convert_real): Set FP ronding mode.
        * Makefile.in: Regenerate.
        * aclocal.m4: Regenerate.
        * config.h.in: Regenerate.
        * configure: Regenerate.

2013-07-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/35862
        * gfortran.dg/round_4.f90: New.


Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>

From-SVN: r201093
2013-07-21 13:54:27 +02:00
Steve Ellcey
b4005c71a2 configure.ac (AC_CHECK_FUNCS_ONCE): Put into if statement.
2013-06-24  Steve Ellcey  <sellcey@mips.com>

	* configure.ac (AC_CHECK_FUNCS_ONCE): Put into if statement.
	* configure: Regenerate.

From-SVN: r200374
2013-06-24 15:24:19 +00:00
Tobias Burnus
7ae346c340 configure.ac: Check for fp_except and fp_except_t.
2013-06-24  Tobias Burnus  <burnus@net-b.de>

        * configure.ac: Check for fp_except and fp_except_t.
        * config/fpu-sysv.h: Conditionally use either type.
        * configure: Regenerate.
        * config.h.in: Regenerate.

From-SVN: r200360
2013-06-24 10:34:05 +02:00
Eric Botcazou
a58219532c * config/fpu-sysv.h (get_fpu_except_flags): Fix typo.
From-SVN: r200298
2013-06-21 13:16:57 +00:00
Uros Bizjak
a839e8d5a0 * ChangeLog: Add some missing lines.
From-SVN: r200256
2013-06-20 19:11:51 +02:00
Uros Bizjak
86c2f4b761 fpu-387.h (_FPU_MASK_ALL): New.
* config/fpu-387.h (_FPU_MASK_ALL): New.
	(_FPU_EX_ALL): Ditto.
	(set_fpu): Use fstcw to store x87 FPU control word. Use fnclex to
	clear stalled exception flags.  Correctly clear stalled SSE
	exception flags.  Simplify code.
	(get_fpu_except_flags): Simplify code.

From-SVN: r200255
2013-06-20 19:08:51 +02:00
Tobias Burnus
937424c182 re PR fortran/57633 (I/O: Problem with formatted read: reading CR-LF files (\r\n))
2013-06-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57633
        * io/list_read.c (next_char, eat_separator): Don't set EOL for \r.

2013-06-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57633
        * gfortran.dg/list_read_11.f90: New.

From-SVN: r200238
2013-06-20 12:55:03 +02:00
Uros Bizjak
e8e694715e fpu-387.h: Use __asm__ and __volatile__ consistently.
* config/fpu-387.h: Use __asm__ and __volatile__ consistently.
	(get_fpu_except_flags): Initialize result.

From-SVN: r200187
2013-06-19 08:38:16 +02: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
Tobias Burnus
c2b2130c71 re PR libfortran/57496 (I/O: WRITE(*,*) HUGE(0._10) gives SIGFPE with -ffpe-trap=overflow)
2013-06-01  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57496
        * io/write_float.def (ISFINITE2Q, ISFINITE2, ISFINITE2L,
        * ISFINITE,
        SIGNBIT2Q, SIGNBIT2, SIGNBIT2L, SIGNBIT, ISNAN2Q, ISNAN2,
        ISNAN2L, ISNAN): New macros.
        (output_float_FMT_G_,WRITE_FLOAT): Use them.

From-SVN: r199598
2013-06-03 11:20:46 +02:00
Rainer Orth
828012a527 Use -z ignore instead of --as-needed on Solaris
* acinclude.m4 (libgfor_cv_have_as_needed): Check for -z ignore, too.
	* configure: Regenerate.

From-SVN: r199285
2013-05-24 09:23:33 +00:00
David Edelsohn
13c4975c2d libcaf.h (_gfortran_caf_critical): Add a prototype.
* caf/libcaf.h (_gfortran_caf_critical): Add a prototype.
        (_gfortran_caf_end_critical): Same.

From-SVN: r198613
2013-05-05 19:47:22 -04: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
96cc0ef46b Simplify SYSTEM_CLOCK implementation.
2013-04-29  Janne Blomqvist  <jb@gcc.gnu.org>

        * intrinsics/system_clock (gf_gettime_mono): Use variable
        resolution for fractional seconds argument.
        (system_clock_4): Simplify, update for gf_gettime_mono change.
        (system_clock_8): Likewise.

From-SVN: r198391
2013-04-29 11:43:18 +03:00
Janne Blomqvist
c033f5ae32 PR 56981 Improve unbuffered performance on special files.
2013-04-29  Janne Blomqvist  <jb@gcc.gnu.org>

        PR fortran/56981
        * io/transfer.c (next_record_w_unf): First fix head marker, then
        write tail.
        (next_record): Call flush_if_unbuffered.
        * io/unix.c (struct unix_stream): Add field unbuffered.
        (flush_if_unbuffered): New function.
        (fd_to_stream): New argument.
        (open_external): Fix fd_to_stream call.
        (input_stream): Likewise.
        (output_stream): Likewise.
        (error_stream): Likewise.
        * io/unix.h (flush_if_unbuffered): New prototype.

From-SVN: r198390
2013-04-29 11:42:00 +03:00
Janne Blomqvist
a2f7b4ad34 Fix sign error in SYSTEM_CLOCK kind=4 Windows version.
2013-04-28  Janne Blomqvist  <jb@gcc.gnu.org>

	* intrinsics/system_clock.c (system_clock_4): Fix sign error in
	Windows version.

From-SVN: r198378
2013-04-28 21:16:25 +03:00
Tobias Burnus
95bd9622ab list_read.c (finish_separator): Initialize variable.
2013-04-15  Tobias Burnus  <burnus@net-b.de>

        * list_read.c (finish_separator): Initialize variable.

From-SVN: r197969
2013-04-15 14:45:06 +02:00
Janne Blomqvist
83584eab1b PR 56919 Improve SYSTEM_CLOCK intrinsic on Windows.
frontend ChangeLog:

2013-04-15  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/56919
	* intrinsics.texi (SYSTEM_CLOCK): Update documentation.


libgfortran ChangeLog:

2013-04-15  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/56919
	* intrinsics/time_1.h: Check __CYGWIN__ in addition to
	__MINGW32__.
	* intrinsics/system_clock.c (GF_CLOCK_MONOTONIC): Check
	_POSIX_MONOTONIC_CLOCK as well.
	(system_clock_4): Use GetTickCount on Windows.
	(system_clock_8): Use QueryPerformanceCounter and
	QueryPerformanceCounterFrequency on Windows.

From-SVN: r197968
2013-04-15 15:43:15 +03:00
Tobias Burnus
71879a86ef re PR libfortran/56810 (record-repeat fails kind check on complex read)
2013-04-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56810
        * io/list_read.c (check_type): Fix kind checking for COMPLEX.

2013-04-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56810
        * gfortran.dg/read_repeat_2.f90: New.

From-SVN: r197479
2013-04-04 13:24:15 +02:00
Jerry DeLisle
ba82932537 re PR fortran/56660 (Fails to read NAMELIST with certain form array syntax)
2013-04-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/56660
	* io/list_read.c (nml_read_obj): Do not reset the read error flag
	inside nml_read_obj. If the read error flag is found set just exit.
	Fix some whitespace on comments.
	(nml_read_obj_data): Reset the read error flag before the first call
	to nml_read_object.

From-SVN: r197321
2013-04-01 20:30:41 +00:00
Jerry DeLisle
83437e6709 re PR libfortran/56786 (Namelist read fails with designators containing embedded spaces)
2013-03-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/56786
	* io/list_read.c (nml_parse_qualifier): Remove spurious next_char call
	when checking for EOF. Use error return mechanism when EOF detected.
	Do not return false unless parse_err_msg and parse_err_msg_size have
	been set. Use hit_eof.
	(nml_get_obj_data): Likewise use the correct error mechanism.
	* io/transfer.c (hit_eof): Do not set AFTER_ENDFILE if in namelist
	mode.

From-SVN: r197290
2013-03-31 20:32:33 +00:00
Tobias Burnus
357aee9210 re PR libfortran/56737 (Wrong I/O result with format cache for Hollerith strings)
2012-03-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56737
        * io/format.c (parse_format_list): Also cache FMT_STRING.
        (parse_format): Update call.

From-SVN: r197230
2013-03-29 10:39:47 +01:00
Tobias Burnus
d80b9b4777 re PR libfortran/56737 (Wrong I/O result with format cache for Hollerith strings)
2013-03-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56737
        * io/format.c (parse_format): With caching, copy
        dtp->format string.
        (save_parsed_format): Use dtp->format directy without
        copying.

2013-03-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56737
        * testsuite/gfortran.dg/fmt_cache_3.f90: New.

(Plus: Move fortran/ChangeLog item to libgfortran/ChangeLog)

From-SVN: r197229
2013-03-29 10:37:37 +01:00
Tobias Burnus
a0b012be6a re PR fortran/56735 (Namelist Read Error with question marks)
2013-03-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56735
        * io/list_read.c (nml_query): Only abort when
        an error occured.
        (namelist_read): Add goto instead of falling through.

2013-03-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56735
        * gfortran.dg/namelist_80.f90: New.

From-SVN: r197228
2013-03-29 10:32:57 +01:00
Tilo Schwarz
6f6fafc9ef re PR fortran/52512 (Cannot match namelist object name)
2013-03-25  Tilo Schwarz  <tilo@tilo-schwarz.de>

        PR libfortran/52512
        * io/list_read.c (nml_parse_qualifier): To check for a derived type
        don't use the namelist head element type but the current element type.
        (nml_get_obj_data): Add current namelist element type to
        nml_parse_qualifier call.

2013-03-25  Tilo Schwarz  <tilo@tilo-schwarz.de>

        PR libfortran/52512
        * gfortran.dg/namelist_79.f90: New.

From-SVN: r197061
2013-03-25 20:11:20 +00:00
Tobias Burnus
a73421c460 re PR libfortran/56696 (Formatted (list-directed) input fails to signal end of record)
2013-03-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56696
        * io/list_read.c (read_real): Fix EOF diagnostic.

2013-03-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56696
        * gfortran.dg/eof_5.f90: New.

From-SVN: r197019
2013-03-24 11:16:33 +01:00
Tilo Schwarz
a0b67fe26f re PR fortran/51825 (Fortran runtime error: Cannot match namelist object name)
2013-03-20  Tilo Schwarz  <tilo@tilo-schwarz.de>

        PR libfortran/51825
        * io/list_read.c (nml_read_obj): Don't end the component loop on
        a nested derived type, but continue with the next loop iteration.
        (nml_get_obj_data): Don't move the first_nl pointer further in
        the list if a qualifier was found.

2013-03-20  Tilo Schwarz  <tilo@tilo-schwarz.de>

        PR libfortran/51825
        * gcc/testsuite/gfortran.dg/namelist_77.f90: New.
        * gcc/testsuite/gfortran.dg/namelist_78.f90: New.

From-SVN: r196806
2013-03-20 08:56:02 +01:00
Tilo Schwarz
09c7dc636d re PR libfortran/48618 (Negative unit number in OPEN(...) is sometimes allowed)
2013-03-20  Tilo Schwarz  <tilo@tilo-schwarz.de>

        PR libfortran/48618
        * io/open.c (st_open): Raise error for unit number < 0 only if
        unit number does not exist already.

2013-03-20  Tilo Schwarz  <tilo@tilo-schwarz.de>

        PR libfortran/48618
        * gfortran.dg/open_negative_unit_1.f90: New.

From-SVN: r196805
2013-03-20 08:45:49 +01: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
Tobias Burnus
43b594b4c2 transfer.c (read_block_direct): Correct condition.
2013-03-11  Tobias Burnus  <burnus@net-b.de>

        * io/transfer.c (read_block_direct): Correct condition.
        * intrinsics/execute_command_line.c (execute_command_line):
        Remove dead code for the HAVE_FORK case.

From-SVN: r196603
2013-03-11 19:55:18 +01:00
Janne Blomqvist
68aab0e225 Fix regression when writing formatted sequential to a pipe.
2013-02-21  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/30162
	* io/open.c (test_endfile): Call stell only if size != 0.
	* io/unix.c (raw_tell): Revert r194679.
	(raw_size): Return size field only for regular files, otherwise 0.

From-SVN: r196210
2013-02-21 21:03:10 +02:00
John David Anglin
406defcb58 re PR target/56347 (FAIL: gfortran.dg/integer_exponentiation_2.f90 -O2 execution test)
PR target/56347
	* acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_POWF): Remove check for
	broken powf.
	* configure.ac (LIBGFOR_CHECK_FOR_BROKEN_POWF): Likewise.
	* intrinsics/c99_functions.c: Likewise.
	* configure: Rebuilt.
	* config.h.in: Rebuilt.

From-SVN: r196139
2013-02-19 14:01:40 +00: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
Janne Blomqvist
facb23dc4e Improve performance of byte-swapped I/O.
2013-01-23  Janne Blomqvist  <jb@gcc.gnu.org>

	* io/file_pos.c (unformatted_backspace): Use __builtin_bswapXX
	instead of reverse_memcpy.
	* io/io.h (reverse_memcpy): Remove prototype.
	* io/transfer.c (reverse_memcpy): Make static, move towards
	beginning of file.
	(bswap_array): New function.
	(unformatted_read): Use bswap_array to byte swap the data
	in-place.
	(unformatted_write): Use a larger temp buffer and bswap_array.
	(us_read): Use __builtin_bswapXX instead of reverse_memcpy.
	(write_us_marker): Likewise.

From-SVN: r195413
2013-01-23 23:56:54 +02:00
Richard Sandiford
e3c063ceda Update copyright years in libgfortran.
From-SVN: r195167
2013-01-14 18:20:58 +00:00
Tobias Burnus
9d1818902c re PR fortran/54678 (second call to get_environment_variable gives valgrind warning with 8-byte integers)
2013-01-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54678
        * intrinsics/env.c (get_environment_variable_i8): Don't use
        uninitialized variable.

From-SVN: r194948
2013-01-06 13:43:45 +01:00
Jakub Jelinek
86a2db336a ChangeLog rotation.
From-SVN: r194840
2013-01-03 10:47:48 +01:00
Jerry DeLisle
cc1863452c re PR fortran/55818 (Reading a REAL from a file which doesn't end in a new line fails)
2013-01-02  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/55818
	* io/list_read.c (read_real): Do not call hit_eof when EOF can be
	treated as a value separator.
	(parse_real): Likewise.
	(read_logical): Likewise.
	(read_character): Likewise.
	(read_complex): Likewise.

From-SVN: r194809
2013-01-02 17:09:09 +00:00
Jerry DeLisle
797332eda9 re PR fortran/48976 (INQUIRE with STREAM= not supported)
2012-12-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/48976
	* io/inquire.c (inquire_via_unit): Set user stream inquiry variable to
	appropriate value based on unit access method. (inquire_via_filename):
	Since filename is not associated with an open unit, set stream inquiry
	to UNKNOWN.
	* io/io.h: Define inquire stream parameters.

From-SVN: r194733
2012-12-27 18:07:33 +00:00
Jerry DeLisle
4e766b5d40 re PR libfortran/48960 (OPEN statement modifies NEWUNIT variable on error)
2012-12-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/48960
	* io/open.c (st_parameter_open):  Assign newunit number to user
	variable only if the the associated open statement is successful.

From-SVN: r194724
2012-12-26 18:11:42 +00:00
Janne Blomqvist
eb3119f90f PR fortran/55539 Fix regression in -fno-sign-zero.
libgfortran ChangeLog:

2012-12-26  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/55539
	* io/write_float.def (output_float): Take into account decimal dot.

testsuite ChangeLog:

2012-12-26  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/55539
	* gfortran.dg/nosigned_zero_3.f90: New testcase.

From-SVN: r194717
2012-12-26 00:11:16 +02:00
Thomas Koenig
a0edd35cf6 re PR libfortran/30162 (Document when sequential I/O with named pipes works)
2012-12-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/30162
	* io/unix.c (raw_tell):  If the lseek is done on a
	non-seekable file, return 0.

From-SVN: r194679
2012-12-21 20:50:48 +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
Paul Thomas
8b7043164f array.c (resolve_array_list): Apply C4106.
2012-12-19  Paul Thomas  <pault@gcc.gnu.org>

	* array.c (resolve_array_list): Apply C4106.
	* check.c (gfc_check_same_type_as): Exclude polymorphic
	entities from check for extensible types. Improved error
	for disallowed argument types to name the offending type.
	* class.c : Update copyright date.
	(gfc_class_null_initializer): Add argument for initialization
	expression and deal with unlimited polymorphic typespecs.
	(get_unique_type_string): Give unlimited polymorphic
	entities a type string.
	(gfc_intrinsic_hash_value): New function.
	(gfc_build_class_symbol): Incorporate unlimited polymorphic
	entities.
	(gfc_find_derived_vtab): Deal with unlimited polymorphic
	entities.
	(gfc_find_intrinsic_vtab): New function.
	* decl.c (gfc_match_decl_type_spec): Match typespec for
	unlimited polymorphic type.
	(gfc_match_data_decl): Skip to 'ok' if unlimited polymorphic.
	expr.c (gfc_check_pointer_assign): Apply C717.  If unlimited
	polymorphic lvalue, find rvalue vtable for all typespecs,
	except unlimited polymorphic expressions.
	(gfc_check_vardef_context): Handle unlimited polymorphic
	entities.
	* gfortran.h : Add unlimited polymorphic attribute. Add
	second arg to gfc_class_null_initializer primitive and
	primitive for gfc_find_intrinsic_vtab.  Add UNLIMITED_POLY
	to detect unlimited polymorphic expressions.
	* interface.c (gfc_compare_types): If expr1 is unlimited
	polymorphic, always return 1. If expr2 is unlimited polymorphic
	enforce C717.
	(gfc_compare_interfaces): Skip past conditions that do not
	apply for unlimited polymorphic entities.
	(compare_parameter): Make sure that an unlimited polymorphic,
	allocatable or pointer, formal argument is matched by an
	unlimited polymorphic actual argument.
	(compare_actual_formal): Ensure that an intrinsic vtable exists
	to match an unlimited polymorphic formal argument.
	* match.c (gfc_match_allocate): Type kind parameter does not
	need to match an unlimited polymorphic allocate-object.
	(alloc_opt_list): An unlimited polymorphic allocate-object
	requires a typespec or a SOURCE tag.
	(select_intrinsic_set_tmp): New function.
	(select_type_set_tmp): Call new function.  If it returns NULL,
	build a derived type or class temporary instead.
	(gfc_match_type_is): Remove restriction to derived types only.
	Bind(C) or sequence derived types not permitted.
	* misc (gfc_typename):  Printed CLASS(*) for unlimited
	polymorphism.
	* module.c : Add AB_UNLIMITED_POLY to pass unlimited
	polymorphic attribute to and from modules.
	* resolve.c (resolve_common_vars): Unlimited polymorphic
	entities cannot appear in common blocks.
	(resolve_deallocate_expr): Deallocate unlimited polymorphic
	enities.
	(resolve_allocate_expr): Likewise for allocation.  Make sure
	vtable exists.
	(gfc_type_is_extensible): Unlimited polymorphic entities are
	not extensible.
	(resolve_select_type): Handle unlimited polymorphic selectors.
	Ensure that length type parameters are assumed and that names
	for intrinsic types are generated.
	(resolve_fl_var_and_proc): Exclude select type temporaries
	from test of extensibility of type.
	(resolve_fl_variable): Likewise for test that assumed character
	length must be a dummy or a parameter.
	(resolve_fl_derived0): Return SUCCESS unconditionally for
	unlimited polymorphic entities. Also, allow unlimited
	polymorphic components.
	(resolve_fl_derived): Return SUCCESS unconditionally for
	unlimited polymorphic entities.
	(resolve_symbol): Return early with unlimited polymorphic
	entities.
	* simplifiy.c : Update copyright year.
	(gfc_simplify_extends_type_of): No simplification possible
	for unlimited polymorphic arguments.
	* symbol.c (gfc_use_derived): Nothing to do for unlimited
	polymorphic "derived type".
	(gfc_type_compatible): Return unity if ts1 is unlimited
	polymorphic.
	* trans-decl.c (create_function_arglist) Formal arguments
	without a character length should be treated in the same way
	as passed lengths.
	(gfc_trans_deferred_vars): Nullify the vptr of unlimited
	polymorphic pointers. Avoid unlimited polymorphic entities
	triggering gcc_unreachable.
	* trans-expr.c (gfc_conv_intrinsic_to_class): New function.
	(gfc_trans_class_init_assign): Make indirect reference of
	src.expr.
	(gfc_trans_class_assign): Expression NULL of unknown type
	should set NULL vptr on lhs. Treat C717 cases where lhs is
	a derived type and the rhs is unlimited polymorphic.
	(gfc_conv_procedure_call): Handle the conversion of a non-class
	actual argument to match an unlimited polymorphic formal
	argument.  Suppress the passing of a character string length
	in this case.  Make sure that calls to the character __copy
	function have two character string length arguments.
	(gfc_conv_initializer): Pass the initialization expression to
	gfc_class_null_initializer.
	(gfc_trans_subcomponent_assign): Ditto.
	(gfc_conv_structure): Move handling of _size component.
	trans-intrinsic.c: (gfc_conv_same_type_as): Handle conditions
	where unlimited polymorphic arguments have null vptr.
	* trans-stmt.c (trans_associate_var): Correctly treat array
	temporaries associated with unlimited polymorphic selectors.
	Recover the overwritten dtype for the descriptor. Use the _size
	field of the vptr for character string lengths.
	(gfc_trans_allocate): Cope with unlimited polymorphic allocate
	objects; especially with character source tags.
	(reset_vptr): New function.
	(gfc_trans_deallocate): Call it.
	* trans-types.c (gfc_get_derived_type): Detect unlimited
	polymorphic types and deal with cases where the derived type of
	components is null.
	* trans.c : Update copyright year.
	(trans_code): Call gfc_trans_class_assign for C717 cases where
	the lhs is not unlimited polymorphic.

2012-12-19  Paul Thomas  <pault@gcc.gnu.org>

	* intrinsics/extends_type_of.c : Return correct results for
	null vptrs.

2012-12-19  Paul Thomas  <pault@gcc.gnu.org>

	* gfortran.dg/unlimited_polymorphic_1.f03: New test.
	* gfortran.dg/unlimited_polymorphic_2.f03: New test.
	* gfortran.dg/unlimited_polymorphic_3.f03: New test.
	* gfortran.dg/same_type_as.f03: Correct for improved message.

From-SVN: r194622
2012-12-20 00:15:00 +00:00
Janus Weil
a07c4054c2 re PR fortran/55548 (SYSTEM_CLOCK with integer(8) provides nanosecond resolution, but only microsecond precision (without -lrt))
2012-12-03  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/55548
	* intrinsics/system_clock.c (gf_gettime_mono): Add argument 'tck',
	which returns the clock resolution.
	(system_clock_4): Get resolution from gf_gettime_mono, but limit to
	1000/s.
	(system_clock_8): Get resolution from gf_gettime_mono.

2012-12-03  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/55548
	* intrinsic.texi (SYSTEM_CLOCK): Update documentation of SYSTEM_CLOCK.

From-SVN: r194105
2012-12-03 23:06:41 +01:00
Tobias Burnus
036e177573 bessel.m4: Remove useless statement.
2012-10-28  Tobias Burnus  <burnus@net-b.de>

         * m4/bessel.m4: Remove useless statement.
         * m4/ifunction.m4: Remove unreachable code.
         * generated/bessel_r10.c: Regenerated.
         * generated/bessel_r16.c: Regenerated.
         * generated/bessel_r4.c: Regenerated.
         * generated/bessel_r8.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/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/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/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.

From-SVN: r192895
2012-10-28 17:54:44 +01:00
Tobias Burnus
a0ceafd19b re PR fortran/54878 (libgfortran issues found by the Coverity scanner)
2012-10-10  Tobias Burnus  <burnus@net-b.de>

	PR fortran/54878
	* io/unix.c (tempfile_open): Set umask before calling mkstemp.

From-SVN: r192325
2012-10-10 20:42:34 +02:00
Janne Blomqvist
227e441f2b Fix usage of secure_getenv with glibc 2.17.
See http://sourceware.org/glibc/wiki/Tips_and_Tricks/secure_getenv

2012-10-06  Janne Blomqvist  <jb@gcc.gnu.org>

	* configure.ac: Check for presence of secure_getenv.
	* libgfortran.h: Use HAVE_SECURE_GETENV.
	* Makefile.in: Regenerated.
	* aclocal.m4: Regenerated.
	* config.h.in: Regenerated.
	* configure: Regenerated.

From-SVN: r192169
2012-10-06 23:56:05 +03: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
Thomas Koenig
7c0de75353 re PR fortran/52724 (Internal read with character(kind=4) data)
2012-09-29  Thomas König  <tkoenig@gcc.gnu.org>

	PR fortran/52724
	* list_read.c (next_char):  Handle kind=4 characters.
	* unix.c (open_internal4):  Correct lenth of internal file.

2012-09-29  Thomas König  <tkoenig@gcc.gnu.org>

	PR fortran/52724
	* gfortran.dg/internal_readwrite_3.f90:  New test.

From-SVN: r191854
2012-09-29 17:38:46 +00:00
David Edelsohn
bad8a4a7fc * configure: Regenerated.
From-SVN: r191321
2012-09-14 19:32:58 -04:00
Uros Bizjak
588dbb1914 fpu-387.h (set_fpu): Prefix stmxcsr and ldmxcsr with %v.
* config/fpu-387.h (set_fpu): Prefix stmxcsr and ldmxcsr with %v.

From-SVN: r190997
2012-09-05 23:43:45 +02:00
Uros Bizjak
933d309fcf * ChangeLog: Fix date of my last commit.
From-SVN: r190993
2012-09-05 21:55:02 +02:00
Uros Bizjak
df36cec0dd fpu-387.h (set_fpu): Use __builtin_ia32_stmxcsr and __builtin_ia32_ldmxcsr intrinsics.
* config/fpu-387.h (set_fpu): Use __builtin_ia32_stmxcsr and
	__builtin_ia32_ldmxcsr intrinsics.

From-SVN: r190992
2012-09-05 21:49:21 +02:00
Andreas Schwab
a35c9beff6 list_read.c (list_formatted_read_scalar): Fix copying real value back to temporary.
* io/list_read.c (list_formatted_read_scalar): Fix copying real
value back to temporary.

From-SVN: r189856
2012-07-25 16:40:26 +00:00
Janne Blomqvist
67eb28c8b8 PR 39654 FTELL intrinsic function return type.
frontend ChangeLog:

2012-06-21  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/39654
	* iresolve.c (gfc_resolve_ftell): Fix result kind and use new
	library function.


library ChangeLog:

2012-06-21  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/39654
	* io/intrinsics.c (ftell2): New function.
	* gfortran.map (_gfortran_ftell2): Export function.

From-SVN: r188858
2012-06-21 21:47:01 +03:00
Robert Mason
aadd9700d5 PR 53456 Fix incorrect ChangeLog entry.
From-SVN: r188202
2012-06-04 22:15:21 +03:00
Robert Mason
1e5c1001b4 PR 53456 Fix typo in gf_cputime.
2012-06-04  Robert Mason  <rbmj@verizon.net>
	    Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/53456
	* intrinsics/time_1.h (gf_cputime): Fix typo in clock_gettime branch.

From-SVN: r188201
2012-06-04 22:13:49 +03: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
Benjamin Kosnik
19af62dbf2 re PR target/51007 (Quadmath I/O doesn't work on MinGW)
2012-05-31  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/51007
        * configure.ac: Allow gnu, gnu* variants for --enable-symvers argument.
        * configure: Regenerated.

From-SVN: r188076
2012-05-31 18:51:27 +00:00
Tobias Burnus
9daf64e704 revert: unix.c (tempfile_open): Pass mode to "open" for O_CREAT.
2012-05-31  Tobias Burnus  <burnus@net-b.de>

        Revert:
        2012-05-16  Tobias Burnus  <burnus@net-b.de>

        * io/unix.c (tempfile_open): Pass mode to "open" for O_CREAT.

From-SVN: r188048
2012-05-31 08:10:18 +02:00
Tobias Burnus
eea58adb13 decl.c: Fix comment typos.
2012-05-30  Tobias Burnus  <burnus@net-b.de>

        * decl.c: Fix comment typos.
        * expr.c: Ditto.
        * frontend-passes.c: Ditto.
        * match.c: Ditto.
        * resolve.c: Ditto.
        * trans-array.c: Ditto.
        * trans-common.c: Ditto.
        * trans-intrinsic.c: Ditto.
        * trans-types.c: Ditto.

2012-05-30  Tobias Burnus  <burnus@net-b.de>

        * io/io.h: Fix comment typos.
        * io/list_read.c: Ditto.

From-SVN: r188000
2012-05-30 08:26:09 +02:00
Janne Blomqvist
1ca8bef021 Minor timing cleanups.
2012-05-27  Janne Blomqvist  <jb@gcc.gnu.org>

	* intrinsics/time_1.h (gf_cputime): Don't reevaluate HZ expression
	for times fallback, clarify operation ordering for times and clock
	fallbacks.
	(gf_gettime): Fix comment typo.

From-SVN: r187922
2012-05-27 10:09:15 +03:00
Janne Blomqvist
44813fe043 PR 53456 CPU timing fallback using clock_gettime.
2012-05-24  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/53456
	* intrinsics/time_1.h (gf_cputime): Fallback for clock_gettime.

From-SVN: r187846
2012-05-24 23:19:37 +03:00
Janne Blomqvist
c5a6cbd4ba PR 53456 clock_gettime fallback for gf_gettime
2012-05-23  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/53456
	* intrinsics/time_1.h (gf_gettime): Fallback for clock_gettime.

From-SVN: r187806
2012-05-23 21:52:47 +03:00
Robert Mason
b8ce6b9cc0 re PR libfortran/53445 (No sticky bit on VxWorks - fix chmod.c)
2012-05-23  Robert Mason  <rbmj@verizon.net>
            Tobias Burnus  <burnus@net-b.de>

        PR libfortran/53445
        * intrinsics/chmod.c (chmod_func): Ignore S_ISVTX on VxWorks.


Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r187797
2012-05-23 10:52:09 +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
H.J. Lu
e6d5f8c9c4 Regenerate configure files for libtool.m4 change
boehm-gc/

	* configure: Regenerated.

gcc/

	* configure: Regenerated.

libatomic/

	* configure: Regenerated.

libffi/

	* configure: Regenerated.

libgfortran/

	* configure: Regenerated.

libgomp/

	* configure: Regenerated.

libitm/

	* configure: Regenerated.

libjava/classpath/

	* configure: Regenerated.

libjava/

	* configure: Regenerated.

libmudflap/

	* configure: Regenerated.

libobjc/

	* configure: Regenerated.

libquadmath/

	* configure: Regenerated.

libssp/

	* configure: Regenerated.

libstdc++-v3/

	* configure: Regenerated.

lto-plugin/

	* configure: Regenerated.

zlib/

	* configure: Regenerated.

From-SVN: r187616
2012-05-16 15:11:18 -07:00
Tobias Burnus
e10f759e19 unix.c (tempfile_open): Pass mode to "open" for O_CREAT.
2012-05-16  Tobias Burnus  <burnus@net-b.de>

        * io/unix.c (tempfile_open): Pass mode to "open" for O_CREAT.

From-SVN: r187604
2012-05-16 20:39:34 +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
Tobias Burnus
5450a88f8b re PR fortran/53310 (EOSHIFT leaks memory)
2012-05-11  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53310
        * intrinsics/eoshift2.c (eoshift2): Do not leak
        memory by allocating it in the loop.

From-SVN: r187395
2012-05-11 10:14:56 +02: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
Tobias Burnus
96b3ee1c50 re PR libfortran/53051 (I/O: Support reading floating-point numbers which use "Q" for the exponent)
2012-04-22  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53051
        * io/list_read.c (parse_real): Support "q" for the
        exponential.
        * io/read.c (read_f): Ditto.

2012-04-22  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53051
        * gfortran.dg/read_float_4.f90: New.

From-SVN: r186675
2012-04-22 19:28:34 +02:00
Tobias Burnus
fe92f29faf re PR libfortran/38199 (missed optimization: I/O performance)
2012-04-17  Tobias Burnus  <burnus@net-b.de>

        PR libfortran/38199
        PR libfortran/50673
        * io/unit.c (get_internal_unit): Properly check for the presence
        of the format string.

From-SVN: r186548
2012-04-17 21:30:29 +02:00
Thomas Koenig
79617d7e2e re PR libfortran/38199 (missed optimization: I/O performance)
2012-04-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/38199
	PR libfortran/50673
	* intrinsics/string_intriniscs_inc.c (string_len_trim):
	Remove prototypes for string_len_trim and move to...
	* libgfortran.h (string_len_trim): ... here and
	(string_len_trim_char4): ...here.
	* io/unit.c: For non-array internal arrays where we do reading,
	adjust the record length to the last non-blank character.
	* io/unix.c:  Fix typo.

From-SVN: r186466
2012-04-15 11:52:44 +00:00
Michael Matz
b43645b852 cshift0.m4 (cshift0_'rtype_code`): Guard use of modulo.
* m4/cshift0.m4 (cshift0_'rtype_code`): Guard use of modulo.

	* generated/cshift0_c10.c: Regenerated.
	* generated/cshift0_c16.c: Regenerated.
	* generated/cshift0_c4.c: Regenerated.
	* generated/cshift0_c8.c: Regenerated.
	* generated/cshift0_i16.c: Regenerated.
	* generated/cshift0_i1.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.

From-SVN: r186283
2012-04-10 15:39:22 +00:00
Tristan Gingold
62755fd571 libgfortran.h: Include complex.h before math.h
2012-04-04  Tristan Gingold  <gingold@adacore.com>

        * libgfortran.h: Include complex.h before math.h

From-SVN: r186131
2012-04-04 07:46:53 +00:00
Tristan Gingold
f38a14ca90 math.m4 (GCC_CHECK_MATH_FUNC): Remove if-present argument.
config/
2012-04-02  Tristan Gingold  <gingold@adacore.com>

	* math.m4 (GCC_CHECK_MATH_FUNC): Remove if-present
	argument.  Define the variable.

libgfortran/
2012-04-02  Tristan Gingold  <gingold@adacore.com>

	* configure.ac: Use new version of GCC_CHECK_MATH_FUNC.
	* configure: Regenerate
	* config.h.in: Regenerate.

From-SVN: r186063
2012-04-02 07:46:39 +00:00
Uros Bizjak
7ffeb78e28 * ChangeLog: Fix last entry.
From-SVN: r186015
2012-03-30 17:38:31 +02:00
Uros Bizjak
5cc553023d * ChangeLog: Fix entry.
From-SVN: r186009
2012-03-30 13:12:29 +02:00
Uros Bizjak
0b20f4a6ca re PR libfortran/52758 (libgfortran/intrinsics/chmod.c: Array index out of bounds)
PR libgfortran/52758
	* intrinsics/chmod.c: Remove out-of-bound initialization of rwxXstugo.

From-SVN: r186008
2012-03-30 13:07:46 +02:00
Tristan Gingold
f1cdfa016a configure.ac: Add description to AC_DEFINE in GCC_CHECK_MATH_FUNC.
2012-03-27  Tristan Gingold  <gingold@adacore.com>

	* configure.ac: Add description to AC_DEFINE in
	GCC_CHECK_MATH_FUNC.
	* configure: Regenerate
	* config.h.in: Regenerate.

From-SVN: r185850
2012-03-27 09:28:02 +00: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
Tristan Gingold
db9f46a927 configure.ac: Use GCC_CHECK_MATH_FUNC for math functions.
2012-03-26  Tristan Gingold  <gingold@adacore.com>

	* configure.ac: Use GCC_CHECK_MATH_FUNC for math functions.
	* acinclude.m4: Include ../config/math.m4
	* configure: Regenerate.
	* Makefile.in: Regenerate.

From-SVN: r185789
2012-03-26 08:43:56 +00: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
Janne Blomqvist
789ebabf1d PR libfortran/52608 Move the removal of initial zeros.
2012-03-17  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/52608
	* io/write_float.def (output_float): Move removal of initial zeros
	until after the scale factor has been applied.

From-SVN: r185486
2012-03-17 19:19:49 +02:00
Janne Blomqvist
33959d1d3c Share vtables instead of replicating them for each unit.
2012-03-16  Janne Blomqvist  <jb@gcc.gnu.org>

	* io/unix.h (struct stream): Rename to stream_vtable.
	(struct stream): New struct definition.
	(sread): Dereference vtable pointer.
	(swrite): Likewise.
	(sseek): Likewise.
	(struncate): Likewise.
	(sflush): Likewise.
	(sclose): Likewise.
	* io/unix.c (raw_vtable): New variable.
	(buf_vtable): Likewise.
	(mem_vtable): Likewise.
	(mem4_vtable): Likewise.
	(raw_init): Assign vtable pointer.
	(buf_init): Likewise.
	(open_internal): Likewise.
	(open_internal4): Likewise.

From-SVN: r185454
2012-03-16 10:30:26 +02:00
Janne Blomqvist
192b716b10 Remove commented out debug printf:s
From-SVN: r185444
2012-03-15 23:56:13 +02:00
Janne Blomqvist
37b659dd29 re PR libfortran/52434 (Insufficient number of digits in floating point formatting)
2012-03-15  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/52434
        PR libfortran/48878
        PR libfortran/38199
        * io/unit.c (get_internal_unit): Default to ROUND_UNSPECIFIED.
        (init_units): Likewise.
        * io/write_float.def (determine_precision): New function.
        (output_float): Take into account buffer with %f format, no need
        for our own rounding if unspecified or processor specified
        rounding.
        (DTOA): Simplify format string, add parameters.
        (FDTOA): New macros similar to DTOA, but using %f format.
        (OUTPUT_FLOAT_FMT_G): Stack allocate newf, determine correct
        precision and fill buffer.
        (EN_PREC): New macro.
        (determine_en_precision): New function.
        (WRITE_FLOAT): For G format, move buffer filling into
        output_float_FMT_G, use FDTOA for F format.
        (write_float): Increase buffer due to F format.

testsuite ChangeLog:

2012-03-15  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/52434
        PR libfortran/48878
        PR libfortran/38199
        * gfortran.dg/edit_real_1.f90: Don't assume roundTiesToAway.
        * gfortran.dg/round_1.f03: Likewise.

From-SVN: r185433
2012-03-15 17:14:43 +02:00
Rainer Orth
b24513a1a2 Remove obsolete IRIX 6.5 support
libstdc++-v3:
	* configure.host (irix6.5*): Remove.
	* config/os/irix: Remove.
	* config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc())
	[_GLIBCXX_FIONREAD_TAKES_OFF_T]: Remove.

	* doc/xml/faq.xml: Remove IRIX reference.
	* doc/xml/manual/using.xml (Finding Dynamic or Shared Libraries):
	Remove IRIX example.

	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
	Remove mips-sgi-irix6* handling.
	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
	* testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
	* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
	* testsuite/23_containers/list/pthread1.cc: Likewise.
	* testsuite/23_containers/list/pthread5.cc: Likewise.
	* testsuite/23_containers/map/pthread6.cc: Likewise.
	* testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
	* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
	* testsuite/30_threads/async/42819.cc: Likewise.
	* testsuite/30_threads/async/49668.cc: Likewise.
	* testsuite/30_threads/async/any.cc: Likewise.
	* testsuite/30_threads/async/async.cc: Likewise.
	* testsuite/30_threads/async/launch.cc: Likewise.
	* testsuite/30_threads/async/sync.cc: Likewise.
	* testsuite/30_threads/call_once/39909.cc: Likewise.
	* testsuite/30_threads/call_once/49668.cc: Likewise.
	* testsuite/30_threads/call_once/call_once1.cc: Likewise.
	* testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
	* testsuite/30_threads/condition_variable/members/1.cc: Likewise.
	* testsuite/30_threads/condition_variable/members/2.cc: Likewise.
	* testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
	Likewise.
	* testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
	* testsuite/30_threads/future/cons/move.cc: Likewise.
	* testsuite/30_threads/future/members/45133.cc: Likewise.
	* testsuite/30_threads/future/members/get.cc: Likewise.
	* testsuite/30_threads/future/members/get2.cc: Likewise.
	* testsuite/30_threads/future/members/share.cc: Likewise.
	* testsuite/30_threads/future/members/valid.cc: Likewise.
	* testsuite/30_threads/future/members/wait.cc: Likewise.
	* testsuite/30_threads/future/members/wait_for.cc: Likewise.
	* testsuite/30_threads/future/members/wait_until.cc: Likewise.
	* testsuite/30_threads/lock/1.cc: Likewise.
	* testsuite/30_threads/lock/2.cc: Likewise.
	* testsuite/30_threads/lock/3.cc: Likewise.
	* testsuite/30_threads/lock/4.cc: Likewise.
	* testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
	* testsuite/30_threads/mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
	* testsuite/30_threads/mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
	* testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/packaged_task/49668.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
	* testsuite/30_threads/promise/cons/1.cc: Likewise.
	* testsuite/30_threads/promise/cons/alloc.cc: Likewise.
	* testsuite/30_threads/promise/cons/move.cc: Likewise.
	* testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
	* testsuite/30_threads/promise/members/get_future.cc: Likewise.
	* testsuite/30_threads/promise/members/get_future2.cc: Likewise.
	* testsuite/30_threads/promise/members/set_exception.cc: Likewise.
	* testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
	* testsuite/30_threads/promise/members/set_value.cc: Likewise.
	* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
	* testsuite/30_threads/promise/members/set_value3.cc: Likewise.
	* testsuite/30_threads/promise/members/swap.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
	Likewise.
	* testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
	Likewise.
	* testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/shared_future/cons/move.cc: Likewise.
	* testsuite/30_threads/shared_future/members/45133.cc: Likewise.
	* testsuite/30_threads/shared_future/members/get.cc: Likewise.
	* testsuite/30_threads/shared_future/members/get2.cc: Likewise.
	* testsuite/30_threads/shared_future/members/valid.cc: Likewise.
	* testsuite/30_threads/shared_future/members/wait.cc: Likewise.
	* testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
	* testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
	* testsuite/30_threads/this_thread/1.cc: Likewise.
	* testsuite/30_threads/this_thread/2.cc: Likewise.
	* testsuite/30_threads/this_thread/3.cc: Likewise.
	* testsuite/30_threads/this_thread/4.cc: Likewise.
	* testsuite/30_threads/thread/cons/1.cc: Likewise.
	* testsuite/30_threads/thread/cons/2.cc: Likewise.
	* testsuite/30_threads/thread/cons/3.cc: Likewise.
	* testsuite/30_threads/thread/cons/4.cc: Likewise.
	* testsuite/30_threads/thread/cons/49668.cc: Likewise.
	* testsuite/30_threads/thread/cons/5.cc: Likewise.
	* testsuite/30_threads/thread/cons/6.cc: Likewise.
	* testsuite/30_threads/thread/cons/7.cc: Likewise.
	* testsuite/30_threads/thread/cons/8.cc: Likewise.
	* testsuite/30_threads/thread/cons/9.cc: Likewise.
	* testsuite/30_threads/thread/cons/moveable.cc: Likewise.
	* testsuite/30_threads/thread/members/1.cc: Likewise.
	* testsuite/30_threads/thread/members/2.cc: Likewise.
	* testsuite/30_threads/thread/members/3.cc: Likewise.
	* testsuite/30_threads/thread/members/4.cc: Likewise.
	* testsuite/30_threads/thread/members/5.cc: Likewise.
	* testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
	* testsuite/30_threads/thread/native_handle/typesizes.cc: Likewise.
	* testsuite/30_threads/thread/swap/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
	* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/try_lock/1.cc: Likewise.
	* testsuite/30_threads/try_lock/2.cc: Likewise.
	* testsuite/30_threads/try_lock/3.cc: Likewise.
	* testsuite/30_threads/try_lock/4.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
	* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
	* testsuite/ext/rope/pthread7-rope.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
	Likewise.

	* testsuite/23_containers/vector/capacity/resize/1.cc: Remove
	dg-options for mips*-*-irix6*.

	* testsuite/27_io/ios_base/storage/1.cc: Likewise.
	* testsuite/27_io/ios_base/storage/2.cc: Likewise.
	* testsuite/27_io/ios_base/storage/3.cc: Likewise.

	* testsuite/lib/libstdc++.exp (v3-build_support): Remove IRIX 6
	workaround.

	libjava:
	* configure.ac (libgcj_cv_exidx): Remove IRIX 6 ld workaround.
	(mips-sgi-irix6*): Remove.
	(mips-sgi-irix*): Remove.
	(AC_CHECK_HEADERS): Remove bstring.h.
	* configure: Regenerate.
	* include/config.h.in: Regenerate.
	* configure.host (mips-sgi-irix6*): Remove.

	* include/posix-signal.h [__sgi__]: Remove.

	* gnu/java/net/natPlainDatagramSocketImplPosix.cc
	[HAVE_BSTRING_H]: Remove.
	* gnu/java/net/natPlainDatagramSocketImplWin32.cc: Likewise.
	* gnu/java/net/natPlainSocketImplPosix.cc: Likewise.

	libitm:
	* configure.tgt (*-*-irix6*): Remove.

	libgomp:
	* configure.tgt (mips-sgi-irix6*): Remove.

	libgfortran:
	* intrinsics/c99_functions.c [__sgi__ && !HAVE_COMPLEX_H]: Remove.

	libgcc:
	* config.host (mips-sgi-irix6.5*): Remove.
	* config/mips/irix-crti.S: Remove.
	* config/mips/irix-crtn.S: Remove.
	* config/mips/irix6-unwind.h: Remove.
	* config/mips/t-irix6: Remove.
	* config/mips/t-slibgcc-irix: Remove.

	gnattools:
	* configure.ac (mips-sgi-irix*): Remove.
	* configure: Regenerate.

	gcc/testsuite:
	* g++.dg/other/anon5.C: Don't skip on mips-sgi-irix*.
	* g++.dg/tree-prof/partition1.C: Likewise.
	* g++.dg/tree-prof/partition2.C: Likewise.
	* g++.old-deja/g++.other/init19.C: Remove mips-sgi-irix*
	handling.
	* gcc.c-torture/compile/labels-3.c: Remove dg-options.
	* gcc.c-torture/execute/20010724-1.c: Remove.
	* gcc.c-torture/execute/20010724-1.x: Remove.
	* gcc.c-torture/execute/20040208-2.c: Remove.
	* gcc.c-torture/execute/20040208-2.x: Remove.
	* gcc.c-torture/execute/ieee/20000320-1.c [__mips__ && __sgi__]:
	Remove.
	(main) [__mips__ && __sgi__]: Remove.
	* gcc.c-torture/execute/ieee/copysign1.c: Remove IRIX reference.
	* gcc.c-torture/execute/ieee/copysign2.c: Likewise.
	* gcc.c-torture/execute/ieee/mul-subnormal-single-1.x: Remove
	mips-sgi-irix6* handling.
	* gcc.dg/cpp/assert4.c [__mips__]: Remove __sgi__, sgi.
	* gcc.dg/torture/20090618-1.c: Don't skip on mips-sgi-irix*.
	* gcc.dg/torture/builtin-frexp-1.c: Remove mips*-*-irix6*
	handling.
	* gcc.dg/torture/builtin-logb-1.c: Likewise.
	* gcc.dg/torture/pr47917.c: Remove mips-sgi-irix6.5 handling.
	* gcc.dg/tree-ssa/ssa-store-ccp-3.c: Don't skip on mips*-*-irix*.
	* gcc.misc-tests/linkage.exp: Remove mips-sgi-irix6* handling.
	* gcc.target/mips/args-1.c [!__sgi__]: Remove.
	* gcc.target/mips/interrupt_handler-2.c: Don't skip on
	mips-sgi-irix6*.
	* gcc.target/mips/interrupt_handler-3.c: Likewise.
	* gcc.target/mips/save-restore-1.c: Don't skip on mips-sgi-irix6*.
	* gcc.target/mips/save-restore-3.c: Likewise.
	* gcc.target/mips/save-restore-4.c: Likewise.
	* gcc.target/mips/save-restore-5.c: Likewise.
	* gfortran.dg/g77/cabs.f: Don't xfail on mips-sgi-irix6*.
	* lib/prune.exp (prune_gcc_output): Remove pruning of IRIX 6 ld
	messages.
	* lib/target-libpath.exp (set_ld_library_path_env_vars): Remove
	IRIX 6 handling.
	(restore_ld_library_path_env_vars): Likewise.
	* lib/target-supports.exp (check_profiling_available): Remove
	mips*-*-irix* handling.
	(check_ascii_locale_available): Remove mips-sgi-irix* handling.
	(add_options_for_c99_runtime): Remove mips-sgi-irix6.5* handling.
	* objc.dg/stabs-1.m: Don't xfail on mips-sgi-irix6.5.

	gcc/ada:
	* gcc-interface/Makefile.in (mips-sgi-irix6*): Remove.

	* a-intnam-irix.ads, mlib-tgt-specific-irix.adb,
	s-intman-irix.adb, s-mastop-irix.adb, s-osinte-irix.adb,
	s-osinte-irix.ads, s-proinf-irix-athread.adb,
	s-proinf-irix-athread.ads, s-taprop-irix.adb, s-tasinf-irix.ads,
	system-irix-n32.ads, system-irix-n64.ads, system-irix-o32.ads:
	Remove.

	* adaint.c [__mips && __sgi]: Remove.
	(__gnat_number_of_cpus) [__mips && __sgi]: Remove.
	[IS_CROSS && !(__mips && __sgi)]: Remove.
	* adaint.h [sgi && _LFAPI]: Remove.
	* cstreams.c (__gnat_full_name) [sgi]: Remove.
	* env.c (__gnat_unsetenv) [__mips && __sgi]: Remove.
	(__gnat_clearenv) [__mips && __sgi]: Remove.
	* errno.c (_SGI_MP_SOURCE): Remove.
	* gsocket.h [sgi]: Remove.
	* init.c: Remove IRIX reference.
	[sgi]: Remove.
	* link.c [sgi]: Remove.
	* s-oscons-tmplt.c [__mips && __sgi] (IOV_MAX): Don't define.
	(main) [__mips && __sgi] (MAX_tv_sec): Don't define.
	(CLOCK_SGI_FAST, CLOCK_SGI_CYCLE): Remove.
	* sysdep.c [sgi]: Remove.
	(getc_immediate_common) [sgi]: Remove.
	(__gnat_localtime_tzoff) [sgi]: Remove.
	* terminals.c [__mips && __sgi] (IRIX): Don't define.
	[IRIX] (USE_GETPTY): Don't define.
	(allocate_pty_desc) [USE_GETPTY]: Remove.

	* g-traceb.ads: Remove IRIX reference.
	* g-trasym.ads: Likewise.
	* memtrack.adb: Likewise.
	* s-interr-sigaction.adb: Likewise.

	* gnat_rm.texi (Implementation Advice): Remove SGI info.
	(Implementation Defined Characteristics): Likewise.
	* gnat_ugn.texi (Summary of Run-Time Configurations, mips-irix):
	Remove.
	(Irix-Specific Considerations): Remove.

	gcc/cp:
	* Make-lang.in (doc/g++.1): Remove IRIX 6.5 reference.

	gcc:
	* config.gcc (enable_obsolete): Remove mips-sgi-irix6.5.
	(mips-sgi-irix6.5*): Remove.
	* config.host (mips-sgi-irix*): Remove.
	* configure.ac (enable_fixed_point): Remove mips*-sgi-irix*.
	(set_have_as_tls): Remove *-*-irix6*.
	(gcc_cv_ld_static_dynamic): Remove mips-sgi-irix6*.
	* configure: Regenerate.

	* config/mips/iris6.h: Remove.
	* config/mips/iris6.opt: Remove.
	* config/mips/t-irix6: Remove.

	* config/mips/mips.h (TARGET_GPWORD): Remove IRIX 6 N64 handling.
	(TARGET_IRIX6): Remove.
	(TARGET_CPU_CPP_BUILTINS): Remove IRIX 6 handling.
	Don't define LANGUAGE_C, _LANGUAGE_C for Objective-C.
	* config/mips/mips.c (mips_build_builtin_va_list): Remove IRIX 6
	handling.
	(mips_file_start): Likewise.
	* config/mips/mips-protos.h (irix_asm_output_align): Remove.

	* config/mips/driver-native.c [__sgi__]: Remove.
	(host_detect_local_cpu) [__sgi__]: Remove.

	* config/mips/gnu-user.h: Remove iris5.h reference.

	* config/mips/mips-modes.def: Remove IRIX 6 reference.
	* config/mips/gnu-user64.h (MIPS_TFMODE_FORMAT): Remove.
	* config/mips/mips.c (mips_option_override) [MIPS_TFMODE_FORMAT]:
	Remove.

	* gcc.c (main): Move asm_debug initialization ...
	(asm_debug): ... here.

	* ginclude/stddef.h (__STDDEF_H__): Don't define.

	* defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): Remove.
	* system.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): Poison.
	* collect2.c [LINK_ELIMINATE_DUPLICATE_LDIRECTORIES]: Remove.
	(main) [LINK_ELIMINATE_DUPLICATE_LDIRECTORIES]: Remove.
	[LINK_ELIMINATE_DUPLICATE_LDIRECTORIES] (is_in_args): Remove.
	* doc/tm.texi.in (Driver, LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
	Remove.
	* doc/tm.texi: Regenerate.

	* doc/invoke.texi (Debugging Options, -gdwarf-<version>): Remove
	IRIX 6 reference.
	(MIPS Options, -march): Remove IRIX reference.
	* doc/install.texi (Binaries, SGI IRIX): Remove.
	(Specific, mips-sgi-irix6): Document IRIX 6.5 removal, remove rest
	of section.
	* doc/trouble.texi (Interoperation): Remove -lgl_s handling.

	fixincludes:
	* inclhack.def (broken_cabs): Remove IRIX and SunOS 4 support.
	(irix___restrict): Remove.
	(irix___generic1): Remove.
	(irix___generic2): Remove.
	(irix_asm_apostrophe): Remove.
	(irix_complex): Remove.
	(irix_pthread_init): Remove.
	(irix_socklen_t): Remove.
	(irix_stdint_c99_mode): Remove.
	(irix_stdint_c99_types): Remove.
	(irix_stdint_c99_macros): Remove.
	(irix_stdio_va_list): Remove IRIX 6.5 support.
	(irix_wcsftime): Remove.
	(stdio_va_list): Remove IRIX 6.5 support.
	(svr4_profil): Remove IRIX bypass.
	* fixincl.x: Regenerate.

	* tests/base/complex.h [IRIX_COMPLEX_CHECK]: Remove.
	* tests/base/internal/math_core.h: Remove.
	* tests/base/internal/sgimacros.h: Remove.
	* tests/base/internal/wchar_core.h: Remove.
	* tests/base/math.h [BROKEN_CABS_CHECK]: Remove IRIX and SunOS 4
	support.
	* tests/base/pthread.h [IRIX_PTHREAD_INIT_CHECK]: Remove.
	* tests/base/stdint-irix65.h: Remove.
	* tests/base/stdint.h [IRIX_STDINT_C99_MODE_CHECK]: Remove.
	* tests/base/sys/asm.h: Remove.
	* tests/base/sys/socket.h [IRIX_SOCKLEN_T_CHECK]: Remove.

	contrib:
	* config-list.mk (LIST): Remove mips-sgi-irix6.5.

	toplevel:
	* MAINTAINERS (OS Port Maintainers): Remove irix.
	* configure.ac (enable_libgomp): Remove *-*-irix6*.
	(unsupported_languages): Remove mips-sgi-irix6.*.
	(noconfigdirs): Don't add ${libgcj} for mips*-*-irix6*.
	(with_stabs): Remove.
	* configure: Regenerate.

From-SVN: r185390
2012-03-14 16:33:37 +00:00
Rainer Orth
5c30094f48 Remove obsolete Tru64 UNIX V5.1B support
libstdc++-v3:
	* configure.host: Remove osf* handling.
	* config/os/osf: Remove.
	* doc/xml/manual/using.xml: Remove OSF reference.

	* testsuite/18_support/pthread_guard.cc: Remove alpha*-*-osf*
	handling.
	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
	Likewise.
	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
	Likewise.
	* testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
	* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
	* testsuite/23_containers/list/pthread1.cc: Likewise.
	* testsuite/23_containers/list/pthread5.cc: Likewise.
	* testsuite/23_containers/map/pthread6.cc: Likewise.
	* testsuite/23_containers/vector/debug/multithreaded_swap.cc:
	Likewise.
	* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
	* testsuite/30_threads/async/42819.cc: Likewise.

	* libstdc++-v3/testsuite/30_threads/async/49668.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/async/any.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/async/async.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/async/launch.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/async/sync.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/call_once/39909.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/call_once/49668.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/call_once/call_once1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable/cons/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable/members/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable/members/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable_any/50862.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable_any/members/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable_any/members/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/future/cons/move.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/45133.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/get.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/get2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/share.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/valid.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/wait.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/lock/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/lock/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/lock/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/dest/destructor_locked.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/unlock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/cons/move.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/swap.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/lock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/unlock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/this_thread/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/this_thread/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/this_thread/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/this_thread/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/49668.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/5.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/6.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/7.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/8.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/9.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/moveable.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/5.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/hardware_concurrency.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/swap/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/3.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/try_lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/try_lock/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/try_lock/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/try_lock/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/modifiers/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/modifiers/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/ext/rope/pthread7-rope.cc: Likewise.
	* libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
	Likewise.
	* libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.

	libobjc:
	* configure.ac (enable_objc_gc): Remove alpha*-dec-osf* handling.
	* configure: Regenerate.

	* thr.c (_XOPEN_SOURCE): Define unconditionally.

	libjava:
	* configure.ac (alpha*-dec-osf*): Remove.
	* configure: Regenerate.
	* configure.host (alpha*-dec-osf*): Remove.

	* gnu/java/net/natPlainDatagramSocketImplPosix.cc (setOption): Use
	IPV6_MULTICAST_IF unconditionally.
	* gnu/java/net/natPlainDatagramSocketImplWin32.cc (setOption):
	Likewise.
	* gnu/java/net/natPlainSocketImplPosix.cc
	(gnu::java::net::PlainSocketImpl::accept): Use ::accept instead of
	_Jv_accept.
	* include/posix-signal.h [__alpha__ && __osf__]: Remove.
	* include/posix.h (_POSIX_PII_SOCKET): Don't define.
	(_Jv_accept): Remove.

	* java/io/File.java (File._access): Rename to access.
	Change callers.
	(File._stat): Likewise.
	* java/io/File.h: Regenerate.
	* classpath/lib/java/io/File.class: Regenerate.
	* java/io/natFilePosix.cc (java::io::File::_access): Rename to
	access.
	(java::io::File::_stat): Rename to stat.
	* java/io/natFileWin32.cc: Likewise.

	* testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation):
	Remove alpha*-dec-osf* handling.
	* testsuite/libjava.jvmti/jvmti-interp.exp
	(gcj_jni_compile_c_to_so): Likewise.
	* testsuite/libjava.jvmti/jvmti.exp (gcj_jvmti_compile_cxx_to_o):
	Likewise.

	libitm:
	* configure.tgt (*-*-osf*): Remove.
	* configure: Regenerate.

	libgomp:
	* configure.tgt (alpha*-dec-osf*): Remove.

	* config/osf/sem.h: Remove.
	* config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.

	libgfortran:
	* configure.ac: Remove Tru64 reference.
	* acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Remove alpha*-dec-osf*
	handling.
	* configure: Regenerate.
	* intrinsics/c99_functions.c [__osf__]: Remove.

	libgcc:
	* config.host: Remove alpha*-dec-osf5.1* handling.
	* config/alpha/gthr-posix.c: Remove.
	* config/alpha/libgcc-osf5.ver: Remove.
	* config/alpha/osf5-unwind.h: Remove.
	* config/alpha/t-osf-pthread: Remove.
	* config/alpha/t-slibgcc-osf: Remove.
	* config/t-crtfm (crtfastmath.o): Remove -frandom-seed.
	* gthr-posix.h [!_REENTRANT && __osf__] (_REENTRANT): Don't define.
	[__osf__ && _PTHREAD_USE_MANGLED_NAMES_]: Remove.
	* mkmap-flat.awk: Remove osf_export handling.

	gnattools:
	* configure.ac: Remove alpha*-dec-osf* handling.
	* configure: Regenerate.

	gcc/testsuite:
	* g++.dg/abi/rtti3.C: Remove alpha*-dec-osf* handling.
	* g++.dg/abi/thunk4.C: Likewise.
	* g++.dg/cdce3.C: Don't skip on*-dec-osf5*.
	Adapt line numbers.
	* g++.dg/compat/struct-layout-1_generate.c: Remove alpha*-dec-osf*
	handling.
	* g++.dg/cpp0x/constexpr-rom.C: Likewise.
	* g++.dg/eh/spbp.C: Likewise.
	* g++.dg/ext/label13.C: Likewise.
	* g++.dg/guality/guality.exp: Likewise.
	* g++.dg/other/anon5.C: Likewise.
	* g++.dg/other/pragma-ep-1.C: Remove.
	* g++.dg/warn/miss-format-1.C: Remove alpha*-dec-osf* handling.
	* g++.dg/warn/pr31246.C: Likewise.
	* g++.dg/warn/weak1.C: Likewise.
	* g++.old-deja/g++.eh/badalloc1.C: Likewise.
	* g++.old-deja/g++.ext/attrib5.C: Likewise.
	* gcc.c-torture/compile/limits-declparen.c: Likewise.
	* gcc.c-torture/compile/limits-pointer.c: Likewise.
	* gcc.c-torture/execute/20001229-1.c: Remove __osf__ handling.
	* gcc.dg/attr-weakref-1.c: Remove alpha*-dec-osf* handling.
	* gcc.dg/c99-stdint-6.c: Remove alpha*-dec-osf5* handling.
	* gcc.dg/c99-tgmath-1.c: Likewise.
	* gcc.dg/c99-tgmath-2.c: Likewise.
	* gcc.dg/c99-tgmath-3.c: Likewise.
	* gcc.dg/c99-tgmath-4.c: Likewise.
	* gcc.dg/compat/struct-layout-1_generate.c: Remove alpha*-dec-osf*
	handling.
	* gcc.dg/debug/pr49032.c: Likewise.
	* gcc.dg/guality/guality.exp: Likewise.
	* gcc.dg/intmax_t-1.c: Likewise.
	* gcc.dg/pr48616.c: Likewise.
	* gcc.dg/pragma-ep-1.c: Remove.
	* gcc.dg/pragma-ep-2.c: Remove.
	* gcc.dg/pragma-ep-3.c: Remove.
	* gcc.dg/torture/pr47917.c: Remove alpha*-dec-osf5* handling.
	* gcc.dg/tree-ssa/pr42585.c: Remove alpha*-dec-osf* handling.
	* gcc.misc-tests/gcov-14.c: Likewise.
	* gfortran.dg/guality/guality.exp: Likewise.
	* lib/target-supports.exp (check_weak_available): Likewise.
	(add_options_for_tls): Likewise.
	(check_ascii_locale_available): Likewise.
	* obj-c++.dg/dwarf-2.mm: Likewise.
	* objc.dg/dwarf-1.m: Likewise.
	* objc.dg/dwarf-2.m: Likewise.

	gcc/c-family:
	* c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
	handling.
	* c-pragma.c (handle_pragma_extern_prefix): Remove.
	(init_pragma): Don't register extern_prefix.

	gcc/po:
	* EXCLUDES (mips-tdump.c, mips-tfile.c): Remove.

	gcc:
	* config.gcc (alpha*-dec-osf5.1*): Remove.
	* config.host (alpha*-dec-osf*): Remove.
	* configure.ac (*-*-osf*): Remove.
	(alpha*-dec-osf*): Remove.
	* configure: Regenerate.

	* config/alpha/host-osf.c, config/alpha/osf5.h,
	config/alpha/osf5.opt, config/alpha/va_list.h, config/alpha/x-osf:
	Remove.

	* config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Remove.
	* config/alpha/alpha.c (struct machine_function): Update comment.
	(alpha_start_function): Remove Tru64 UNIX as handling for
	max_frame_size.
	* config/alpha/alpha.md ("exception_receiver"): Remove
	TARGET_LD_BUGGY_LDGP.
	("*exception_receiver_2"): Likewise.
	* except.c (finish_eh_generation): Remove Tru64 reference.
	* ginclude/stdarg.h [_HIDDEN_VA_LIST]: Don't undef _VA_LIST.
	* system.h (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Poison.
	* target.def (handle_pragma_extern_prefix): Remove.

	* Makefile.in (mips-tfile.o-warn): Remove.
	(ALL_HOST_BACKEND_OBJS): Remove mips-tfile.o, mips-tdump.o.
	(mips-tfile, mips-tfile.o, mips-tdump, mips-tdump.o): Remove.
	* mips-tdump.c, mips-tfile.c: Remove.

	* doc/extend.texi (Symbol-Renaming Pragmas): Remove #pragma
	extern_prefix.
	* doc/install.texi (Binaries): Remove Tru64 UNIX reference.
	(Specific, alpha*-dec-osf5.1): Note removal.
	* doc/tm.texi.in (Misc, TARGET_HANDLE_PRAGMA_EXTERN_PREFIX):
	Remove.
	* doc/tm.texi: Regenerate.
	* doc/trouble.texi (Cross-Compiler Problems): Remove.

	gcc/ada:
	* gcc-interface/Makefile.in (alpha*-dec-osf*): Remove.
	* a-intnam-tru64.ads, mlib-tgt-specific-tru64.adb,
	s-mastop-tru64.adb, s-osinte-tru64.adb, s-osinte-tru64.ads,
	s-taprop-tru64.adb, s-tasinf-tru64.ads, s-taspri-tru64.ads,
	system-tru64.ads: Remove.

	* adaint.c (__gnat_number_of_cpus) [__alpha__ && __osf__]:
	Remove.
	[IS_CROSS] [!(__alpha__ && __osf__)]: Remove.
	* env.c [__alpha__ && __osf__]: Remove.
	* gsocket.h (_OSF_SOURCE): Remove.
	(HAVE_THREAD_SAFE_GETxxxBYyyy) [__osf__]: Remove.
	* init.c [__alpha__ && __osf__]: Remove.
	* link.c [__osf__]: Remove.
	* s-oscons-tmplt.c [__alpha__ && __osf__]: Remove.
	[__osf__ && !_SS_MAXSIZE]: Remove.
	* sysdep.c [__osf__]: Remove.
	* terminals.c [__alpha__ && __osf__]: Remove.
	[OSF1]: Remove.

	* g-traceb.ads: Remove Tru64 reference.
	* g-trasym.ads: Likewise.
	* gnat_ugn.texi (Linking a Mixed C++ & Ada Program): Likewise.
	(Summary of Run-Time Configurations): Likewise.
	* memtrack.adb: Likewise.

	fixincludes:
	* inclhack.def (alpha___extern_prefix): Remove.
	(alpha___extern_prefix_standards): Remove.
	(alpha___extern_prefix_sys_stat): Remove.
	(alpha_bad_lval): Remove.
	(alpha_pthread): Remove.
	(alpha_pthread_gcc): Remove.
	(alpha_pthread_init): Remove.
	* fixincl.x: Regenerate.
	* tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: Remove.
	[ALPHA_PTHREAD_GCC_CHECK]: Remove.
	[ALPHA_PTHREAD_INIT_CHECK]: Remove.
	* tests/base/standards.h: Remove.
	* tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_SYS_STAT_CHECK]:
	Remove.
	* tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: Remove.
	[ALPHA_BAD_LVAL_CHECK]: Remove.

	contrib:
	* config-list.mk (LIST): Remove alpha-dec-osf5.1.

	config:
	* weakref.m4 (GCC_CHECK_ELF_STYLE_WEAKREF): Remove
	alpha*-dec-osf*.

	toplevel:
	* MAINTAINERS (OS Port Maintainers): Remove osf.
	* configure.ac (enable_libgomp): Remove *-*-osf*.
	(with_stabs): Remove alpha*-*-osf*.
	* configure: Regenerate.

From-SVN: r185240
2012-03-12 15:35:56 +00: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
Tobias Burnus
8ecd1c0da4 re PR libfortran/51899 (libgfortran's chmod.c fails to build on MinGW)
2012-01-20  Tobias Burnus  <burnus@net-b.de>

        PR libgfortran/51899
        * configure.ac: Check whether umask is available.
        * intrinsics/chmod.c (chmod_func): Make compile with MinGW.
        * configure: Regenerate.
        * config.h.in: Regenerate.

From-SVN: r183335
2012-01-20 12:32:52 +01:00
Tobias Burnus
9c69933102 re PR libfortran/36755 (Avoid fork/exec in chmod intrinsic)
2012-01-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36755
        * intrinsic.texi (CHMOD): Extend a bit and remove statement
        that /bin/chmod is called.

2012-01-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36755
        * intrinsics/chmod.c (chmod_func): Replace call to /bin/chmod

From-SVN: r183137
2012-01-12 21:26:10 +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
Rainer Orth
0efbd687f3 Link libgfortran with -shared-libgcc
* Makefile.am (libgfortran_la_LDFLAGS): Add -Wc,-shared-libgcc.
	* Makefile.in: Regenerate.

From-SVN: r183016
2012-01-09 16:02:36 +00:00
Richard Biener
a7f4504744 2012-01-09 Richard Guenther <rguenther@suse.de>
Rotate changelogs.

From-SVN: r183007
2012-01-09 10:11:38 +00:00
Tobias Burnus
5d81ddd07f 2012-01-06 Tobias Burnus <burnus@net-b.de>
* trans-openmp.c (gfc_omp_clause_dtor,
        * gfc_trans_omp_array_reduction):
        Update call to gfc_trans_dealloc_allocated.
        * trans.c (gfc_allocate_using_malloc): Fix spacing.
        (gfc_allocate_allocatable): For gfc_allocate_using_lib, jump to
        label_finish when an error occurs.
        (gfc_deallocate_with_status): Call caf_deregister for -fcoarray=lib.
        * trans.h (gfc_allocate_allocatable,
        * gfc_deallocate_with_status):
        Update prototype.
        (gfor_fndecl_caf_deregister): New tree symbol.
        * trans-expr.c (gfc_conv_procedure_call): Update
        gfc_deallocate_with_status and gfc_trans_dealloc_allocated calls.
        * trans-array.c (gfc_array_allocate,
        * gfc_trans_dealloc_allocated,
        structure_alloc_comps, gfc_trans_deferred_array): Ditto.
        (gfc_array_deallocate): Handle coarrays with -fcoarray=lib.
        * trans-array.h (gfc_array_deallocate, gfc_array_allocate,
        gfc_trans_dealloc_allocated): Update prototypes.
        * trans-stmt.c (gfc_trans_sync): Fix indentation.
        (gfc_trans_allocate): Fix errmsg padding and label handling.
        (gfc_trans_deallocate): Ditto and handle -fcoarray=lib.
        * expr.c (gfc_is_coarray): Fix algorithm for BT_CLASS.
        * libgfortran.h (GFC_STAT_STOPPED_IMAGE): Use large value
        to avoid other stats accidentally matching this one.
        * trans-decl.c (gfor_fndecl_caf_deregister): New global var.
        (gfc_build_builtin_function_decls): Fix prototype decl of caf_register
        and add decl for caf_deregister.
        (gfc_trans_deferred_vars): Handle CAF vars with -fcoarrays=lib.
        * trans-intrinsic.c (conv_intrinsic_move_alloc): Update call to
        gfc_deallocate_with_status.

2012-01-06  Tobias Burnus <burnus@net-b.de>

        * caf/single.c (_gfortran_caf_register,
        * _gfortran_caf_deregister):
        Fix token handling.
        * caf/mpi.c  (_gfortran_caf_register, _gfortran_caf_deregister):
        * Ditto.
        * caf/libcaf.h (STAT_STOPPED_IMAGE): Sync with libgfortran.h.
        (_gfortran_caf_register, _gfortran_caf_deregister): Update prototype.

2012-01-06  Tobias Burnus <burnus@net-b.de>

        * gfortran.dg/deallocate_stat_2.f90: New.
        * coarray/allocate_errgmsg.f90: New.
        * gfortran.dg/coarray_lib_alloc_1.f90: New.
        * gfortran.dg/coarray_lib_alloc_2.f90: New.
        * coarray/subobject_1.f90: Fix for num_images > 1.
        * gfortran.dg/deallocate_stat.f90: Update due to changed
        stat= handling.

From-SVN: r182951
2012-01-06 14:38:49 +01:00
Janne Blomqvist
42dfafa935 PR 51646 Use POSIX mode flags in open() argument.
2011-12-22  Janne Blomqvist  <jb@gcc.gnu.org>
	Tobias Burnus  <burnus@net-b.de>

	PR libfortran/51646
	* acinclude.m4 (LIBGFOR_CHECK_UNLINK_OPEN_FILE): Use POSIX mode
	flags, omit mode argument when flags argument does not have
	O_CREAT.
	* io/unix.c (tempfile): Use POSIX mode flags.
	* configure: Regenerate.


Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r182638
2011-12-22 22:44:32 +02:00
Tobias Burnus
3215710740 re PR fortran/50815 (ICE on allocation of deferred length character scalar dummy argument when -fbounds-check)
2011-12-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50815
        * trans-decl.c (add_argument_checking): Skip bound checking
        for deferred-length strings.

2011-12-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50815
        * gfortran.dg/bounds_check_16.f90: New.

From-SVN: r182134
2011-12-08 20:00:55 +01:00
Andreas Tobler
c6084f681e Additional fixes for FreeBSD-10 build:
/:			* libtool.m4: Additional FreeBSD 10 fixes.

boehm-gc/:		* configure: Regenerate.
gcc/:			* configure: Regenerate.
libffi/:		* configure: Regenerate.
libgfortran/:		* configure: Regenerate.
libgomp/:		* configure: Regenerate.
libitm/:		* configure: Regenerate.
libjava/:		* configure.ac: Fix some more FreeBSD 10 issues..
			* configure: Regenerate.
libjava/libltdl/:	* acinclude.m4: Additional FreeBSD 10 fixes.
			* configure: Regenerate.
libmudflap/:		* configure: Regenerate.
libobjc/:		* configure: Regenerate.
libquadmath/:		* configure: Regenerate.
libssp/:		* configure: Regenerate.
libstdc++-v3/:		* configure: Regenerate.
lto-plugin/:		* configure: Regenerate.
zlib/:			* configure: Regenerate.

From-SVN: r181593
2011-11-21 20:22:35 +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
992b0aa1cf Let the compiler decide whether to inline.
2011-11-10  Janne Blomqvist  <jb@gcc.gnu.org>

	* intrinsics/cpu_time.c (__cpu_time_1): Don't force inlining.
	* intrinsics/random.c (rnumber_4): Remove inline attribute.
	(rnumber_8, rnumber_10, rnumber_16): Likewise.
	* intrinsics/system_clock.c (gf_gettime_mono): Likewise.
	* intrinsics/time_1.h (ATTRIBUTE_ALWAYS_INLINE): Remove macro.
	(gf_cputime): Add inline attribute for MingW version.
	* io/format.c (format_hash): Remove inline attribute.
	* io/io.h (memset4): Inline function from transfer.c and write.c
	moved here.
	* io/transfer.c (min_off): Remove inline attribute.
	(memset4): Move to io.h.
	* io/write.c (memset4): Likewise.
	(memcpy4): Remove inline attribute.
	* io/write_float.def (calculate_exp): Likewise.

From-SVN: r181260
2011-11-10 19:08:24 +02:00
Janne Blomqvist
9f13f69749 Simplify time() usage.
2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

	* intrinsics/time_1.h (gf_gettime): Simplify time() usage.

From-SVN: r181228
2011-11-09 20:30:38 +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
Francois-Xavier Coudert
29d281ca3a 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: r181223
2011-11-09 10:09:42 -08: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
Tobias Burnus
60858d8a32 configure.ac: Make more cross-compile friendly.
2011-11-09  Tobias Burnus  <burnus@net-b.de>

        * configure.ac: Make more cross-compile friendly.
        * Makefile.in: Regenerate.
        * aclocal.m4: Regenerate.
        * config.h.in: Regenerate.
        * configure: Regenerate.

From-SVN: r181212
2011-11-09 18:17:57 +01: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
Janne Blomqvist
ed10039e8b PR 50016 Slow I/O on MingW due to _commit
frontend ChangeLog:

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/50016
	* gfortran.texi (Data consistency and durability): New section.


testsuite ChangeLog:

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/50016
	* gfortran.dg/inquire_size.f90: Don't flush the unit.

libgfortran ChangeLog:

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/50016
	* io/inquire.c (inquire_via_unit): Flush the unit and use ssize.
	* io/unix.c (buf_flush): Don't call _commit.

From-SVN: r181207
2011-11-09 17:46:15 +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
Francois-Xavier Coudert
287188ea07 re PR libfortran/47970 (c99_functions.c:611:5: warning: implicit declaration of function 'round')
PR libfortran/47970
	* intrinsics/c99_functions.c (round): Move higher in the file.

From-SVN: r181153
2011-11-08 10:31:04 +00:00
Janne Blomqvist
0948d15384 Revert previous fix for PR 45723.
libgfortran ChangeLog:

2011-11-07  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/45723
        * io/open.c (new_unit): Don't check file size before attempting
        seek.


testsuite ChangeLog:

2011-11-07  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/45723
        * gfortran.dg/open_dev_null.F90: Remove testcase.

From-SVN: r181085
2011-11-07 16:32:50 +02:00
Rainer Orth
5d1c8e77cf Move gthr to toplevel libgcc
gcc:
	* gthr-single.h, gthr.h: Move to ../libgcc.
	* gthr-aix.h: Move to ../libgcc/config/rs6000.
	* gthr-dce.h: Move to ../libgcc/config/pa.
	* gthr-lynx.h: Move to ../libgcc/config.
	* gthr-mipssde.h: Move to ../libgcc/config/mips.
	* gthr-posix.h: Move to ../libgcc/config.
	* gthr-rtems.h: Likewise.
	* gthr-tpf.h: Move to ../libgcc/config/s390.
	* gthr-vxworks.h: Move to ../libgcc/config.
	* gthr-win32.h: Move to ../libgcc/config/i386.
	* configure.ac (gthread_flags): Remove
	(gthr-default.h): Don't create.
	(thread_file): Don't substitute.
	* configure: Regenerate.
	* Makefile.in (GCC_THREAD_FILE): Remove.
	(GTHREAD_FLAGS): Remove.
	(libgcc.mvars): Remove GTHREAD_FLAGS.
	* config/t-vxworks (EXTRA_HEADERS): Remove.

	gcc/po:
	* EXCLUDES (gthr-aix.h, gthr-dce.h, gthr-posix.c, gthr-posix.h)
	(gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h)
	(gthr-win32.h, gthr.h): Remove.

	libgcc:
	* gthr-single.h, gthr.h: New files.
	* config/gthr-lynx.h, config/gthr-posix.h., config/gthr-rtems.h,
	config/gthr-vxworks.h, config/i386/gthr-win32.h,
	config/mips/gthr-mipssde.h, config/pa/gthr-dce.h,
	config/rs6000/gthr-aix.h, config/s390/gthr-tpf.h: New files.
	* config/i386/gthr-win32.c: Include "gthr-win32.h".
	* configure.ac (thread_header): New variable.
	Set it depending on target_thread_file.
	(gthr-default.h): Link from $thread_header.
	* configure: Regenerate.
	* Makefile.in (LIBGCC2_CFLAGS): Remove $(GTHREAD_FLAGS).

	libgfortran:
	* Makefile.am (AM_CPPFLAGS): Add
	-I$(srcdir)/$(MULTISRCTOP)../libgcc, -I$(MULTIBUILDTOP)../libgcc.
	* Makefile.in: Regenerate.
	* acinclude.m4 (LIBGFOR_CHECK_GTHR_DEFAULT): Remove.
	* configure.ac (LIBGFOR_CHECK_GTHR_DEFAULT): Likewise.
	* configure: Regenerate.
	* config.h.in: Regenerate.

	libobjc:
	* Makefile.in (INCLUDES): Add -I$(MULTIBUILDTOP)../libgcc.
	* configure.ac (target_thread_file, HAVE_GTHR_DEFAULT): Remove.
	* configure: Regenerate.
	* config.h.in: Regenerate.

	libstdc++-v3:
	* acinclude.m4 (GLIBCXX_CONFIGURE): Determine and substitute
	toplevel_builddir.
	(GLIBCXX_ENABLE_THREADS): Remove glibcxx_thread_h,
	HAVE_GTHR_DEFAULT, enable_thread.
	(GLIBCXX_CHECK_GTHREADS): Reflect gthr move to libgcc.
	* include/Makefile.am (thread_host_headers): Remove
	${host_builddir}/gthr-tpf.h.
	(${host_builddir}/gthr.h): Reflect gthr move to libgcc.
	Use $<.
	(${host_builddir}/gthr-single.h): Likewise.
	(${host_builddir}/gthr-posix.h): Likewise.
	(${host_builddir}/gthr-tpf.h): Remove.
	(${host_builddir}/gthr-default.h): Likewise.
	* configure, config.h.in: Regenerate.
	* Makefile.in, doc/Makefile.in, include/Makefile.in,
	libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
	src/Makefile.intestsuite/Makefile.in: Regenerate.

From-SVN: r180776
2011-11-02 15:28:43 +00:00
Janne Blomqvist
eb6a1e56e0 Copyright years and whitespace fix for r180734
From-SVN: r180736
2011-11-01 14:03:38 +02:00
Janne Blomqvist
ea5e3c042b Cleanup NEWUNIT allocation.
2011-11-01  Janne Blomqvist  <jb@gcc.gnu.org>

	* io/io.h (next_available_newunit): Remove prototype.
	* io/unit.h (next_available_newunit): Make variable static,
	initialize it.
	(init_units): Don't initialize next_available_newunit.
	(get_unique_unit_number): Use atomic builtin if available.

From-SVN: r180734
2011-11-01 13:44:12 +02:00
Janne Blomqvist
08810e5257 Update file position for inquire lazily.
libgfortran ChangeLog:

2011-10-31  Janne Blomqvist  <jb@gcc.gnu.org>

	* io/inquire.c (inquire_via_unit): Check whether we're at the
	beginning or end if the position is unspecified. If the position
	is not one of the 3 standard ones, return unspecified.
	* io/io.h (update_position): Remove prototype.
	* io/transfer.c (next_record): Set the position to unspecified,
	letting inquire figure it out more exactly when needed.
	* io/unit.c (update_position): Remove function.


testsuite ChangeLog:

2011-10-31  Janne Blomqvist  <jb@gcc.gnu.org>

	* gfortran.dg/inquire_5.f90: Update testcase to match the standard
	and current implementation.

From-SVN: r180703
2011-10-31 16:59:19 +02:00
Janne Blomqvist
3469bd8660 Introduce a size member function to struct stream.
2011-10-31  Janne Blomqvist  <jb@gcc.gnu.org>

	* io/unix.h (struct stream): Add size function pointer.
	(ssize): New inline function.
	(file_length): Remove prototype.
	* io/unix.c (raw_size): New function.
	(raw_init): Initialize st.size pointer.
	(buf_size): New function.
	(buf_init): Initialize st.size pointer.
	(open_internal): Likewise.
	(open_internal4): Likewise.
	(file_length): Remove function.
	* io/file_pos.c (st_rewind): Use ssize instead of file_length.
	* io/open.c (test_endfile): Likewise.
	* io/transfer.c (data_transfer_init): Likewise.
	(next_record_r): Likewise.
	(next_record_w): Likewise.
	* io/unit.c (update_position): Likewise.

From-SVN: r180702
2011-10-31 16:52:26 +02:00
Janne Blomqvist
7d5ee21935 Simplify handling of special files.
2011-10-31  Janne Blomqvist  <jb@gcc.gnu.org>

* io/file_pos.c (st_rewind): Handle regular and special files
identically.
* io/intrinsics.c (fseek_sub): Don't check whether we think the
file is seekable, just do what the caller says.
* io/transfer.c (skip_record): First try to seek, then fallback to
reading and throwing away what we read.
* io/unit.c (update_position): Don't check whether file is
seekable, just try to do what we're told.
(unit_truncate): Likewise.
* io/unix.c (struct unix_stream): Remove special_file flag.
(buf_flush): Remove code for handling unseekable files.
(buf_seek): Likewise.
(fd_to_stream): Use buffered IO only for regular files.
(file_length): Remove is_seekable() call.
(is_seekable): Remove function.
(is_special): Likewise.
* io/unix.h: Remove prototypes for is_seekable and is_special.

From-SVN: r180701
2011-10-31 16:45:50 +02:00
Thomas Koenig
95928a1322 re PR fortran/49479 (reshape / optionals / zero sized arrays)
2011-09-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/49479
	* generated/m4/ifunction.m4:  Always call internal_malloc_size
	even when there is a zero-sized return array.
	* generated/generated/maxloc1_16_i16.c: Regenerated.
	* generated/generated/maxloc1_16_i1.c: Regenerated.
	* generated/generated/maxloc1_16_i2.c: Regenerated.
	* generated/generated/maxloc1_16_i4.c: Regenerated.
	* generated/generated/maxloc1_16_i8.c: Regenerated.
	* generated/generated/maxloc1_16_r10.c: Regenerated.
	* generated/generated/maxloc1_16_r16.c: Regenerated.
	* generated/generated/maxloc1_16_r4.c: Regenerated.
	* generated/generated/maxloc1_16_r8.c: Regenerated.
	* generated/generated/maxloc1_4_i16.c: Regenerated.
	* generated/generated/maxloc1_4_i1.c: Regenerated.
	* generated/generated/maxloc1_4_i2.c: Regenerated.
	* generated/generated/maxloc1_4_i4.c: Regenerated.
	* generated/generated/maxloc1_4_i8.c: Regenerated.
	* generated/generated/maxloc1_4_r10.c: Regenerated.
	* generated/generated/maxloc1_4_r16.c: Regenerated.
	* generated/generated/maxloc1_4_r4.c: Regenerated.
	* generated/generated/maxloc1_4_r8.c: Regenerated.
	* generated/generated/maxloc1_8_i16.c: Regenerated.
	* generated/generated/maxloc1_8_i1.c: Regenerated.
	* generated/generated/maxloc1_8_i2.c: Regenerated.
	* generated/generated/maxloc1_8_i4.c: Regenerated.
	* generated/generated/maxloc1_8_i8.c: Regenerated.
	* generated/generated/maxloc1_8_r10.c: Regenerated.
	* generated/generated/maxloc1_8_r16.c: Regenerated.
	* generated/generated/maxloc1_8_r4.c: Regenerated.
	* generated/generated/maxloc1_8_r8.c: Regenerated.
	* generated/generated/maxval_i16.c: Regenerated.
	* generated/generated/maxval_i1.c: Regenerated.
	* generated/generated/maxval_i2.c: Regenerated.
	* generated/generated/maxval_i4.c: Regenerated.
	* generated/generated/maxval_i8.c: Regenerated.
	* generated/generated/maxval_r10.c: Regenerated.
	* generated/generated/maxval_r16.c: Regenerated.
	* generated/generated/maxval_r4.c: Regenerated.
	* generated/generated/maxval_r8.c: Regenerated.
	* generated/generated/minloc1_16_i16.c: Regenerated.
	* generated/generated/minloc1_16_i1.c: Regenerated.
	* generated/generated/minloc1_16_i2.c: Regenerated.
	* generated/generated/minloc1_16_i4.c: Regenerated.
	* generated/generated/minloc1_16_i8.c: Regenerated.
	* generated/generated/minloc1_16_r10.c: Regenerated.
	* generated/generated/minloc1_16_r16.c: Regenerated.
	* generated/generated/minloc1_16_r4.c: Regenerated.
	* generated/generated/minloc1_16_r8.c: Regenerated.
	* generated/generated/minloc1_4_i16.c: Regenerated.
	* generated/generated/minloc1_4_i1.c: Regenerated.
	* generated/generated/minloc1_4_i2.c: Regenerated.
	* generated/generated/minloc1_4_i4.c: Regenerated.
	* generated/generated/minloc1_4_i8.c: Regenerated.
	* generated/generated/minloc1_4_r10.c: Regenerated.
	* generated/generated/minloc1_4_r16.c: Regenerated.
	* generated/generated/minloc1_4_r4.c: Regenerated.
	* generated/generated/minloc1_4_r8.c: Regenerated.
	* generated/generated/minloc1_8_i16.c: Regenerated.
	* generated/generated/minloc1_8_i1.c: Regenerated.
	* generated/generated/minloc1_8_i2.c: Regenerated.
	* generated/generated/minloc1_8_i4.c: Regenerated.
	* generated/generated/minloc1_8_i8.c: Regenerated.
	* generated/generated/minloc1_8_r10.c: Regenerated.
	* generated/generated/minloc1_8_r16.c: Regenerated.
	* generated/generated/minloc1_8_r4.c: Regenerated.
	* generated/generated/minloc1_8_r8.c: Regenerated.
	* generated/generated/minval_i16.c: Regenerated.
	* generated/generated/minval_i1.c: Regenerated.
	* generated/generated/minval_i2.c: Regenerated.
	* generated/generated/minval_i4.c: Regenerated.
	* generated/generated/minval_i8.c: Regenerated.
	* generated/generated/minval_r10.c: Regenerated.
	* generated/generated/minval_r16.c: Regenerated.
	* generated/generated/minval_r4.c: Regenerated.
	* generated/generated/minval_r8.c: Regenerated.
	* generated/generated/product_c10.c: Regenerated.
	* generated/generated/product_c16.c: Regenerated.
	* generated/generated/product_c4.c: Regenerated.
	* generated/generated/product_c8.c: Regenerated.
	* generated/generated/product_i16.c: Regenerated.
	* generated/generated/product_i1.c: Regenerated.
	* generated/generated/product_i2.c: Regenerated.
	* generated/generated/product_i4.c: Regenerated.
	* generated/generated/product_i8.c: Regenerated.
	* generated/generated/product_r10.c: Regenerated.
	* generated/generated/product_r16.c: Regenerated.
	* generated/generated/product_r4.c: Regenerated.
	* generated/generated/product_r8.c: Regenerated.
	* generated/generated/sum_c10.c: Regenerated.
	* generated/generated/sum_c16.c: Regenerated.
	* generated/generated/sum_c4.c: Regenerated.
	* generated/generated/sum_c8.c: Regenerated.
	* generated/generated/sum_i16.c: Regenerated.
	* generated/generated/sum_i1.c: Regenerated.
	* generated/generated/sum_i2.c: Regenerated.
	* generated/generated/sum_i4.c: Regenerated.
	* generated/generated/sum_i8.c: Regenerated.
	* generated/generated/sum_r10.c: Regenerated.
	* generated/generated/sum_r16.c: Regenerated.
	* generated/generated/sum_r4.c: Regenerated.
	* generated/generated/sum_r8.c: Regenerated.

From-SVN: r178748
2011-09-10 14:06:57 +00:00
Thomas Koenig
3c63480725 bessel_r4.c: Regenerated.
2011-09-01  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* generated/bessel_r4.c: Regenerated.
	* generated/bessel_r8.c: Regenerated.
	* generated/bessel_r10.c: Regenerated.
	* generated/bessel_r16.c: Regenerated.

From-SVN: r178425
2011-09-01 16:44:16 +00:00
Tobias Burnus
86187d0fe0 trans-decl.c (generate_coarray_sym_init): Use GFC_CAF_COARRAY_STATIC for static coarrays.
gcc/fortran/
2011-08-29  Tobias Burnus  <burnus@net-b.de>

        * trans-decl.c (generate_coarray_sym_init): Use
        GFC_CAF_COARRAY_STATIC for static coarrays.

libgfortan/
2011-08-29  Tobias Burnus  <burnus@net-b.de>

        * caf/libcaf.h (_gfortran_caf_deregister): Update prototype.
        * caf/mpi.c (_gfortran_caf_deregister): Modify prototype,
        actually free memory and add error diagnostic.
        (_gfortran_caf_finalize): Add additional free calls.
        * caf/single.c (_gfortran_caf_deregister): Modify prototype,
        actually free memory and add error diagnostic.
        (_gfortran_caf_finalize): Add additional free calls.

From-SVN: r178193
2011-08-29 12:33:09 +02:00
Thomas Koenig
e7898e54f4 re PR libfortran/50192 (Wrong character comparision with wide strings)
2011-08-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/50192
	* intrinsics/string_intrinsics.c (memcmp_char4):  New function.
	* intrinsics/string_intrinsics_inc.c:  New macro MEMCMP, either
	set to memcmp or memcmp_char4.
	(compare_string):  Use MEMCMP, with correct size for it.
	* libgfortran.h:  Add prototype for memcmp_char4.

2011-08-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/50192
	* gfortran.dg/widechar_compare_1.f90:  New test.

From-SVN: r178173
2011-08-29 09:05:11 +00:00
Thomas Koenig
3d2244b97f re PR fortran/48066 (Segfault with SUM of zero-sized array)
2011-08-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/40866
	* 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/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/norm2_r10.c: Regenerated.
	* generated/norm2_r16.c: Regenerated.
	* generated/norm2_r4.c: Regenerated.
	* generated/norm2_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/misc_specifics.F90: Regenerated (comment change).
	* generated/_abs_c10.F90: Regenerated (comment change).
	* generated/_abs_c16.F90: Regenerated (comment change).
	* generated/_abs_c4.F90: Regenerated (comment change).
	* generated/_abs_c8.F90: Regenerated (comment change).
	* generated/_abs_i16.F90: Regenerated (comment change).
	* generated/_abs_i4.F90: Regenerated (comment change).
	* generated/_abs_i8.F90: Regenerated (comment change).
	* generated/_abs_r10.F90: Regenerated (comment change).
	* generated/_abs_r16.F90: Regenerated (comment change).
	* generated/_abs_r4.F90: Regenerated (comment change).
	* generated/_abs_r8.F90: Regenerated (comment change).
	* generated/_acosh_r10.F90: Regenerated (comment change).
	* generated/_acosh_r16.F90: Regenerated (comment change).
	* generated/_acosh_r4.F90: Regenerated (comment change).
	* generated/_acosh_r8.F90: Regenerated (comment change).
	* generated/_acos_r10.F90: Regenerated (comment change).
	* generated/_acos_r16.F90: Regenerated (comment change).
	* generated/_acos_r4.F90: Regenerated (comment change).
	* generated/_acos_r8.F90: Regenerated (comment change).
	* generated/_aimag_c10.F90: Regenerated (comment change).
	* generated/_aimag_c16.F90: Regenerated (comment change).
	* generated/_aimag_c4.F90: Regenerated (comment change).
	* generated/_aimag_c8.F90: Regenerated (comment change).
	* generated/_aint_r10.F90: Regenerated (comment change).
	* generated/_aint_r16.F90: Regenerated (comment change).
	* generated/_aint_r4.F90: Regenerated (comment change).
	* generated/_aint_r8.F90: Regenerated (comment change).
	* generated/_anint_r10.F90: Regenerated (comment change).
	* generated/_anint_r16.F90: Regenerated (comment change).
	* generated/_anint_r4.F90: Regenerated (comment change).
	* generated/_anint_r8.F90: Regenerated (comment change).
	* generated/_asinh_r10.F90: Regenerated (comment change).
	* generated/_asinh_r16.F90: Regenerated (comment change).
	* generated/_asinh_r4.F90: Regenerated (comment change).
	* generated/_asinh_r8.F90: Regenerated (comment change).
	* generated/_asin_r10.F90: Regenerated (comment change).
	* generated/_asin_r16.F90: Regenerated (comment change).
	* generated/_asin_r4.F90: Regenerated (comment change).
	* generated/_asin_r8.F90: Regenerated (comment change).
	* generated/_atan2_r10.F90: Regenerated (comment change).
	* generated/_atan2_r16.F90: Regenerated (comment change).
	* generated/_atan2_r4.F90: Regenerated (comment change).
	* generated/_atan2_r8.F90: Regenerated (comment change).
	* generated/_atanh_r10.F90: Regenerated (comment change).
	* generated/_atanh_r16.F90: Regenerated (comment change).
	* generated/_atanh_r4.F90: Regenerated (comment change).
	* generated/_atanh_r8.F90: Regenerated (comment change).
	* generated/_atan_r10.F90: Regenerated (comment change).
	* generated/_atan_r16.F90: Regenerated (comment change).
	* generated/_atan_r4.F90: Regenerated (comment change).
	* generated/_atan_r8.F90: Regenerated (comment change).
	* generated/_conjg_c10.F90: Regenerated (comment change).
	* generated/_conjg_c16.F90: Regenerated (comment change).
	* generated/_conjg_c4.F90: Regenerated (comment change).
	* generated/_conjg_c8.F90: Regenerated (comment change).
	* generated/_cosh_r10.F90: Regenerated (comment change).
	* generated/_cosh_r16.F90: Regenerated (comment change).
	* generated/_cosh_r4.F90: Regenerated (comment change).
	* generated/_cosh_r8.F90: Regenerated (comment change).
	* generated/_cos_c10.F90: Regenerated (comment change).
	* generated/_cos_c16.F90: Regenerated (comment change).
	* generated/_cos_c4.F90: Regenerated (comment change).
	* generated/_cos_c8.F90: Regenerated (comment change).
	* generated/_cos_r10.F90: Regenerated (comment change).
	* generated/_cos_r16.F90: Regenerated (comment change).
	* generated/_cos_r4.F90: Regenerated (comment change).
	* generated/_cos_r8.F90: Regenerated (comment change).
	* generated/_dim_i16.F90: Regenerated (comment change).
	* generated/_dim_i4.F90: Regenerated (comment change).
	* generated/_dim_i8.F90: Regenerated (comment change).
	* generated/_dim_r10.F90: Regenerated (comment change).
	* generated/_dim_r16.F90: Regenerated (comment change).
	* generated/_dim_r4.F90: Regenerated (comment change).
	* generated/_dim_r8.F90: Regenerated (comment change).
	* generated/_exp_c10.F90: Regenerated (comment change).
	* generated/_exp_c16.F90: Regenerated (comment change).
	* generated/_exp_c4.F90: Regenerated (comment change).
	* generated/_exp_c8.F90: Regenerated (comment change).
	* generated/_exp_r10.F90: Regenerated (comment change).
	* generated/_exp_r16.F90: Regenerated (comment change).
	* generated/_exp_r4.F90: Regenerated (comment change).
	* generated/_exp_r8.F90: Regenerated (comment change).
	* generated/_log10_r10.F90: Regenerated (comment change).
	* generated/_log10_r16.F90: Regenerated (comment change).
	* generated/_log10_r4.F90: Regenerated (comment change).
	* generated/_log10_r8.F90: Regenerated (comment change).
	* generated/_log_c10.F90: Regenerated (comment change).
	* generated/_log_c16.F90: Regenerated (comment change).
	* generated/_log_c4.F90: Regenerated (comment change).
	* generated/_log_c8.F90: Regenerated (comment change).
	* generated/_log_r10.F90: Regenerated (comment change).
	* generated/_log_r16.F90: Regenerated (comment change).
	* generated/_log_r4.F90: Regenerated (comment change).
	* generated/_log_r8.F90: Regenerated (comment change).
	* generated/_mod_i16.F90: Regenerated (comment change).
	* generated/_mod_i4.F90: Regenerated (comment change).
	* generated/_mod_i8.F90: Regenerated (comment change).
	* generated/_mod_r10.F90: Regenerated (comment change).
	* generated/_mod_r16.F90: Regenerated (comment change).
	* generated/_mod_r4.F90: Regenerated (comment change).
	* generated/_mod_r8.F90: Regenerated (comment change).
	* generated/_sign_i16.F90: Regenerated (comment change).
	* generated/_sign_i4.F90: Regenerated (comment change).
	* generated/_sign_i8.F90: Regenerated (comment change).
	* generated/_sign_r10.F90: Regenerated (comment change).
	* generated/_sign_r16.F90: Regenerated (comment change).
	* generated/_sign_r4.F90: Regenerated (comment change).
	* generated/_sign_r8.F90: Regenerated (comment change).
	* generated/_sinh_r10.F90: Regenerated (comment change).
	* generated/_sinh_r16.F90: Regenerated (comment change).
	* generated/_sinh_r4.F90: Regenerated (comment change).
	* generated/_sinh_r8.F90: Regenerated (comment change).
	* generated/_sin_c10.F90: Regenerated (comment change).
	* generated/_sin_c16.F90: Regenerated (comment change).
	* generated/_sin_c4.F90: Regenerated (comment change).
	* generated/_sin_c8.F90: Regenerated (comment change).
	* generated/_sin_r10.F90: Regenerated (comment change).
	* generated/_sin_r16.F90: Regenerated (comment change).
	* generated/_sin_r4.F90: Regenerated (comment change).
	* generated/_sin_r8.F90: Regenerated (comment change).
	* generated/_sqrt_c10.F90: Regenerated (comment change).
	* generated/_sqrt_c16.F90: Regenerated (comment change).
	* generated/_sqrt_c4.F90: Regenerated (comment change).
	* generated/_sqrt_c8.F90: Regenerated (comment change).
	* generated/_sqrt_r10.F90: Regenerated (comment change).
	* generated/_sqrt_r16.F90: Regenerated (comment change).
	* generated/_sqrt_r4.F90: Regenerated (comment change).
	* generated/_sqrt_r8.F90: Regenerated (comment change).
	* generated/_tanh_r10.F90: Regenerated (comment change).
	* generated/_tanh_r16.F90: Regenerated (comment change).
	* generated/_tanh_r4.F90: Regenerated (comment change).
	* generated/_tanh_r8.F90: Regenerated (comment change).
	* generated/_tan_r10.F90: Regenerated (comment change).
	* generated/_tan_r16.F90: Regenerated (comment change).
	* generated/_tan_r4.F90: Regenerated (comment change).
	* generated/_tan_r8.F90: Regenerated (comment change).

From-SVN: r178140
2011-08-28 10:08:50 +00:00
Tobias Burnus
a2f3eae24d re PR fortran/50109 (Formatted namelist read with multiple "!" fails with: Cannot match namelist object name !)
2011-08-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50109
        * io/list_read.c (eat_separator): Fix skipping over "!" lines.

2011-08-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50109
        * gfortran.dg/namelist_73.f90: New.

From-SVN: r177858
2011-08-18 16:23:41 +02: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
f5e62ce922 re PR libfortran/49791 (Formatted namelist reads fails with: Cannot match namelist object)
2011-07-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49791
        * io/list_read.c (nml_parse_qualifier): Remove check to
        enabled extended read for another case.

2011-07-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49791
        * gfortran.dg/namelist_72.f: New.

From-SVN: r176661
2011-07-23 00:44:20 +02:00
Daniel Carrera
c0f1579204 mpi.c (caf_runtime_error): Change fprintf to vfprintf.
2011-07-15  Daniel Carrera  <dcarrera@gmail.com>

	* caf/mpi.c (caf_runtime_error): Change fprintf to vfprintf.
	* caf/single.c (caf_runtime_error): Ditto.

From-SVN: r176340
2011-07-15 22:39:03 +00:00
Daniel Carrera
8019694098 Remove error parameter from caf_runtime_error. Add caf_runtime_error to single.c.
From-SVN: r176278
2011-07-14 15:49:00 +00:00
Janne Blomqvist
5f54710465 PR 49296 List read, EOF without preceding separator
2011-07-13  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/49296
	* io/list_read.c (read_logical): Don't error out if a valid value
	is followed by EOF instead of a normal separator.
	(read_integer): Likewise.

testsuite:

2011-07-13  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/49296
	* gfortran.dg/read_list_eof_1.f90: Add tests for integer, real,
	and logical reads.

From-SVN: r176245
2011-07-13 21:46:44 +03: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
Tobias Burnus
41de45c6a0 mpi.c (runtime_error): New function.
2011-07-09  Tobias Burnus  <burnus@net-b.de>
            Daniel Carrera  <dcarrera@gmail.com>

        * caf/mpi.c (runtime_error): New function.
        (_gfortran_caf_register): Use it.
        (_gfortran_caf_sync_all): Use it, add STAT_STOPPED_IMAGE
        as possible status value.
        (_gfortran_caf_sync_images): Ditto.


Co-Authored-By: Daniel Carrera <dcarrera@gmail.com>

From-SVN: r176080
2011-07-09 16:29:50 +02:00
Tobias Burnus
4054bc52d6 trans.c (gfc_allocate_with_status): Call _gfortran_caf_register with NULL arguments for (new) stat=/errmsg= arguments.
2011-07-07  Tobias Burnus  <burnus@net-b.de>

        * trans.c (gfc_allocate_with_status): Call _gfortran_caf_register
        with NULL arguments for (new) stat=/errmsg= arguments.

2011-07-07  Tobias Burnus  <burnus@net-b.de>

        * libcaf.h (__attribute__, unlikely, likely): New macros.
        (caf_register_t): Update comment.
        (_gfortran_caf_register): Add stat, errmsg, errmsg_len arguments.
        * single.c (_gfortran_caf_register): Ditto; add error diagnostics.
        * mpi.c (_gfortran_caf_register): Ditto.
        (caf_is_finalized): New global variable.
        (_gfortran_caf_finalize): Use it.

From-SVN: r175966
2011-07-07 14:46:18 +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
Thomas Koenig
19b76346c0 re PR fortran/49479 (reshape / optionals / zero sized arrays)
2011-06-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/49479
	* m4/reshape.m4: If source allocation is smaller than one, set it
	to one.
	* intrinsics/reshape_generic.c:  Likewise.
	* generated/reshape_r16.c: Regenerated.
	* generated/reshape_c4.c: Regenerated.
	* generated/reshape_c16.c: Regenerated.
	* generated/reshape_c8.c: Regenerated.
	* generated/reshape_r4.c: Regenerated.
	* generated/reshape_i4.c: Regenerated.
	* generated/reshape_r10.c: Regenerated.
	* generated/reshape_r8.c: Regenerated.
	* generated/reshape_c10.c: Regenerated.
	* generated/reshape_i8.c: Regenerated.
	* generated/reshape_i16.c: Regenerated.

2011-06-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/49479
	* gfortran.dg/reshape_zerosize_3.f90:  New test.

From-SVN: r175594
2011-06-28 18:59:04 +00:00
Janne Blomqvist
d3ff9ee468 PR 49296 List directed read of string ending in EOF.
libgfortran ChangeLog entry:

2011-06-18  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/49296
        * io/list_read.c (read_character): Accept EOF as a separator when
        reading string.


testsuite ChangeLog entry:

2011-06-18  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/48296
	* gfortran.dg/read_list_eof_1.f90: New test.

From-SVN: r175166
2011-06-18 10:53:09 +03:00
Daniel Carrera
0a1138af63 single.c (_gfortran_caf_register): Store the address of all static coarrays in a linked list.
2011-06-17  Daniel Carrera  <dcarrera@gmail.com>

        * caf/single.c (_gfortran_caf_register): Store the address
        of all static coarrays in a linked list.
        (_gfortran_caf_finalize): Free memory of staic coarrays.
        * caf/mpi.c (_gfortran_caf_register): Store the address
        of all static coarrays in a linked list. Initialize MPI
        if necessary.
        (_gfortran_caf_finalize): Free memory of staic coarrays.
        (_gfortran_caf_init): Check if MPI is already initialized
        before initializing again.
        * caf/libcaf.h: Add a type to caf_register_t to distinguish
        static coarrays and add the type caf_static_t to make the
        linked list of static coarrays.

From-SVN: r175124
2011-06-17 01:09:36 +02:00
Janne Blomqvist
09ad57ec8f Return error when trying to seek a non-seekable buffered file
From-SVN: r174947
2011-06-11 13:52:18 +03:00
Janne Blomqvist
5ea0705af7 Figure out whether a file is seekable with lseek()
From-SVN: r174946
2011-06-11 13:19:49 +03:00
Daniel Carrera
f5c01f5bde trans-decl.c (gfc_build_builtin_function_decls): Updated declaration of caf_sync_all and caf_sync_images.
gcc/fortran/
2011-06-10  Daniel Carrera  <dcarrera@gmail.com>

        * trans-decl.c (gfc_build_builtin_function_decls):
        Updated declaration of caf_sync_all and caf_sync_images.
        * trans-stmt.c (gfc_trans_sync): Function
        can now handle a "stat" variable that has an integer type
        different from integer_type_node.

libgfortran/
2011-06-10  Daniel Carrera  <dcarrera@gmail.com>

        * caf/mpi.c (_gfortran_caf_sync_all,
        _gfortran_caf_sync_images): Functions have void return type
        and move status into parameter list.
        * caf/single.c (_gfortran_caf_sync_all,
        _gfortran_caf_sync_images): Functions have void return type
        and move status into parameter list.
        * caf/libcaf.h (_gfortran_caf_sync_all,
        _gfortran_caf_sync_images): Functions have void return type
        and move status into parameter list.

gcc/testsuite/
2011-06-10  Daniel Carrera  <dcarrera@gmail.com>

        * gfortran.dg/coarray/sync_1.f90: New test for
        "SYNC ALL", "SYNC MEMORY" and "SYNC IMAGES".

From-SVN: r174896
2011-06-10 12:22:24 +02:00
Richard Henderson
1b7a0148f0 gcc:
* config/i386/crtfastmath.c [!__x86_64__ && __sun__ && __svr4__]
	(sigill_hdlr): Correct insn, insn size.
	(set_fast_math) [!__x86_64__ && __sun__ && __svr4__]: Use movaps.

	gcc/testsuite:
	* lib/target-supports.exp (check_sse_os_support_available): Use
	movaps.

	libgfortran.
	* config/fpu-387.h [__sun__ && __svr4__] (sigill_hdlr): Correct
	insn, insn size.
	(has_sse) [!__x86_64__ && __sun__ && __svr4__]: Use movaps.

Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>

From-SVN: r174609
2011-06-03 17:36:21 +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
Janne Blomqvist
04a4a57b1b PR 19155 Check for strtod failure via endptr
From-SVN: r174393
2011-05-29 11:59:44 +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
Janne Blomqvist
9272cac88a PR 48977 Denormal exception on glibc targets
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>

From-SVN: r173952
2011-05-20 17:45:51 +03:00
Janne Blomqvist
57b4d355a1 Clarify FP exception documentation and messages
From-SVN: r173944
2011-05-20 15:55:45 +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
Tobias Burnus
b4224aec54 re PR libfortran/48961 (EXECUTE_COMMAND_LINE(WAIT=.false.) fails on MinGW)
2011-05-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48961
        * intrinsics/execute_command_line.c (set_cmdstat): Don't abort if
        synchronously executing with WAIT=.false.
        (execute_command_line): Fix setting of cmdstat and exitstat.

From-SVN: r173748
2011-05-14 08:35:18 +02:00
Tobias Burnus
cc9ae24cbe re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * caf/libcaf.h: Cleanup headers.
        (_gfortran_caf_critical, _gfortran_caf_end_critical): Make stub.
        (caf_register_t): New enum.
        (_gfortran_caf_register, _gfortran_caf_deregister): New prototype.
        * caf/single.c (_gfortran_caf_critical,
        _gfortran_caf_end_critical): Remove.
        (_gfortran_caf_register, _gfortran_caf_deregister): New functions.
        * caf/mpi.c (_gfortran_caf_critical,
        _gfortran_caf_end_critical): Remove.
        (_gfortran_caf_register, _gfortran_caf_deregister): New functions.
        (caf_world_window): Remove global variable.
        (_gfortran_caf_init): Fix off-by-one error of this_image.

From-SVN: r173505
2011-05-06 20:35:00 +02:00
Jerry DeLisle
d6b872ad5e re PR libfortran/48787 (Invalid UP/DOWN rounding with F editing)
2011-05-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/48787
	* io/write_float.def (output_float): Adjust up and down rounding for
	cases where 'd' = 0. Gather common code to one location.

From-SVN: r173408
2011-05-05 01:19:30 +00:00
Jerry DeLisle
7c4f44cd60 re PR libfortran/48787 (Invalid UP/DOWN rounding with F editing)
2011-05-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/48787
	* io/write_float.def (output_float): Gather up integer declarations and
	add new 'p' for scale factor. Use 'p' in place of the 'dtp' reference
	everywhere. For ROUND_UP scan the digit string and only perform
	rounding if something other than '0' is found.

From-SVN: r173231
2011-05-01 12:32:18 +00:00
Janne Blomqvist
176f076f05 Whitespace fixes
From-SVN: r173173
2011-04-29 19:11:36 +03:00
Janne Blomqvist
1e03060224 Fix path handling
From-SVN: r173172
2011-04-29 19:09:45 +03:00
Janne Blomqvist
848eab5c43 PR 48488 Typo
From-SVN: r173171
2011-04-29 19:06:48 +03:00
Janne Blomqvist
ef6d0b6760 PR 48488 Fix comments
From-SVN: r173170
2011-04-29 19:03:54 +03:00
Janne Blomqvist
d785f6a394 PR 48488 Fix comments
From-SVN: r173169
2011-04-29 18:58:20 +03:00
Jerry DeLisle
a3f02fe44c re PR libfortran/48488 (Wrong default format for real numbers)
2011-04-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
	    Janne Blomqvist  <jb@gcc.gnu.org>

	PR libgfortran/48488
	PR libgfortran/48602
	PR libgfortran/48615
	PR libgfortran/48684
	PR libgfortran/48787
	* io/write.c (write_d, write_e, write_f, write_en,
	write_es): Add precision compemsation parameter to call.
	(set_fnode_default): Adjust default widths to assure
	round trip on write and read. (write_real): Adjust call to write_float.
	(write_real_g0): Calculate compensation for extra precision and adjust
	call to write_float. 
	* io/write_float.def (output_float_FMT_G_): Use volatile rather than
	asm volatile to avoid optimization issue. Correctly calculate the
	number of blanks (nb) to be appended and simplify calculation logic.
	(write_float): Increase MIN_FIELD_WIDTH by one to accomodate the new
	default widths. Eliminate the code that attempted to reduce the
	the precision used in later sprintf functions.  Add call parameter to
	compensate for extra precision.

Co-Authored-By: Janne Blomqvist <jb@gcc.gnu.org>

From-SVN: r173166
2011-04-29 14:56:02 +00:00
Jim Meyering
046957830e remove useless if-before-free tests
Change "if (E) free (E);" to "free (E);" everywhere except in the
libgo/, intl/, zlib/ and classpath/ directories.
Also transform equivalent variants like
"if (E != NULL) free (E);" and allow an extra cast on the
argument to free.  Otherwise, the tested and freed "E"
expressions must be identical, modulo white space.

From-SVN: r172785
2011-04-20 18:19:03 +00:00
Jerry DeLisle
b48de48389 re PR libfortran/48602 (Invalid F conversion of G descriptor for values close to powers of 10)
2011-04-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/48602
	* io/write_float.def (output_float_FMT_G): Fix reversal in conditional.
	Use asm volatile to mark temp variable, avoiding optimization errors.

From-SVN: r172753
2011-04-20 04:18:25 +00:00
Jerry DeLisle
bc7409a8a9 re PR libfortran/48602 (Invalid F conversion of G descriptor for values close to powers of 10)
2011-04-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/48602
	* io/write_float.def (output_float_FMT_G): Use current rounding mode
	to set the rounding parameters. (output_float): Skip rounding
	if value is zero.

From-SVN: r172634
2011-04-18 03:48:25 +00:00
Janne Blomqvist
d30fe1c5cd Replace sprintf with snprintf
From-SVN: r172590
2011-04-16 20:43:03 +03:00
Jerry DeLisle
0b0a0c945f re PR libfortran/48589 (Invalid G0/G0.d editing for NaN/infinity)
2011-04-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/48589
	* io/write_float.def (write_infnan): Set width properly for G0.

From-SVN: r172502
2011-04-15 16:29:44 +00:00
Tobias Burnus
7e3d293f3d re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-04-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * Makefile.am: Build and install caf/single.c as
        libcaf_single.a.
        * Makefile.in: Regenerate.

From-SVN: r172499
2011-04-15 18:13:28 +02:00
Janne Blomqvist
2aadeae27f PR 47571 Fix bootstrap regression on alpha-dec-osf
From-SVN: r172469
2011-04-15 07:21:19 +03:00
Janne Blomqvist
44720bef9d Cleanup memsize types
From-SVN: r172340
2011-04-12 22:27:49 +03:00
Janne Blomqvist
51603205f2 Remove _GNU_SOURCE from AM_CPPFLAGS
From-SVN: r172330
2011-04-12 21:10:28 +03:00
Tobias Burnus
6eb87b330f re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-04-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * caf/mpi.c (_gfortran_caf_init, _gfortran_caf_finalize):
        Add global variable caf_mpi_initialized and use it for when
        finalizing.

From-SVN: r172059
2011-04-06 20:29:55 +02:00
Tobias Burnus
99ebea0382 unix.c: Adapt stat DEFINEs since MinGW64 supports LFS.
2011-04-04  Tobias Burnus  <burnus@net-b.de>

        * unix.c: Adapt stat DEFINEs since MinGW64 supports LFS.
        (fallback_access, open_internal4, compare_file_filename,
        find_file, file_size, inquire_sequential, inquire_direct,
        inquire_formatted): Use "struct stat" instead of gfstat_t.

From-SVN: r171911
2011-04-03 17:44:02 +02:00
Tobias Burnus
5092eb960c re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-03-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * caf/libcaf.h: New - coarray communication library.
        * caf/mpi.c: New.
        * caf/single.c: New.

From-SVN: r171570
2011-03-27 11:01:34 +02:00