gcc/libgfortran
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
..
caf resolve.c (resolve_ordinary_assign): Don't invoke caf_send when assigning a coindexed RHS scalar to a noncoindexed... 2014-06-25 22:31:32 +02:00
config re PR fortran/29383 (Fortran 2003/F95[TR15580:1999]: Floating point exception (IEEE) support) 2014-06-28 14:17:41 +00:00
generated Introduce xmallocarray, an overflow checking variant of xmalloc. 2014-06-17 06:50:34 +03:00
ieee re PR fortran/29383 (Fortran 2003/F95[TR15580:1999]: Floating point exception (IEEE) support) 2014-06-28 14:17:41 +00:00
intrinsics Introduce xmallocarray, an overflow checking variant of xmalloc. 2014-06-17 06:50:34 +03:00
io re PR libfortran/61499 (Internal read of negative integer broken) 2014-06-27 04:23:36 +00:00
m4 Introduce xmallocarray, an overflow checking variant of xmalloc. 2014-06-17 06:50:34 +03:00
runtime Introduce xmallocarray, an overflow checking variant of xmalloc. 2014-06-17 06:50:34 +03:00
acinclude.m4 Use -z ignore instead of --as-needed on Solaris 2013-05-24 09:23:33 +00:00
aclocal.m4 Set close-on-exec flag when opening files. 2013-11-10 22:34:29 +02:00
c99_protos.h Update copyright years in libgfortran/ 2014-01-02 22:25:45 +00:00
ChangeLog re PR fortran/29383 (Fortran 2003/F95[TR15580:1999]: Floating point exception (IEEE) support) 2014-06-28 14:17:41 +00:00
ChangeLog-2002 ChangeLog-2002: Add copyright footer. 2010-01-04 09:59:59 +01:00
ChangeLog-2003 ChangeLog-2002: Add copyright footer. 2010-01-04 09:59:59 +01:00
ChangeLog-2004 ChangeLog-2002: Add copyright footer. 2010-01-04 09:59:59 +01:00
ChangeLog-2005 ChangeLog-2002: Add copyright footer. 2010-01-04 09:59:59 +01:00
ChangeLog-2006 ChangeLog-2002: Add copyright footer. 2010-01-04 09:59:59 +01:00
ChangeLog-2007 ChangeLog-2002: Add copyright footer. 2010-01-04 09:59:59 +01:00
ChangeLog-2008 ChangeLog-2002: Add copyright footer. 2010-01-04 09:59:59 +01:00
ChangeLog-2009 ChangeLog-2002: Add copyright footer. 2010-01-04 09:59:59 +01:00
ChangeLog-2010 Rotate ChangeLogs. 2011-01-02 08:22:05 -08:00
ChangeLog-2011 2012-01-09 Richard Guenther <rguenther@suse.de> 2012-01-09 10:11:38 +00:00
ChangeLog-2012 ChangeLog rotation. 2013-01-03 10:47:48 +01:00
ChangeLog-2013 Rotate ChangeLog for 2013. 2014-06-17 06:55:59 +03:00
config.h.in PR 60324 Handle long path names, don't use PATH_MAX. 2014-05-22 06:51:25 +03:00
configure re PR fortran/29383 (Fortran 2003/F95[TR15580:1999]: Floating point exception (IEEE) support) 2014-06-28 14:17:41 +00:00
configure.ac re PR fortran/29383 (Fortran 2003/F95[TR15580:1999]: Floating point exception (IEEE) support) 2014-06-28 14:17:41 +00:00
configure.host re PR fortran/29383 (Fortran 2003/F95[TR15580:1999]: Floating point exception (IEEE) support) 2014-06-28 14:17:41 +00:00
fmain.c Add comment saying file is deprecated 2009-08-14 20:54:27 +03:00
gfortran.map re PR fortran/29383 (Fortran 2003/F95[TR15580:1999]: Floating point exception (IEEE) support) 2014-06-28 14:17:41 +00:00
kinds-override.h Update copyright years in libgfortran/ 2014-01-02 22:25:45 +00:00
libgfortran.h re PR fortran/29383 (Fortran 2003/F95[TR15580:1999]: Floating point exception (IEEE) support) 2014-06-28 14:17:41 +00:00
libgfortran.spec.in re PR fortran/32049 (Support on x86_64 also kind=16) 2010-11-16 22:23:19 +01:00
libtool-version
Makefile.am re PR fortran/29383 (Fortran 2003/F95[TR15580:1999]: Floating point exception (IEEE) support) 2014-06-28 14:17:41 +00:00
Makefile.in re PR fortran/29383 (Fortran 2003/F95[TR15580:1999]: Floating point exception (IEEE) support) 2014-06-28 14:17:41 +00:00
mk-kinds-h.sh re PR fortran/32049 (Support on x86_64 also kind=16) 2010-11-16 22:23:19 +01:00
mk-sik-inc.sh mk-sik-inc.sh: Make -Wunused-variable proof. 2008-09-10 19:18:08 +02:00
mk-srk-inc.sh intrinsic.h (gfc_check_selected_real_kind, [...]): Update prototypes. 2010-06-25 21:40:37 +02:00