summaryrefslogtreecommitdiff
path: root/libgfortran
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2015-04-22 10:21:45 +0000
committer <>2015-04-25 21:44:09 +0000
commitf80b5ea1605c9f9408c5aa386ba71c16d918ebbf (patch)
treebb7eafaa81fc4b8c5c215bc08d517fd158db234a /libgfortran
parentc27a97d04853380f1e80525391b3f0d156ed4c84 (diff)
downloadgcc-tarball-f80b5ea1605c9f9408c5aa386ba71c16d918ebbf.tar.gz
Imported from /home/lorry/working-area/delta_gcc-tarball/gcc-5.1.0.tar.bz2.gcc-5.1.0
Diffstat (limited to 'libgfortran')
-rw-r--r--libgfortran/ChangeLog733
-rw-r--r--libgfortran/ChangeLog-2013404
-rw-r--r--libgfortran/ChangeLog-2014780
-rw-r--r--libgfortran/Makefile.am143
-rw-r--r--libgfortran/Makefile.in944
-rw-r--r--libgfortran/aclocal.m46
-rw-r--r--libgfortran/c99_protos.h2
-rw-r--r--libgfortran/caf/libcaf.h83
-rw-r--r--libgfortran/caf/mpi.c42
-rw-r--r--libgfortran/caf/single.c987
-rw-r--r--libgfortran/config.h.in27
-rw-r--r--libgfortran/config/fpu-387.h368
-rw-r--r--libgfortran/config/fpu-aix.h295
-rw-r--r--libgfortran/config/fpu-generic.h29
-rw-r--r--libgfortran/config/fpu-glibc.h332
-rw-r--r--libgfortran/config/fpu-sysv.h350
-rwxr-xr-xlibgfortran/configure135
-rw-r--r--libgfortran/configure.ac51
-rw-r--r--libgfortran/configure.host26
-rw-r--r--libgfortran/generated/_abs_c10.F902
-rw-r--r--libgfortran/generated/_abs_c16.F902
-rw-r--r--libgfortran/generated/_abs_c4.F902
-rw-r--r--libgfortran/generated/_abs_c8.F902
-rw-r--r--libgfortran/generated/_abs_i16.F902
-rw-r--r--libgfortran/generated/_abs_i4.F902
-rw-r--r--libgfortran/generated/_abs_i8.F902
-rw-r--r--libgfortran/generated/_abs_r10.F902
-rw-r--r--libgfortran/generated/_abs_r16.F902
-rw-r--r--libgfortran/generated/_abs_r4.F902
-rw-r--r--libgfortran/generated/_abs_r8.F902
-rw-r--r--libgfortran/generated/_acos_r10.F902
-rw-r--r--libgfortran/generated/_acos_r16.F902
-rw-r--r--libgfortran/generated/_acos_r4.F902
-rw-r--r--libgfortran/generated/_acos_r8.F902
-rw-r--r--libgfortran/generated/_acosh_r10.F902
-rw-r--r--libgfortran/generated/_acosh_r16.F902
-rw-r--r--libgfortran/generated/_acosh_r4.F902
-rw-r--r--libgfortran/generated/_acosh_r8.F902
-rw-r--r--libgfortran/generated/_aimag_c10.F902
-rw-r--r--libgfortran/generated/_aimag_c16.F902
-rw-r--r--libgfortran/generated/_aimag_c4.F902
-rw-r--r--libgfortran/generated/_aimag_c8.F902
-rw-r--r--libgfortran/generated/_aint_r10.F902
-rw-r--r--libgfortran/generated/_aint_r16.F902
-rw-r--r--libgfortran/generated/_aint_r4.F902
-rw-r--r--libgfortran/generated/_aint_r8.F902
-rw-r--r--libgfortran/generated/_anint_r10.F902
-rw-r--r--libgfortran/generated/_anint_r16.F902
-rw-r--r--libgfortran/generated/_anint_r4.F902
-rw-r--r--libgfortran/generated/_anint_r8.F902
-rw-r--r--libgfortran/generated/_asin_r10.F902
-rw-r--r--libgfortran/generated/_asin_r16.F902
-rw-r--r--libgfortran/generated/_asin_r4.F902
-rw-r--r--libgfortran/generated/_asin_r8.F902
-rw-r--r--libgfortran/generated/_asinh_r10.F902
-rw-r--r--libgfortran/generated/_asinh_r16.F902
-rw-r--r--libgfortran/generated/_asinh_r4.F902
-rw-r--r--libgfortran/generated/_asinh_r8.F902
-rw-r--r--libgfortran/generated/_atan2_r10.F902
-rw-r--r--libgfortran/generated/_atan2_r16.F902
-rw-r--r--libgfortran/generated/_atan2_r4.F902
-rw-r--r--libgfortran/generated/_atan2_r8.F902
-rw-r--r--libgfortran/generated/_atan_r10.F902
-rw-r--r--libgfortran/generated/_atan_r16.F902
-rw-r--r--libgfortran/generated/_atan_r4.F902
-rw-r--r--libgfortran/generated/_atan_r8.F902
-rw-r--r--libgfortran/generated/_atanh_r10.F902
-rw-r--r--libgfortran/generated/_atanh_r16.F902
-rw-r--r--libgfortran/generated/_atanh_r4.F902
-rw-r--r--libgfortran/generated/_atanh_r8.F902
-rw-r--r--libgfortran/generated/_conjg_c10.F902
-rw-r--r--libgfortran/generated/_conjg_c16.F902
-rw-r--r--libgfortran/generated/_conjg_c4.F902
-rw-r--r--libgfortran/generated/_conjg_c8.F902
-rw-r--r--libgfortran/generated/_cos_c10.F902
-rw-r--r--libgfortran/generated/_cos_c16.F902
-rw-r--r--libgfortran/generated/_cos_c4.F902
-rw-r--r--libgfortran/generated/_cos_c8.F902
-rw-r--r--libgfortran/generated/_cos_r10.F902
-rw-r--r--libgfortran/generated/_cos_r16.F902
-rw-r--r--libgfortran/generated/_cos_r4.F902
-rw-r--r--libgfortran/generated/_cos_r8.F902
-rw-r--r--libgfortran/generated/_cosh_r10.F902
-rw-r--r--libgfortran/generated/_cosh_r16.F902
-rw-r--r--libgfortran/generated/_cosh_r4.F902
-rw-r--r--libgfortran/generated/_cosh_r8.F902
-rw-r--r--libgfortran/generated/_dim_i16.F902
-rw-r--r--libgfortran/generated/_dim_i4.F902
-rw-r--r--libgfortran/generated/_dim_i8.F902
-rw-r--r--libgfortran/generated/_dim_r10.F902
-rw-r--r--libgfortran/generated/_dim_r16.F902
-rw-r--r--libgfortran/generated/_dim_r4.F902
-rw-r--r--libgfortran/generated/_dim_r8.F902
-rw-r--r--libgfortran/generated/_exp_c10.F902
-rw-r--r--libgfortran/generated/_exp_c16.F902
-rw-r--r--libgfortran/generated/_exp_c4.F902
-rw-r--r--libgfortran/generated/_exp_c8.F902
-rw-r--r--libgfortran/generated/_exp_r10.F902
-rw-r--r--libgfortran/generated/_exp_r16.F902
-rw-r--r--libgfortran/generated/_exp_r4.F902
-rw-r--r--libgfortran/generated/_exp_r8.F902
-rw-r--r--libgfortran/generated/_log10_r10.F902
-rw-r--r--libgfortran/generated/_log10_r16.F902
-rw-r--r--libgfortran/generated/_log10_r4.F902
-rw-r--r--libgfortran/generated/_log10_r8.F902
-rw-r--r--libgfortran/generated/_log_c10.F902
-rw-r--r--libgfortran/generated/_log_c16.F902
-rw-r--r--libgfortran/generated/_log_c4.F902
-rw-r--r--libgfortran/generated/_log_c8.F902
-rw-r--r--libgfortran/generated/_log_r10.F902
-rw-r--r--libgfortran/generated/_log_r16.F902
-rw-r--r--libgfortran/generated/_log_r4.F902
-rw-r--r--libgfortran/generated/_log_r8.F902
-rw-r--r--libgfortran/generated/_mod_i16.F902
-rw-r--r--libgfortran/generated/_mod_i4.F902
-rw-r--r--libgfortran/generated/_mod_i8.F902
-rw-r--r--libgfortran/generated/_mod_r10.F902
-rw-r--r--libgfortran/generated/_mod_r16.F902
-rw-r--r--libgfortran/generated/_mod_r4.F902
-rw-r--r--libgfortran/generated/_mod_r8.F902
-rw-r--r--libgfortran/generated/_sign_i16.F902
-rw-r--r--libgfortran/generated/_sign_i4.F902
-rw-r--r--libgfortran/generated/_sign_i8.F902
-rw-r--r--libgfortran/generated/_sign_r10.F902
-rw-r--r--libgfortran/generated/_sign_r16.F902
-rw-r--r--libgfortran/generated/_sign_r4.F902
-rw-r--r--libgfortran/generated/_sign_r8.F902
-rw-r--r--libgfortran/generated/_sin_c10.F902
-rw-r--r--libgfortran/generated/_sin_c16.F902
-rw-r--r--libgfortran/generated/_sin_c4.F902
-rw-r--r--libgfortran/generated/_sin_c8.F902
-rw-r--r--libgfortran/generated/_sin_r10.F902
-rw-r--r--libgfortran/generated/_sin_r16.F902
-rw-r--r--libgfortran/generated/_sin_r4.F902
-rw-r--r--libgfortran/generated/_sin_r8.F902
-rw-r--r--libgfortran/generated/_sinh_r10.F902
-rw-r--r--libgfortran/generated/_sinh_r16.F902
-rw-r--r--libgfortran/generated/_sinh_r4.F902
-rw-r--r--libgfortran/generated/_sinh_r8.F902
-rw-r--r--libgfortran/generated/_sqrt_c10.F902
-rw-r--r--libgfortran/generated/_sqrt_c16.F902
-rw-r--r--libgfortran/generated/_sqrt_c4.F902
-rw-r--r--libgfortran/generated/_sqrt_c8.F902
-rw-r--r--libgfortran/generated/_sqrt_r10.F902
-rw-r--r--libgfortran/generated/_sqrt_r16.F902
-rw-r--r--libgfortran/generated/_sqrt_r4.F902
-rw-r--r--libgfortran/generated/_sqrt_r8.F902
-rw-r--r--libgfortran/generated/_tan_r10.F902
-rw-r--r--libgfortran/generated/_tan_r16.F902
-rw-r--r--libgfortran/generated/_tan_r4.F902
-rw-r--r--libgfortran/generated/_tan_r8.F902
-rw-r--r--libgfortran/generated/_tanh_r10.F902
-rw-r--r--libgfortran/generated/_tanh_r16.F902
-rw-r--r--libgfortran/generated/_tanh_r4.F902
-rw-r--r--libgfortran/generated/_tanh_r8.F902
-rw-r--r--libgfortran/generated/all_l1.c2
-rw-r--r--libgfortran/generated/all_l16.c2
-rw-r--r--libgfortran/generated/all_l2.c2
-rw-r--r--libgfortran/generated/all_l4.c2
-rw-r--r--libgfortran/generated/all_l8.c2
-rw-r--r--libgfortran/generated/any_l1.c2
-rw-r--r--libgfortran/generated/any_l16.c2
-rw-r--r--libgfortran/generated/any_l2.c2
-rw-r--r--libgfortran/generated/any_l4.c2
-rw-r--r--libgfortran/generated/any_l8.c2
-rw-r--r--libgfortran/generated/bessel_r10.c2
-rw-r--r--libgfortran/generated/bessel_r16.c2
-rw-r--r--libgfortran/generated/bessel_r4.c2
-rw-r--r--libgfortran/generated/bessel_r8.c2
-rw-r--r--libgfortran/generated/count_16_l.c2
-rw-r--r--libgfortran/generated/count_1_l.c2
-rw-r--r--libgfortran/generated/count_2_l.c2
-rw-r--r--libgfortran/generated/count_4_l.c2
-rw-r--r--libgfortran/generated/count_8_l.c2
-rw-r--r--libgfortran/generated/cshift0_c10.c2
-rw-r--r--libgfortran/generated/cshift0_c16.c2
-rw-r--r--libgfortran/generated/cshift0_c4.c2
-rw-r--r--libgfortran/generated/cshift0_c8.c2
-rw-r--r--libgfortran/generated/cshift0_i1.c2
-rw-r--r--libgfortran/generated/cshift0_i16.c2
-rw-r--r--libgfortran/generated/cshift0_i2.c2
-rw-r--r--libgfortran/generated/cshift0_i4.c2
-rw-r--r--libgfortran/generated/cshift0_i8.c2
-rw-r--r--libgfortran/generated/cshift0_r10.c2
-rw-r--r--libgfortran/generated/cshift0_r16.c2
-rw-r--r--libgfortran/generated/cshift0_r4.c2
-rw-r--r--libgfortran/generated/cshift0_r8.c2
-rw-r--r--libgfortran/generated/cshift1_16.c2
-rw-r--r--libgfortran/generated/cshift1_4.c2
-rw-r--r--libgfortran/generated/cshift1_8.c2
-rw-r--r--libgfortran/generated/eoshift1_16.c2
-rw-r--r--libgfortran/generated/eoshift1_4.c2
-rw-r--r--libgfortran/generated/eoshift1_8.c2
-rw-r--r--libgfortran/generated/eoshift3_16.c2
-rw-r--r--libgfortran/generated/eoshift3_4.c2
-rw-r--r--libgfortran/generated/eoshift3_8.c2
-rw-r--r--libgfortran/generated/exponent_r10.c2
-rw-r--r--libgfortran/generated/exponent_r16.c2
-rw-r--r--libgfortran/generated/exponent_r4.c2
-rw-r--r--libgfortran/generated/exponent_r8.c2
-rw-r--r--libgfortran/generated/fraction_r10.c2
-rw-r--r--libgfortran/generated/fraction_r16.c2
-rw-r--r--libgfortran/generated/fraction_r4.c2
-rw-r--r--libgfortran/generated/fraction_r8.c2
-rw-r--r--libgfortran/generated/iall_i1.c2
-rw-r--r--libgfortran/generated/iall_i16.c2
-rw-r--r--libgfortran/generated/iall_i2.c2
-rw-r--r--libgfortran/generated/iall_i4.c2
-rw-r--r--libgfortran/generated/iall_i8.c2
-rw-r--r--libgfortran/generated/iany_i1.c2
-rw-r--r--libgfortran/generated/iany_i16.c2
-rw-r--r--libgfortran/generated/iany_i2.c2
-rw-r--r--libgfortran/generated/iany_i4.c2
-rw-r--r--libgfortran/generated/iany_i8.c2
-rw-r--r--libgfortran/generated/in_pack_c10.c2
-rw-r--r--libgfortran/generated/in_pack_c16.c2
-rw-r--r--libgfortran/generated/in_pack_c4.c2
-rw-r--r--libgfortran/generated/in_pack_c8.c2
-rw-r--r--libgfortran/generated/in_pack_i1.c2
-rw-r--r--libgfortran/generated/in_pack_i16.c2
-rw-r--r--libgfortran/generated/in_pack_i2.c2
-rw-r--r--libgfortran/generated/in_pack_i4.c2
-rw-r--r--libgfortran/generated/in_pack_i8.c2
-rw-r--r--libgfortran/generated/in_pack_r10.c2
-rw-r--r--libgfortran/generated/in_pack_r16.c2
-rw-r--r--libgfortran/generated/in_pack_r4.c2
-rw-r--r--libgfortran/generated/in_pack_r8.c2
-rw-r--r--libgfortran/generated/in_unpack_c10.c2
-rw-r--r--libgfortran/generated/in_unpack_c16.c2
-rw-r--r--libgfortran/generated/in_unpack_c4.c2
-rw-r--r--libgfortran/generated/in_unpack_c8.c2
-rw-r--r--libgfortran/generated/in_unpack_i1.c2
-rw-r--r--libgfortran/generated/in_unpack_i16.c2
-rw-r--r--libgfortran/generated/in_unpack_i2.c2
-rw-r--r--libgfortran/generated/in_unpack_i4.c2
-rw-r--r--libgfortran/generated/in_unpack_i8.c2
-rw-r--r--libgfortran/generated/in_unpack_r10.c2
-rw-r--r--libgfortran/generated/in_unpack_r16.c2
-rw-r--r--libgfortran/generated/in_unpack_r4.c2
-rw-r--r--libgfortran/generated/in_unpack_r8.c2
-rw-r--r--libgfortran/generated/iparity_i1.c2
-rw-r--r--libgfortran/generated/iparity_i16.c2
-rw-r--r--libgfortran/generated/iparity_i2.c2
-rw-r--r--libgfortran/generated/iparity_i4.c2
-rw-r--r--libgfortran/generated/iparity_i8.c2
-rw-r--r--libgfortran/generated/matmul_c10.c2
-rw-r--r--libgfortran/generated/matmul_c16.c2
-rw-r--r--libgfortran/generated/matmul_c4.c2
-rw-r--r--libgfortran/generated/matmul_c8.c2
-rw-r--r--libgfortran/generated/matmul_i1.c2
-rw-r--r--libgfortran/generated/matmul_i16.c2
-rw-r--r--libgfortran/generated/matmul_i2.c2
-rw-r--r--libgfortran/generated/matmul_i4.c2
-rw-r--r--libgfortran/generated/matmul_i8.c2
-rw-r--r--libgfortran/generated/matmul_l16.c2
-rw-r--r--libgfortran/generated/matmul_l4.c2
-rw-r--r--libgfortran/generated/matmul_l8.c2
-rw-r--r--libgfortran/generated/matmul_r10.c2
-rw-r--r--libgfortran/generated/matmul_r16.c2
-rw-r--r--libgfortran/generated/matmul_r4.c2
-rw-r--r--libgfortran/generated/matmul_r8.c2
-rw-r--r--libgfortran/generated/maxloc0_16_i1.c2
-rw-r--r--libgfortran/generated/maxloc0_16_i16.c2
-rw-r--r--libgfortran/generated/maxloc0_16_i2.c2
-rw-r--r--libgfortran/generated/maxloc0_16_i4.c2
-rw-r--r--libgfortran/generated/maxloc0_16_i8.c2
-rw-r--r--libgfortran/generated/maxloc0_16_r10.c2
-rw-r--r--libgfortran/generated/maxloc0_16_r16.c2
-rw-r--r--libgfortran/generated/maxloc0_16_r4.c2
-rw-r--r--libgfortran/generated/maxloc0_16_r8.c2
-rw-r--r--libgfortran/generated/maxloc0_4_i1.c2
-rw-r--r--libgfortran/generated/maxloc0_4_i16.c2
-rw-r--r--libgfortran/generated/maxloc0_4_i2.c2
-rw-r--r--libgfortran/generated/maxloc0_4_i4.c2
-rw-r--r--libgfortran/generated/maxloc0_4_i8.c2
-rw-r--r--libgfortran/generated/maxloc0_4_r10.c2
-rw-r--r--libgfortran/generated/maxloc0_4_r16.c2
-rw-r--r--libgfortran/generated/maxloc0_4_r4.c2
-rw-r--r--libgfortran/generated/maxloc0_4_r8.c2
-rw-r--r--libgfortran/generated/maxloc0_8_i1.c2
-rw-r--r--libgfortran/generated/maxloc0_8_i16.c2
-rw-r--r--libgfortran/generated/maxloc0_8_i2.c2
-rw-r--r--libgfortran/generated/maxloc0_8_i4.c2
-rw-r--r--libgfortran/generated/maxloc0_8_i8.c2
-rw-r--r--libgfortran/generated/maxloc0_8_r10.c2
-rw-r--r--libgfortran/generated/maxloc0_8_r16.c2
-rw-r--r--libgfortran/generated/maxloc0_8_r4.c2
-rw-r--r--libgfortran/generated/maxloc0_8_r8.c2
-rw-r--r--libgfortran/generated/maxloc1_16_i1.c2
-rw-r--r--libgfortran/generated/maxloc1_16_i16.c2
-rw-r--r--libgfortran/generated/maxloc1_16_i2.c2
-rw-r--r--libgfortran/generated/maxloc1_16_i4.c2
-rw-r--r--libgfortran/generated/maxloc1_16_i8.c2
-rw-r--r--libgfortran/generated/maxloc1_16_r10.c2
-rw-r--r--libgfortran/generated/maxloc1_16_r16.c2
-rw-r--r--libgfortran/generated/maxloc1_16_r4.c2
-rw-r--r--libgfortran/generated/maxloc1_16_r8.c2
-rw-r--r--libgfortran/generated/maxloc1_4_i1.c2
-rw-r--r--libgfortran/generated/maxloc1_4_i16.c2
-rw-r--r--libgfortran/generated/maxloc1_4_i2.c2
-rw-r--r--libgfortran/generated/maxloc1_4_i4.c2
-rw-r--r--libgfortran/generated/maxloc1_4_i8.c2
-rw-r--r--libgfortran/generated/maxloc1_4_r10.c2
-rw-r--r--libgfortran/generated/maxloc1_4_r16.c2
-rw-r--r--libgfortran/generated/maxloc1_4_r4.c2
-rw-r--r--libgfortran/generated/maxloc1_4_r8.c2
-rw-r--r--libgfortran/generated/maxloc1_8_i1.c2
-rw-r--r--libgfortran/generated/maxloc1_8_i16.c2
-rw-r--r--libgfortran/generated/maxloc1_8_i2.c2
-rw-r--r--libgfortran/generated/maxloc1_8_i4.c2
-rw-r--r--libgfortran/generated/maxloc1_8_i8.c2
-rw-r--r--libgfortran/generated/maxloc1_8_r10.c2
-rw-r--r--libgfortran/generated/maxloc1_8_r16.c2
-rw-r--r--libgfortran/generated/maxloc1_8_r4.c2
-rw-r--r--libgfortran/generated/maxloc1_8_r8.c2
-rw-r--r--libgfortran/generated/maxval_i1.c2
-rw-r--r--libgfortran/generated/maxval_i16.c2
-rw-r--r--libgfortran/generated/maxval_i2.c2
-rw-r--r--libgfortran/generated/maxval_i4.c2
-rw-r--r--libgfortran/generated/maxval_i8.c2
-rw-r--r--libgfortran/generated/maxval_r10.c2
-rw-r--r--libgfortran/generated/maxval_r16.c2
-rw-r--r--libgfortran/generated/maxval_r4.c2
-rw-r--r--libgfortran/generated/maxval_r8.c2
-rw-r--r--libgfortran/generated/minloc0_16_i1.c2
-rw-r--r--libgfortran/generated/minloc0_16_i16.c2
-rw-r--r--libgfortran/generated/minloc0_16_i2.c2
-rw-r--r--libgfortran/generated/minloc0_16_i4.c2
-rw-r--r--libgfortran/generated/minloc0_16_i8.c2
-rw-r--r--libgfortran/generated/minloc0_16_r10.c2
-rw-r--r--libgfortran/generated/minloc0_16_r16.c2
-rw-r--r--libgfortran/generated/minloc0_16_r4.c2
-rw-r--r--libgfortran/generated/minloc0_16_r8.c2
-rw-r--r--libgfortran/generated/minloc0_4_i1.c2
-rw-r--r--libgfortran/generated/minloc0_4_i16.c2
-rw-r--r--libgfortran/generated/minloc0_4_i2.c2
-rw-r--r--libgfortran/generated/minloc0_4_i4.c2
-rw-r--r--libgfortran/generated/minloc0_4_i8.c2
-rw-r--r--libgfortran/generated/minloc0_4_r10.c2
-rw-r--r--libgfortran/generated/minloc0_4_r16.c2
-rw-r--r--libgfortran/generated/minloc0_4_r4.c2
-rw-r--r--libgfortran/generated/minloc0_4_r8.c2
-rw-r--r--libgfortran/generated/minloc0_8_i1.c2
-rw-r--r--libgfortran/generated/minloc0_8_i16.c2
-rw-r--r--libgfortran/generated/minloc0_8_i2.c2
-rw-r--r--libgfortran/generated/minloc0_8_i4.c2
-rw-r--r--libgfortran/generated/minloc0_8_i8.c2
-rw-r--r--libgfortran/generated/minloc0_8_r10.c2
-rw-r--r--libgfortran/generated/minloc0_8_r16.c2
-rw-r--r--libgfortran/generated/minloc0_8_r4.c2
-rw-r--r--libgfortran/generated/minloc0_8_r8.c2
-rw-r--r--libgfortran/generated/minloc1_16_i1.c2
-rw-r--r--libgfortran/generated/minloc1_16_i16.c2
-rw-r--r--libgfortran/generated/minloc1_16_i2.c2
-rw-r--r--libgfortran/generated/minloc1_16_i4.c2
-rw-r--r--libgfortran/generated/minloc1_16_i8.c2
-rw-r--r--libgfortran/generated/minloc1_16_r10.c2
-rw-r--r--libgfortran/generated/minloc1_16_r16.c2
-rw-r--r--libgfortran/generated/minloc1_16_r4.c2
-rw-r--r--libgfortran/generated/minloc1_16_r8.c2
-rw-r--r--libgfortran/generated/minloc1_4_i1.c2
-rw-r--r--libgfortran/generated/minloc1_4_i16.c2
-rw-r--r--libgfortran/generated/minloc1_4_i2.c2
-rw-r--r--libgfortran/generated/minloc1_4_i4.c2
-rw-r--r--libgfortran/generated/minloc1_4_i8.c2
-rw-r--r--libgfortran/generated/minloc1_4_r10.c2
-rw-r--r--libgfortran/generated/minloc1_4_r16.c2
-rw-r--r--libgfortran/generated/minloc1_4_r4.c2
-rw-r--r--libgfortran/generated/minloc1_4_r8.c2
-rw-r--r--libgfortran/generated/minloc1_8_i1.c2
-rw-r--r--libgfortran/generated/minloc1_8_i16.c2
-rw-r--r--libgfortran/generated/minloc1_8_i2.c2
-rw-r--r--libgfortran/generated/minloc1_8_i4.c2
-rw-r--r--libgfortran/generated/minloc1_8_i8.c2
-rw-r--r--libgfortran/generated/minloc1_8_r10.c2
-rw-r--r--libgfortran/generated/minloc1_8_r16.c2
-rw-r--r--libgfortran/generated/minloc1_8_r4.c2
-rw-r--r--libgfortran/generated/minloc1_8_r8.c2
-rw-r--r--libgfortran/generated/minval_i1.c2
-rw-r--r--libgfortran/generated/minval_i16.c2
-rw-r--r--libgfortran/generated/minval_i2.c2
-rw-r--r--libgfortran/generated/minval_i4.c2
-rw-r--r--libgfortran/generated/minval_i8.c2
-rw-r--r--libgfortran/generated/minval_r10.c2
-rw-r--r--libgfortran/generated/minval_r16.c2
-rw-r--r--libgfortran/generated/minval_r4.c2
-rw-r--r--libgfortran/generated/minval_r8.c2
-rw-r--r--libgfortran/generated/misc_specifics.F902
-rw-r--r--libgfortran/generated/nearest_r10.c2
-rw-r--r--libgfortran/generated/nearest_r16.c2
-rw-r--r--libgfortran/generated/nearest_r4.c2
-rw-r--r--libgfortran/generated/nearest_r8.c2
-rw-r--r--libgfortran/generated/norm2_r10.c2
-rw-r--r--libgfortran/generated/norm2_r16.c2
-rw-r--r--libgfortran/generated/norm2_r4.c2
-rw-r--r--libgfortran/generated/norm2_r8.c2
-rw-r--r--libgfortran/generated/pack_c10.c2
-rw-r--r--libgfortran/generated/pack_c16.c2
-rw-r--r--libgfortran/generated/pack_c4.c2
-rw-r--r--libgfortran/generated/pack_c8.c2
-rw-r--r--libgfortran/generated/pack_i1.c2
-rw-r--r--libgfortran/generated/pack_i16.c2
-rw-r--r--libgfortran/generated/pack_i2.c2
-rw-r--r--libgfortran/generated/pack_i4.c2
-rw-r--r--libgfortran/generated/pack_i8.c2
-rw-r--r--libgfortran/generated/pack_r10.c2
-rw-r--r--libgfortran/generated/pack_r16.c2
-rw-r--r--libgfortran/generated/pack_r4.c2
-rw-r--r--libgfortran/generated/pack_r8.c2
-rw-r--r--libgfortran/generated/parity_l1.c2
-rw-r--r--libgfortran/generated/parity_l16.c2
-rw-r--r--libgfortran/generated/parity_l2.c2
-rw-r--r--libgfortran/generated/parity_l4.c2
-rw-r--r--libgfortran/generated/parity_l8.c2
-rw-r--r--libgfortran/generated/pow_c10_i16.c2
-rw-r--r--libgfortran/generated/pow_c10_i4.c2
-rw-r--r--libgfortran/generated/pow_c10_i8.c2
-rw-r--r--libgfortran/generated/pow_c16_i16.c2
-rw-r--r--libgfortran/generated/pow_c16_i4.c2
-rw-r--r--libgfortran/generated/pow_c16_i8.c2
-rw-r--r--libgfortran/generated/pow_c4_i16.c2
-rw-r--r--libgfortran/generated/pow_c4_i4.c2
-rw-r--r--libgfortran/generated/pow_c4_i8.c2
-rw-r--r--libgfortran/generated/pow_c8_i16.c2
-rw-r--r--libgfortran/generated/pow_c8_i4.c2
-rw-r--r--libgfortran/generated/pow_c8_i8.c2
-rw-r--r--libgfortran/generated/pow_i16_i16.c2
-rw-r--r--libgfortran/generated/pow_i16_i4.c2
-rw-r--r--libgfortran/generated/pow_i16_i8.c2
-rw-r--r--libgfortran/generated/pow_i4_i16.c2
-rw-r--r--libgfortran/generated/pow_i4_i4.c2
-rw-r--r--libgfortran/generated/pow_i4_i8.c2
-rw-r--r--libgfortran/generated/pow_i8_i16.c2
-rw-r--r--libgfortran/generated/pow_i8_i4.c2
-rw-r--r--libgfortran/generated/pow_i8_i8.c2
-rw-r--r--libgfortran/generated/pow_r10_i16.c2
-rw-r--r--libgfortran/generated/pow_r10_i8.c2
-rw-r--r--libgfortran/generated/pow_r16_i16.c2
-rw-r--r--libgfortran/generated/pow_r16_i4.c2
-rw-r--r--libgfortran/generated/pow_r16_i8.c2
-rw-r--r--libgfortran/generated/pow_r4_i16.c2
-rw-r--r--libgfortran/generated/pow_r4_i8.c2
-rw-r--r--libgfortran/generated/pow_r8_i16.c2
-rw-r--r--libgfortran/generated/pow_r8_i8.c2
-rw-r--r--libgfortran/generated/product_c10.c2
-rw-r--r--libgfortran/generated/product_c16.c2
-rw-r--r--libgfortran/generated/product_c4.c2
-rw-r--r--libgfortran/generated/product_c8.c2
-rw-r--r--libgfortran/generated/product_i1.c2
-rw-r--r--libgfortran/generated/product_i16.c2
-rw-r--r--libgfortran/generated/product_i2.c2
-rw-r--r--libgfortran/generated/product_i4.c2
-rw-r--r--libgfortran/generated/product_i8.c2
-rw-r--r--libgfortran/generated/product_r10.c2
-rw-r--r--libgfortran/generated/product_r16.c2
-rw-r--r--libgfortran/generated/product_r4.c2
-rw-r--r--libgfortran/generated/product_r8.c2
-rw-r--r--libgfortran/generated/reshape_c10.c2
-rw-r--r--libgfortran/generated/reshape_c16.c2
-rw-r--r--libgfortran/generated/reshape_c4.c2
-rw-r--r--libgfortran/generated/reshape_c8.c2
-rw-r--r--libgfortran/generated/reshape_i16.c2
-rw-r--r--libgfortran/generated/reshape_i4.c2
-rw-r--r--libgfortran/generated/reshape_i8.c2
-rw-r--r--libgfortran/generated/reshape_r10.c2
-rw-r--r--libgfortran/generated/reshape_r16.c2
-rw-r--r--libgfortran/generated/reshape_r4.c2
-rw-r--r--libgfortran/generated/reshape_r8.c2
-rw-r--r--libgfortran/generated/rrspacing_r10.c2
-rw-r--r--libgfortran/generated/rrspacing_r16.c2
-rw-r--r--libgfortran/generated/rrspacing_r4.c2
-rw-r--r--libgfortran/generated/rrspacing_r8.c2
-rw-r--r--libgfortran/generated/set_exponent_r10.c2
-rw-r--r--libgfortran/generated/set_exponent_r16.c2
-rw-r--r--libgfortran/generated/set_exponent_r4.c2
-rw-r--r--libgfortran/generated/set_exponent_r8.c2
-rw-r--r--libgfortran/generated/shape_i16.c2
-rw-r--r--libgfortran/generated/shape_i4.c2
-rw-r--r--libgfortran/generated/shape_i8.c2
-rw-r--r--libgfortran/generated/spacing_r10.c2
-rw-r--r--libgfortran/generated/spacing_r16.c2
-rw-r--r--libgfortran/generated/spacing_r4.c2
-rw-r--r--libgfortran/generated/spacing_r8.c2
-rw-r--r--libgfortran/generated/spread_c10.c2
-rw-r--r--libgfortran/generated/spread_c16.c2
-rw-r--r--libgfortran/generated/spread_c4.c2
-rw-r--r--libgfortran/generated/spread_c8.c2
-rw-r--r--libgfortran/generated/spread_i1.c2
-rw-r--r--libgfortran/generated/spread_i16.c2
-rw-r--r--libgfortran/generated/spread_i2.c2
-rw-r--r--libgfortran/generated/spread_i4.c2
-rw-r--r--libgfortran/generated/spread_i8.c2
-rw-r--r--libgfortran/generated/spread_r10.c2
-rw-r--r--libgfortran/generated/spread_r16.c2
-rw-r--r--libgfortran/generated/spread_r4.c2
-rw-r--r--libgfortran/generated/spread_r8.c2
-rw-r--r--libgfortran/generated/sum_c10.c2
-rw-r--r--libgfortran/generated/sum_c16.c2
-rw-r--r--libgfortran/generated/sum_c4.c2
-rw-r--r--libgfortran/generated/sum_c8.c2
-rw-r--r--libgfortran/generated/sum_i1.c2
-rw-r--r--libgfortran/generated/sum_i16.c2
-rw-r--r--libgfortran/generated/sum_i2.c2
-rw-r--r--libgfortran/generated/sum_i4.c2
-rw-r--r--libgfortran/generated/sum_i8.c2
-rw-r--r--libgfortran/generated/sum_r10.c2
-rw-r--r--libgfortran/generated/sum_r16.c2
-rw-r--r--libgfortran/generated/sum_r4.c2
-rw-r--r--libgfortran/generated/sum_r8.c2
-rw-r--r--libgfortran/generated/transpose_c10.c2
-rw-r--r--libgfortran/generated/transpose_c16.c2
-rw-r--r--libgfortran/generated/transpose_c4.c2
-rw-r--r--libgfortran/generated/transpose_c8.c2
-rw-r--r--libgfortran/generated/transpose_i16.c2
-rw-r--r--libgfortran/generated/transpose_i4.c2
-rw-r--r--libgfortran/generated/transpose_i8.c2
-rw-r--r--libgfortran/generated/transpose_r10.c2
-rw-r--r--libgfortran/generated/transpose_r16.c2
-rw-r--r--libgfortran/generated/transpose_r4.c2
-rw-r--r--libgfortran/generated/transpose_r8.c2
-rw-r--r--libgfortran/generated/unpack_c10.c6
-rw-r--r--libgfortran/generated/unpack_c16.c6
-rw-r--r--libgfortran/generated/unpack_c4.c6
-rw-r--r--libgfortran/generated/unpack_c8.c6
-rw-r--r--libgfortran/generated/unpack_i1.c6
-rw-r--r--libgfortran/generated/unpack_i16.c6
-rw-r--r--libgfortran/generated/unpack_i2.c6
-rw-r--r--libgfortran/generated/unpack_i4.c6
-rw-r--r--libgfortran/generated/unpack_i8.c6
-rw-r--r--libgfortran/generated/unpack_r10.c6
-rw-r--r--libgfortran/generated/unpack_r16.c6
-rw-r--r--libgfortran/generated/unpack_r4.c6
-rw-r--r--libgfortran/generated/unpack_r8.c6
-rw-r--r--libgfortran/gfortran.map81
-rw-r--r--libgfortran/ieee/ieee_arithmetic.F90872
-rw-r--r--libgfortran/ieee/ieee_exceptions.F90218
-rw-r--r--libgfortran/ieee/ieee_features.F9049
-rw-r--r--libgfortran/ieee/ieee_helper.c116
-rw-r--r--libgfortran/intrinsics/abort.c2
-rw-r--r--libgfortran/intrinsics/access.c20
-rw-r--r--libgfortran/intrinsics/args.c2
-rw-r--r--libgfortran/intrinsics/associated.c2
-rw-r--r--libgfortran/intrinsics/bit_intrinsics.c2
-rw-r--r--libgfortran/intrinsics/c99_functions.c9
-rw-r--r--libgfortran/intrinsics/chdir.c27
-rw-r--r--libgfortran/intrinsics/chmod.c34
-rw-r--r--libgfortran/intrinsics/clock.c2
-rw-r--r--libgfortran/intrinsics/cpu_time.c2
-rw-r--r--libgfortran/intrinsics/cshift0.c2
-rw-r--r--libgfortran/intrinsics/ctime.c2
-rw-r--r--libgfortran/intrinsics/date_and_time.c2
-rw-r--r--libgfortran/intrinsics/dprod_r8.f902
-rw-r--r--libgfortran/intrinsics/dtime.c2
-rw-r--r--libgfortran/intrinsics/env.c33
-rw-r--r--libgfortran/intrinsics/eoshift0.c2
-rw-r--r--libgfortran/intrinsics/eoshift2.c2
-rw-r--r--libgfortran/intrinsics/erfc_scaled.c2
-rw-r--r--libgfortran/intrinsics/erfc_scaled_inc.c2
-rw-r--r--libgfortran/intrinsics/etime.c2
-rw-r--r--libgfortran/intrinsics/execute_command_line.c8
-rw-r--r--libgfortran/intrinsics/exit.c2
-rw-r--r--libgfortran/intrinsics/extends_type_of.c2
-rw-r--r--libgfortran/intrinsics/f2c_specifics.F902
-rw-r--r--libgfortran/intrinsics/fnum.c2
-rw-r--r--libgfortran/intrinsics/gerror.c2
-rw-r--r--libgfortran/intrinsics/getXid.c2
-rw-r--r--libgfortran/intrinsics/getcwd.c40
-rw-r--r--libgfortran/intrinsics/getlog.c2
-rw-r--r--libgfortran/intrinsics/hostnm.c58
-rw-r--r--libgfortran/intrinsics/ierrno.c2
-rw-r--r--libgfortran/intrinsics/ishftc.c2
-rw-r--r--libgfortran/intrinsics/iso_c_binding.c2
-rw-r--r--libgfortran/intrinsics/iso_c_binding.h2
-rw-r--r--libgfortran/intrinsics/iso_c_generated_procs.c2
-rw-r--r--libgfortran/intrinsics/kill.c2
-rw-r--r--libgfortran/intrinsics/link.c78
-rw-r--r--libgfortran/intrinsics/malloc.c2
-rw-r--r--libgfortran/intrinsics/move_alloc.c2
-rw-r--r--libgfortran/intrinsics/mvbits.c2
-rw-r--r--libgfortran/intrinsics/pack_generic.c5
-rw-r--r--libgfortran/intrinsics/perror.c16
-rw-r--r--libgfortran/intrinsics/rand.c2
-rw-r--r--libgfortran/intrinsics/random.c43
-rw-r--r--libgfortran/intrinsics/rename.c73
-rw-r--r--libgfortran/intrinsics/reshape_generic.c2
-rw-r--r--libgfortran/intrinsics/reshape_packed.c2
-rw-r--r--libgfortran/intrinsics/selected_char_kind.c2
-rw-r--r--libgfortran/intrinsics/selected_int_kind.f902
-rw-r--r--libgfortran/intrinsics/selected_real_kind.f902
-rw-r--r--libgfortran/intrinsics/signal.c2
-rw-r--r--libgfortran/intrinsics/size.c2
-rw-r--r--libgfortran/intrinsics/sleep.c2
-rw-r--r--libgfortran/intrinsics/spread_generic.c2
-rw-r--r--libgfortran/intrinsics/stat.c22
-rw-r--r--libgfortran/intrinsics/string_intrinsics.c2
-rw-r--r--libgfortran/intrinsics/string_intrinsics_inc.c2
-rw-r--r--libgfortran/intrinsics/symlnk.c71
-rw-r--r--libgfortran/intrinsics/system.c8
-rw-r--r--libgfortran/intrinsics/system_clock.c16
-rw-r--r--libgfortran/intrinsics/time.c2
-rw-r--r--libgfortran/intrinsics/time_1.h2
-rw-r--r--libgfortran/intrinsics/transpose_generic.c2
-rw-r--r--libgfortran/intrinsics/umask.c2
-rw-r--r--libgfortran/intrinsics/unlink.c15
-rw-r--r--libgfortran/intrinsics/unpack_generic.c2
-rw-r--r--libgfortran/io/close.c13
-rw-r--r--libgfortran/io/fbuf.c43
-rw-r--r--libgfortran/io/fbuf.h5
-rw-r--r--libgfortran/io/file_pos.c4
-rw-r--r--libgfortran/io/format.c24
-rw-r--r--libgfortran/io/format.h2
-rw-r--r--libgfortran/io/inquire.c26
-rw-r--r--libgfortran/io/intrinsics.c2
-rw-r--r--libgfortran/io/io.h40
-rw-r--r--libgfortran/io/list_read.c367
-rw-r--r--libgfortran/io/lock.c2
-rw-r--r--libgfortran/io/open.c64
-rw-r--r--libgfortran/io/read.c18
-rw-r--r--libgfortran/io/size_from_kind.c2
-rw-r--r--libgfortran/io/transfer.c71
-rw-r--r--libgfortran/io/transfer128.c2
-rw-r--r--libgfortran/io/unit.c60
-rw-r--r--libgfortran/io/unix.c221
-rw-r--r--libgfortran/io/unix.h16
-rw-r--r--libgfortran/io/write.c17
-rw-r--r--libgfortran/io/write_float.def18
-rw-r--r--libgfortran/kinds-override.h2
-rw-r--r--libgfortran/libgfortran.h78
-rw-r--r--libgfortran/m4/all.m42
-rw-r--r--libgfortran/m4/any.m42
-rw-r--r--libgfortran/m4/bessel.m42
-rw-r--r--libgfortran/m4/count.m42
-rw-r--r--libgfortran/m4/cshift0.m42
-rw-r--r--libgfortran/m4/cshift1.m42
-rw-r--r--libgfortran/m4/eoshift1.m42
-rw-r--r--libgfortran/m4/eoshift3.m42
-rw-r--r--libgfortran/m4/exponent.m42
-rw-r--r--libgfortran/m4/fraction.m42
-rw-r--r--libgfortran/m4/head.m42
-rw-r--r--libgfortran/m4/iall.m42
-rw-r--r--libgfortran/m4/iany.m42
-rw-r--r--libgfortran/m4/in_pack.m42
-rw-r--r--libgfortran/m4/in_unpack.m42
-rw-r--r--libgfortran/m4/iparity.m42
-rw-r--r--libgfortran/m4/matmul.m42
-rw-r--r--libgfortran/m4/matmull.m42
-rw-r--r--libgfortran/m4/maxloc0.m42
-rw-r--r--libgfortran/m4/maxloc1.m42
-rw-r--r--libgfortran/m4/maxval.m42
-rw-r--r--libgfortran/m4/minloc0.m42
-rw-r--r--libgfortran/m4/minloc1.m42
-rw-r--r--libgfortran/m4/minval.m42
-rw-r--r--libgfortran/m4/nearest.m42
-rw-r--r--libgfortran/m4/norm2.m42
-rw-r--r--libgfortran/m4/pack.m42
-rw-r--r--libgfortran/m4/parity.m42
-rw-r--r--libgfortran/m4/pow.m42
-rw-r--r--libgfortran/m4/product.m42
-rw-r--r--libgfortran/m4/reshape.m42
-rw-r--r--libgfortran/m4/rrspacing.m42
-rw-r--r--libgfortran/m4/set_exponent.m42
-rw-r--r--libgfortran/m4/shape.m42
-rw-r--r--libgfortran/m4/spacing.m42
-rw-r--r--libgfortran/m4/spread.m42
-rw-r--r--libgfortran/m4/sum.m42
-rw-r--r--libgfortran/m4/transpose.m42
-rw-r--r--libgfortran/m4/unpack.m46
-rw-r--r--libgfortran/runtime/backtrace.c2
-rw-r--r--libgfortran/runtime/bounds.c2
-rw-r--r--libgfortran/runtime/compile_options.c7
-rw-r--r--libgfortran/runtime/convert_char.c2
-rw-r--r--libgfortran/runtime/environ.c2
-rw-r--r--libgfortran/runtime/error.c29
-rw-r--r--libgfortran/runtime/fpu.c2
-rw-r--r--libgfortran/runtime/in_pack_generic.c2
-rw-r--r--libgfortran/runtime/in_unpack_generic.c2
-rw-r--r--libgfortran/runtime/main.c66
-rw-r--r--libgfortran/runtime/memory.c16
-rw-r--r--libgfortran/runtime/minimal.c210
-rw-r--r--libgfortran/runtime/pause.c2
-rw-r--r--libgfortran/runtime/select.c2
-rw-r--r--libgfortran/runtime/select_inc.c2
-rw-r--r--libgfortran/runtime/stop.c14
-rw-r--r--libgfortran/runtime/string.c60
684 files changed, 7715 insertions, 2713 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 6b99549305..07b36fdd19 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,688 +1,115 @@
-2014-10-30 Release Manager
-
- * GCC 4.9.2 released.
-
-2014-10-20 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/63589
- * configure.ac: Check for strtok_r.
- * runtime/main.c (gfstrtok_r): Fallback implementation of
- strtok_r.
- (find_addr2line): Use strtok_r to split PATH.
- * config.h.in: Regenerated.
- * configure: Regenerated.
-
-2014-10-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/63460
- * io/unit.c (init_units): Initialize the DELIM flag to
- UNSPECIFIED for the STDIN unit so that the flag is
- correctly set later.
-
-2014-09-01 Jakub Jelinek <jakub@redhat.com>
-
- Backported from mainline
- 2014-08-04 Jakub Jelinek <jakub@redhat.com>
-
- * runtime/memory.c (xmallocarray): Avoid division for the common case.
-
-2014-08-20 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR libgfortran/62188
- * m4/bessel.m4: Avoid indexing off the end of an array.
- * generated/bessel_r10.c: Regenerated.
- * generated/bessel_r16.c: Ditto.
- * generated/bessel_r4.c: Ditto.
- * generated/bessel_r8.c: Ditto.
-
-2014-07-31 Janne Blomqvist <jb@gcc.gnu.org>
-
- Backport from mainline
- CVE-2014-5044
- * 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.
-
-2014-07-16 Release Manager
-
- * GCC 4.9.1 released.
-
-2014-07-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- Backport from trunk.
- 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.
-
-2014-06-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- Backport from trunk.
- 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.
-
-2014-06-07 Jerry DeLisle <jvdelisle@gcc.gnu>
-
- Backport from trunk.
- 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.
-
-2014-05-26 Janne Blomqvist <jb@gcc.gnu.org>
-
- Backport from mainline
- 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.
-
-2014-05-16 Janne Blomqvist <jb@gcc.gnu.org>
-
- Backport from trunk:
- PR libfortran/61187
- * io/unix.c (raw_close): Check if s->fd is -1.
- (fd_to_stream): Check return value of fstat(), handle error.
-
-2014-05-10 Jerry DeLisle <jvdelisle@gcc.gnu>
-
- Backport from Trunk.
- PR libfortran/61049
- * io/list_read.c (list_formatted_read_scalar): Use eat_separator
- and delete extraneous code.
-
-2014-04-22 Release Manager
-
- * GCC 4.9.0 released.
-
-2014-04-12 Jerry DeLisle <jvdelisle@gcc.gnu>
-
- PR libfortran/60810
- io/unit.c (is_trim_ok): If internal unit is array, do not trim.
-
-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 if no other was specified.
-
-2014-03-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * configure.ac: Check for presence of fcntl.
- * configure: Regenerate.
- * config.h.in: Regenerate.
- * io/unix.c (set_close_on_exec): Check for HAVE_FCNTL.
-
-2014-03-17 Jerry DeLisle <jvdelisle@gcc.gnu>
-
- PR libfortran/48600
- * 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.
-
-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.
-
-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.
+2015-04-22 Release Manager
-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.
-
-2014-03-08 Tobias Burnus <burnus@net-b.de>
-
- * libgfortran.h (unlikely, likely): Add usage comment.
-
-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.
-
-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.
+ * GCC 5.1.0 released.
-2014-02-21 Tobias Burnus <burnus@net-b.de>
+2015-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
- 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=.
+ PR libgfortran/65596
+ * io/transfer.c (data_transfer_init): If in namelist mode and
+ delimiter is not specified, set it to DELIM_QUOTE, independent
+ of -std.
+ * io/unit.c (init_units): Set flags.delim to the correct
+ initial value of DELIM_UNSPECIFIED.
-2014-01-20 Jerry DeLisle <jvdelisle@gcc.gnu>
- Dominique d'Humieres <dominiq@lps.ens.fr>
+2015-03-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
- * io/write_float.def (output_float): Remove inadvertent test
- code from previous patch.
-
-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.
-
-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.
+ PR libgfortran/65541
+ * io/write.c (nml_write_obj): Convert '+' to '%' before emitting
+ object names in namelists.
-2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
+2015-03-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
- Update copyright years
+ PR libgfortran/59513
+ * io/transfer.c (data_transfer_init): Do not error for
+ -std=legacy.
-2013-12-18 Steven G. Kargl <kargl@gcc.gnu.org>
+2015-03-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
- * io/read.c (read_f): Convert assert to runtime error.
+ PR libgfortran/64432
+ * intrinsics/system_clock.c (system_clock4, system_clock8):
+ Cleanup some whitespace.
-2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
+2015-03-11 Thomas Schwinge <thomas@codesourcery.com>
- * io/unix.c (tempfile_open): Only use the needed flag O_CLOEXEC.
+ * caf/single.c (caf_runtime_error): Revert 2014-11-28 changes.
+ * runtime/minimal.c (STRERR_MAXSZ): Don't define.
+ (runtime_error_at, sys_abort): Bring more in line with the
+ non-LIBGFOR_MINIMAL code.
+ (runtime_warning_at, internal_error): New functions.
-2013-12-16 Jerry DeLisle <jvdelisle@gcc.gnu>
+2015-03-11 Janne Blomqvist <jb@gcc.gnu.org>
- 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.
-
-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.
-
-2013-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * intrinsics/erfc_scaled.c (_M_2_SQRTPI): Define if missing.
-
-2013-12-01 Uros Bizjak <ubizjak@gmail.com>
-
- PR libfortran/59313
- * intrinsics/erfc_scaled.c (erfc_scaled_r16): Also provide for
- quadruple precision long double variant.
-
-2013-11-20 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- * intrinsics/erfc_scaled.c (erfc_scaled_r16): Don't define if
- __float128 is not available.
-
-2013-11-20 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+ PR libfortran/65200
+ * io/open.c (new_unit): Use gf_strerror rather than hardcoding
+ error messages for different errno values.
+ * io/unix.c (regular_file2): Handle EPERM in addition to EACCES.
- PR libfortran/49024
- * intrinsics/erfc_scaled.c (erfc_scaled_r16): New function.
- * intrinsics/erfc_scaled_inc.c: Do not provide quadruple
- precision variant.
+2015-03-10 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
+ Tobias Burnus <burnus@net-b.de>
-2013-11-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+ * caf/libcaf.h (_gfortran_caf_sync_memory): New prototype.
+ * caf/single.c (_gfortran_caf_sync_memory): Implement.
+ (_gfortran_caf_sync_all, _gfortran_caf_sync_image): Add
+ __asm__ __volatile___ ("":::"memory").
- PR libfortran/51828
- * intrinsics/unpack_generic.c (unpack_internal): Let the compiler
- know that dim > 0 to avoid warnings.
+2015-02-10 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-2013-11-15 Janne Blomqvist <jb@gcc.gnu.org>
- Jerry DeLisle <jvdelisle@gcc.gnu.org>
+ PR libgfortran/57822
+ * io/write_float.def (output_float): Apply fix of previous patch
+ to correctly calculate the exponent number of digits and take
+ care of wide character output.
- 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.
+2015-02-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-2013-11-15 Steve Ellcey <sellcey@mips.com>
+ PR libgfortran/57822
+ * io/write_float.def (output_float): If doing g0 editing and
+ exponent is zero, do not emit exponent.
- * configure.ac: Do not define HAVE_STRTOLD.
- * configure: Regenerate.
+2015-02-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-2013-11-10 Janne Blomqvist <jb@gcc.gnu.org>
+ PR libgfortran/60956
+ * io/fbuf.c (fbuf_flush_list): New function that only flushes
+ if current fbuf position exceeds a limit.
+ * io/fbuf.h: Declare the new function.
+ * io/io.h (enum unit_mode): Add two new modes.
+ * io/list_read.c (list_formatted_read_scalar): Call new function.
+ * io/write.c: Include fbuf.h. (list_formatted_write_scalar):
+ Call new function.
- * 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.
+2015-01-24 Janne Blomqvist <jb@gcc.gnu.org>
-2013-10-01 Tobias Burnus <burnus@net-b.de>
+ PR libfortran/64770
+ * io/unit.c (filename_from_unit): Check that u->filename != NULL
+ before calling strdup.
- 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.
+2015-01-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-2013-09-20 Alan Modra <amodra@gmail.com>
+ PR libgfortran/61933
+ * io/inquire.c (inquire_via_unit): Set existing to true for
+ any negative unit that is currently connected and any positive
+ units within range of KIND=4 value. The unit value for any out
+ of range case that may occur if the user is using a KIND=8 will
+ have been set to -2 which is reserved and can never be opened,
+ and therefore the unit does not exist.
- * configure: Regenerate.
+2015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-2013-07-23 Uros Bizjak <ubizjak@gmail.com>
+ PR libgfortran/61933
+ * io/inquire.c (inquire_via_unit): Set existing to true if a
+ gfc_unit stucture was found for the given unit number.
+ * runtime/error.c (translate_error): Add case for
+ LIBERROR_INQUIRE_INTERNAL_UNIT.
- * config/fpu-387.h (get_fpu_rounding_mode): Read rounding mode
- from SSE mxcsr register on x86_64.
-
-2013-07-21 Ondřej Bílka <neleai@seznam.cz>
-
- * io/transfer.c: Fix comment typos.
-
-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.
-
-2013-07-21 Tobias Burnus <burnus@net-b.de>
- Uros Bizjak <ubizjak@gmail.com>
-
- 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-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.
-
-2013-06-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/fpu-sysv.h (get_fpu_except_flags): Fix typo.
-
-2013-06-20 Uros Bizjak <ubizjak@gmail.com>
-
- * 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.
-
-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-19 Uros Bizjak <ubizjak@gmail.com>
-
- * config/fpu-387.h: Use __asm__ and __volatile__ consistently.
- (get_fpu_except_flags): Initialize result.
-
-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-sysv.h (get_fpu_except_flags): New function.
- * configure.ac: Check for fpxcp.h.
- * configure: Regenerate.
- * config.h.in: Regenerate.
-
-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.
-
-2013-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * acinclude.m4 (libgfor_cv_have_as_needed): Check for -z ignore, too.
- * configure: Regenerate.
-
-2013-05-05 David Edelsohn <dje.gcc@gmail.com>
-
- * caf/libcaf.h (_gfortran_caf_critical): Add a prototype.
- (_gfortran_caf_end_critical): Same.
-
-2013-05-04 David Edelsohn <dje.gcc@gmail.com>
-
- * 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.
-
-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.
-
-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.
-
-2013-04-28 Janne Blomqvist <jb@gcc.gnu.org>
-
- * intrinsics/system_clock.c (system_clock_4): Fix sign error in
- Windows version.
-
-2013-04-15 Tobias Burnus <burnus@net-b.de>
-
- * list_read.c (finish_separator): Initialize variable.
-
-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.
-
-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-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.
-
-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.
-
-2013-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.
-
-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/56735
- * io/list_read.c (nml_query): Only abort when
- an error occured.
- (namelist_read): Add goto instead of falling through.
-
-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-24 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/56696
- * io/list_read.c (read_real): Fix EOF diagnostic.
-
-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/48618
- * io/open.c (st_open): Raise error for unit number < 0 only if
- unit number does not exist already.
-
-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.
-
-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.
-
-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.
-
-2013-02-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- 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.
-
-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-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.
-
-2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
+2015-01-05 Jakub Jelinek <jakub@redhat.com>
Update copyright years.
-2013-01-06 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54678
- * intrinsics/env.c (get_environment_variable_i8): Don't use
- uninitialized variable.
-
-2013-01-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+2015-01-02 Tobias Burnus <burnus@net-b.de>
- 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.
-
-Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ * caf/single.c (_gfortran_caf_co_reduce): New function.
+ * caf/libcaf.h (_gfortran_caf_co_reduce): New prototype.
+^L
+Copyright (C) 2015 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/libgfortran/ChangeLog-2013 b/libgfortran/ChangeLog-2013
new file mode 100644
index 0000000000..d0c2c5d78e
--- /dev/null
+++ b/libgfortran/ChangeLog-2013
@@ -0,0 +1,404 @@
+2013-12-18 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * io/read.c (read_f): Convert assert to runtime error.
+
+2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
+
+ * io/unix.c (tempfile_open): Only use the needed flag O_CLOEXEC.
+
+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.
+
+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.
+
+2013-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * intrinsics/erfc_scaled.c (_M_2_SQRTPI): Define if missing.
+
+2013-12-01 Uros Bizjak <ubizjak@gmail.com>
+
+ PR libfortran/59313
+ * intrinsics/erfc_scaled.c (erfc_scaled_r16): Also provide for
+ quadruple precision long double variant.
+
+2013-11-20 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * intrinsics/erfc_scaled.c (erfc_scaled_r16): Don't define if
+ __float128 is not available.
+
+2013-11-20 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/49024
+ * intrinsics/erfc_scaled.c (erfc_scaled_r16): New function.
+ * intrinsics/erfc_scaled_inc.c: Do not provide quadruple
+ precision variant.
+
+2013-11-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/51828
+ * intrinsics/unpack_generic.c (unpack_internal): Let the compiler
+ know that dim > 0 to avoid warnings.
+
+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.
+
+2013-11-15 Steve Ellcey <sellcey@mips.com>
+
+ * configure.ac: Do not define HAVE_STRTOLD.
+ * configure: Regenerate.
+
+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.
+
+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.
+
+2013-09-20 Alan Modra <amodra@gmail.com>
+
+ * configure: Regenerate.
+
+2013-07-23 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/fpu-387.h (get_fpu_rounding_mode): Read rounding mode
+ from SSE mxcsr register on x86_64.
+
+2013-07-21 Ondřej Bílka <neleai@seznam.cz>
+
+ * io/transfer.c: Fix comment typos.
+
+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.
+
+2013-07-21 Tobias Burnus <burnus@net-b.de>
+ Uros Bizjak <ubizjak@gmail.com>
+
+ 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-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.
+
+2013-06-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/fpu-sysv.h (get_fpu_except_flags): Fix typo.
+
+2013-06-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * 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.
+
+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-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/fpu-387.h: Use __asm__ and __volatile__ consistently.
+ (get_fpu_except_flags): Initialize result.
+
+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-sysv.h (get_fpu_except_flags): New function.
+ * configure.ac: Check for fpxcp.h.
+ * configure: Regenerate.
+ * config.h.in: Regenerate.
+
+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.
+
+2013-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * acinclude.m4 (libgfor_cv_have_as_needed): Check for -z ignore, too.
+ * configure: Regenerate.
+
+2013-05-05 David Edelsohn <dje.gcc@gmail.com>
+
+ * caf/libcaf.h (_gfortran_caf_critical): Add a prototype.
+ (_gfortran_caf_end_critical): Same.
+
+2013-05-04 David Edelsohn <dje.gcc@gmail.com>
+
+ * 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.
+
+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.
+
+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.
+
+2013-04-28 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * intrinsics/system_clock.c (system_clock_4): Fix sign error in
+ Windows version.
+
+2013-04-15 Tobias Burnus <burnus@net-b.de>
+
+ * list_read.c (finish_separator): Initialize variable.
+
+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.
+
+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-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.
+
+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.
+
+2013-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.
+
+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/56735
+ * io/list_read.c (nml_query): Only abort when
+ an error occured.
+ (namelist_read): Add goto instead of falling through.
+
+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-24 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/56696
+ * io/list_read.c (read_real): Fix EOF diagnostic.
+
+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/48618
+ * io/open.c (st_open): Raise error for unit number < 0 only if
+ unit number does not exist already.
+
+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.
+
+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.
+
+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.
+
+2013-02-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ 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.
+
+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-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.
+
+2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
+
+ Update copyright years.
+
+2013-01-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54678
+ * intrinsics/env.c (get_environment_variable_i8): Don't use
+ uninitialized variable.
+
+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.
+
+Copyright (C) 2013-2014 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libgfortran/ChangeLog-2014 b/libgfortran/ChangeLog-2014
new file mode 100644
index 0000000000..42b00c77fc
--- /dev/null
+++ b/libgfortran/ChangeLog-2014
@@ -0,0 +1,780 @@
+2014-11-28 Bernd Schmidt <bernds@codesourcery.com>
+
+ * Makefile.am (AM_CFLAGS): Add -DLIBGFOR_MINIMAL if LIBGFOR_MINIMAL.
+ (gfor_io_src, gfor_heper_src, gfor_src): Split into minimal and
+ always included sources.
+ * Makefile.in: Regenerate.
+ * configure.ac (LIBGFOR_MINIMAL): New AM_CONDITIONAL.
+ * configure: Regenerate.
+ * caf/single.c (caf_runtime_error): Don't print messages if
+ LIBGFOR_MINIMAL.
+ * runtime/compile_options.c (fatal_error_in_progress,
+ show_signal, backtrace_handler, maybe_find_addr2line): Guard with
+ !defined LIBGFOR_MINIMAL.
+ (set_options): Likewise for the backtrace code.
+ * runtime/minimal.c: New file.
+
+2014-11-25 Uros Bizjak <ubizjak@gmail.com>
+
+ * intrinsics/env.c (getenv): Remove unused variable res_len.
+
+2014-11-24 John David Anglin <danglin@gcc.gnu.org>
+
+ * configure.ac: Guard include of <ieeefp.h>.
+ * configure: Rebuilt.
+
+2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/63784
+ * configure: Regenerated.
+
+2014-11-16 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/60324
+ * intrinsics/random.c (kiss_size): Rename to KISS_SIZE, make it a
+ macro instead of a variable.
+ (random_seed_i4): Make seed correct size, remove assert, KISS_SIZE
+ related changes.
+ (random_seed_i8): KISS_SIZE related changes.
+
+2014-11-13 Marek Polacek <polacek@redhat.com>
+
+ * intrinsics/access.c: Include <stdlib.h>.
+ * intrinsics/chdir.c: Likewise.
+ * intrinsics/chmod.c: Likewise.
+ * intrinsics/link.c: Likewise.
+ * intrinsics/perror.c: Likewise.
+ * intrinsics/rename.c: Likewise.
+ * intrinsics/symlnk.c: Likewise.
+ * intrinsics/unlink.c: Likewise.
+
+2014-11-13 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/60324
+ * configure: Regenerated.
+ * configure.ac (AM_CFLAGS): Add Werror=vla.
+ * libgfortran.h (gfc_alloca): Remove macro.
+ (fc_strdup_notrim): New prototype.
+ * intrinsics/access.c (access_func): Use fc_strdup rather than
+ stack allocation.
+ * intrinsics/chdir.c (chdir_i4_sub): Likewise.
+ (chdir_i8_sub): Likewise.
+ * intrinsics/chmod.c (chmod_internal): New function, move logic
+ here.
+ (chmod_func): Call chmod_internal.
+ * intrinsics/env.c (getenv): Use fc_strdup rather than stack
+ allocation.
+ (get_environment_variable_i4): Likewise.
+ * intrinsics/execute_command_line.c (execute_command_line):
+ Likewise.
+ * intrinsics/hostnm.c (hostnm_0): New function, use static buffer
+ rather than VLA.
+ (hostnm_i4_sub): Call hostnm_0.
+ (hostnm_i8_sub): Likewise.
+ (hostnm): Likewise.
+ * intrinsics/link.c (link_internal): New function, use fc_strdup
+ rather than stack allocation.
+ (link_i4_sub): Call link_internal.
+ (link_i8_sub): Likewise.
+ (link_i4): Likewise.
+ (link_i8): Likewise.
+ * intrinsics/perror.c (perror_sub): Use fc_strdup rather than
+ stack allocation.
+ * intrinsics/random.c (random_seed_i4): Use static buffer rather
+ than VLA, use _Static_assert to make sure it's big enough.
+ * intrinsics/rename.c (rename_internal): New function, use
+ fc_strdup rather than stack allocation.
+ (rename_i4_sub): Call rename_internal.
+ (rename_i8_sub): Likewise.
+ (rename_i4): Likewise.
+ (rename_i8): Likewise.
+ * intrinsics/stat.c (stat_i4_sub_0): Use fc_strdup rather than
+ stack allocation.
+ (stat_i8_sub_0): Likewise.
+ * intrinsics/symlink.c (symlnk_internal): New function, use
+ fc_strdup rather than stack allocation.
+ (symlnk_i4_sub): Call symlnk_internal.
+ (symlnk_i8_sub): Likewise.
+ (symlnk_i4): Likewise.
+ (symlnk_i8): Likewise.
+ * intrinsics/system.c (system_sub): Use fc_strdup rather than
+ stack allocation.
+ * intrinsics/unlink.c (unlink_i4_sub): Likewise.
+ * io/file_pos.c (READ_CHUNK): Make it a macro rather than variable.
+ * io/list_read.c (nml_get_obj_data): Use fixed stack buffer, fall
+ back to xmalloc/free for large sizes.
+ * io/read.c (read_f): Likewise.
+ * io/transfer.c (MAX_READ): Make it a macro rather than variable.
+ (WRITE_CHUNK): Likewise.
+ * io/write_float.def (write_float): Use fixed stack buffer, fall
+ back to xmalloc/free for large sizes.
+ * runtime/string.c (fc_strdup_notrim): New function.
+
+2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR target/63610
+ * configure: Regenerate.
+
+2014-11-10 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/47007
+ PR libfortran/61847
+ * config.h.in: Regenerated.
+ * configure: Regenerated.
+ * configure.ac (AC_CHECK_HEADERS_ONCE): Check for xlocale.h.
+ (AC_CHECK_FUNCS_ONCE): Check for newlocale, freelocale, uselocale,
+ strerror_l.
+ * io/io.h (locale.h): Include.
+ (xlocale.h): Include if present.
+ (c_locale): New variable.
+ (old_locale): New variable.
+ (old_locale_ctr): New variable.
+ (old_locale_lock): New variable.
+ (st_parameter_dt): Add old_locale member.
+ * io/transfer.c (data_transfer_init): Set locale to "C" if doing
+ formatted transfer.
+ (finalize_transfer): Reset locale to previous.
+ * io/unit.c (c_locale): New variable.
+ (old_locale): New variable.
+ (old_locale_ctr): New variable.
+ (old_locale_lock): New variable.
+ (init_units): Init c_locale, init old_locale_lock.
+ (close_units): Free c_locale.
+ * runtime/error.c (locale.h): Include.
+ (xlocale.h): Include if present.
+ (gf_strerror): Use strerror_l if available. Reset locale to
+ LC_GLOBAL_LOCALE for strerror_r branch.
+
+2014-10-20 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/63589
+ * configure.ac: Check for strtok_r.
+ * runtime/main.c (gfstrtok_r): Fallback implementation of
+ strtok_r.
+ (find_addr2line): Use strtok_r to split PATH.
+ * config.h.in: Regenerated.
+ * configure: Regenerated.
+
+2014-10-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * ieee/ieee_helper.c (ieee_is_finite_*, ieee_is_nan_*,
+ ieee_is_negative_*, ieee_is_normal_*, ieee_copy_sign_*,
+ ieee_unordered_*, ieee_logb_*, ieee_rint_*, ieee_scalb_*,
+ ieee_rem_*, ieee_next_after_*): Remove functions.
+ * gfortran.map (GFORTRAN_1.5): Remove corresponding symbols.
+
+2014-10-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/63460
+ * io/unit.c (init_units): Initialize the DELIM flag to
+ UNSPECIFIED for the STDIN unit so that the flag is
+ correctly set later.
+
+2014-10-01 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * intrinsics/pack_generic.c (pack_s_internal): Fix
+ -Wmaybe-uninitialized warning.
+ * m4/unpack.m4 (unpack0_'rtype_code`): Likewise.
+ (unpack1_'rtype_code`): Likewise.
+ * generated/unpack_*.m4: Regenerated.
+
+2014-09-30 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * configure.ac (AM_CFLAGS): Add
+ -Werror=implicit-function-declaration.
+ * Makefile.in: Regenerated.
+ * aclocal.m4: Regenerated.
+ * configure: Regenerated.
+
+2014-09-25 Tobias Burnus <burnus@net-b.de>
+
+ * caf/libcaf.h (_gfortran_caf_co_broadcast): New prototype.
+ * caf/single.c (_gfortran_caf_co_broadcast): New.
+
+2014-09-18 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/62768
+ * io/inquire.c (inquire_via_unit): Use gfc_unit.filename also when
+ HAVE_TTYNAME{_R} is not defined.
+
+2014-09-17 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/62768
+ * io/io.h (gfc_unit): Store C string for the filename.
+ * io/close.c (st_close): Use gfc_unit.filename.
+ * io/inquire.c (inquire_via_unit): Likewise.
+ * io/open.c (new_unit): Likewise.
+ (already_open): Likewise, unlink file before freeing filename.
+ * io/unit.c (init_units): Likewise.
+ (close_unit_1): Likewise.
+ (filename_from_unit): Likewise.
+ * io/unix.c (compare_file_filename): Likewise.
+ (find_file0): Likewise.
+ (delete_file): Likewise.
+
+2014-09-10 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * io/transfer.c (read_block_form): Fix pad status check (found by
+ Thomas Schwinge with -Wlogical-not-parentheses).
+
+2014-08-31 Tobias Burnus <burnus@net-b.de>
+
+ * caf/libcaf.h (_gfortran_caf_send, _gfortran_caf_get,
+ _gfortran_caf_sendget): Update prototype.
+ * caf/single.c (_gfortran_caf_send, _gfortran_caf_get,
+ _gfortran_caf_sendget): Handle may_require_tmp.
+
+2014-08-20 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR libgfortran/62188
+ * m4/bessel.m4: Avoid indexing off the end of an array.
+ * generated/bessel_r10.c: Regenerated.
+ * generated/bessel_r16.c: Ditto.
+ * generated/bessel_r4.c: Ditto.
+ * generated/bessel_r8.c: Ditto.
+
+2014-08-14 Tobias Burnus <burnus@net-b.de>
+
+ * caf/libcaf.h (caf_register_t): Update for critical.
+ (_gfortran_caf_critical, _gfortran_caf_end_critical): Remove.
+ (_gfortran_caf_lock, _gfortran_caf_unlock): Add.
+ * caf/single.c (_gfortran_caf_register): Handle locking
+ variables.
+ (_gfortran_caf_sendget): Re-name args for consistency.
+ (_gfortran_caf_lock, _gfortran_caf_unlock): Add.
+
+2014-08-04 Jakub Jelinek <jakub@redhat.com>
+
+ * runtime/memory.c (xmallocarray): Avoid division for the common case.
+
+2014-07-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/61632
+ * io/format.c (format_error): Avoid invalid string pointer by
+ using the fortran string length values to generate error string.
+ (parse_format): Allocate the null terminator for the format
+ string.
+
+2014-07-12 Tobias Burnus <burnus@net-b.de>
+
+ * caf/libcaf.h (_gfortran_caf_atomic_define,
+ _gfortran_caf_atomic_ref, _gfortran_caf_atomic_op,
+ _gfortran_caf_atomic_cas): New prototypes.
+ * caf/single.c (_gfortran_caf_atomic_define,
+ _gfortran_caf_atomic_ref, _gfortran_caf_atomic_op,
+ _gfortran_caf_atomic_cas): New functions.
+
+2014-07-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * config/fpu-*.h (get_fpu_rounding_mode, set_fpu_rounding_mode,
+ support_fpu_rounding_mode): Clean up, mark unreachable code as such.
+
+2014-07-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * libgfortran.h (support_fpu_underflow_control,
+ get_fpu_underflow_mode, set_fpu_underflow_mode): New prototypes.
+ * config/fpu-*.h (support_fpu_underflow_control,
+ get_fpu_underflow_mode, set_fpu_underflow_mode):
+ New functions.
+ * ieee/ieee_arithmetic.F90: Support underflow control.
+
+2014-07-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/fpu-sysv.h (get_fpu_rounding_mode): Use FP_RN, FP_RP,
+ FP_RM, FP_RZ unconditionally.
+ (set_fpu_rounding_mode): Likewise.
+
+2014-07-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * libgfortran.h: Assume __GNUC__.
+
+2014-07-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * 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.
+
+2014-07-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * config/fpu-387.h, config/fpu-aix.h, config/fpu-sysv.h,
+ config/fpu-glibc.h: Use static assertions.
+
+2014-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure, config.h.in: Regenerate.
+ * config/fpu-sysv.h: Include <assert.h>.
+
+2014-07-02 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * config/fpu-glibc.h: Fix comment about FE_DENORMAL.
+
+2014-07-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * 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.
+
+2014-06-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * config/fpu-387.h (my_fenv_t): Amend structure so it also works
+ on mingw32.
+
+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.
+
+2014-06-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/29383
+ * 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.
+
+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.
+
+2014-06-25 Tobias Burnus <burnus@net-b.de>
+
+ * caf/single.c (assign_char4_from_char1, assign_char1_from_char4,
+ convert_type): New static functions.
+ (_gfortran_caf_get, _gfortran_caf_send): Use them.
+
+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.
+
+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.
+
+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.
+
+2014-06-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/60468
+ * configure.ac: Include <math.h> when checking for fp_except_t
+ and fp_rnd_t types.
+ * configure: Regenerate.
+
+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.
+
+2014-05-27 Uros Bizjak <ubizjak@gmail.com>
+
+ * intrinsics/getcwd.c: Include stdlib.h.
+
+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.
+
+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.
+
+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.
+
+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.
+
+2014-05-23 Hans-Peter Nilsson <hp@axis.com>
+
+ * configure.ac [with_newlib] (HAVE_STRNLEN, HAVE_STRNDUP): Define.
+ * configure: Regenerate.
+
+2014-05-23 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/60324
+ * runtime/string.c: Include stdlib.h.
+
+2014-05-22 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/60324
+ * config.h.in: Regenerated.
+ * configure: Regenerated.
+ * configure.ac (AC_CHECK_FUNCS_ONCE): Check for strnlen and
+ strndup.
+ * libgfortran.h (fc_strdup): New prototype.
+ * runtime/string.c (strnlen): New fallback function.
+ (strndup): New fallback function.
+ (fc_strdup): New function.
+ * io/close.c (st_close): Use fc_strdup.
+ * io/open.c (new_unit): Likewise.
+ (already_open): Likewise.
+ * io/unit.c (filename_from_unit): Likewise.
+ * io/unix.c (unpack_filename): Remove function.
+ (regular_file): Rename to regular_file2, add path argument.
+ (regular_file): New function calling regular_file2.
+ (compare_file_filename): Use fc_strdup.
+ (find_file): Likewise.
+ (delete_file): Likewise.
+ (file_exists): Likewise.
+ (file_size): Likewise.
+ (inquire_sequential): Likewise.
+ (inquire_direct): Likewise.
+ (inquire_formatted): Likewise.
+ (inquire_access): Likewise.
+ * io/unix.h (unpack_filename): Remove prototype.
+ * runtime/main.c (please_free_exe_path_when_done): Change type to
+ bool.
+ (store_exe_path): Use malloced buffer, grow as needed.
+
+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.
+
+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.
+
+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.
+
+2014-05-12 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * configure.ac (AM_CFLAGS): Use -std=gnu11.
+ (CFLAGS): Likewise.
+ * configure: Regenerated.
+
+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.
+
+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
+
+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.
+
+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.
+
+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.
+
+2014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * configure.ac: Quote usage of ac_cv_func_clock_gettime in if test.
+ * configure: Regenerate.
+
+2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/fpu-387.h [__sun__ && __svr4__]: Remove SSE execution
+ check.
+
+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.
+
+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.
+
+2014-03-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * configure.ac: Check for presence of fcntl.
+ * configure: Regenerate.
+ * config.h.in: Regenerate.
+ * io/unix.c (set_close_on_exec): Check for HAVE_FCNTL.
+
+2014-03-17 Jerry DeLisle <jvdelisle@gcc.gnu>
+
+ PR libfortran/48600
+ * 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.
+
+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.
+
+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.
+
+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.
+
+2014-03-08 Tobias Burnus <burnus@net-b.de>
+
+ * libgfortran.h (unlikely, likely): Add usage comment.
+
+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.
+
+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.
+
+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-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.
+
+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.
+
+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.
+
+2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ Update copyright years
+^L
+Copyright (C) 2014 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libgfortran/Makefile.am b/libgfortran/Makefile.am
index abc23cd1ed..31eb986f44 100644
--- a/libgfortran/Makefile.am
+++ b/libgfortran/Makefile.am
@@ -54,6 +54,11 @@ libcaf_single_la_LDFLAGS = -static
libcaf_single_la_DEPENDENCIES = caf/libcaf.h
libcaf_single_la_LINK = $(LINK) $(libcaf_single_la_LDFLAGS)
+if IEEE_SUPPORT
+fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude
+nodist_finclude_HEADERS = ieee_arithmetic.mod ieee_exceptions.mod ieee_features.mod
+endif
+
## io.h conflicts with a system header on some platforms, so
## use -iquote
AM_CPPFLAGS = -iquote$(srcdir)/io -I$(srcdir)/$(MULTISRCTOP)../gcc \
@@ -70,8 +75,18 @@ AM_CFLAGS += $(SECTION_FLAGS)
# Some targets require additional compiler options for IEEE compatibility.
AM_CFLAGS += $(IEEE_FLAGS)
+AM_FCFLAGS += $(IEEE_FLAGS)
+
+if LIBGFOR_MINIMAL
+AM_CFLAGS += -DLIBGFOR_MINIMAL
+endif
gfor_io_src= \
+io/size_from_kind.c
+
+if !LIBGFOR_MINIMAL
+
+gfor_io_src+= \
io/close.c \
io/file_pos.c \
io/format.c \
@@ -81,7 +96,6 @@ io/list_read.c \
io/lock.c \
io/open.c \
io/read.c \
-io/size_from_kind.c \
io/transfer.c \
io/transfer128.c \
io/unit.c \
@@ -89,6 +103,8 @@ io/unix.c \
io/write.c \
io/fbuf.c
+endif
+
gfor_io_headers= \
io/io.h \
io/fbuf.h \
@@ -98,82 +114,113 @@ io/unix.h
gfor_helper_src= \
intrinsics/associated.c \
intrinsics/abort.c \
-intrinsics/access.c \
intrinsics/args.c \
intrinsics/bit_intrinsics.c \
-intrinsics/c99_functions.c \
-intrinsics/chdir.c \
-intrinsics/chmod.c \
-intrinsics/clock.c \
-intrinsics/cpu_time.c \
intrinsics/cshift0.c \
-intrinsics/ctime.c \
-intrinsics/date_and_time.c \
-intrinsics/dtime.c \
-intrinsics/env.c \
intrinsics/eoshift0.c \
intrinsics/eoshift2.c \
intrinsics/erfc_scaled.c \
-intrinsics/etime.c \
-intrinsics/execute_command_line.c \
-intrinsics/exit.c \
intrinsics/extends_type_of.c \
intrinsics/fnum.c \
-intrinsics/gerror.c \
-intrinsics/getcwd.c \
-intrinsics/getlog.c \
-intrinsics/getXid.c \
-intrinsics/hostnm.c \
intrinsics/ierrno.c \
intrinsics/ishftc.c \
intrinsics/iso_c_generated_procs.c \
intrinsics/iso_c_binding.c \
-intrinsics/kill.c \
-intrinsics/link.c \
intrinsics/malloc.c \
intrinsics/mvbits.c \
intrinsics/move_alloc.c \
intrinsics/pack_generic.c \
-intrinsics/perror.c \
intrinsics/selected_char_kind.c \
-intrinsics/signal.c \
intrinsics/size.c \
-intrinsics/sleep.c \
intrinsics/spread_generic.c \
intrinsics/string_intrinsics.c \
-intrinsics/system.c \
intrinsics/rand.c \
intrinsics/random.c \
-intrinsics/rename.c \
intrinsics/reshape_generic.c \
intrinsics/reshape_packed.c \
intrinsics/selected_int_kind.f90 \
intrinsics/selected_real_kind.f90 \
+intrinsics/transpose_generic.c \
+intrinsics/unpack_generic.c \
+runtime/in_pack_generic.c \
+runtime/in_unpack_generic.c
+
+if !LIBGFOR_MINIMAL
+
+gfor_helper_src+= \
+intrinsics/access.c \
+intrinsics/c99_functions.c \
+intrinsics/chdir.c \
+intrinsics/chmod.c \
+intrinsics/clock.c \
+intrinsics/cpu_time.c \
+intrinsics/ctime.c \
+intrinsics/date_and_time.c \
+intrinsics/dtime.c \
+intrinsics/env.c \
+intrinsics/etime.c \
+intrinsics/execute_command_line.c \
+intrinsics/exit.c \
+intrinsics/gerror.c \
+intrinsics/getcwd.c \
+intrinsics/getlog.c \
+intrinsics/getXid.c \
+intrinsics/hostnm.c \
+intrinsics/kill.c \
+intrinsics/link.c \
+intrinsics/perror.c \
+intrinsics/signal.c \
+intrinsics/sleep.c \
+intrinsics/system.c \
+intrinsics/rename.c \
intrinsics/stat.c \
intrinsics/symlnk.c \
intrinsics/system_clock.c \
intrinsics/time.c \
-intrinsics/transpose_generic.c \
intrinsics/umask.c \
-intrinsics/unlink.c \
-intrinsics/unpack_generic.c \
-runtime/in_pack_generic.c \
-runtime/in_unpack_generic.c
+intrinsics/unlink.c
+
+endif
+
+if IEEE_SUPPORT
+
+gfor_helper_src+=ieee/ieee_helper.c
+
+gfor_ieee_src= \
+ieee/ieee_arithmetic.F90 \
+ieee/ieee_exceptions.F90 \
+ieee/ieee_features.F90
+
+else
+
+gfor_ieee_src=
+
+endif
gfor_src= \
-runtime/backtrace.c \
runtime/bounds.c \
runtime/compile_options.c \
+runtime/memory.c \
+runtime/string.c \
+runtime/select.c
+
+if LIBGFOR_MINIMAL
+
+gfor_src+= runtime/minimal.c
+
+else
+
+gfor_src+= \
+runtime/backtrace.c \
runtime/convert_char.c \
runtime/environ.c \
runtime/error.c \
runtime/fpu.c \
runtime/main.c \
-runtime/memory.c \
runtime/pause.c \
-runtime/stop.c \
-runtime/string.c \
-runtime/select.c
+runtime/stop.c
+
+endif
i_all_c= \
$(srcdir)/generated/all_l1.c \
@@ -650,7 +697,7 @@ gfor_built_src= $(i_all_c) $(i_any_c) $(i_count_c) $(i_maxloc0_c) \
$(i_exponent_c) $(i_fraction_c) $(i_nearest_c) $(i_set_exponent_c) \
$(i_pow_c) $(i_rrspacing_c) $(i_spacing_c) $(i_pack_c) $(i_unpack_c) \
$(i_spread_c) selected_int_kind.inc selected_real_kind.inc kinds.h \
- $(i_cshift0_c) kinds.inc c99_protos.inc fpu-target.h
+ $(i_cshift0_c) kinds.inc c99_protos.inc fpu-target.h fpu-target.inc
# Machine generated specifics
gfor_built_specific_src= \
@@ -811,11 +858,27 @@ $(patsubst %.c,%.lo,$(notdir $(i_matmull_c))): AM_CFLAGS += -funroll-loops
$(patsubst %.F90,%.lo,$(patsubst %.f90,%.lo,$(notdir $(gfor_specific_src)))): AM_FCFLAGS += -fallow-leading-underscore
selected_real_kind.lo selected_int_kind.lo: AM_FCFLAGS += -fallow-leading-underscore
+if IEEE_SUPPORT
+# Add flags for IEEE modules
+$(patsubst %.F90,%.lo,$(notdir $(gfor_ieee_src))): AM_FCFLAGS += -Wno-unused-dummy-argument -Wno-c-binding-type -ffree-line-length-0 -fallow-leading-underscore
+endif
+
+# Dependencies between IEEE_ARITHMETIC and IEEE_EXCEPTIONS
+ieee_arithmetic.lo: ieee/ieee_arithmetic.F90 ieee_exceptions.lo
+ $(LTPPFCCOMPILE) -c -o $@ $<
+
+ieee_features.mod: ieee_features.lo
+ :
+ieee_exceptions.mod: ieee_exceptions.lo
+ :
+ieee_arithmetic.mod: ieee_arithmetic.lo
+ :
+
BUILT_SOURCES=$(gfor_built_src) $(gfor_built_specific_src) \
$(gfor_built_specific2_src) $(gfor_misc_specifics)
prereq_SRC = $(gfor_src) $(gfor_built_src) $(gfor_io_src) \
- $(gfor_helper_src) $(gfor_io_headers) $(gfor_specific_src)
+ $(gfor_helper_src) $(gfor_ieee_src) $(gfor_io_headers) $(gfor_specific_src)
if onestep
# dummy sources for libtool
@@ -871,6 +934,10 @@ selected_real_kind.inc: $(srcdir)/mk-srk-inc.sh
fpu-target.h: $(srcdir)/$(FPU_HOST_HEADER)
cp $(srcdir)/$(FPU_HOST_HEADER) $@
+fpu-target.inc: fpu-target.h $(srcdir)/libgfortran.h
+ grep '^#define GFC_FPE_' < $(top_srcdir)/../gcc/fortran/libgfortran.h > $@ || true
+ grep '^#define GFC_FPE_' < $(srcdir)/libgfortran.h >> $@ || true
+
## A 'normal' build shouldn't need to regenerate these
## so we only include them in maintainer mode
diff --git a/libgfortran/Makefile.in b/libgfortran/Makefile.in
index 62b9f7abff..0f60e6e6f8 100644
--- a/libgfortran/Makefile.in
+++ b/libgfortran/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -16,7 +16,25 @@
@SET_MAKE@
+
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -36,9 +54,72 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
+@LIBGFOR_MINIMAL_TRUE@am__append_1 = -DLIBGFOR_MINIMAL
+@LIBGFOR_MINIMAL_FALSE@am__append_2 = \
+@LIBGFOR_MINIMAL_FALSE@io/close.c \
+@LIBGFOR_MINIMAL_FALSE@io/file_pos.c \
+@LIBGFOR_MINIMAL_FALSE@io/format.c \
+@LIBGFOR_MINIMAL_FALSE@io/inquire.c \
+@LIBGFOR_MINIMAL_FALSE@io/intrinsics.c \
+@LIBGFOR_MINIMAL_FALSE@io/list_read.c \
+@LIBGFOR_MINIMAL_FALSE@io/lock.c \
+@LIBGFOR_MINIMAL_FALSE@io/open.c \
+@LIBGFOR_MINIMAL_FALSE@io/read.c \
+@LIBGFOR_MINIMAL_FALSE@io/transfer.c \
+@LIBGFOR_MINIMAL_FALSE@io/transfer128.c \
+@LIBGFOR_MINIMAL_FALSE@io/unit.c \
+@LIBGFOR_MINIMAL_FALSE@io/unix.c \
+@LIBGFOR_MINIMAL_FALSE@io/write.c \
+@LIBGFOR_MINIMAL_FALSE@io/fbuf.c
+
+@LIBGFOR_MINIMAL_FALSE@am__append_3 = \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/access.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/c99_functions.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/chdir.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/chmod.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/clock.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/cpu_time.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/ctime.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/date_and_time.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/dtime.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/env.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/etime.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/execute_command_line.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/exit.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/gerror.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/getcwd.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/getlog.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/getXid.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/hostnm.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/kill.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/link.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/perror.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/signal.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/sleep.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/system.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/rename.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/stat.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/symlnk.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/system_clock.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/time.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/umask.c \
+@LIBGFOR_MINIMAL_FALSE@intrinsics/unlink.c
+
+@IEEE_SUPPORT_TRUE@am__append_4 = ieee/ieee_helper.c
+@LIBGFOR_MINIMAL_TRUE@am__append_5 = runtime/minimal.c
+@LIBGFOR_MINIMAL_FALSE@am__append_6 = \
+@LIBGFOR_MINIMAL_FALSE@runtime/backtrace.c \
+@LIBGFOR_MINIMAL_FALSE@runtime/convert_char.c \
+@LIBGFOR_MINIMAL_FALSE@runtime/environ.c \
+@LIBGFOR_MINIMAL_FALSE@runtime/error.c \
+@LIBGFOR_MINIMAL_FALSE@runtime/fpu.c \
+@LIBGFOR_MINIMAL_FALSE@runtime/main.c \
+@LIBGFOR_MINIMAL_FALSE@runtime/pause.c \
+@LIBGFOR_MINIMAL_FALSE@runtime/stop.c
+
# dummy sources for libtool
-@onestep_TRUE@am__append_1 = libgfortran_c.c libgfortran_f.f90
+@onestep_TRUE@am__append_7 = libgfortran_c.c libgfortran_f.f90
subdir = .
DIST_COMMON = ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/configure $(am__configure_deps) \
@@ -95,21 +176,24 @@ am__uninstall_files_from_dir = { \
}
am__installdirs = "$(DESTDIR)$(cafexeclibdir)" \
"$(DESTDIR)$(myexeclibdir)" "$(DESTDIR)$(toolexeclibdir)" \
- "$(DESTDIR)$(toolexeclibdir)"
+ "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(fincludedir)"
LTLIBRARIES = $(cafexeclib_LTLIBRARIES) $(myexeclib_LTLIBRARIES) \
$(toolexeclib_LTLIBRARIES)
libcaf_single_la_LIBADD =
am_libcaf_single_la_OBJECTS = single.lo
libcaf_single_la_OBJECTS = $(am_libcaf_single_la_OBJECTS)
libgfortran_la_LIBADD =
-am__objects_1 = backtrace.lo bounds.lo compile_options.lo \
- convert_char.lo environ.lo error.lo fpu.lo main.lo memory.lo \
- pause.lo stop.lo string.lo select.lo
-am__objects_2 = all_l1.lo all_l2.lo all_l4.lo all_l8.lo all_l16.lo
-am__objects_3 = any_l1.lo any_l2.lo any_l4.lo any_l8.lo any_l16.lo
-am__objects_4 = count_1_l.lo count_2_l.lo count_4_l.lo count_8_l.lo \
+@LIBGFOR_MINIMAL_TRUE@am__objects_1 = minimal.lo
+@LIBGFOR_MINIMAL_FALSE@am__objects_2 = backtrace.lo convert_char.lo \
+@LIBGFOR_MINIMAL_FALSE@ environ.lo error.lo fpu.lo main.lo \
+@LIBGFOR_MINIMAL_FALSE@ pause.lo stop.lo
+am__objects_3 = bounds.lo compile_options.lo memory.lo string.lo \
+ select.lo $(am__objects_1) $(am__objects_2)
+am__objects_4 = all_l1.lo all_l2.lo all_l4.lo all_l8.lo all_l16.lo
+am__objects_5 = any_l1.lo any_l2.lo any_l4.lo any_l8.lo any_l16.lo
+am__objects_6 = count_1_l.lo count_2_l.lo count_4_l.lo count_8_l.lo \
count_16_l.lo
-am__objects_5 = maxloc0_4_i1.lo maxloc0_8_i1.lo maxloc0_16_i1.lo \
+am__objects_7 = maxloc0_4_i1.lo maxloc0_8_i1.lo maxloc0_16_i1.lo \
maxloc0_4_i2.lo maxloc0_8_i2.lo maxloc0_16_i2.lo \
maxloc0_4_i4.lo maxloc0_8_i4.lo maxloc0_16_i4.lo \
maxloc0_4_i8.lo maxloc0_8_i8.lo maxloc0_16_i8.lo \
@@ -118,7 +202,7 @@ am__objects_5 = maxloc0_4_i1.lo maxloc0_8_i1.lo maxloc0_16_i1.lo \
maxloc0_4_r8.lo maxloc0_8_r8.lo maxloc0_16_r8.lo \
maxloc0_4_r10.lo maxloc0_8_r10.lo maxloc0_16_r10.lo \
maxloc0_4_r16.lo maxloc0_8_r16.lo maxloc0_16_r16.lo
-am__objects_6 = maxloc1_4_i1.lo maxloc1_8_i1.lo maxloc1_16_i1.lo \
+am__objects_8 = maxloc1_4_i1.lo maxloc1_8_i1.lo maxloc1_16_i1.lo \
maxloc1_4_i2.lo maxloc1_8_i2.lo maxloc1_16_i2.lo \
maxloc1_4_i4.lo maxloc1_8_i4.lo maxloc1_16_i4.lo \
maxloc1_4_i8.lo maxloc1_8_i8.lo maxloc1_16_i8.lo \
@@ -127,10 +211,10 @@ am__objects_6 = maxloc1_4_i1.lo maxloc1_8_i1.lo maxloc1_16_i1.lo \
maxloc1_4_r8.lo maxloc1_8_r8.lo maxloc1_16_r8.lo \
maxloc1_4_r10.lo maxloc1_8_r10.lo maxloc1_16_r10.lo \
maxloc1_4_r16.lo maxloc1_8_r16.lo maxloc1_16_r16.lo
-am__objects_7 = maxval_i1.lo maxval_i2.lo maxval_i4.lo maxval_i8.lo \
+am__objects_9 = maxval_i1.lo maxval_i2.lo maxval_i4.lo maxval_i8.lo \
maxval_i16.lo maxval_r4.lo maxval_r8.lo maxval_r10.lo \
maxval_r16.lo
-am__objects_8 = minloc0_4_i1.lo minloc0_8_i1.lo minloc0_16_i1.lo \
+am__objects_10 = minloc0_4_i1.lo minloc0_8_i1.lo minloc0_16_i1.lo \
minloc0_4_i2.lo minloc0_8_i2.lo minloc0_16_i2.lo \
minloc0_4_i4.lo minloc0_8_i4.lo minloc0_16_i4.lo \
minloc0_4_i8.lo minloc0_8_i8.lo minloc0_16_i8.lo \
@@ -139,7 +223,7 @@ am__objects_8 = minloc0_4_i1.lo minloc0_8_i1.lo minloc0_16_i1.lo \
minloc0_4_r8.lo minloc0_8_r8.lo minloc0_16_r8.lo \
minloc0_4_r10.lo minloc0_8_r10.lo minloc0_16_r10.lo \
minloc0_4_r16.lo minloc0_8_r16.lo minloc0_16_r16.lo
-am__objects_9 = minloc1_4_i1.lo minloc1_8_i1.lo minloc1_16_i1.lo \
+am__objects_11 = minloc1_4_i1.lo minloc1_8_i1.lo minloc1_16_i1.lo \
minloc1_4_i2.lo minloc1_8_i2.lo minloc1_16_i2.lo \
minloc1_4_i4.lo minloc1_8_i4.lo minloc1_16_i4.lo \
minloc1_4_i8.lo minloc1_8_i8.lo minloc1_16_i8.lo \
@@ -148,60 +232,60 @@ am__objects_9 = minloc1_4_i1.lo minloc1_8_i1.lo minloc1_16_i1.lo \
minloc1_4_r8.lo minloc1_8_r8.lo minloc1_16_r8.lo \
minloc1_4_r10.lo minloc1_8_r10.lo minloc1_16_r10.lo \
minloc1_4_r16.lo minloc1_8_r16.lo minloc1_16_r16.lo
-am__objects_10 = minval_i1.lo minval_i2.lo minval_i4.lo minval_i8.lo \
+am__objects_12 = minval_i1.lo minval_i2.lo minval_i4.lo minval_i8.lo \
minval_i16.lo minval_r4.lo minval_r8.lo minval_r10.lo \
minval_r16.lo
-am__objects_11 = product_i1.lo product_i2.lo product_i4.lo \
+am__objects_13 = product_i1.lo product_i2.lo product_i4.lo \
product_i8.lo product_i16.lo product_r4.lo product_r8.lo \
product_r10.lo product_r16.lo product_c4.lo product_c8.lo \
product_c10.lo product_c16.lo
-am__objects_12 = sum_i1.lo sum_i2.lo sum_i4.lo sum_i8.lo sum_i16.lo \
+am__objects_14 = sum_i1.lo sum_i2.lo sum_i4.lo sum_i8.lo sum_i16.lo \
sum_r4.lo sum_r8.lo sum_r10.lo sum_r16.lo sum_c4.lo sum_c8.lo \
sum_c10.lo sum_c16.lo
-am__objects_13 = bessel_r4.lo bessel_r8.lo bessel_r10.lo bessel_r16.lo
-am__objects_14 = iall_i1.lo iall_i2.lo iall_i4.lo iall_i8.lo \
+am__objects_15 = bessel_r4.lo bessel_r8.lo bessel_r10.lo bessel_r16.lo
+am__objects_16 = iall_i1.lo iall_i2.lo iall_i4.lo iall_i8.lo \
iall_i16.lo
-am__objects_15 = iany_i1.lo iany_i2.lo iany_i4.lo iany_i8.lo \
+am__objects_17 = iany_i1.lo iany_i2.lo iany_i4.lo iany_i8.lo \
iany_i16.lo
-am__objects_16 = iparity_i1.lo iparity_i2.lo iparity_i4.lo \
+am__objects_18 = iparity_i1.lo iparity_i2.lo iparity_i4.lo \
iparity_i8.lo iparity_i16.lo
-am__objects_17 = norm2_r4.lo norm2_r8.lo norm2_r10.lo norm2_r16.lo
-am__objects_18 = parity_l1.lo parity_l2.lo parity_l4.lo parity_l8.lo \
+am__objects_19 = norm2_r4.lo norm2_r8.lo norm2_r10.lo norm2_r16.lo
+am__objects_20 = parity_l1.lo parity_l2.lo parity_l4.lo parity_l8.lo \
parity_l16.lo
-am__objects_19 = matmul_i1.lo matmul_i2.lo matmul_i4.lo matmul_i8.lo \
+am__objects_21 = matmul_i1.lo matmul_i2.lo matmul_i4.lo matmul_i8.lo \
matmul_i16.lo matmul_r4.lo matmul_r8.lo matmul_r10.lo \
matmul_r16.lo matmul_c4.lo matmul_c8.lo matmul_c10.lo \
matmul_c16.lo
-am__objects_20 = matmul_l4.lo matmul_l8.lo matmul_l16.lo
-am__objects_21 = transpose_i4.lo transpose_i8.lo transpose_i16.lo \
+am__objects_22 = matmul_l4.lo matmul_l8.lo matmul_l16.lo
+am__objects_23 = transpose_i4.lo transpose_i8.lo transpose_i16.lo \
transpose_r4.lo transpose_r8.lo transpose_r10.lo \
transpose_r16.lo transpose_c4.lo transpose_c8.lo \
transpose_c10.lo transpose_c16.lo
-am__objects_22 = shape_i4.lo shape_i8.lo shape_i16.lo
-am__objects_23 = eoshift1_4.lo eoshift1_8.lo eoshift1_16.lo
-am__objects_24 = eoshift3_4.lo eoshift3_8.lo eoshift3_16.lo
-am__objects_25 = cshift1_4.lo cshift1_8.lo cshift1_16.lo
-am__objects_26 = reshape_i4.lo reshape_i8.lo reshape_i16.lo \
+am__objects_24 = shape_i4.lo shape_i8.lo shape_i16.lo
+am__objects_25 = eoshift1_4.lo eoshift1_8.lo eoshift1_16.lo
+am__objects_26 = eoshift3_4.lo eoshift3_8.lo eoshift3_16.lo
+am__objects_27 = cshift1_4.lo cshift1_8.lo cshift1_16.lo
+am__objects_28 = reshape_i4.lo reshape_i8.lo reshape_i16.lo \
reshape_r4.lo reshape_r8.lo reshape_r10.lo reshape_r16.lo \
reshape_c4.lo reshape_c8.lo reshape_c10.lo reshape_c16.lo
-am__objects_27 = in_pack_i1.lo in_pack_i2.lo in_pack_i4.lo \
+am__objects_29 = in_pack_i1.lo in_pack_i2.lo in_pack_i4.lo \
in_pack_i8.lo in_pack_i16.lo in_pack_r4.lo in_pack_r8.lo \
in_pack_r10.lo in_pack_r16.lo in_pack_c4.lo in_pack_c8.lo \
in_pack_c10.lo in_pack_c16.lo
-am__objects_28 = in_unpack_i1.lo in_unpack_i2.lo in_unpack_i4.lo \
+am__objects_30 = in_unpack_i1.lo in_unpack_i2.lo in_unpack_i4.lo \
in_unpack_i8.lo in_unpack_i16.lo in_unpack_r4.lo \
in_unpack_r8.lo in_unpack_r10.lo in_unpack_r16.lo \
in_unpack_c4.lo in_unpack_c8.lo in_unpack_c10.lo \
in_unpack_c16.lo
-am__objects_29 = exponent_r4.lo exponent_r8.lo exponent_r10.lo \
+am__objects_31 = exponent_r4.lo exponent_r8.lo exponent_r10.lo \
exponent_r16.lo
-am__objects_30 = fraction_r4.lo fraction_r8.lo fraction_r10.lo \
+am__objects_32 = fraction_r4.lo fraction_r8.lo fraction_r10.lo \
fraction_r16.lo
-am__objects_31 = nearest_r4.lo nearest_r8.lo nearest_r10.lo \
+am__objects_33 = nearest_r4.lo nearest_r8.lo nearest_r10.lo \
nearest_r16.lo
-am__objects_32 = set_exponent_r4.lo set_exponent_r8.lo \
+am__objects_34 = set_exponent_r4.lo set_exponent_r8.lo \
set_exponent_r10.lo set_exponent_r16.lo
-am__objects_33 = pow_i4_i4.lo pow_i8_i4.lo pow_i16_i4.lo pow_r16_i4.lo \
+am__objects_35 = pow_i4_i4.lo pow_i8_i4.lo pow_i16_i4.lo pow_r16_i4.lo \
pow_c4_i4.lo pow_c8_i4.lo pow_c10_i4.lo pow_c16_i4.lo \
pow_i4_i8.lo pow_i8_i8.lo pow_i16_i8.lo pow_r4_i8.lo \
pow_r8_i8.lo pow_r10_i8.lo pow_r16_i8.lo pow_c4_i8.lo \
@@ -209,59 +293,69 @@ am__objects_33 = pow_i4_i4.lo pow_i8_i4.lo pow_i16_i4.lo pow_r16_i4.lo \
pow_i8_i16.lo pow_i16_i16.lo pow_r4_i16.lo pow_r8_i16.lo \
pow_r10_i16.lo pow_r16_i16.lo pow_c4_i16.lo pow_c8_i16.lo \
pow_c10_i16.lo pow_c16_i16.lo
-am__objects_34 = rrspacing_r4.lo rrspacing_r8.lo rrspacing_r10.lo \
+am__objects_36 = rrspacing_r4.lo rrspacing_r8.lo rrspacing_r10.lo \
rrspacing_r16.lo
-am__objects_35 = spacing_r4.lo spacing_r8.lo spacing_r10.lo \
+am__objects_37 = spacing_r4.lo spacing_r8.lo spacing_r10.lo \
spacing_r16.lo
-am__objects_36 = pack_i1.lo pack_i2.lo pack_i4.lo pack_i8.lo \
+am__objects_38 = pack_i1.lo pack_i2.lo pack_i4.lo pack_i8.lo \
pack_i16.lo pack_r4.lo pack_r8.lo pack_r10.lo pack_r16.lo \
pack_c4.lo pack_c8.lo pack_c10.lo pack_c16.lo
-am__objects_37 = unpack_i1.lo unpack_i2.lo unpack_i4.lo unpack_i8.lo \
+am__objects_39 = unpack_i1.lo unpack_i2.lo unpack_i4.lo unpack_i8.lo \
unpack_i16.lo unpack_r4.lo unpack_r8.lo unpack_r10.lo \
unpack_r16.lo unpack_c4.lo unpack_c8.lo unpack_c10.lo \
unpack_c16.lo
-am__objects_38 = spread_i1.lo spread_i2.lo spread_i4.lo spread_i8.lo \
+am__objects_40 = spread_i1.lo spread_i2.lo spread_i4.lo spread_i8.lo \
spread_i16.lo spread_r4.lo spread_r8.lo spread_r10.lo \
spread_r16.lo spread_c4.lo spread_c8.lo spread_c10.lo \
spread_c16.lo
-am__objects_39 = cshift0_i1.lo cshift0_i2.lo cshift0_i4.lo \
+am__objects_41 = cshift0_i1.lo cshift0_i2.lo cshift0_i4.lo \
cshift0_i8.lo cshift0_i16.lo cshift0_r4.lo cshift0_r8.lo \
cshift0_r10.lo cshift0_r16.lo cshift0_c4.lo cshift0_c8.lo \
cshift0_c10.lo cshift0_c16.lo
-am__objects_40 = $(am__objects_2) $(am__objects_3) $(am__objects_4) \
- $(am__objects_5) $(am__objects_6) $(am__objects_7) \
- $(am__objects_8) $(am__objects_9) $(am__objects_10) \
- $(am__objects_11) $(am__objects_12) $(am__objects_13) \
- $(am__objects_14) $(am__objects_15) $(am__objects_16) \
- $(am__objects_17) $(am__objects_18) $(am__objects_19) \
- $(am__objects_20) $(am__objects_21) $(am__objects_22) \
- $(am__objects_23) $(am__objects_24) $(am__objects_25) \
- $(am__objects_26) $(am__objects_27) $(am__objects_28) \
- $(am__objects_29) $(am__objects_30) $(am__objects_31) \
- $(am__objects_32) $(am__objects_33) $(am__objects_34) \
- $(am__objects_35) $(am__objects_36) $(am__objects_37) \
- $(am__objects_38) $(am__objects_39)
-am__objects_41 = close.lo file_pos.lo format.lo inquire.lo \
- intrinsics.lo list_read.lo lock.lo open.lo read.lo \
- size_from_kind.lo transfer.lo transfer128.lo unit.lo unix.lo \
- write.lo fbuf.lo
-am__objects_42 = associated.lo abort.lo access.lo args.lo \
- bit_intrinsics.lo c99_functions.lo chdir.lo chmod.lo clock.lo \
- cpu_time.lo cshift0.lo ctime.lo date_and_time.lo dtime.lo \
- env.lo eoshift0.lo eoshift2.lo erfc_scaled.lo etime.lo \
- execute_command_line.lo exit.lo extends_type_of.lo fnum.lo \
- gerror.lo getcwd.lo getlog.lo getXid.lo hostnm.lo ierrno.lo \
- ishftc.lo iso_c_generated_procs.lo iso_c_binding.lo kill.lo \
- link.lo malloc.lo mvbits.lo move_alloc.lo pack_generic.lo \
- perror.lo selected_char_kind.lo signal.lo size.lo sleep.lo \
- spread_generic.lo string_intrinsics.lo system.lo rand.lo \
- random.lo rename.lo reshape_generic.lo reshape_packed.lo \
- selected_int_kind.lo selected_real_kind.lo stat.lo symlnk.lo \
- system_clock.lo time.lo transpose_generic.lo umask.lo \
- unlink.lo unpack_generic.lo in_pack_generic.lo \
- in_unpack_generic.lo
-am__objects_43 =
-am__objects_44 = _abs_c4.lo _abs_c8.lo _abs_c10.lo _abs_c16.lo \
+am__objects_42 = $(am__objects_4) $(am__objects_5) $(am__objects_6) \
+ $(am__objects_7) $(am__objects_8) $(am__objects_9) \
+ $(am__objects_10) $(am__objects_11) $(am__objects_12) \
+ $(am__objects_13) $(am__objects_14) $(am__objects_15) \
+ $(am__objects_16) $(am__objects_17) $(am__objects_18) \
+ $(am__objects_19) $(am__objects_20) $(am__objects_21) \
+ $(am__objects_22) $(am__objects_23) $(am__objects_24) \
+ $(am__objects_25) $(am__objects_26) $(am__objects_27) \
+ $(am__objects_28) $(am__objects_29) $(am__objects_30) \
+ $(am__objects_31) $(am__objects_32) $(am__objects_33) \
+ $(am__objects_34) $(am__objects_35) $(am__objects_36) \
+ $(am__objects_37) $(am__objects_38) $(am__objects_39) \
+ $(am__objects_40) $(am__objects_41)
+@LIBGFOR_MINIMAL_FALSE@am__objects_43 = close.lo file_pos.lo format.lo \
+@LIBGFOR_MINIMAL_FALSE@ inquire.lo intrinsics.lo list_read.lo \
+@LIBGFOR_MINIMAL_FALSE@ lock.lo open.lo read.lo transfer.lo \
+@LIBGFOR_MINIMAL_FALSE@ transfer128.lo unit.lo unix.lo write.lo \
+@LIBGFOR_MINIMAL_FALSE@ fbuf.lo
+am__objects_44 = size_from_kind.lo $(am__objects_43)
+@LIBGFOR_MINIMAL_FALSE@am__objects_45 = access.lo c99_functions.lo \
+@LIBGFOR_MINIMAL_FALSE@ chdir.lo chmod.lo clock.lo cpu_time.lo \
+@LIBGFOR_MINIMAL_FALSE@ ctime.lo date_and_time.lo dtime.lo \
+@LIBGFOR_MINIMAL_FALSE@ env.lo etime.lo execute_command_line.lo \
+@LIBGFOR_MINIMAL_FALSE@ exit.lo gerror.lo getcwd.lo getlog.lo \
+@LIBGFOR_MINIMAL_FALSE@ getXid.lo hostnm.lo kill.lo link.lo \
+@LIBGFOR_MINIMAL_FALSE@ perror.lo signal.lo sleep.lo system.lo \
+@LIBGFOR_MINIMAL_FALSE@ rename.lo stat.lo symlnk.lo \
+@LIBGFOR_MINIMAL_FALSE@ system_clock.lo time.lo umask.lo \
+@LIBGFOR_MINIMAL_FALSE@ unlink.lo
+@IEEE_SUPPORT_TRUE@am__objects_46 = ieee_helper.lo
+am__objects_47 = associated.lo abort.lo args.lo bit_intrinsics.lo \
+ cshift0.lo eoshift0.lo eoshift2.lo erfc_scaled.lo \
+ extends_type_of.lo fnum.lo ierrno.lo ishftc.lo \
+ iso_c_generated_procs.lo iso_c_binding.lo malloc.lo mvbits.lo \
+ move_alloc.lo pack_generic.lo selected_char_kind.lo size.lo \
+ spread_generic.lo string_intrinsics.lo rand.lo random.lo \
+ reshape_generic.lo reshape_packed.lo selected_int_kind.lo \
+ selected_real_kind.lo transpose_generic.lo unpack_generic.lo \
+ in_pack_generic.lo in_unpack_generic.lo $(am__objects_45) \
+ $(am__objects_46)
+@IEEE_SUPPORT_TRUE@am__objects_48 = ieee_arithmetic.lo \
+@IEEE_SUPPORT_TRUE@ ieee_exceptions.lo ieee_features.lo
+am__objects_49 =
+am__objects_50 = _abs_c4.lo _abs_c8.lo _abs_c10.lo _abs_c16.lo \
_abs_i4.lo _abs_i8.lo _abs_i16.lo _abs_r4.lo _abs_r8.lo \
_abs_r10.lo _abs_r16.lo _aimag_c4.lo _aimag_c8.lo \
_aimag_c10.lo _aimag_c16.lo _exp_r4.lo _exp_r8.lo _exp_r10.lo \
@@ -285,18 +379,19 @@ am__objects_44 = _abs_c4.lo _abs_c8.lo _abs_c10.lo _abs_c16.lo \
_conjg_c4.lo _conjg_c8.lo _conjg_c10.lo _conjg_c16.lo \
_aint_r4.lo _aint_r8.lo _aint_r10.lo _aint_r16.lo _anint_r4.lo \
_anint_r8.lo _anint_r10.lo _anint_r16.lo
-am__objects_45 = _sign_i4.lo _sign_i8.lo _sign_i16.lo _sign_r4.lo \
+am__objects_51 = _sign_i4.lo _sign_i8.lo _sign_i16.lo _sign_r4.lo \
_sign_r8.lo _sign_r10.lo _sign_r16.lo _dim_i4.lo _dim_i8.lo \
_dim_i16.lo _dim_r4.lo _dim_r8.lo _dim_r10.lo _dim_r16.lo \
_atan2_r4.lo _atan2_r8.lo _atan2_r10.lo _atan2_r16.lo \
_mod_i4.lo _mod_i8.lo _mod_i16.lo _mod_r4.lo _mod_r8.lo \
_mod_r10.lo _mod_r16.lo
-am__objects_46 = misc_specifics.lo
-am__objects_47 = $(am__objects_44) $(am__objects_45) $(am__objects_46) \
+am__objects_52 = misc_specifics.lo
+am__objects_53 = $(am__objects_50) $(am__objects_51) $(am__objects_52) \
dprod_r8.lo f2c_specifics.lo
-am__objects_48 = $(am__objects_1) $(am__objects_40) $(am__objects_41) \
- $(am__objects_42) $(am__objects_43) $(am__objects_47)
-@onestep_FALSE@am_libgfortran_la_OBJECTS = $(am__objects_48)
+am__objects_54 = $(am__objects_3) $(am__objects_42) $(am__objects_44) \
+ $(am__objects_47) $(am__objects_48) $(am__objects_49) \
+ $(am__objects_53)
+@onestep_FALSE@am_libgfortran_la_OBJECTS = $(am__objects_54)
@onestep_TRUE@am_libgfortran_la_OBJECTS = libgfortran_c.lo
libgfortran_la_OBJECTS = $(am_libgfortran_la_OBJECTS)
libgfortranbegin_la_LIBADD =
@@ -335,7 +430,13 @@ MULTIDIRS =
MULTISUBDIR =
MULTIDO = true
MULTICLEAN = true
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
DATA = $(toolexeclib_DATA)
+HEADERS = $(nodist_finclude_HEADERS)
ETAGS = etags
CTAGS = ctags
ACLOCAL = @ACLOCAL@
@@ -347,8 +448,8 @@ AMTAR = @AMTAR@
# Some targets require additional compiler options for IEEE compatibility.
AM_CFLAGS = @AM_CFLAGS@ -fcx-fortran-rules $(SECTION_FLAGS) \
- $(IEEE_FLAGS)
-AM_FCFLAGS = @AM_FCFLAGS@
+ $(IEEE_FLAGS) $(am__append_1)
+AM_FCFLAGS = @AM_FCFLAGS@ $(IEEE_FLAGS)
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -376,6 +477,7 @@ FGREP = @FGREP@
FPU_HOST_HEADER = @FPU_HOST_HEADER@
GREP = @GREP@
IEEE_FLAGS = @IEEE_FLAGS@
+IEEE_SUPPORT = @IEEE_SUPPORT@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -516,116 +618,48 @@ libcaf_single_la_SOURCES = caf/single.c
libcaf_single_la_LDFLAGS = -static
libcaf_single_la_DEPENDENCIES = caf/libcaf.h
libcaf_single_la_LINK = $(LINK) $(libcaf_single_la_LDFLAGS)
+@IEEE_SUPPORT_TRUE@fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude
+@IEEE_SUPPORT_TRUE@nodist_finclude_HEADERS = ieee_arithmetic.mod ieee_exceptions.mod ieee_features.mod
AM_CPPFLAGS = -iquote$(srcdir)/io -I$(srcdir)/$(MULTISRCTOP)../gcc \
-I$(srcdir)/$(MULTISRCTOP)../gcc/config $(LIBQUADINCLUDE) \
-I$(MULTIBUILDTOP)../../$(host_subdir)/gcc \
-I$(srcdir)/$(MULTISRCTOP)../libgcc \
-I$(MULTIBUILDTOP)../libgcc
-gfor_io_src = \
-io/close.c \
-io/file_pos.c \
-io/format.c \
-io/inquire.c \
-io/intrinsics.c \
-io/list_read.c \
-io/lock.c \
-io/open.c \
-io/read.c \
-io/size_from_kind.c \
-io/transfer.c \
-io/transfer128.c \
-io/unit.c \
-io/unix.c \
-io/write.c \
-io/fbuf.c
-
+gfor_io_src = io/size_from_kind.c $(am__append_2)
gfor_io_headers = \
io/io.h \
io/fbuf.h \
io/format.h \
io/unix.h
-gfor_helper_src = \
-intrinsics/associated.c \
-intrinsics/abort.c \
-intrinsics/access.c \
-intrinsics/args.c \
-intrinsics/bit_intrinsics.c \
-intrinsics/c99_functions.c \
-intrinsics/chdir.c \
-intrinsics/chmod.c \
-intrinsics/clock.c \
-intrinsics/cpu_time.c \
-intrinsics/cshift0.c \
-intrinsics/ctime.c \
-intrinsics/date_and_time.c \
-intrinsics/dtime.c \
-intrinsics/env.c \
-intrinsics/eoshift0.c \
-intrinsics/eoshift2.c \
-intrinsics/erfc_scaled.c \
-intrinsics/etime.c \
-intrinsics/execute_command_line.c \
-intrinsics/exit.c \
-intrinsics/extends_type_of.c \
-intrinsics/fnum.c \
-intrinsics/gerror.c \
-intrinsics/getcwd.c \
-intrinsics/getlog.c \
-intrinsics/getXid.c \
-intrinsics/hostnm.c \
-intrinsics/ierrno.c \
-intrinsics/ishftc.c \
-intrinsics/iso_c_generated_procs.c \
-intrinsics/iso_c_binding.c \
-intrinsics/kill.c \
-intrinsics/link.c \
-intrinsics/malloc.c \
-intrinsics/mvbits.c \
-intrinsics/move_alloc.c \
-intrinsics/pack_generic.c \
-intrinsics/perror.c \
-intrinsics/selected_char_kind.c \
-intrinsics/signal.c \
-intrinsics/size.c \
-intrinsics/sleep.c \
-intrinsics/spread_generic.c \
-intrinsics/string_intrinsics.c \
-intrinsics/system.c \
-intrinsics/rand.c \
-intrinsics/random.c \
-intrinsics/rename.c \
-intrinsics/reshape_generic.c \
-intrinsics/reshape_packed.c \
-intrinsics/selected_int_kind.f90 \
-intrinsics/selected_real_kind.f90 \
-intrinsics/stat.c \
-intrinsics/symlnk.c \
-intrinsics/system_clock.c \
-intrinsics/time.c \
-intrinsics/transpose_generic.c \
-intrinsics/umask.c \
-intrinsics/unlink.c \
-intrinsics/unpack_generic.c \
-runtime/in_pack_generic.c \
-runtime/in_unpack_generic.c
-
-gfor_src = \
-runtime/backtrace.c \
-runtime/bounds.c \
-runtime/compile_options.c \
-runtime/convert_char.c \
-runtime/environ.c \
-runtime/error.c \
-runtime/fpu.c \
-runtime/main.c \
-runtime/memory.c \
-runtime/pause.c \
-runtime/stop.c \
-runtime/string.c \
-runtime/select.c
-
+gfor_helper_src = intrinsics/associated.c intrinsics/abort.c \
+ intrinsics/args.c intrinsics/bit_intrinsics.c \
+ intrinsics/cshift0.c intrinsics/eoshift0.c \
+ intrinsics/eoshift2.c intrinsics/erfc_scaled.c \
+ intrinsics/extends_type_of.c intrinsics/fnum.c \
+ intrinsics/ierrno.c intrinsics/ishftc.c \
+ intrinsics/iso_c_generated_procs.c intrinsics/iso_c_binding.c \
+ intrinsics/malloc.c intrinsics/mvbits.c \
+ intrinsics/move_alloc.c intrinsics/pack_generic.c \
+ intrinsics/selected_char_kind.c intrinsics/size.c \
+ intrinsics/spread_generic.c intrinsics/string_intrinsics.c \
+ intrinsics/rand.c intrinsics/random.c \
+ intrinsics/reshape_generic.c intrinsics/reshape_packed.c \
+ intrinsics/selected_int_kind.f90 \
+ intrinsics/selected_real_kind.f90 \
+ intrinsics/transpose_generic.c intrinsics/unpack_generic.c \
+ runtime/in_pack_generic.c runtime/in_unpack_generic.c \
+ $(am__append_3) $(am__append_4)
+@IEEE_SUPPORT_FALSE@gfor_ieee_src =
+@IEEE_SUPPORT_TRUE@gfor_ieee_src = \
+@IEEE_SUPPORT_TRUE@ieee/ieee_arithmetic.F90 \
+@IEEE_SUPPORT_TRUE@ieee/ieee_exceptions.F90 \
+@IEEE_SUPPORT_TRUE@ieee/ieee_features.F90
+
+gfor_src = runtime/bounds.c runtime/compile_options.c runtime/memory.c \
+ runtime/string.c runtime/select.c $(am__append_5) \
+ $(am__append_6)
i_all_c = \
$(srcdir)/generated/all_l1.c \
$(srcdir)/generated/all_l2.c \
@@ -1100,7 +1134,7 @@ gfor_built_src = $(i_all_c) $(i_any_c) $(i_count_c) $(i_maxloc0_c) \
$(i_exponent_c) $(i_fraction_c) $(i_nearest_c) $(i_set_exponent_c) \
$(i_pow_c) $(i_rrspacing_c) $(i_spacing_c) $(i_pack_c) $(i_unpack_c) \
$(i_spread_c) selected_int_kind.inc selected_real_kind.inc kinds.h \
- $(i_cshift0_c) kinds.inc c99_protos.inc fpu-target.h
+ $(i_cshift0_c) kinds.inc c99_protos.inc fpu-target.h fpu-target.inc
# Machine generated specifics
@@ -1254,9 +1288,9 @@ intrinsics/f2c_specifics.F90
BUILT_SOURCES = $(gfor_built_src) $(gfor_built_specific_src) \
$(gfor_built_specific2_src) $(gfor_misc_specifics) \
- $(am__append_1)
+ $(am__append_7)
prereq_SRC = $(gfor_src) $(gfor_built_src) $(gfor_io_src) \
- $(gfor_helper_src) $(gfor_io_headers) $(gfor_specific_src)
+ $(gfor_helper_src) $(gfor_ieee_src) $(gfor_io_headers) $(gfor_specific_src)
@onestep_FALSE@libgfortran_la_SOURCES = $(prereq_SRC)
@@ -1335,7 +1369,6 @@ libgfortran.spec: $(top_builddir)/config.status $(srcdir)/libgfortran.spec.in
cd $(top_builddir) && $(SHELL) ./config.status $@
install-cafexeclibLTLIBRARIES: $(cafexeclib_LTLIBRARIES)
@$(NORMAL_INSTALL)
- test -z "$(cafexeclibdir)" || $(MKDIR_P) "$(DESTDIR)$(cafexeclibdir)"
@list='$(cafexeclib_LTLIBRARIES)'; test -n "$(cafexeclibdir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
@@ -1343,6 +1376,8 @@ install-cafexeclibLTLIBRARIES: $(cafexeclib_LTLIBRARIES)
else :; fi; \
done; \
test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(cafexeclibdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(cafexeclibdir)" || exit 1; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(cafexeclibdir)'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(cafexeclibdir)"; \
}
@@ -1366,7 +1401,6 @@ clean-cafexeclibLTLIBRARIES:
done
install-myexeclibLTLIBRARIES: $(myexeclib_LTLIBRARIES)
@$(NORMAL_INSTALL)
- test -z "$(myexeclibdir)" || $(MKDIR_P) "$(DESTDIR)$(myexeclibdir)"
@list='$(myexeclib_LTLIBRARIES)'; test -n "$(myexeclibdir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
@@ -1374,6 +1408,8 @@ install-myexeclibLTLIBRARIES: $(myexeclib_LTLIBRARIES)
else :; fi; \
done; \
test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(myexeclibdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(myexeclibdir)" || exit 1; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(myexeclibdir)'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(myexeclibdir)"; \
}
@@ -1397,7 +1433,6 @@ clean-myexeclibLTLIBRARIES:
done
install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
@$(NORMAL_INSTALL)
- test -z "$(toolexeclibdir)" || $(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)"
@list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
@@ -1405,6 +1440,8 @@ install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
else :; fi; \
done; \
test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(toolexeclibdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)" || exit 1; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(toolexeclibdir)'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(toolexeclibdir)"; \
}
@@ -1538,6 +1575,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iany_i2.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iany_i4.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iany_i8.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ieee_helper.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ierrno.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/in_pack_c10.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/in_pack_c16.Plo@am__quote@
@@ -1664,6 +1702,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/maxval_r4.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/maxval_r8.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memory.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minimal.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minloc0_16_i1.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minloc0_16_i16.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minloc0_16_i2.Plo@am__quote@
@@ -1919,6 +1958,12 @@ distclean-compile:
.F90.lo:
$(LTPPFCCOMPILE) -c -o $@ $<
+ieee_exceptions.lo: ieee/ieee_exceptions.F90
+ $(LIBTOOL) --tag=FC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o ieee_exceptions.lo `test -f 'ieee/ieee_exceptions.F90' || echo '$(srcdir)/'`ieee/ieee_exceptions.F90
+
+ieee_features.lo: ieee/ieee_features.F90
+ $(LIBTOOL) --tag=FC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o ieee_features.lo `test -f 'ieee/ieee_features.F90' || echo '$(srcdir)/'`ieee/ieee_features.F90
+
_abs_c4.lo: $(srcdir)/generated/_abs_c4.F90
$(LIBTOOL) --tag=FC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS) -c -o _abs_c4.lo `test -f '$(srcdir)/generated/_abs_c4.F90' || echo '$(srcdir)/'`$(srcdir)/generated/_abs_c4.F90
@@ -2361,13 +2406,6 @@ single.lo: caf/single.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o single.lo `test -f 'caf/single.c' || echo '$(srcdir)/'`caf/single.c
-backtrace.lo: runtime/backtrace.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT backtrace.lo -MD -MP -MF $(DEPDIR)/backtrace.Tpo -c -o backtrace.lo `test -f 'runtime/backtrace.c' || echo '$(srcdir)/'`runtime/backtrace.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/backtrace.Tpo $(DEPDIR)/backtrace.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='runtime/backtrace.c' object='backtrace.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o backtrace.lo `test -f 'runtime/backtrace.c' || echo '$(srcdir)/'`runtime/backtrace.c
-
bounds.lo: runtime/bounds.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT bounds.lo -MD -MP -MF $(DEPDIR)/bounds.Tpo -c -o bounds.lo `test -f 'runtime/bounds.c' || echo '$(srcdir)/'`runtime/bounds.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/bounds.Tpo $(DEPDIR)/bounds.Plo
@@ -2382,6 +2420,41 @@ compile_options.lo: runtime/compile_options.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o compile_options.lo `test -f 'runtime/compile_options.c' || echo '$(srcdir)/'`runtime/compile_options.c
+memory.lo: runtime/memory.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT memory.lo -MD -MP -MF $(DEPDIR)/memory.Tpo -c -o memory.lo `test -f 'runtime/memory.c' || echo '$(srcdir)/'`runtime/memory.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/memory.Tpo $(DEPDIR)/memory.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='runtime/memory.c' object='memory.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o memory.lo `test -f 'runtime/memory.c' || echo '$(srcdir)/'`runtime/memory.c
+
+string.lo: runtime/string.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT string.lo -MD -MP -MF $(DEPDIR)/string.Tpo -c -o string.lo `test -f 'runtime/string.c' || echo '$(srcdir)/'`runtime/string.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/string.Tpo $(DEPDIR)/string.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='runtime/string.c' object='string.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o string.lo `test -f 'runtime/string.c' || echo '$(srcdir)/'`runtime/string.c
+
+select.lo: runtime/select.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT select.lo -MD -MP -MF $(DEPDIR)/select.Tpo -c -o select.lo `test -f 'runtime/select.c' || echo '$(srcdir)/'`runtime/select.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/select.Tpo $(DEPDIR)/select.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='runtime/select.c' object='select.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o select.lo `test -f 'runtime/select.c' || echo '$(srcdir)/'`runtime/select.c
+
+minimal.lo: runtime/minimal.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT minimal.lo -MD -MP -MF $(DEPDIR)/minimal.Tpo -c -o minimal.lo `test -f 'runtime/minimal.c' || echo '$(srcdir)/'`runtime/minimal.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/minimal.Tpo $(DEPDIR)/minimal.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='runtime/minimal.c' object='minimal.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o minimal.lo `test -f 'runtime/minimal.c' || echo '$(srcdir)/'`runtime/minimal.c
+
+backtrace.lo: runtime/backtrace.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT backtrace.lo -MD -MP -MF $(DEPDIR)/backtrace.Tpo -c -o backtrace.lo `test -f 'runtime/backtrace.c' || echo '$(srcdir)/'`runtime/backtrace.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/backtrace.Tpo $(DEPDIR)/backtrace.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='runtime/backtrace.c' object='backtrace.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o backtrace.lo `test -f 'runtime/backtrace.c' || echo '$(srcdir)/'`runtime/backtrace.c
+
convert_char.lo: runtime/convert_char.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT convert_char.lo -MD -MP -MF $(DEPDIR)/convert_char.Tpo -c -o convert_char.lo `test -f 'runtime/convert_char.c' || echo '$(srcdir)/'`runtime/convert_char.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/convert_char.Tpo $(DEPDIR)/convert_char.Plo
@@ -2417,13 +2490,6 @@ main.lo: runtime/main.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o main.lo `test -f 'runtime/main.c' || echo '$(srcdir)/'`runtime/main.c
-memory.lo: runtime/memory.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT memory.lo -MD -MP -MF $(DEPDIR)/memory.Tpo -c -o memory.lo `test -f 'runtime/memory.c' || echo '$(srcdir)/'`runtime/memory.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/memory.Tpo $(DEPDIR)/memory.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='runtime/memory.c' object='memory.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o memory.lo `test -f 'runtime/memory.c' || echo '$(srcdir)/'`runtime/memory.c
-
pause.lo: runtime/pause.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pause.lo -MD -MP -MF $(DEPDIR)/pause.Tpo -c -o pause.lo `test -f 'runtime/pause.c' || echo '$(srcdir)/'`runtime/pause.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/pause.Tpo $(DEPDIR)/pause.Plo
@@ -2438,20 +2504,6 @@ stop.lo: runtime/stop.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stop.lo `test -f 'runtime/stop.c' || echo '$(srcdir)/'`runtime/stop.c
-string.lo: runtime/string.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT string.lo -MD -MP -MF $(DEPDIR)/string.Tpo -c -o string.lo `test -f 'runtime/string.c' || echo '$(srcdir)/'`runtime/string.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/string.Tpo $(DEPDIR)/string.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='runtime/string.c' object='string.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o string.lo `test -f 'runtime/string.c' || echo '$(srcdir)/'`runtime/string.c
-
-select.lo: runtime/select.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT select.lo -MD -MP -MF $(DEPDIR)/select.Tpo -c -o select.lo `test -f 'runtime/select.c' || echo '$(srcdir)/'`runtime/select.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/select.Tpo $(DEPDIR)/select.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='runtime/select.c' object='select.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o select.lo `test -f 'runtime/select.c' || echo '$(srcdir)/'`runtime/select.c
-
all_l1.lo: $(srcdir)/generated/all_l1.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT all_l1.lo -MD -MP -MF $(DEPDIR)/all_l1.Tpo -c -o all_l1.lo `test -f '$(srcdir)/generated/all_l1.c' || echo '$(srcdir)/'`$(srcdir)/generated/all_l1.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/all_l1.Tpo $(DEPDIR)/all_l1.Plo
@@ -5091,6 +5143,13 @@ cshift0_c16.lo: $(srcdir)/generated/cshift0_c16.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cshift0_c16.lo `test -f '$(srcdir)/generated/cshift0_c16.c' || echo '$(srcdir)/'`$(srcdir)/generated/cshift0_c16.c
+size_from_kind.lo: io/size_from_kind.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT size_from_kind.lo -MD -MP -MF $(DEPDIR)/size_from_kind.Tpo -c -o size_from_kind.lo `test -f 'io/size_from_kind.c' || echo '$(srcdir)/'`io/size_from_kind.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/size_from_kind.Tpo $(DEPDIR)/size_from_kind.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='io/size_from_kind.c' object='size_from_kind.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o size_from_kind.lo `test -f 'io/size_from_kind.c' || echo '$(srcdir)/'`io/size_from_kind.c
+
close.lo: io/close.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT close.lo -MD -MP -MF $(DEPDIR)/close.Tpo -c -o close.lo `test -f 'io/close.c' || echo '$(srcdir)/'`io/close.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/close.Tpo $(DEPDIR)/close.Plo
@@ -5154,13 +5213,6 @@ read.lo: io/read.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o read.lo `test -f 'io/read.c' || echo '$(srcdir)/'`io/read.c
-size_from_kind.lo: io/size_from_kind.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT size_from_kind.lo -MD -MP -MF $(DEPDIR)/size_from_kind.Tpo -c -o size_from_kind.lo `test -f 'io/size_from_kind.c' || echo '$(srcdir)/'`io/size_from_kind.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/size_from_kind.Tpo $(DEPDIR)/size_from_kind.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='io/size_from_kind.c' object='size_from_kind.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o size_from_kind.lo `test -f 'io/size_from_kind.c' || echo '$(srcdir)/'`io/size_from_kind.c
-
transfer.lo: io/transfer.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT transfer.lo -MD -MP -MF $(DEPDIR)/transfer.Tpo -c -o transfer.lo `test -f 'io/transfer.c' || echo '$(srcdir)/'`io/transfer.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/transfer.Tpo $(DEPDIR)/transfer.Plo
@@ -5217,13 +5269,6 @@ abort.lo: intrinsics/abort.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o abort.lo `test -f 'intrinsics/abort.c' || echo '$(srcdir)/'`intrinsics/abort.c
-access.lo: intrinsics/access.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT access.lo -MD -MP -MF $(DEPDIR)/access.Tpo -c -o access.lo `test -f 'intrinsics/access.c' || echo '$(srcdir)/'`intrinsics/access.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/access.Tpo $(DEPDIR)/access.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/access.c' object='access.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o access.lo `test -f 'intrinsics/access.c' || echo '$(srcdir)/'`intrinsics/access.c
-
args.lo: intrinsics/args.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT args.lo -MD -MP -MF $(DEPDIR)/args.Tpo -c -o args.lo `test -f 'intrinsics/args.c' || echo '$(srcdir)/'`intrinsics/args.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/args.Tpo $(DEPDIR)/args.Plo
@@ -5238,6 +5283,195 @@ bit_intrinsics.lo: intrinsics/bit_intrinsics.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o bit_intrinsics.lo `test -f 'intrinsics/bit_intrinsics.c' || echo '$(srcdir)/'`intrinsics/bit_intrinsics.c
+cshift0.lo: intrinsics/cshift0.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cshift0.lo -MD -MP -MF $(DEPDIR)/cshift0.Tpo -c -o cshift0.lo `test -f 'intrinsics/cshift0.c' || echo '$(srcdir)/'`intrinsics/cshift0.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/cshift0.Tpo $(DEPDIR)/cshift0.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/cshift0.c' object='cshift0.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cshift0.lo `test -f 'intrinsics/cshift0.c' || echo '$(srcdir)/'`intrinsics/cshift0.c
+
+eoshift0.lo: intrinsics/eoshift0.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eoshift0.lo -MD -MP -MF $(DEPDIR)/eoshift0.Tpo -c -o eoshift0.lo `test -f 'intrinsics/eoshift0.c' || echo '$(srcdir)/'`intrinsics/eoshift0.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/eoshift0.Tpo $(DEPDIR)/eoshift0.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/eoshift0.c' object='eoshift0.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eoshift0.lo `test -f 'intrinsics/eoshift0.c' || echo '$(srcdir)/'`intrinsics/eoshift0.c
+
+eoshift2.lo: intrinsics/eoshift2.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eoshift2.lo -MD -MP -MF $(DEPDIR)/eoshift2.Tpo -c -o eoshift2.lo `test -f 'intrinsics/eoshift2.c' || echo '$(srcdir)/'`intrinsics/eoshift2.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/eoshift2.Tpo $(DEPDIR)/eoshift2.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/eoshift2.c' object='eoshift2.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eoshift2.lo `test -f 'intrinsics/eoshift2.c' || echo '$(srcdir)/'`intrinsics/eoshift2.c
+
+erfc_scaled.lo: intrinsics/erfc_scaled.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT erfc_scaled.lo -MD -MP -MF $(DEPDIR)/erfc_scaled.Tpo -c -o erfc_scaled.lo `test -f 'intrinsics/erfc_scaled.c' || echo '$(srcdir)/'`intrinsics/erfc_scaled.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/erfc_scaled.Tpo $(DEPDIR)/erfc_scaled.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/erfc_scaled.c' object='erfc_scaled.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o erfc_scaled.lo `test -f 'intrinsics/erfc_scaled.c' || echo '$(srcdir)/'`intrinsics/erfc_scaled.c
+
+extends_type_of.lo: intrinsics/extends_type_of.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extends_type_of.lo -MD -MP -MF $(DEPDIR)/extends_type_of.Tpo -c -o extends_type_of.lo `test -f 'intrinsics/extends_type_of.c' || echo '$(srcdir)/'`intrinsics/extends_type_of.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/extends_type_of.Tpo $(DEPDIR)/extends_type_of.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/extends_type_of.c' object='extends_type_of.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extends_type_of.lo `test -f 'intrinsics/extends_type_of.c' || echo '$(srcdir)/'`intrinsics/extends_type_of.c
+
+fnum.lo: intrinsics/fnum.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fnum.lo -MD -MP -MF $(DEPDIR)/fnum.Tpo -c -o fnum.lo `test -f 'intrinsics/fnum.c' || echo '$(srcdir)/'`intrinsics/fnum.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/fnum.Tpo $(DEPDIR)/fnum.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/fnum.c' object='fnum.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fnum.lo `test -f 'intrinsics/fnum.c' || echo '$(srcdir)/'`intrinsics/fnum.c
+
+ierrno.lo: intrinsics/ierrno.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ierrno.lo -MD -MP -MF $(DEPDIR)/ierrno.Tpo -c -o ierrno.lo `test -f 'intrinsics/ierrno.c' || echo '$(srcdir)/'`intrinsics/ierrno.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/ierrno.Tpo $(DEPDIR)/ierrno.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/ierrno.c' object='ierrno.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ierrno.lo `test -f 'intrinsics/ierrno.c' || echo '$(srcdir)/'`intrinsics/ierrno.c
+
+ishftc.lo: intrinsics/ishftc.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ishftc.lo -MD -MP -MF $(DEPDIR)/ishftc.Tpo -c -o ishftc.lo `test -f 'intrinsics/ishftc.c' || echo '$(srcdir)/'`intrinsics/ishftc.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/ishftc.Tpo $(DEPDIR)/ishftc.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/ishftc.c' object='ishftc.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ishftc.lo `test -f 'intrinsics/ishftc.c' || echo '$(srcdir)/'`intrinsics/ishftc.c
+
+iso_c_generated_procs.lo: intrinsics/iso_c_generated_procs.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT iso_c_generated_procs.lo -MD -MP -MF $(DEPDIR)/iso_c_generated_procs.Tpo -c -o iso_c_generated_procs.lo `test -f 'intrinsics/iso_c_generated_procs.c' || echo '$(srcdir)/'`intrinsics/iso_c_generated_procs.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/iso_c_generated_procs.Tpo $(DEPDIR)/iso_c_generated_procs.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/iso_c_generated_procs.c' object='iso_c_generated_procs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o iso_c_generated_procs.lo `test -f 'intrinsics/iso_c_generated_procs.c' || echo '$(srcdir)/'`intrinsics/iso_c_generated_procs.c
+
+iso_c_binding.lo: intrinsics/iso_c_binding.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT iso_c_binding.lo -MD -MP -MF $(DEPDIR)/iso_c_binding.Tpo -c -o iso_c_binding.lo `test -f 'intrinsics/iso_c_binding.c' || echo '$(srcdir)/'`intrinsics/iso_c_binding.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/iso_c_binding.Tpo $(DEPDIR)/iso_c_binding.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/iso_c_binding.c' object='iso_c_binding.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o iso_c_binding.lo `test -f 'intrinsics/iso_c_binding.c' || echo '$(srcdir)/'`intrinsics/iso_c_binding.c
+
+malloc.lo: intrinsics/malloc.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT malloc.lo -MD -MP -MF $(DEPDIR)/malloc.Tpo -c -o malloc.lo `test -f 'intrinsics/malloc.c' || echo '$(srcdir)/'`intrinsics/malloc.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/malloc.Tpo $(DEPDIR)/malloc.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/malloc.c' object='malloc.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o malloc.lo `test -f 'intrinsics/malloc.c' || echo '$(srcdir)/'`intrinsics/malloc.c
+
+mvbits.lo: intrinsics/mvbits.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mvbits.lo -MD -MP -MF $(DEPDIR)/mvbits.Tpo -c -o mvbits.lo `test -f 'intrinsics/mvbits.c' || echo '$(srcdir)/'`intrinsics/mvbits.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mvbits.Tpo $(DEPDIR)/mvbits.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/mvbits.c' object='mvbits.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mvbits.lo `test -f 'intrinsics/mvbits.c' || echo '$(srcdir)/'`intrinsics/mvbits.c
+
+move_alloc.lo: intrinsics/move_alloc.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT move_alloc.lo -MD -MP -MF $(DEPDIR)/move_alloc.Tpo -c -o move_alloc.lo `test -f 'intrinsics/move_alloc.c' || echo '$(srcdir)/'`intrinsics/move_alloc.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/move_alloc.Tpo $(DEPDIR)/move_alloc.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/move_alloc.c' object='move_alloc.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o move_alloc.lo `test -f 'intrinsics/move_alloc.c' || echo '$(srcdir)/'`intrinsics/move_alloc.c
+
+pack_generic.lo: intrinsics/pack_generic.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pack_generic.lo -MD -MP -MF $(DEPDIR)/pack_generic.Tpo -c -o pack_generic.lo `test -f 'intrinsics/pack_generic.c' || echo '$(srcdir)/'`intrinsics/pack_generic.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/pack_generic.Tpo $(DEPDIR)/pack_generic.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/pack_generic.c' object='pack_generic.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pack_generic.lo `test -f 'intrinsics/pack_generic.c' || echo '$(srcdir)/'`intrinsics/pack_generic.c
+
+selected_char_kind.lo: intrinsics/selected_char_kind.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT selected_char_kind.lo -MD -MP -MF $(DEPDIR)/selected_char_kind.Tpo -c -o selected_char_kind.lo `test -f 'intrinsics/selected_char_kind.c' || echo '$(srcdir)/'`intrinsics/selected_char_kind.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/selected_char_kind.Tpo $(DEPDIR)/selected_char_kind.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/selected_char_kind.c' object='selected_char_kind.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o selected_char_kind.lo `test -f 'intrinsics/selected_char_kind.c' || echo '$(srcdir)/'`intrinsics/selected_char_kind.c
+
+size.lo: intrinsics/size.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT size.lo -MD -MP -MF $(DEPDIR)/size.Tpo -c -o size.lo `test -f 'intrinsics/size.c' || echo '$(srcdir)/'`intrinsics/size.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/size.Tpo $(DEPDIR)/size.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/size.c' object='size.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o size.lo `test -f 'intrinsics/size.c' || echo '$(srcdir)/'`intrinsics/size.c
+
+spread_generic.lo: intrinsics/spread_generic.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT spread_generic.lo -MD -MP -MF $(DEPDIR)/spread_generic.Tpo -c -o spread_generic.lo `test -f 'intrinsics/spread_generic.c' || echo '$(srcdir)/'`intrinsics/spread_generic.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/spread_generic.Tpo $(DEPDIR)/spread_generic.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/spread_generic.c' object='spread_generic.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o spread_generic.lo `test -f 'intrinsics/spread_generic.c' || echo '$(srcdir)/'`intrinsics/spread_generic.c
+
+string_intrinsics.lo: intrinsics/string_intrinsics.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT string_intrinsics.lo -MD -MP -MF $(DEPDIR)/string_intrinsics.Tpo -c -o string_intrinsics.lo `test -f 'intrinsics/string_intrinsics.c' || echo '$(srcdir)/'`intrinsics/string_intrinsics.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/string_intrinsics.Tpo $(DEPDIR)/string_intrinsics.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/string_intrinsics.c' object='string_intrinsics.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o string_intrinsics.lo `test -f 'intrinsics/string_intrinsics.c' || echo '$(srcdir)/'`intrinsics/string_intrinsics.c
+
+rand.lo: intrinsics/rand.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT rand.lo -MD -MP -MF $(DEPDIR)/rand.Tpo -c -o rand.lo `test -f 'intrinsics/rand.c' || echo '$(srcdir)/'`intrinsics/rand.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/rand.Tpo $(DEPDIR)/rand.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/rand.c' object='rand.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o rand.lo `test -f 'intrinsics/rand.c' || echo '$(srcdir)/'`intrinsics/rand.c
+
+random.lo: intrinsics/random.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT random.lo -MD -MP -MF $(DEPDIR)/random.Tpo -c -o random.lo `test -f 'intrinsics/random.c' || echo '$(srcdir)/'`intrinsics/random.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/random.Tpo $(DEPDIR)/random.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/random.c' object='random.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o random.lo `test -f 'intrinsics/random.c' || echo '$(srcdir)/'`intrinsics/random.c
+
+reshape_generic.lo: intrinsics/reshape_generic.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT reshape_generic.lo -MD -MP -MF $(DEPDIR)/reshape_generic.Tpo -c -o reshape_generic.lo `test -f 'intrinsics/reshape_generic.c' || echo '$(srcdir)/'`intrinsics/reshape_generic.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/reshape_generic.Tpo $(DEPDIR)/reshape_generic.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/reshape_generic.c' object='reshape_generic.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o reshape_generic.lo `test -f 'intrinsics/reshape_generic.c' || echo '$(srcdir)/'`intrinsics/reshape_generic.c
+
+reshape_packed.lo: intrinsics/reshape_packed.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT reshape_packed.lo -MD -MP -MF $(DEPDIR)/reshape_packed.Tpo -c -o reshape_packed.lo `test -f 'intrinsics/reshape_packed.c' || echo '$(srcdir)/'`intrinsics/reshape_packed.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/reshape_packed.Tpo $(DEPDIR)/reshape_packed.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/reshape_packed.c' object='reshape_packed.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o reshape_packed.lo `test -f 'intrinsics/reshape_packed.c' || echo '$(srcdir)/'`intrinsics/reshape_packed.c
+
+transpose_generic.lo: intrinsics/transpose_generic.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT transpose_generic.lo -MD -MP -MF $(DEPDIR)/transpose_generic.Tpo -c -o transpose_generic.lo `test -f 'intrinsics/transpose_generic.c' || echo '$(srcdir)/'`intrinsics/transpose_generic.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/transpose_generic.Tpo $(DEPDIR)/transpose_generic.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/transpose_generic.c' object='transpose_generic.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o transpose_generic.lo `test -f 'intrinsics/transpose_generic.c' || echo '$(srcdir)/'`intrinsics/transpose_generic.c
+
+unpack_generic.lo: intrinsics/unpack_generic.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT unpack_generic.lo -MD -MP -MF $(DEPDIR)/unpack_generic.Tpo -c -o unpack_generic.lo `test -f 'intrinsics/unpack_generic.c' || echo '$(srcdir)/'`intrinsics/unpack_generic.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/unpack_generic.Tpo $(DEPDIR)/unpack_generic.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/unpack_generic.c' object='unpack_generic.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o unpack_generic.lo `test -f 'intrinsics/unpack_generic.c' || echo '$(srcdir)/'`intrinsics/unpack_generic.c
+
+in_pack_generic.lo: runtime/in_pack_generic.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT in_pack_generic.lo -MD -MP -MF $(DEPDIR)/in_pack_generic.Tpo -c -o in_pack_generic.lo `test -f 'runtime/in_pack_generic.c' || echo '$(srcdir)/'`runtime/in_pack_generic.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/in_pack_generic.Tpo $(DEPDIR)/in_pack_generic.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='runtime/in_pack_generic.c' object='in_pack_generic.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o in_pack_generic.lo `test -f 'runtime/in_pack_generic.c' || echo '$(srcdir)/'`runtime/in_pack_generic.c
+
+in_unpack_generic.lo: runtime/in_unpack_generic.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT in_unpack_generic.lo -MD -MP -MF $(DEPDIR)/in_unpack_generic.Tpo -c -o in_unpack_generic.lo `test -f 'runtime/in_unpack_generic.c' || echo '$(srcdir)/'`runtime/in_unpack_generic.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/in_unpack_generic.Tpo $(DEPDIR)/in_unpack_generic.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='runtime/in_unpack_generic.c' object='in_unpack_generic.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o in_unpack_generic.lo `test -f 'runtime/in_unpack_generic.c' || echo '$(srcdir)/'`runtime/in_unpack_generic.c
+
+access.lo: intrinsics/access.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT access.lo -MD -MP -MF $(DEPDIR)/access.Tpo -c -o access.lo `test -f 'intrinsics/access.c' || echo '$(srcdir)/'`intrinsics/access.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/access.Tpo $(DEPDIR)/access.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/access.c' object='access.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o access.lo `test -f 'intrinsics/access.c' || echo '$(srcdir)/'`intrinsics/access.c
+
c99_functions.lo: intrinsics/c99_functions.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT c99_functions.lo -MD -MP -MF $(DEPDIR)/c99_functions.Tpo -c -o c99_functions.lo `test -f 'intrinsics/c99_functions.c' || echo '$(srcdir)/'`intrinsics/c99_functions.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/c99_functions.Tpo $(DEPDIR)/c99_functions.Plo
@@ -5273,13 +5507,6 @@ cpu_time.lo: intrinsics/cpu_time.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cpu_time.lo `test -f 'intrinsics/cpu_time.c' || echo '$(srcdir)/'`intrinsics/cpu_time.c
-cshift0.lo: intrinsics/cshift0.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cshift0.lo -MD -MP -MF $(DEPDIR)/cshift0.Tpo -c -o cshift0.lo `test -f 'intrinsics/cshift0.c' || echo '$(srcdir)/'`intrinsics/cshift0.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/cshift0.Tpo $(DEPDIR)/cshift0.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/cshift0.c' object='cshift0.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cshift0.lo `test -f 'intrinsics/cshift0.c' || echo '$(srcdir)/'`intrinsics/cshift0.c
-
ctime.lo: intrinsics/ctime.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ctime.lo -MD -MP -MF $(DEPDIR)/ctime.Tpo -c -o ctime.lo `test -f 'intrinsics/ctime.c' || echo '$(srcdir)/'`intrinsics/ctime.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/ctime.Tpo $(DEPDIR)/ctime.Plo
@@ -5308,27 +5535,6 @@ env.lo: intrinsics/env.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o env.lo `test -f 'intrinsics/env.c' || echo '$(srcdir)/'`intrinsics/env.c
-eoshift0.lo: intrinsics/eoshift0.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eoshift0.lo -MD -MP -MF $(DEPDIR)/eoshift0.Tpo -c -o eoshift0.lo `test -f 'intrinsics/eoshift0.c' || echo '$(srcdir)/'`intrinsics/eoshift0.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/eoshift0.Tpo $(DEPDIR)/eoshift0.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/eoshift0.c' object='eoshift0.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eoshift0.lo `test -f 'intrinsics/eoshift0.c' || echo '$(srcdir)/'`intrinsics/eoshift0.c
-
-eoshift2.lo: intrinsics/eoshift2.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eoshift2.lo -MD -MP -MF $(DEPDIR)/eoshift2.Tpo -c -o eoshift2.lo `test -f 'intrinsics/eoshift2.c' || echo '$(srcdir)/'`intrinsics/eoshift2.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/eoshift2.Tpo $(DEPDIR)/eoshift2.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/eoshift2.c' object='eoshift2.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eoshift2.lo `test -f 'intrinsics/eoshift2.c' || echo '$(srcdir)/'`intrinsics/eoshift2.c
-
-erfc_scaled.lo: intrinsics/erfc_scaled.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT erfc_scaled.lo -MD -MP -MF $(DEPDIR)/erfc_scaled.Tpo -c -o erfc_scaled.lo `test -f 'intrinsics/erfc_scaled.c' || echo '$(srcdir)/'`intrinsics/erfc_scaled.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/erfc_scaled.Tpo $(DEPDIR)/erfc_scaled.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/erfc_scaled.c' object='erfc_scaled.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o erfc_scaled.lo `test -f 'intrinsics/erfc_scaled.c' || echo '$(srcdir)/'`intrinsics/erfc_scaled.c
-
etime.lo: intrinsics/etime.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT etime.lo -MD -MP -MF $(DEPDIR)/etime.Tpo -c -o etime.lo `test -f 'intrinsics/etime.c' || echo '$(srcdir)/'`intrinsics/etime.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/etime.Tpo $(DEPDIR)/etime.Plo
@@ -5350,20 +5556,6 @@ exit.lo: intrinsics/exit.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o exit.lo `test -f 'intrinsics/exit.c' || echo '$(srcdir)/'`intrinsics/exit.c
-extends_type_of.lo: intrinsics/extends_type_of.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extends_type_of.lo -MD -MP -MF $(DEPDIR)/extends_type_of.Tpo -c -o extends_type_of.lo `test -f 'intrinsics/extends_type_of.c' || echo '$(srcdir)/'`intrinsics/extends_type_of.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/extends_type_of.Tpo $(DEPDIR)/extends_type_of.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/extends_type_of.c' object='extends_type_of.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extends_type_of.lo `test -f 'intrinsics/extends_type_of.c' || echo '$(srcdir)/'`intrinsics/extends_type_of.c
-
-fnum.lo: intrinsics/fnum.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fnum.lo -MD -MP -MF $(DEPDIR)/fnum.Tpo -c -o fnum.lo `test -f 'intrinsics/fnum.c' || echo '$(srcdir)/'`intrinsics/fnum.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/fnum.Tpo $(DEPDIR)/fnum.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/fnum.c' object='fnum.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fnum.lo `test -f 'intrinsics/fnum.c' || echo '$(srcdir)/'`intrinsics/fnum.c
-
gerror.lo: intrinsics/gerror.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gerror.lo -MD -MP -MF $(DEPDIR)/gerror.Tpo -c -o gerror.lo `test -f 'intrinsics/gerror.c' || echo '$(srcdir)/'`intrinsics/gerror.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/gerror.Tpo $(DEPDIR)/gerror.Plo
@@ -5399,34 +5591,6 @@ hostnm.lo: intrinsics/hostnm.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hostnm.lo `test -f 'intrinsics/hostnm.c' || echo '$(srcdir)/'`intrinsics/hostnm.c
-ierrno.lo: intrinsics/ierrno.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ierrno.lo -MD -MP -MF $(DEPDIR)/ierrno.Tpo -c -o ierrno.lo `test -f 'intrinsics/ierrno.c' || echo '$(srcdir)/'`intrinsics/ierrno.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/ierrno.Tpo $(DEPDIR)/ierrno.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/ierrno.c' object='ierrno.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ierrno.lo `test -f 'intrinsics/ierrno.c' || echo '$(srcdir)/'`intrinsics/ierrno.c
-
-ishftc.lo: intrinsics/ishftc.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ishftc.lo -MD -MP -MF $(DEPDIR)/ishftc.Tpo -c -o ishftc.lo `test -f 'intrinsics/ishftc.c' || echo '$(srcdir)/'`intrinsics/ishftc.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/ishftc.Tpo $(DEPDIR)/ishftc.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/ishftc.c' object='ishftc.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ishftc.lo `test -f 'intrinsics/ishftc.c' || echo '$(srcdir)/'`intrinsics/ishftc.c
-
-iso_c_generated_procs.lo: intrinsics/iso_c_generated_procs.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT iso_c_generated_procs.lo -MD -MP -MF $(DEPDIR)/iso_c_generated_procs.Tpo -c -o iso_c_generated_procs.lo `test -f 'intrinsics/iso_c_generated_procs.c' || echo '$(srcdir)/'`intrinsics/iso_c_generated_procs.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/iso_c_generated_procs.Tpo $(DEPDIR)/iso_c_generated_procs.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/iso_c_generated_procs.c' object='iso_c_generated_procs.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o iso_c_generated_procs.lo `test -f 'intrinsics/iso_c_generated_procs.c' || echo '$(srcdir)/'`intrinsics/iso_c_generated_procs.c
-
-iso_c_binding.lo: intrinsics/iso_c_binding.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT iso_c_binding.lo -MD -MP -MF $(DEPDIR)/iso_c_binding.Tpo -c -o iso_c_binding.lo `test -f 'intrinsics/iso_c_binding.c' || echo '$(srcdir)/'`intrinsics/iso_c_binding.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/iso_c_binding.Tpo $(DEPDIR)/iso_c_binding.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/iso_c_binding.c' object='iso_c_binding.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o iso_c_binding.lo `test -f 'intrinsics/iso_c_binding.c' || echo '$(srcdir)/'`intrinsics/iso_c_binding.c
-
kill.lo: intrinsics/kill.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT kill.lo -MD -MP -MF $(DEPDIR)/kill.Tpo -c -o kill.lo `test -f 'intrinsics/kill.c' || echo '$(srcdir)/'`intrinsics/kill.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/kill.Tpo $(DEPDIR)/kill.Plo
@@ -5441,34 +5605,6 @@ link.lo: intrinsics/link.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o link.lo `test -f 'intrinsics/link.c' || echo '$(srcdir)/'`intrinsics/link.c
-malloc.lo: intrinsics/malloc.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT malloc.lo -MD -MP -MF $(DEPDIR)/malloc.Tpo -c -o malloc.lo `test -f 'intrinsics/malloc.c' || echo '$(srcdir)/'`intrinsics/malloc.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/malloc.Tpo $(DEPDIR)/malloc.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/malloc.c' object='malloc.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o malloc.lo `test -f 'intrinsics/malloc.c' || echo '$(srcdir)/'`intrinsics/malloc.c
-
-mvbits.lo: intrinsics/mvbits.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mvbits.lo -MD -MP -MF $(DEPDIR)/mvbits.Tpo -c -o mvbits.lo `test -f 'intrinsics/mvbits.c' || echo '$(srcdir)/'`intrinsics/mvbits.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mvbits.Tpo $(DEPDIR)/mvbits.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/mvbits.c' object='mvbits.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mvbits.lo `test -f 'intrinsics/mvbits.c' || echo '$(srcdir)/'`intrinsics/mvbits.c
-
-move_alloc.lo: intrinsics/move_alloc.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT move_alloc.lo -MD -MP -MF $(DEPDIR)/move_alloc.Tpo -c -o move_alloc.lo `test -f 'intrinsics/move_alloc.c' || echo '$(srcdir)/'`intrinsics/move_alloc.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/move_alloc.Tpo $(DEPDIR)/move_alloc.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/move_alloc.c' object='move_alloc.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o move_alloc.lo `test -f 'intrinsics/move_alloc.c' || echo '$(srcdir)/'`intrinsics/move_alloc.c
-
-pack_generic.lo: intrinsics/pack_generic.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pack_generic.lo -MD -MP -MF $(DEPDIR)/pack_generic.Tpo -c -o pack_generic.lo `test -f 'intrinsics/pack_generic.c' || echo '$(srcdir)/'`intrinsics/pack_generic.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/pack_generic.Tpo $(DEPDIR)/pack_generic.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/pack_generic.c' object='pack_generic.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pack_generic.lo `test -f 'intrinsics/pack_generic.c' || echo '$(srcdir)/'`intrinsics/pack_generic.c
-
perror.lo: intrinsics/perror.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT perror.lo -MD -MP -MF $(DEPDIR)/perror.Tpo -c -o perror.lo `test -f 'intrinsics/perror.c' || echo '$(srcdir)/'`intrinsics/perror.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/perror.Tpo $(DEPDIR)/perror.Plo
@@ -5476,13 +5612,6 @@ perror.lo: intrinsics/perror.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o perror.lo `test -f 'intrinsics/perror.c' || echo '$(srcdir)/'`intrinsics/perror.c
-selected_char_kind.lo: intrinsics/selected_char_kind.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT selected_char_kind.lo -MD -MP -MF $(DEPDIR)/selected_char_kind.Tpo -c -o selected_char_kind.lo `test -f 'intrinsics/selected_char_kind.c' || echo '$(srcdir)/'`intrinsics/selected_char_kind.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/selected_char_kind.Tpo $(DEPDIR)/selected_char_kind.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/selected_char_kind.c' object='selected_char_kind.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o selected_char_kind.lo `test -f 'intrinsics/selected_char_kind.c' || echo '$(srcdir)/'`intrinsics/selected_char_kind.c
-
signal.lo: intrinsics/signal.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT signal.lo -MD -MP -MF $(DEPDIR)/signal.Tpo -c -o signal.lo `test -f 'intrinsics/signal.c' || echo '$(srcdir)/'`intrinsics/signal.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/signal.Tpo $(DEPDIR)/signal.Plo
@@ -5490,13 +5619,6 @@ signal.lo: intrinsics/signal.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o signal.lo `test -f 'intrinsics/signal.c' || echo '$(srcdir)/'`intrinsics/signal.c
-size.lo: intrinsics/size.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT size.lo -MD -MP -MF $(DEPDIR)/size.Tpo -c -o size.lo `test -f 'intrinsics/size.c' || echo '$(srcdir)/'`intrinsics/size.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/size.Tpo $(DEPDIR)/size.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/size.c' object='size.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o size.lo `test -f 'intrinsics/size.c' || echo '$(srcdir)/'`intrinsics/size.c
-
sleep.lo: intrinsics/sleep.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sleep.lo -MD -MP -MF $(DEPDIR)/sleep.Tpo -c -o sleep.lo `test -f 'intrinsics/sleep.c' || echo '$(srcdir)/'`intrinsics/sleep.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/sleep.Tpo $(DEPDIR)/sleep.Plo
@@ -5504,20 +5626,6 @@ sleep.lo: intrinsics/sleep.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sleep.lo `test -f 'intrinsics/sleep.c' || echo '$(srcdir)/'`intrinsics/sleep.c
-spread_generic.lo: intrinsics/spread_generic.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT spread_generic.lo -MD -MP -MF $(DEPDIR)/spread_generic.Tpo -c -o spread_generic.lo `test -f 'intrinsics/spread_generic.c' || echo '$(srcdir)/'`intrinsics/spread_generic.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/spread_generic.Tpo $(DEPDIR)/spread_generic.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/spread_generic.c' object='spread_generic.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o spread_generic.lo `test -f 'intrinsics/spread_generic.c' || echo '$(srcdir)/'`intrinsics/spread_generic.c
-
-string_intrinsics.lo: intrinsics/string_intrinsics.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT string_intrinsics.lo -MD -MP -MF $(DEPDIR)/string_intrinsics.Tpo -c -o string_intrinsics.lo `test -f 'intrinsics/string_intrinsics.c' || echo '$(srcdir)/'`intrinsics/string_intrinsics.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/string_intrinsics.Tpo $(DEPDIR)/string_intrinsics.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/string_intrinsics.c' object='string_intrinsics.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o string_intrinsics.lo `test -f 'intrinsics/string_intrinsics.c' || echo '$(srcdir)/'`intrinsics/string_intrinsics.c
-
system.lo: intrinsics/system.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT system.lo -MD -MP -MF $(DEPDIR)/system.Tpo -c -o system.lo `test -f 'intrinsics/system.c' || echo '$(srcdir)/'`intrinsics/system.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/system.Tpo $(DEPDIR)/system.Plo
@@ -5525,20 +5633,6 @@ system.lo: intrinsics/system.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o system.lo `test -f 'intrinsics/system.c' || echo '$(srcdir)/'`intrinsics/system.c
-rand.lo: intrinsics/rand.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT rand.lo -MD -MP -MF $(DEPDIR)/rand.Tpo -c -o rand.lo `test -f 'intrinsics/rand.c' || echo '$(srcdir)/'`intrinsics/rand.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/rand.Tpo $(DEPDIR)/rand.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/rand.c' object='rand.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o rand.lo `test -f 'intrinsics/rand.c' || echo '$(srcdir)/'`intrinsics/rand.c
-
-random.lo: intrinsics/random.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT random.lo -MD -MP -MF $(DEPDIR)/random.Tpo -c -o random.lo `test -f 'intrinsics/random.c' || echo '$(srcdir)/'`intrinsics/random.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/random.Tpo $(DEPDIR)/random.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/random.c' object='random.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o random.lo `test -f 'intrinsics/random.c' || echo '$(srcdir)/'`intrinsics/random.c
-
rename.lo: intrinsics/rename.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT rename.lo -MD -MP -MF $(DEPDIR)/rename.Tpo -c -o rename.lo `test -f 'intrinsics/rename.c' || echo '$(srcdir)/'`intrinsics/rename.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/rename.Tpo $(DEPDIR)/rename.Plo
@@ -5546,20 +5640,6 @@ rename.lo: intrinsics/rename.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o rename.lo `test -f 'intrinsics/rename.c' || echo '$(srcdir)/'`intrinsics/rename.c
-reshape_generic.lo: intrinsics/reshape_generic.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT reshape_generic.lo -MD -MP -MF $(DEPDIR)/reshape_generic.Tpo -c -o reshape_generic.lo `test -f 'intrinsics/reshape_generic.c' || echo '$(srcdir)/'`intrinsics/reshape_generic.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/reshape_generic.Tpo $(DEPDIR)/reshape_generic.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/reshape_generic.c' object='reshape_generic.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o reshape_generic.lo `test -f 'intrinsics/reshape_generic.c' || echo '$(srcdir)/'`intrinsics/reshape_generic.c
-
-reshape_packed.lo: intrinsics/reshape_packed.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT reshape_packed.lo -MD -MP -MF $(DEPDIR)/reshape_packed.Tpo -c -o reshape_packed.lo `test -f 'intrinsics/reshape_packed.c' || echo '$(srcdir)/'`intrinsics/reshape_packed.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/reshape_packed.Tpo $(DEPDIR)/reshape_packed.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/reshape_packed.c' object='reshape_packed.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o reshape_packed.lo `test -f 'intrinsics/reshape_packed.c' || echo '$(srcdir)/'`intrinsics/reshape_packed.c
-
stat.lo: intrinsics/stat.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stat.lo -MD -MP -MF $(DEPDIR)/stat.Tpo -c -o stat.lo `test -f 'intrinsics/stat.c' || echo '$(srcdir)/'`intrinsics/stat.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/stat.Tpo $(DEPDIR)/stat.Plo
@@ -5588,13 +5668,6 @@ time.lo: intrinsics/time.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o time.lo `test -f 'intrinsics/time.c' || echo '$(srcdir)/'`intrinsics/time.c
-transpose_generic.lo: intrinsics/transpose_generic.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT transpose_generic.lo -MD -MP -MF $(DEPDIR)/transpose_generic.Tpo -c -o transpose_generic.lo `test -f 'intrinsics/transpose_generic.c' || echo '$(srcdir)/'`intrinsics/transpose_generic.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/transpose_generic.Tpo $(DEPDIR)/transpose_generic.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/transpose_generic.c' object='transpose_generic.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o transpose_generic.lo `test -f 'intrinsics/transpose_generic.c' || echo '$(srcdir)/'`intrinsics/transpose_generic.c
-
umask.lo: intrinsics/umask.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT umask.lo -MD -MP -MF $(DEPDIR)/umask.Tpo -c -o umask.lo `test -f 'intrinsics/umask.c' || echo '$(srcdir)/'`intrinsics/umask.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/umask.Tpo $(DEPDIR)/umask.Plo
@@ -5609,26 +5682,12 @@ unlink.lo: intrinsics/unlink.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o unlink.lo `test -f 'intrinsics/unlink.c' || echo '$(srcdir)/'`intrinsics/unlink.c
-unpack_generic.lo: intrinsics/unpack_generic.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT unpack_generic.lo -MD -MP -MF $(DEPDIR)/unpack_generic.Tpo -c -o unpack_generic.lo `test -f 'intrinsics/unpack_generic.c' || echo '$(srcdir)/'`intrinsics/unpack_generic.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/unpack_generic.Tpo $(DEPDIR)/unpack_generic.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/unpack_generic.c' object='unpack_generic.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o unpack_generic.lo `test -f 'intrinsics/unpack_generic.c' || echo '$(srcdir)/'`intrinsics/unpack_generic.c
-
-in_pack_generic.lo: runtime/in_pack_generic.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT in_pack_generic.lo -MD -MP -MF $(DEPDIR)/in_pack_generic.Tpo -c -o in_pack_generic.lo `test -f 'runtime/in_pack_generic.c' || echo '$(srcdir)/'`runtime/in_pack_generic.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/in_pack_generic.Tpo $(DEPDIR)/in_pack_generic.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='runtime/in_pack_generic.c' object='in_pack_generic.lo' libtool=yes @AMDEPBACKSLASH@
+ieee_helper.lo: ieee/ieee_helper.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ieee_helper.lo -MD -MP -MF $(DEPDIR)/ieee_helper.Tpo -c -o ieee_helper.lo `test -f 'ieee/ieee_helper.c' || echo '$(srcdir)/'`ieee/ieee_helper.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/ieee_helper.Tpo $(DEPDIR)/ieee_helper.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ieee/ieee_helper.c' object='ieee_helper.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o in_pack_generic.lo `test -f 'runtime/in_pack_generic.c' || echo '$(srcdir)/'`runtime/in_pack_generic.c
-
-in_unpack_generic.lo: runtime/in_unpack_generic.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT in_unpack_generic.lo -MD -MP -MF $(DEPDIR)/in_unpack_generic.Tpo -c -o in_unpack_generic.lo `test -f 'runtime/in_unpack_generic.c' || echo '$(srcdir)/'`runtime/in_unpack_generic.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/in_unpack_generic.Tpo $(DEPDIR)/in_unpack_generic.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='runtime/in_unpack_generic.c' object='in_unpack_generic.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o in_unpack_generic.lo `test -f 'runtime/in_unpack_generic.c' || echo '$(srcdir)/'`runtime/in_unpack_generic.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ieee_helper.lo `test -f 'ieee/ieee_helper.c' || echo '$(srcdir)/'`ieee/ieee_helper.c
.f90.o:
$(FCCOMPILE) -c -o $@ $<
@@ -5675,8 +5734,11 @@ maintainer-clean-multi:
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE)
install-toolexeclibDATA: $(toolexeclib_DATA)
@$(NORMAL_INSTALL)
- test -z "$(toolexeclibdir)" || $(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)"
@list='$(toolexeclib_DATA)'; test -n "$(toolexeclibdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(toolexeclibdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)" || exit 1; \
+ fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
@@ -5691,6 +5753,27 @@ uninstall-toolexeclibDATA:
@list='$(toolexeclib_DATA)'; test -n "$(toolexeclibdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(toolexeclibdir)'; $(am__uninstall_files_from_dir)
+install-nodist_fincludeHEADERS: $(nodist_finclude_HEADERS)
+ @$(NORMAL_INSTALL)
+ @list='$(nodist_finclude_HEADERS)'; test -n "$(fincludedir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(fincludedir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(fincludedir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(fincludedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(fincludedir)" || exit $$?; \
+ done
+
+uninstall-nodist_fincludeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(nodist_finclude_HEADERS)'; test -n "$(fincludedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(fincludedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -5746,9 +5829,9 @@ distclean-tags:
check-am: all-am
check: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) check-am
-all-am: Makefile $(LTLIBRARIES) all-multi $(DATA) config.h
+all-am: Makefile $(LTLIBRARIES) all-multi $(DATA) $(HEADERS) config.h
installdirs:
- for dir in "$(DESTDIR)$(cafexeclibdir)" "$(DESTDIR)$(myexeclibdir)" "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(toolexeclibdir)"; do \
+ for dir in "$(DESTDIR)$(cafexeclibdir)" "$(DESTDIR)$(myexeclibdir)" "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(fincludedir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: $(BUILT_SOURCES)
@@ -5808,7 +5891,7 @@ info: info-am
info-am:
-install-data-am:
+install-data-am: install-nodist_fincludeHEADERS
install-dvi: install-dvi-am
@@ -5859,7 +5942,8 @@ ps: ps-am
ps-am:
uninstall-am: uninstall-cafexeclibLTLIBRARIES \
- uninstall-myexeclibLTLIBRARIES uninstall-toolexeclibDATA \
+ uninstall-myexeclibLTLIBRARIES \
+ uninstall-nodist_fincludeHEADERS uninstall-toolexeclibDATA \
uninstall-toolexeclibLTLIBRARIES
.MAKE: all all-multi check clean-multi distclean-multi install \
@@ -5876,15 +5960,17 @@ uninstall-am: uninstall-cafexeclibLTLIBRARIES \
install-data install-data-am install-dvi install-dvi-am \
install-exec install-exec-am install-html install-html-am \
install-info install-info-am install-man install-multi \
- install-myexeclibLTLIBRARIES install-pdf install-pdf-am \
- install-ps install-ps-am install-strip install-toolexeclibDATA \
+ install-myexeclibLTLIBRARIES install-nodist_fincludeHEADERS \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip install-toolexeclibDATA \
install-toolexeclibLTLIBRARIES installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
maintainer-clean-multi mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool mostlyclean-multi pdf \
pdf-am ps ps-am tags uninstall uninstall-am \
uninstall-cafexeclibLTLIBRARIES uninstall-myexeclibLTLIBRARIES \
- uninstall-toolexeclibDATA uninstall-toolexeclibLTLIBRARIES
+ uninstall-nodist_fincludeHEADERS uninstall-toolexeclibDATA \
+ uninstall-toolexeclibLTLIBRARIES
@LIBGFOR_USE_SYMVER_SUN_TRUE@@LIBGFOR_USE_SYMVER_TRUE@gfortran.map-sun : $(srcdir)/gfortran.map \
@LIBGFOR_USE_SYMVER_SUN_TRUE@@LIBGFOR_USE_SYMVER_TRUE@ $(top_srcdir)/../contrib/make_sunver.pl \
@@ -5904,6 +5990,20 @@ $(patsubst %.c,%.lo,$(notdir $(i_matmull_c))): AM_CFLAGS += -funroll-loops
# Add the -fallow-leading-underscore option when needed
$(patsubst %.F90,%.lo,$(patsubst %.f90,%.lo,$(notdir $(gfor_specific_src)))): AM_FCFLAGS += -fallow-leading-underscore
selected_real_kind.lo selected_int_kind.lo: AM_FCFLAGS += -fallow-leading-underscore
+
+# Add flags for IEEE modules
+@IEEE_SUPPORT_TRUE@$(patsubst %.F90,%.lo,$(notdir $(gfor_ieee_src))): AM_FCFLAGS += -Wno-unused-dummy-argument -Wno-c-binding-type -ffree-line-length-0 -fallow-leading-underscore
+
+# Dependencies between IEEE_ARITHMETIC and IEEE_EXCEPTIONS
+ieee_arithmetic.lo: ieee/ieee_arithmetic.F90 ieee_exceptions.lo
+ $(LTPPFCCOMPILE) -c -o $@ $<
+
+ieee_features.mod: ieee_features.lo
+ :
+ieee_exceptions.mod: ieee_exceptions.lo
+ :
+ieee_arithmetic.mod: ieee_arithmetic.lo
+ :
@onestep_TRUE@libgfortran_c.c libgfortran_f.f90 libgfortran_F.F90:
@onestep_TRUE@ echo > $@
# overrides for libtool perusing the dummy sources
@@ -5931,6 +6031,10 @@ selected_real_kind.inc: $(srcdir)/mk-srk-inc.sh
fpu-target.h: $(srcdir)/$(FPU_HOST_HEADER)
cp $(srcdir)/$(FPU_HOST_HEADER) $@
+fpu-target.inc: fpu-target.h $(srcdir)/libgfortran.h
+ grep '^#define GFC_FPE_' < $(top_srcdir)/../gcc/fortran/libgfortran.h > $@ || true
+ grep '^#define GFC_FPE_' < $(srcdir)/libgfortran.h >> $@ || true
+
@MAINTAINER_MODE_TRUE@$(i_all_c): m4/all.m4 $(I_M4_DEPS2)
@MAINTAINER_MODE_TRUE@ $(M4) -Dfile=$@ -I$(srcdir)/m4 all.m4 > $@
diff --git a/libgfortran/aclocal.m4 b/libgfortran/aclocal.m4
index 351be9d255..0ec2c8fe43 100644
--- a/libgfortran/aclocal.m4
+++ b/libgfortran/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.11.3 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
@@ -38,7 +38,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.11'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11.3], [],
+m4_if([$1], [1.11.6], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -54,7 +54,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.3])dnl
+[AM_AUTOMAKE_VERSION([1.11.6])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
diff --git a/libgfortran/c99_protos.h b/libgfortran/c99_protos.h
index a6870557f5..45f4e26266 100644
--- a/libgfortran/c99_protos.h
+++ b/libgfortran/c99_protos.h
@@ -1,5 +1,5 @@
/* Declarations of various C99 functions
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/caf/libcaf.h b/libgfortran/caf/libcaf.h
index 7ecd76fcec..660bd7c094 100644
--- a/libgfortran/caf/libcaf.h
+++ b/libgfortran/caf/libcaf.h
@@ -1,5 +1,5 @@
/* Common declarations for all of GNU Fortran libcaf implementations.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran Coarray Runtime Library (libcaf).
@@ -26,9 +26,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#ifndef LIBCAF_H
#define LIBCAF_H
+#include <stdbool.h>
+#include <stddef.h> /* For size_t. */
#include <stdint.h> /* For int32_t. */
-#include <stddef.h> /* For ptrdiff_t. */
+#include "libgfortran.h"
+
+#if 0
#ifndef __GNUC__
#define __attribute__(x)
#define likely(x) (x)
@@ -44,47 +48,90 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define STAT_LOCKED 1
#define STAT_LOCKED_OTHER_IMAGE 2
#define STAT_STOPPED_IMAGE 6000
+#endif
/* Describes what type of array we are registerring. Keep in sync with
gcc/fortran/trans.h. */
typedef enum caf_register_t {
CAF_REGTYPE_COARRAY_STATIC,
CAF_REGTYPE_COARRAY_ALLOC,
- CAF_REGTYPE_LOCK,
- CAF_REGTYPE_LOCK_COMP
+ CAF_REGTYPE_LOCK_STATIC,
+ CAF_REGTYPE_LOCK_ALLOC,
+ CAF_REGTYPE_CRITICAL
}
caf_register_t;
+typedef void* caf_token_t;
+typedef gfc_array_void gfc_descriptor_t;
+
/* Linked list of static coarrays registered. */
typedef struct caf_static_t {
- void **token;
+ caf_token_t token;
struct caf_static_t *prev;
}
caf_static_t;
+/* When there is a vector subscript in this dimension, nvec == 0, otherwise,
+ lower_bound, upper_bound, stride contains the bounds relative to the declared
+ bounds; kind denotes the integer kind of the elements of vector[]. */
+typedef struct caf_vector_t {
+ size_t nvec;
+ union {
+ struct {
+ void *vector;
+ int kind;
+ } v;
+ struct {
+ ptrdiff_t lower_bound, upper_bound, stride;
+ } triplet;
+ } u;
+}
+caf_vector_t;
+
-void _gfortran_caf_init (int *, char ***, int *, int *);
+void _gfortran_caf_init (int *, char ***);
void _gfortran_caf_finalize (void);
-void * _gfortran_caf_register (ptrdiff_t, caf_register_t, void ***, int *,
- char *, int);
-void _gfortran_caf_deregister (void ***, int *, char *, int);
+int _gfortran_caf_this_image (int);
+int _gfortran_caf_num_images (int, int);
+void *_gfortran_caf_register (size_t, caf_register_t, caf_token_t *, int *,
+ char *, int);
+void _gfortran_caf_deregister (caf_token_t *, int *, char *, int);
void _gfortran_caf_sync_all (int *, char *, int);
+void _gfortran_caf_sync_memory (int *, char *, int);
void _gfortran_caf_sync_images (int, int[], int *, char *, int);
-/* FIXME: The CRITICAL functions should be removed;
- the functionality is better represented using Coarray's lock feature. */
-void _gfortran_caf_critical (void);
-void _gfortran_caf_critical (void) { }
-
-void _gfortran_caf_end_critical (void);
-void _gfortran_caf_end_critical (void) { }
-
-
void _gfortran_caf_error_stop_str (const char *, int32_t)
__attribute__ ((noreturn));
void _gfortran_caf_error_stop (int32_t) __attribute__ ((noreturn));
+void _gfortran_caf_co_broadcast (gfc_descriptor_t *, int, int *, char *, int);
+void _gfortran_caf_co_sum (gfc_descriptor_t *, int, int *, char *, int);
+void _gfortran_caf_co_min (gfc_descriptor_t *, int, int *, char *, int, int);
+void _gfortran_caf_co_max (gfc_descriptor_t *, int, int *, char *, int, int);
+void _gfortran_caf_co_reduce (gfc_descriptor_t *, void* (*) (void *, void*),
+ int, int, int *, char *, int, int);
+
+void _gfortran_caf_get (caf_token_t, size_t, int, gfc_descriptor_t *,
+ caf_vector_t *, gfc_descriptor_t *, int, int, bool);
+void _gfortran_caf_send (caf_token_t, size_t, int, gfc_descriptor_t *,
+ caf_vector_t *, gfc_descriptor_t *, int, int, bool);
+void _gfortran_caf_sendget (caf_token_t, size_t, int, gfc_descriptor_t *,
+ caf_vector_t *, caf_token_t, size_t, int,
+ gfc_descriptor_t *, caf_vector_t *, int, int, bool);
+
+void _gfortran_caf_atomic_define (caf_token_t, size_t, int, void *, int *,
+ int, int);
+void _gfortran_caf_atomic_ref (caf_token_t, size_t, int, void *, int *,
+ int, int);
+void _gfortran_caf_atomic_cas (caf_token_t, size_t, int, void *, void *,
+ void *, int *, int, int);
+void _gfortran_caf_atomic_op (int, caf_token_t, size_t, int, void *, void *,
+ int *, int, int);
+
+void _gfortran_caf_lock (caf_token_t, size_t, int, int *, int *, char *, int);
+void _gfortran_caf_unlock (caf_token_t, size_t, int, int *, char *, int);
+
#endif /* LIBCAF_H */
diff --git a/libgfortran/caf/mpi.c b/libgfortran/caf/mpi.c
index da7185ed09..cc9740d29d 100644
--- a/libgfortran/caf/mpi.c
+++ b/libgfortran/caf/mpi.c
@@ -1,5 +1,5 @@
/* MPI implementation of GNU Fortran Coarray Library
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran Coarray Runtime Library (libcaf).
@@ -34,6 +34,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
/* Define GFC_CAF_CHECK to enable run-time checking. */
/* #define GFC_CAF_CHECK 1 */
+typedef void ** mpi_token_t;
+#define TOKEN(X) ((mpi_token_t) (X))
static void error_stop (int error) __attribute__ ((noreturn));
@@ -73,7 +75,7 @@ caf_runtime_error (const char *message, ...)
libaray is initialized. */
void
-_gfortran_caf_init (int *argc, char ***argv, int *this_image, int *num_images)
+_gfortran_caf_init (int *argc, char ***argv)
{
if (caf_num_images == 0)
{
@@ -87,11 +89,6 @@ _gfortran_caf_init (int *argc, char ***argv, int *this_image, int *num_images)
MPI_Comm_rank (MPI_COMM_WORLD, &caf_this_image);
caf_this_image++;
}
-
- if (this_image)
- *this_image = caf_this_image;
- if (num_images)
- *num_images = caf_num_images;
}
@@ -104,8 +101,8 @@ _gfortran_caf_finalize (void)
{
caf_static_t *tmp = caf_static_list->prev;
- free (caf_static_list->token[caf_this_image-1]);
- free (caf_static_list->token);
+ free (TOKEN (caf_static_list->token)[caf_this_image-1]);
+ free (TOKEN (caf_static_list->token));
free (caf_static_list);
caf_static_list = tmp;
}
@@ -117,8 +114,23 @@ _gfortran_caf_finalize (void)
}
+int
+_gfortran_caf_this_image (int distance __attribute__ ((unused)))
+{
+ return caf_this_image;
+}
+
+
+int
+_gfortran_caf_num_images (int distance __attribute__ ((unused)),
+ int failed __attribute__ ((unused)))
+{
+ return caf_num_images;
+}
+
+
void *
-_gfortran_caf_register (ptrdiff_t size, caf_register_t type, void ***token,
+_gfortran_caf_register (size_t size, caf_register_t type, caf_token_t *token,
int *stat, char *errmsg, int errmsg_len)
{
void *local;
@@ -129,17 +141,17 @@ _gfortran_caf_register (ptrdiff_t size, caf_register_t type, void ***token,
/* Start MPI if not already started. */
if (caf_num_images == 0)
- _gfortran_caf_init (NULL, NULL, NULL, NULL);
+ _gfortran_caf_init (NULL, NULL);
/* Token contains only a list of pointers. */
local = malloc (size);
- *token = malloc (sizeof (void*) * caf_num_images);
+ *token = malloc (sizeof (mpi_token_t) * caf_num_images);
if (unlikely (local == NULL || *token == NULL))
goto error;
/* token[img-1] is the address of the token in image "img". */
- err = MPI_Allgather (&local, sizeof (void*), MPI_BYTE, *token,
+ err = MPI_Allgather (&local, sizeof (void*), MPI_BYTE, TOKEN (*token),
sizeof (void*), MPI_BYTE, MPI_COMM_WORLD);
if (unlikely (err))
@@ -192,7 +204,7 @@ error:
void
-_gfortran_caf_deregister (void ***token, int *stat, char *errmsg, int errmsg_len)
+_gfortran_caf_deregister (caf_token_t *token, int *stat, char *errmsg, int errmsg_len)
{
if (unlikely (caf_is_finalized))
{
@@ -220,7 +232,7 @@ _gfortran_caf_deregister (void ***token, int *stat, char *errmsg, int errmsg_len
if (stat)
*stat = 0;
- free ((*token)[caf_this_image-1]);
+ free (TOKEN (*token)[caf_this_image-1]);
free (*token);
}
diff --git a/libgfortran/caf/single.c b/libgfortran/caf/single.c
index 551b9aa784..6c582860eb 100644
--- a/libgfortran/caf/single.c
+++ b/libgfortran/caf/single.c
@@ -1,5 +1,5 @@
/* Single-image implementation of GNU Fortran Coarray Library
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran Coarray Runtime Library (libcaf).
@@ -28,10 +28,14 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include <stdlib.h> /* For exit and malloc. */
#include <string.h> /* For memcpy and memset. */
#include <stdarg.h> /* For variadic arguments. */
+#include <assert.h>
/* Define GFC_CAF_CHECK to enable run-time checking. */
/* #define GFC_CAF_CHECK 1 */
+typedef void* single_token_t;
+#define TOKEN(X) ((single_token_t) (X))
+
/* Single-image implementation of the CAF library.
Note: For performance reasons -fcoarry=single should be used
rather than this library. */
@@ -57,11 +61,8 @@ caf_runtime_error (const char *message, ...)
void
_gfortran_caf_init (int *argc __attribute__ ((unused)),
- char ***argv __attribute__ ((unused)),
- int *this_image, int *num_images)
+ char ***argv __attribute__ ((unused)))
{
- *this_image = 1;
- *num_images = 1;
}
@@ -71,7 +72,6 @@ _gfortran_caf_finalize (void)
while (caf_static_list != NULL)
{
caf_static_t *tmp = caf_static_list->prev;
- free (caf_static_list->token[0]);
free (caf_static_list->token);
free (caf_static_list);
caf_static_list = tmp;
@@ -79,15 +79,33 @@ _gfortran_caf_finalize (void)
}
+int
+_gfortran_caf_this_image (int distance __attribute__ ((unused)))
+{
+ return 1;
+}
+
+
+int
+_gfortran_caf_num_images (int distance __attribute__ ((unused)),
+ int failed __attribute__ ((unused)))
+{
+ return 1;
+}
+
+
void *
-_gfortran_caf_register (ptrdiff_t size, caf_register_t type, void ***token,
+_gfortran_caf_register (size_t size, caf_register_t type, caf_token_t *token,
int *stat, char *errmsg, int errmsg_len)
{
void *local;
- local = malloc (size);
- *token = malloc (sizeof (void*) * 1);
- (*token)[0] = local;
+ if (type == CAF_REGTYPE_LOCK_STATIC || type == CAF_REGTYPE_LOCK_ALLOC
+ || type == CAF_REGTYPE_CRITICAL)
+ local = calloc (size, sizeof (bool));
+ else
+ local = malloc (size);
+ *token = malloc (sizeof (single_token_t));
if (unlikely (local == NULL || token == NULL))
{
@@ -109,10 +127,13 @@ _gfortran_caf_register (ptrdiff_t size, caf_register_t type, void ***token,
caf_runtime_error (msg);
}
+ *token = local;
+
if (stat)
*stat = 0;
- if (type == CAF_REGTYPE_COARRAY_STATIC)
+ if (type == CAF_REGTYPE_COARRAY_STATIC || type == CAF_REGTYPE_LOCK_STATIC
+ || type == CAF_REGTYPE_CRITICAL)
{
caf_static_t *tmp = malloc (sizeof (caf_static_t));
tmp->prev = caf_static_list;
@@ -124,12 +145,11 @@ _gfortran_caf_register (ptrdiff_t size, caf_register_t type, void ***token,
void
-_gfortran_caf_deregister (void ***token, int *stat,
+_gfortran_caf_deregister (caf_token_t *token, int *stat,
char *errmsg __attribute__ ((unused)),
int errmsg_len __attribute__ ((unused)))
{
- free ((*token)[0]);
- free (*token);
+ free (TOKEN(*token));
if (stat)
*stat = 0;
@@ -141,6 +161,18 @@ _gfortran_caf_sync_all (int *stat,
char *errmsg __attribute__ ((unused)),
int errmsg_len __attribute__ ((unused)))
{
+ __asm__ __volatile__ ("":::"memory");
+ if (stat)
+ *stat = 0;
+}
+
+
+void
+_gfortran_caf_sync_memory (int *stat,
+ char *errmsg __attribute__ ((unused)),
+ int errmsg_len __attribute__ ((unused)))
+{
+ __asm__ __volatile__ ("":::"memory");
if (stat)
*stat = 0;
}
@@ -165,6 +197,7 @@ _gfortran_caf_sync_images (int count __attribute__ ((unused)),
}
#endif
+ __asm__ __volatile__ ("":::"memory");
if (stat)
*stat = 0;
}
@@ -188,3 +221,929 @@ _gfortran_caf_error_stop (int32_t error)
fprintf (stderr, "ERROR STOP %d\n", error);
exit (error);
}
+
+
+void
+_gfortran_caf_co_broadcast (gfc_descriptor_t *a __attribute__ ((unused)),
+ int source_image __attribute__ ((unused)),
+ int *stat, char *errmsg __attribute__ ((unused)),
+ int errmsg_len __attribute__ ((unused)))
+{
+ if (stat)
+ *stat = 0;
+}
+
+void
+_gfortran_caf_co_sum (gfc_descriptor_t *a __attribute__ ((unused)),
+ int result_image __attribute__ ((unused)),
+ int *stat, char *errmsg __attribute__ ((unused)),
+ int errmsg_len __attribute__ ((unused)))
+{
+ if (stat)
+ *stat = 0;
+}
+
+void
+_gfortran_caf_co_min (gfc_descriptor_t *a __attribute__ ((unused)),
+ int result_image __attribute__ ((unused)),
+ int *stat, char *errmsg __attribute__ ((unused)),
+ int a_len __attribute__ ((unused)),
+ int errmsg_len __attribute__ ((unused)))
+{
+ if (stat)
+ *stat = 0;
+}
+
+void
+_gfortran_caf_co_max (gfc_descriptor_t *a __attribute__ ((unused)),
+ int result_image __attribute__ ((unused)),
+ int *stat, char *errmsg __attribute__ ((unused)),
+ int a_len __attribute__ ((unused)),
+ int errmsg_len __attribute__ ((unused)))
+{
+ if (stat)
+ *stat = 0;
+}
+
+
+void
+_gfortran_caf_co_reduce (gfc_descriptor_t *a __attribute__ ((unused)),
+ void * (*opr) (void *, void *)
+ __attribute__ ((unused)),
+ int opr_flags __attribute__ ((unused)),
+ int result_image __attribute__ ((unused)),
+ int *stat, char *errmsg __attribute__ ((unused)),
+ int a_len __attribute__ ((unused)),
+ int errmsg_len __attribute__ ((unused)))
+ {
+ if (stat)
+ *stat = 0;
+ }
+
+
+static void
+assign_char4_from_char1 (size_t dst_size, size_t src_size, uint32_t *dst,
+ unsigned char *src)
+{
+ size_t i, n;
+ n = dst_size/4 > src_size ? src_size : dst_size/4;
+ for (i = 0; i < n; ++i)
+ dst[i] = (int32_t) src[i];
+ for (; i < dst_size/4; ++i)
+ dst[i] = (int32_t) ' ';
+}
+
+
+static void
+assign_char1_from_char4 (size_t dst_size, size_t src_size, unsigned char *dst,
+ uint32_t *src)
+{
+ size_t i, n;
+ n = dst_size > src_size/4 ? src_size/4 : dst_size;
+ for (i = 0; i < n; ++i)
+ dst[i] = src[i] > UINT8_MAX ? (unsigned char) '?' : (unsigned char) src[i];
+ if (dst_size > n)
+ memset(&dst[n], ' ', dst_size - n);
+}
+
+
+static void
+convert_type (void *dst, int dst_type, int dst_kind, void *src, int src_type,
+ int src_kind)
+{
+#ifdef HAVE_GFC_INTEGER_16
+ typedef __int128 int128t;
+#else
+ typedef int64_t int128t;
+#endif
+
+#if defined(GFC_REAL_16_IS_LONG_DOUBLE)
+ typedef long double real128t;
+ typedef _Complex long double complex128t;
+#elif defined(HAVE_GFC_REAL_16)
+ typedef _Complex float __attribute__((mode(TC))) __complex128;
+ typedef __float128 real128t;
+ typedef __complex128 complex128t;
+#elif defined(HAVE_GFC_REAL_10)
+ typedef long double real128t;
+ typedef long double complex128t;
+#else
+ typedef double real128t;
+ typedef _Complex double complex128t;
+#endif
+
+ int128t int_val = 0;
+ real128t real_val = 0;
+ complex128t cmpx_val = 0;
+
+ switch (src_type)
+ {
+ case BT_INTEGER:
+ if (src_kind == 1)
+ int_val = *(int8_t*) src;
+ else if (src_kind == 2)
+ int_val = *(int16_t*) src;
+ else if (src_kind == 4)
+ int_val = *(int32_t*) src;
+ else if (src_kind == 8)
+ int_val = *(int64_t*) src;
+#ifdef HAVE_GFC_INTEGER_16
+ else if (src_kind == 16)
+ int_val = *(int128t*) src;
+#endif
+ else
+ goto error;
+ break;
+ case BT_REAL:
+ if (src_kind == 4)
+ real_val = *(float*) src;
+ else if (src_kind == 8)
+ real_val = *(double*) src;
+#ifdef HAVE_GFC_REAL_10
+ else if (src_kind == 10)
+ real_val = *(long double*) src;
+#endif
+#ifdef HAVE_GFC_REAL_16
+ else if (src_kind == 16)
+ real_val = *(real128t*) src;
+#endif
+ else
+ goto error;
+ break;
+ case BT_COMPLEX:
+ if (src_kind == 4)
+ cmpx_val = *(_Complex float*) src;
+ else if (src_kind == 8)
+ cmpx_val = *(_Complex double*) src;
+#ifdef HAVE_GFC_REAL_10
+ else if (src_kind == 10)
+ cmpx_val = *(_Complex long double*) src;
+#endif
+#ifdef HAVE_GFC_REAL_16
+ else if (src_kind == 16)
+ cmpx_val = *(complex128t*) src;
+#endif
+ else
+ goto error;
+ break;
+ default:
+ goto error;
+ }
+
+ switch (dst_type)
+ {
+ case BT_INTEGER:
+ if (src_type == BT_INTEGER)
+ {
+ if (dst_kind == 1)
+ *(int8_t*) dst = (int8_t) int_val;
+ else if (dst_kind == 2)
+ *(int16_t*) dst = (int16_t) int_val;
+ else if (dst_kind == 4)
+ *(int32_t*) dst = (int32_t) int_val;
+ else if (dst_kind == 8)
+ *(int64_t*) dst = (int64_t) int_val;
+#ifdef HAVE_GFC_INTEGER_16
+ else if (dst_kind == 16)
+ *(int128t*) dst = (int128t) int_val;
+#endif
+ else
+ goto error;
+ }
+ else if (src_type == BT_REAL)
+ {
+ if (dst_kind == 1)
+ *(int8_t*) dst = (int8_t) real_val;
+ else if (dst_kind == 2)
+ *(int16_t*) dst = (int16_t) real_val;
+ else if (dst_kind == 4)
+ *(int32_t*) dst = (int32_t) real_val;
+ else if (dst_kind == 8)
+ *(int64_t*) dst = (int64_t) real_val;
+#ifdef HAVE_GFC_INTEGER_16
+ else if (dst_kind == 16)
+ *(int128t*) dst = (int128t) real_val;
+#endif
+ else
+ goto error;
+ }
+ else if (src_type == BT_COMPLEX)
+ {
+ if (dst_kind == 1)
+ *(int8_t*) dst = (int8_t) cmpx_val;
+ else if (dst_kind == 2)
+ *(int16_t*) dst = (int16_t) cmpx_val;
+ else if (dst_kind == 4)
+ *(int32_t*) dst = (int32_t) cmpx_val;
+ else if (dst_kind == 8)
+ *(int64_t*) dst = (int64_t) cmpx_val;
+#ifdef HAVE_GFC_INTEGER_16
+ else if (dst_kind == 16)
+ *(int128t*) dst = (int128t) cmpx_val;
+#endif
+ else
+ goto error;
+ }
+ else
+ goto error;
+ break;
+ case BT_REAL:
+ if (src_type == BT_INTEGER)
+ {
+ if (dst_kind == 4)
+ *(float*) dst = (float) int_val;
+ else if (dst_kind == 8)
+ *(double*) dst = (double) int_val;
+#ifdef HAVE_GFC_REAL_10
+ else if (dst_kind == 10)
+ *(long double*) dst = (long double) int_val;
+#endif
+#ifdef HAVE_GFC_REAL_16
+ else if (dst_kind == 16)
+ *(real128t*) dst = (real128t) int_val;
+#endif
+ else
+ goto error;
+ }
+ else if (src_type == BT_REAL)
+ {
+ if (dst_kind == 4)
+ *(float*) dst = (float) real_val;
+ else if (dst_kind == 8)
+ *(double*) dst = (double) real_val;
+#ifdef HAVE_GFC_REAL_10
+ else if (dst_kind == 10)
+ *(long double*) dst = (long double) real_val;
+#endif
+#ifdef HAVE_GFC_REAL_16
+ else if (dst_kind == 16)
+ *(real128t*) dst = (real128t) real_val;
+#endif
+ else
+ goto error;
+ }
+ else if (src_type == BT_COMPLEX)
+ {
+ if (dst_kind == 4)
+ *(float*) dst = (float) cmpx_val;
+ else if (dst_kind == 8)
+ *(double*) dst = (double) cmpx_val;
+#ifdef HAVE_GFC_REAL_10
+ else if (dst_kind == 10)
+ *(long double*) dst = (long double) cmpx_val;
+#endif
+#ifdef HAVE_GFC_REAL_16
+ else if (dst_kind == 16)
+ *(real128t*) dst = (real128t) cmpx_val;
+#endif
+ else
+ goto error;
+ }
+ break;
+ case BT_COMPLEX:
+ if (src_type == BT_INTEGER)
+ {
+ if (dst_kind == 4)
+ *(_Complex float*) dst = (_Complex float) int_val;
+ else if (dst_kind == 8)
+ *(_Complex double*) dst = (_Complex double) int_val;
+#ifdef HAVE_GFC_REAL_10
+ else if (dst_kind == 10)
+ *(_Complex long double*) dst = (_Complex long double) int_val;
+#endif
+#ifdef HAVE_GFC_REAL_16
+ else if (dst_kind == 16)
+ *(complex128t*) dst = (complex128t) int_val;
+#endif
+ else
+ goto error;
+ }
+ else if (src_type == BT_REAL)
+ {
+ if (dst_kind == 4)
+ *(_Complex float*) dst = (_Complex float) real_val;
+ else if (dst_kind == 8)
+ *(_Complex double*) dst = (_Complex double) real_val;
+#ifdef HAVE_GFC_REAL_10
+ else if (dst_kind == 10)
+ *(_Complex long double*) dst = (_Complex long double) real_val;
+#endif
+#ifdef HAVE_GFC_REAL_16
+ else if (dst_kind == 16)
+ *(complex128t*) dst = (complex128t) real_val;
+#endif
+ else
+ goto error;
+ }
+ else if (src_type == BT_COMPLEX)
+ {
+ if (dst_kind == 4)
+ *(_Complex float*) dst = (_Complex float) cmpx_val;
+ else if (dst_kind == 8)
+ *(_Complex double*) dst = (_Complex double) cmpx_val;
+#ifdef HAVE_GFC_REAL_10
+ else if (dst_kind == 10)
+ *(_Complex long double*) dst = (_Complex long double) cmpx_val;
+#endif
+#ifdef HAVE_GFC_REAL_16
+ else if (dst_kind == 16)
+ *(complex128t*) dst = (complex128t) cmpx_val;
+#endif
+ else
+ goto error;
+ }
+ else
+ goto error;
+ break;
+ default:
+ goto error;
+ }
+
+error:
+ fprintf (stderr, "libcaf_single RUNTIME ERROR: Cannot convert type %d kind "
+ "%d to type %d kind %d\n", src_type, src_kind, dst_type, dst_kind);
+ abort();
+}
+
+
+void
+_gfortran_caf_get (caf_token_t token, size_t offset,
+ int image_index __attribute__ ((unused)),
+ gfc_descriptor_t *src,
+ caf_vector_t *src_vector __attribute__ ((unused)),
+ gfc_descriptor_t *dest, int src_kind, int dst_kind,
+ bool may_require_tmp)
+{
+ /* FIXME: Handle vector subscripts. */
+ size_t i, k, size;
+ int j;
+ int rank = GFC_DESCRIPTOR_RANK (dest);
+ size_t src_size = GFC_DESCRIPTOR_SIZE (src);
+ size_t dst_size = GFC_DESCRIPTOR_SIZE (dest);
+
+ if (rank == 0)
+ {
+ void *sr = (void *) ((char *) TOKEN (token) + offset);
+ if (GFC_DESCRIPTOR_TYPE (dest) == GFC_DESCRIPTOR_TYPE (src)
+ && dst_kind == src_kind)
+ {
+ memmove (GFC_DESCRIPTOR_DATA (dest), sr,
+ dst_size > src_size ? src_size : dst_size);
+ if (GFC_DESCRIPTOR_TYPE (dest) == BT_CHARACTER && dst_size > src_size)
+ {
+ if (dst_kind == 1)
+ memset ((void*)(char*) GFC_DESCRIPTOR_DATA (dest) + src_size,
+ ' ', dst_size - src_size);
+ else /* dst_kind == 4. */
+ for (i = src_size/4; i < dst_size/4; i++)
+ ((int32_t*) GFC_DESCRIPTOR_DATA (dest))[i] = (int32_t) ' ';
+ }
+ }
+ else if (GFC_DESCRIPTOR_TYPE (dest) == BT_CHARACTER && dst_kind == 1)
+ assign_char1_from_char4 (dst_size, src_size, GFC_DESCRIPTOR_DATA (dest),
+ sr);
+ else if (GFC_DESCRIPTOR_TYPE (dest) == BT_CHARACTER)
+ assign_char4_from_char1 (dst_size, src_size, GFC_DESCRIPTOR_DATA (dest),
+ sr);
+ else
+ convert_type (GFC_DESCRIPTOR_DATA (dest), GFC_DESCRIPTOR_TYPE (dest),
+ dst_kind, sr, GFC_DESCRIPTOR_TYPE (src), src_kind);
+ return;
+ }
+
+ size = 1;
+ for (j = 0; j < rank; j++)
+ {
+ ptrdiff_t dimextent = dest->dim[j]._ubound - dest->dim[j].lower_bound + 1;
+ if (dimextent < 0)
+ dimextent = 0;
+ size *= dimextent;
+ }
+
+ if (size == 0)
+ return;
+
+ if (may_require_tmp)
+ {
+ ptrdiff_t array_offset_sr, array_offset_dst;
+ void *tmp = malloc (size*src_size);
+
+ array_offset_dst = 0;
+ for (i = 0; i < size; i++)
+ {
+ ptrdiff_t array_offset_sr = 0;
+ ptrdiff_t stride = 1;
+ ptrdiff_t extent = 1;
+ for (j = 0; j < GFC_DESCRIPTOR_RANK (src)-1; j++)
+ {
+ array_offset_sr += ((i / (extent*stride))
+ % (src->dim[j]._ubound
+ - src->dim[j].lower_bound + 1))
+ * src->dim[j]._stride;
+ extent = (src->dim[j]._ubound - src->dim[j].lower_bound + 1);
+ stride = src->dim[j]._stride;
+ }
+ array_offset_sr += (i / extent) * src->dim[rank-1]._stride;
+ void *sr = (void *)((char *) TOKEN (token) + offset
+ + array_offset_sr*GFC_DESCRIPTOR_SIZE (src));
+ memcpy ((void *) ((char *) tmp + array_offset_dst), sr, src_size);
+ array_offset_dst += src_size;
+ }
+
+ array_offset_sr = 0;
+ for (i = 0; i < size; i++)
+ {
+ ptrdiff_t array_offset_dst = 0;
+ ptrdiff_t stride = 1;
+ ptrdiff_t extent = 1;
+ for (j = 0; j < rank-1; j++)
+ {
+ array_offset_dst += ((i / (extent*stride))
+ % (dest->dim[j]._ubound
+ - dest->dim[j].lower_bound + 1))
+ * dest->dim[j]._stride;
+ extent = (dest->dim[j]._ubound - dest->dim[j].lower_bound + 1);
+ stride = dest->dim[j]._stride;
+ }
+ array_offset_dst += (i / extent) * dest->dim[rank-1]._stride;
+ void *dst = dest->base_addr
+ + array_offset_dst*GFC_DESCRIPTOR_SIZE (dest);
+ void *sr = tmp + array_offset_sr;
+
+ if (GFC_DESCRIPTOR_TYPE (dest) == GFC_DESCRIPTOR_TYPE (src)
+ && dst_kind == src_kind)
+ {
+ memmove (dst, sr, dst_size > src_size ? src_size : dst_size);
+ if (GFC_DESCRIPTOR_TYPE (dest) == BT_CHARACTER
+ && dst_size > src_size)
+ {
+ if (dst_kind == 1)
+ memset ((void*)(char*) dst + src_size, ' ',
+ dst_size-src_size);
+ else /* dst_kind == 4. */
+ for (k = src_size/4; k < dst_size/4; k++)
+ ((int32_t*) dst)[k] = (int32_t) ' ';
+ }
+ }
+ else if (GFC_DESCRIPTOR_TYPE (dest) == BT_CHARACTER && dst_kind == 1)
+ assign_char1_from_char4 (dst_size, src_size, dst, sr);
+ else if (GFC_DESCRIPTOR_TYPE (dest) == BT_CHARACTER)
+ assign_char4_from_char1 (dst_size, src_size, dst, sr);
+ else
+ convert_type (dst, GFC_DESCRIPTOR_TYPE (dest), dst_kind,
+ sr, GFC_DESCRIPTOR_TYPE (src), src_kind);
+ array_offset_sr += src_size;
+ }
+
+ free (tmp);
+ return;
+ }
+
+ for (i = 0; i < size; i++)
+ {
+ ptrdiff_t array_offset_dst = 0;
+ ptrdiff_t stride = 1;
+ ptrdiff_t extent = 1;
+ for (j = 0; j < rank-1; j++)
+ {
+ array_offset_dst += ((i / (extent*stride))
+ % (dest->dim[j]._ubound
+ - dest->dim[j].lower_bound + 1))
+ * dest->dim[j]._stride;
+ extent = (dest->dim[j]._ubound - dest->dim[j].lower_bound + 1);
+ stride = dest->dim[j]._stride;
+ }
+ array_offset_dst += (i / extent) * dest->dim[rank-1]._stride;
+ void *dst = dest->base_addr + array_offset_dst*GFC_DESCRIPTOR_SIZE (dest);
+
+ ptrdiff_t array_offset_sr = 0;
+ stride = 1;
+ extent = 1;
+ for (j = 0; j < GFC_DESCRIPTOR_RANK (src)-1; j++)
+ {
+ array_offset_sr += ((i / (extent*stride))
+ % (src->dim[j]._ubound
+ - src->dim[j].lower_bound + 1))
+ * src->dim[j]._stride;
+ extent = (src->dim[j]._ubound - src->dim[j].lower_bound + 1);
+ stride = src->dim[j]._stride;
+ }
+ array_offset_sr += (i / extent) * src->dim[rank-1]._stride;
+ void *sr = (void *)((char *) TOKEN (token) + offset
+ + array_offset_sr*GFC_DESCRIPTOR_SIZE (src));
+
+ if (GFC_DESCRIPTOR_TYPE (dest) == GFC_DESCRIPTOR_TYPE (src)
+ && dst_kind == src_kind)
+ {
+ memmove (dst, sr, dst_size > src_size ? src_size : dst_size);
+ if (GFC_DESCRIPTOR_TYPE (dest) == BT_CHARACTER && dst_size > src_size)
+ {
+ if (dst_kind == 1)
+ memset ((void*)(char*) dst + src_size, ' ', dst_size-src_size);
+ else /* dst_kind == 4. */
+ for (k = src_size/4; k < dst_size/4; k++)
+ ((int32_t*) dst)[k] = (int32_t) ' ';
+ }
+ }
+ else if (GFC_DESCRIPTOR_TYPE (dest) == BT_CHARACTER && dst_kind == 1)
+ assign_char1_from_char4 (dst_size, src_size, dst, sr);
+ else if (GFC_DESCRIPTOR_TYPE (dest) == BT_CHARACTER)
+ assign_char4_from_char1 (dst_size, src_size, dst, sr);
+ else
+ convert_type (dst, GFC_DESCRIPTOR_TYPE (dest), dst_kind,
+ sr, GFC_DESCRIPTOR_TYPE (src), src_kind);
+ }
+}
+
+
+void
+_gfortran_caf_send (caf_token_t token, size_t offset,
+ int image_index __attribute__ ((unused)),
+ gfc_descriptor_t *dest,
+ caf_vector_t *dst_vector __attribute__ ((unused)),
+ gfc_descriptor_t *src, int dst_kind, int src_kind,
+ bool may_require_tmp)
+{
+ /* FIXME: Handle vector subscripts. */
+ size_t i, k, size;
+ int j;
+ int rank = GFC_DESCRIPTOR_RANK (dest);
+ size_t src_size = GFC_DESCRIPTOR_SIZE (src);
+ size_t dst_size = GFC_DESCRIPTOR_SIZE (dest);
+
+ if (rank == 0)
+ {
+ void *dst = (void *) ((char *) TOKEN (token) + offset);
+ if (GFC_DESCRIPTOR_TYPE (dest) == GFC_DESCRIPTOR_TYPE (src)
+ && dst_kind == src_kind)
+ {
+ memmove (dst, GFC_DESCRIPTOR_DATA (src),
+ dst_size > src_size ? src_size : dst_size);
+ if (GFC_DESCRIPTOR_TYPE (dest) == BT_CHARACTER && dst_size > src_size)
+ {
+ if (dst_kind == 1)
+ memset ((void*)(char*) dst + src_size, ' ', dst_size-src_size);
+ else /* dst_kind == 4. */
+ for (i = src_size/4; i < dst_size/4; i++)
+ ((int32_t*) dst)[i] = (int32_t) ' ';
+ }
+ }
+ else if (GFC_DESCRIPTOR_TYPE (dest) == BT_CHARACTER && dst_kind == 1)
+ assign_char1_from_char4 (dst_size, src_size, dst,
+ GFC_DESCRIPTOR_DATA (src));
+ else if (GFC_DESCRIPTOR_TYPE (dest) == BT_CHARACTER)
+ assign_char4_from_char1 (dst_size, src_size, dst,
+ GFC_DESCRIPTOR_DATA (src));
+ else
+ convert_type (dst, GFC_DESCRIPTOR_TYPE (dest), dst_kind,
+ GFC_DESCRIPTOR_DATA (src), GFC_DESCRIPTOR_TYPE (src),
+ src_kind);
+ return;
+ }
+
+ size = 1;
+ for (j = 0; j < rank; j++)
+ {
+ ptrdiff_t dimextent = dest->dim[j]._ubound - dest->dim[j].lower_bound + 1;
+ if (dimextent < 0)
+ dimextent = 0;
+ size *= dimextent;
+ }
+
+ if (size == 0)
+ return;
+
+ if (may_require_tmp)
+ {
+ ptrdiff_t array_offset_sr, array_offset_dst;
+ void *tmp;
+
+ if (GFC_DESCRIPTOR_RANK (src) == 0)
+ {
+ tmp = malloc (src_size);
+ memcpy (tmp, GFC_DESCRIPTOR_DATA (src), src_size);
+ }
+ else
+ {
+ tmp = malloc (size*src_size);
+ array_offset_dst = 0;
+ for (i = 0; i < size; i++)
+ {
+ ptrdiff_t array_offset_sr = 0;
+ ptrdiff_t stride = 1;
+ ptrdiff_t extent = 1;
+ for (j = 0; j < GFC_DESCRIPTOR_RANK (src)-1; j++)
+ {
+ array_offset_sr += ((i / (extent*stride))
+ % (src->dim[j]._ubound
+ - src->dim[j].lower_bound + 1))
+ * src->dim[j]._stride;
+ extent = (src->dim[j]._ubound - src->dim[j].lower_bound + 1);
+ stride = src->dim[j]._stride;
+ }
+ array_offset_sr += (i / extent) * src->dim[rank-1]._stride;
+ void *sr = (void *) ((char *) src->base_addr
+ + array_offset_sr*GFC_DESCRIPTOR_SIZE (src));
+ memcpy ((void *) ((char *) tmp + array_offset_dst), sr, src_size);
+ array_offset_dst += src_size;
+ }
+ }
+
+ array_offset_sr = 0;
+ for (i = 0; i < size; i++)
+ {
+ ptrdiff_t array_offset_dst = 0;
+ ptrdiff_t stride = 1;
+ ptrdiff_t extent = 1;
+ for (j = 0; j < rank-1; j++)
+ {
+ array_offset_dst += ((i / (extent*stride))
+ % (dest->dim[j]._ubound
+ - dest->dim[j].lower_bound + 1))
+ * dest->dim[j]._stride;
+ extent = (dest->dim[j]._ubound - dest->dim[j].lower_bound + 1);
+ stride = dest->dim[j]._stride;
+ }
+ array_offset_dst += (i / extent) * dest->dim[rank-1]._stride;
+ void *dst = (void *)((char *) TOKEN (token) + offset
+ + array_offset_dst*GFC_DESCRIPTOR_SIZE (dest));
+ void *sr = tmp + array_offset_sr;
+ if (GFC_DESCRIPTOR_TYPE (dest) == GFC_DESCRIPTOR_TYPE (src)
+ && dst_kind == src_kind)
+ {
+ memmove (dst, sr,
+ dst_size > src_size ? src_size : dst_size);
+ if (GFC_DESCRIPTOR_TYPE (dest) == BT_CHARACTER
+ && dst_size > src_size)
+ {
+ if (dst_kind == 1)
+ memset ((void*)(char*) dst + src_size, ' ',
+ dst_size-src_size);
+ else /* dst_kind == 4. */
+ for (k = src_size/4; k < dst_size/4; k++)
+ ((int32_t*) dst)[k] = (int32_t) ' ';
+ }
+ }
+ else if (GFC_DESCRIPTOR_TYPE (dest) == BT_CHARACTER && dst_kind == 1)
+ assign_char1_from_char4 (dst_size, src_size, dst, sr);
+ else if (GFC_DESCRIPTOR_TYPE (dest) == BT_CHARACTER)
+ assign_char4_from_char1 (dst_size, src_size, dst, sr);
+ else
+ convert_type (dst, GFC_DESCRIPTOR_TYPE (dest), dst_kind,
+ sr, GFC_DESCRIPTOR_TYPE (src), src_kind);
+ if (GFC_DESCRIPTOR_RANK (src))
+ array_offset_sr += src_size;
+ }
+ free (tmp);
+ return;
+ }
+
+ for (i = 0; i < size; i++)
+ {
+ ptrdiff_t array_offset_dst = 0;
+ ptrdiff_t stride = 1;
+ ptrdiff_t extent = 1;
+ for (j = 0; j < rank-1; j++)
+ {
+ array_offset_dst += ((i / (extent*stride))
+ % (dest->dim[j]._ubound
+ - dest->dim[j].lower_bound + 1))
+ * dest->dim[j]._stride;
+ extent = (dest->dim[j]._ubound - dest->dim[j].lower_bound + 1);
+ stride = dest->dim[j]._stride;
+ }
+ array_offset_dst += (i / extent) * dest->dim[rank-1]._stride;
+ void *dst = (void *)((char *) TOKEN (token) + offset
+ + array_offset_dst*GFC_DESCRIPTOR_SIZE (dest));
+ void *sr;
+ if (GFC_DESCRIPTOR_RANK (src) != 0)
+ {
+ ptrdiff_t array_offset_sr = 0;
+ stride = 1;
+ extent = 1;
+ for (j = 0; j < GFC_DESCRIPTOR_RANK (src)-1; j++)
+ {
+ array_offset_sr += ((i / (extent*stride))
+ % (src->dim[j]._ubound
+ - src->dim[j].lower_bound + 1))
+ * src->dim[j]._stride;
+ extent = (src->dim[j]._ubound - src->dim[j].lower_bound + 1);
+ stride = src->dim[j]._stride;
+ }
+ array_offset_sr += (i / extent) * src->dim[rank-1]._stride;
+ sr = (void *)((char *) src->base_addr
+ + array_offset_sr*GFC_DESCRIPTOR_SIZE (src));
+ }
+ else
+ sr = src->base_addr;
+
+ if (GFC_DESCRIPTOR_TYPE (dest) == GFC_DESCRIPTOR_TYPE (src)
+ && dst_kind == src_kind)
+ {
+ memmove (dst, sr,
+ dst_size > src_size ? src_size : dst_size);
+ if (GFC_DESCRIPTOR_TYPE (dest) == BT_CHARACTER && dst_size > src_size)
+ {
+ if (dst_kind == 1)
+ memset ((void*)(char*) dst + src_size, ' ', dst_size-src_size);
+ else /* dst_kind == 4. */
+ for (k = src_size/4; k < dst_size/4; k++)
+ ((int32_t*) dst)[k] = (int32_t) ' ';
+ }
+ }
+ else if (GFC_DESCRIPTOR_TYPE (dest) == BT_CHARACTER && dst_kind == 1)
+ assign_char1_from_char4 (dst_size, src_size, dst, sr);
+ else if (GFC_DESCRIPTOR_TYPE (dest) == BT_CHARACTER)
+ assign_char4_from_char1 (dst_size, src_size, dst, sr);
+ else
+ convert_type (dst, GFC_DESCRIPTOR_TYPE (dest), dst_kind,
+ sr, GFC_DESCRIPTOR_TYPE (src), src_kind);
+ }
+}
+
+
+void
+_gfortran_caf_sendget (caf_token_t dst_token, size_t dst_offset,
+ int dst_image_index, gfc_descriptor_t *dest,
+ caf_vector_t *dst_vector, caf_token_t src_token,
+ size_t src_offset,
+ int src_image_index __attribute__ ((unused)),
+ gfc_descriptor_t *src,
+ caf_vector_t *src_vector __attribute__ ((unused)),
+ int dst_kind, int src_kind, bool may_require_tmp)
+{
+ /* FIXME: Handle vector subscript of 'src_vector'. */
+ /* For a single image, src->base_addr should be the same as src_token + offset
+ but to play save, we do it properly. */
+ void *src_base = GFC_DESCRIPTOR_DATA (src);
+ GFC_DESCRIPTOR_DATA (src) = (void *) ((char *) TOKEN (src_token) + src_offset);
+ _gfortran_caf_send (dst_token, dst_offset, dst_image_index, dest, dst_vector,
+ src, dst_kind, src_kind, may_require_tmp);
+ GFC_DESCRIPTOR_DATA (src) = src_base;
+}
+
+
+void
+_gfortran_caf_atomic_define (caf_token_t token, size_t offset,
+ int image_index __attribute__ ((unused)),
+ void *value, int *stat,
+ int type __attribute__ ((unused)), int kind)
+{
+ assert(kind == 4);
+
+ uint32_t *atom = (uint32_t *) ((char *) TOKEN (token) + offset);
+
+ __atomic_store (atom, (uint32_t *) value, __ATOMIC_RELAXED);
+
+ if (stat)
+ *stat = 0;
+}
+
+void
+_gfortran_caf_atomic_ref (caf_token_t token, size_t offset,
+ int image_index __attribute__ ((unused)),
+ void *value, int *stat,
+ int type __attribute__ ((unused)), int kind)
+{
+ assert(kind == 4);
+
+ uint32_t *atom = (uint32_t *) ((char *) TOKEN (token) + offset);
+
+ __atomic_load (atom, (uint32_t *) value, __ATOMIC_RELAXED);
+
+ if (stat)
+ *stat = 0;
+}
+
+
+void
+_gfortran_caf_atomic_cas (caf_token_t token, size_t offset,
+ int image_index __attribute__ ((unused)),
+ void *old, void *compare, void *new_val, int *stat,
+ int type __attribute__ ((unused)), int kind)
+{
+ assert(kind == 4);
+
+ uint32_t *atom = (uint32_t *) ((char *) TOKEN (token) + offset);
+
+ *(uint32_t *) old = *(uint32_t *) compare;
+ (void) __atomic_compare_exchange_n (atom, (uint32_t *) old,
+ *(uint32_t *) new_val, false,
+ __ATOMIC_RELAXED, __ATOMIC_RELAXED);
+ if (stat)
+ *stat = 0;
+}
+
+
+void
+_gfortran_caf_atomic_op (int op, caf_token_t token, size_t offset,
+ int image_index __attribute__ ((unused)),
+ void *value, void *old, int *stat,
+ int type __attribute__ ((unused)), int kind)
+{
+ assert(kind == 4);
+
+ uint32_t res;
+ uint32_t *atom = (uint32_t *) ((char *) TOKEN (token) + offset);
+
+ switch (op)
+ {
+ case GFC_CAF_ATOMIC_ADD:
+ res = __atomic_fetch_add (atom, *(uint32_t *) value, __ATOMIC_RELAXED);
+ break;
+ case GFC_CAF_ATOMIC_AND:
+ res = __atomic_fetch_and (atom, *(uint32_t *) value, __ATOMIC_RELAXED);
+ break;
+ case GFC_CAF_ATOMIC_OR:
+ res = __atomic_fetch_or (atom, *(uint32_t *) value, __ATOMIC_RELAXED);
+ break;
+ case GFC_CAF_ATOMIC_XOR:
+ res = __atomic_fetch_xor (atom, *(uint32_t *) value, __ATOMIC_RELAXED);
+ break;
+ default:
+ __builtin_unreachable();
+ }
+
+ if (old)
+ *(uint32_t *) old = res;
+
+ if (stat)
+ *stat = 0;
+}
+
+
+void
+_gfortran_caf_lock (caf_token_t token, size_t index,
+ int image_index __attribute__ ((unused)),
+ int *aquired_lock, int *stat, char *errmsg, int errmsg_len)
+{
+ const char *msg = "Already locked";
+ bool *lock = &((bool *) TOKEN (token))[index];
+
+ if (!*lock)
+ {
+ *lock = true;
+ if (aquired_lock)
+ *aquired_lock = (int) true;
+ if (stat)
+ *stat = 0;
+ return;
+ }
+
+ if (aquired_lock)
+ {
+ *aquired_lock = (int) false;
+ if (stat)
+ *stat = 0;
+ return;
+ }
+
+
+ if (stat)
+ {
+ *stat = 1;
+ if (errmsg_len > 0)
+ {
+ int len = ((int) sizeof (msg) > errmsg_len) ? errmsg_len
+ : (int) sizeof (msg);
+ memcpy (errmsg, msg, len);
+ if (errmsg_len > len)
+ memset (&errmsg[len], ' ', errmsg_len-len);
+ }
+ return;
+ }
+ _gfortran_caf_error_stop_str (msg, (int32_t) strlen (msg));
+}
+
+
+void
+_gfortran_caf_unlock (caf_token_t token, size_t index,
+ int image_index __attribute__ ((unused)),
+ int *stat, char *errmsg, int errmsg_len)
+{
+ const char *msg = "Variable is not locked";
+ bool *lock = &((bool *) TOKEN (token))[index];
+
+ if (*lock)
+ {
+ *lock = false;
+ if (stat)
+ *stat = 0;
+ return;
+ }
+
+ if (stat)
+ {
+ *stat = 1;
+ if (errmsg_len > 0)
+ {
+ int len = ((int) sizeof (msg) > errmsg_len) ? errmsg_len
+ : (int) sizeof (msg);
+ memcpy (errmsg, msg, len);
+ if (errmsg_len > len)
+ memset (&errmsg[len], ' ', errmsg_len-len);
+ }
+ return;
+ }
+ _gfortran_caf_error_stop_str (msg, (int32_t) strlen (msg));
+}
diff --git a/libgfortran/config.h.in b/libgfortran/config.h.in
index 5c9de02ac1..833d8b42aa 100644
--- a/libgfortran/config.h.in
+++ b/libgfortran/config.h.in
@@ -396,9 +396,15 @@
/* Define to 1 if you have the `fork' function. */
#undef HAVE_FORK
+/* fpresetsticky is present */
+#undef HAVE_FPRESETSTICKY
+
/* Define if you have fpsetmask. */
#undef HAVE_FPSETMASK
+/* fpsetsticky is present */
+#undef HAVE_FPSETSTICKY
+
/* Define to 1 if you have the <fptrap.h> header file. */
#undef HAVE_FPTRAP_H
@@ -423,6 +429,9 @@
/* fp_trap is present */
#undef HAVE_FP_TRAP
+/* Define to 1 if you have the `freelocale' function. */
+#undef HAVE_FREELOCALE
+
/* Define to 1 if you have the `frexp' function. */
#undef HAVE_FREXP
@@ -615,6 +624,9 @@
/* Define to 1 if you have the `mkstemp' function. */
#undef HAVE_MKSTEMP
+/* Define to 1 if you have the `newlocale' function. */
+#undef HAVE_NEWLOCALE
+
/* Define to 1 if you have the `nextafter' function. */
#undef HAVE_NEXTAFTER
@@ -717,6 +729,9 @@
/* Define to 1 if you have the `strcasestr' function. */
#undef HAVE_STRCASESTR
+/* Define to 1 if you have the `strerror_l' function. */
+#undef HAVE_STRERROR_L
+
/* Define if strerror_r is available in <string.h>. */
#undef HAVE_STRERROR_R
@@ -729,6 +744,12 @@
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
+/* Define to 1 if you have the `strndup' function. */
+#undef HAVE_STRNDUP
+
+/* Define to 1 if you have the `strnlen' function. */
+#undef HAVE_STRNLEN
+
/* Define to 1 if you have the `strtof' function. */
#undef HAVE_STRTOF
@@ -828,6 +849,9 @@
/* Define if target can unlink open files. */
#undef HAVE_UNLINK_OPEN_FILE
+/* Define to 1 if you have the `uselocale' function. */
+#undef HAVE_USELOCALE
+
/* Define to 1 if you have the `vsnprintf' function. */
#undef HAVE_VSNPRINTF
@@ -837,6 +861,9 @@
/* Define if target has a reliable stat. */
#undef HAVE_WORKING_STAT
+/* Define to 1 if you have the <xlocale.h> header file. */
+#undef HAVE_XLOCALE_H
+
/* Define to 1 if you have the `y0' function. */
#undef HAVE_Y0
diff --git a/libgfortran/config/fpu-387.h b/libgfortran/config/fpu-387.h
index 8ba3f4aab4..1d0711ce3b 100644
--- a/libgfortran/config/fpu-387.h
+++ b/libgfortran/config/fpu-387.h
@@ -1,5 +1,5 @@
/* FPU-related code for x86 and x86_64 processors.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Contributed by Francois-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
@@ -27,26 +27,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "cpuid.h"
#endif
-#if defined(__sun__) && defined(__svr4__)
-#include <signal.h>
-#include <ucontext.h>
-
-static volatile sig_atomic_t sigill_caught;
-
-static void
-sigill_hdlr (int sig __attribute((unused)),
- siginfo_t *sip __attribute__((unused)),
- ucontext_t *ucp)
-{
- sigill_caught = 1;
- /* Set PC to the instruction after the faulting one to skip over it,
- otherwise we enter an infinite loop. 3 is the size of the movaps
- instruction. */
- ucp->uc_mcontext.gregs[EIP] += 3;
- setcontext (ucp);
-}
-#endif
-
static int
has_sse (void)
{
@@ -56,32 +36,6 @@ has_sse (void)
if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx))
return 0;
-#if defined(__sun__) && defined(__svr4__)
- /* Solaris 2 before Solaris 9 4/04 cannot execute SSE instructions even
- if the CPU supports them. Programs receive SIGILL instead, so check
- for that at runtime. */
-
- if (edx & bit_SSE)
- {
- struct sigaction act, oact;
-
- act.sa_handler = sigill_hdlr;
- sigemptyset (&act.sa_mask);
- /* Need to set SA_SIGINFO so a ucontext_t * is passed to the handler. */
- act.sa_flags = SA_SIGINFO;
- sigaction (SIGILL, &act, &oact);
-
- /* We need a single SSE instruction here so the handler can safely skip
- over it. */
- __asm__ __volatile__ ("movaps\t%xmm0,%xmm0");
-
- sigaction (SIGILL, &oact, NULL);
-
- if (sigill_caught)
- return 0;
- }
-#endif /* __sun__ && __svr4__ */
-
return edx & bit_SSE;
#else
return 1;
@@ -108,24 +62,130 @@ has_sse (void)
#define _FPU_RC_MASK 0x3
+/* Enable flush to zero mode. */
+
+#define MXCSR_FTZ (1 << 15)
+
+
+/* This structure corresponds to the layout of the block
+ written by FSTENV. */
+typedef struct
+{
+ unsigned short int __control_word;
+ unsigned short int __unused1;
+ unsigned short int __status_word;
+ unsigned short int __unused2;
+ unsigned short int __tags;
+ unsigned short int __unused3;
+ unsigned int __eip;
+ unsigned short int __cs_selector;
+ unsigned short int __opcode;
+ unsigned int __data_offset;
+ unsigned short int __data_selector;
+ unsigned short int __unused5;
+ unsigned int __mxcsr;
+}
+my_fenv_t;
+
+/* Check we can actually store the FPU state in the allocated size. */
+_Static_assert (sizeof(my_fenv_t) <= (size_t) GFC_FPE_STATE_BUFFER_SIZE,
+ "GFC_FPE_STATE_BUFFER_SIZE is too small");
+
+
+/* Raise the supported floating-point exceptions from EXCEPTS. Other
+ bits in EXCEPTS are ignored. Code originally borrowed from
+ libatomic/config/x86/fenv.c. */
+
+static void
+local_feraiseexcept (int excepts)
+{
+ if (excepts & _FPU_MASK_IM)
+ {
+ float f = 0.0f;
+#ifdef __SSE_MATH__
+ volatile float r __attribute__ ((unused));
+ __asm__ __volatile__ ("%vdivss\t{%0, %d0|%d0, %0}" : "+x" (f));
+ r = f; /* Needed to trigger exception. */
+#else
+ __asm__ __volatile__ ("fdiv\t{%y0, %0|%0, %y0}" : "+t" (f));
+ /* No need for fwait, exception is triggered by emitted fstp. */
+#endif
+ }
+ if (excepts & _FPU_MASK_DM)
+ {
+ my_fenv_t temp;
+ __asm__ __volatile__ ("fnstenv\t%0" : "=m" (temp));
+ temp.__status_word |= _FPU_MASK_DM;
+ __asm__ __volatile__ ("fldenv\t%0" : : "m" (temp));
+ __asm__ __volatile__ ("fwait");
+ }
+ if (excepts & _FPU_MASK_ZM)
+ {
+ float f = 1.0f, g = 0.0f;
+#ifdef __SSE_MATH__
+ volatile float r __attribute__ ((unused));
+ __asm__ __volatile__ ("%vdivss\t{%1, %d0|%d0, %1}" : "+x" (f) : "xm" (g));
+ r = f; /* Needed to trigger exception. */
+#else
+ __asm__ __volatile__ ("fdivs\t%1" : "+t" (f) : "m" (g));
+ /* No need for fwait, exception is triggered by emitted fstp. */
+#endif
+ }
+ if (excepts & _FPU_MASK_OM)
+ {
+ my_fenv_t temp;
+ __asm__ __volatile__ ("fnstenv\t%0" : "=m" (temp));
+ temp.__status_word |= _FPU_MASK_OM;
+ __asm__ __volatile__ ("fldenv\t%0" : : "m" (temp));
+ __asm__ __volatile__ ("fwait");
+ }
+ if (excepts & _FPU_MASK_UM)
+ {
+ my_fenv_t temp;
+ __asm__ __volatile__ ("fnstenv\t%0" : "=m" (temp));
+ temp.__status_word |= _FPU_MASK_UM;
+ __asm__ __volatile__ ("fldenv\t%0" : : "m" (temp));
+ __asm__ __volatile__ ("fwait");
+ }
+ if (excepts & _FPU_MASK_PM)
+ {
+ float f = 1.0f, g = 3.0f;
+#ifdef __SSE_MATH__
+ volatile float r __attribute__ ((unused));
+ __asm__ __volatile__ ("%vdivss\t{%1, %d0|%d0, %1}" : "+x" (f) : "xm" (g));
+ r = f; /* Needed to trigger exception. */
+#else
+ __asm__ __volatile__ ("fdivs\t%1" : "+t" (f) : "m" (g));
+ /* No need for fwait, exception is triggered by emitted fstp. */
+#endif
+ }
+}
+
void
-set_fpu (void)
+set_fpu_trap_exceptions (int trap, int notrap)
{
- int excepts = 0;
+ int exc_set = 0, exc_clr = 0;
unsigned short cw;
- __asm__ __volatile__ ("fstcw\t%0" : "=m" (cw));
+ if (trap & GFC_FPE_INVALID) exc_set |= _FPU_MASK_IM;
+ if (trap & GFC_FPE_DENORMAL) exc_set |= _FPU_MASK_DM;
+ if (trap & GFC_FPE_ZERO) exc_set |= _FPU_MASK_ZM;
+ if (trap & GFC_FPE_OVERFLOW) exc_set |= _FPU_MASK_OM;
+ if (trap & GFC_FPE_UNDERFLOW) exc_set |= _FPU_MASK_UM;
+ if (trap & GFC_FPE_INEXACT) exc_set |= _FPU_MASK_PM;
- if (options.fpe & GFC_FPE_INVALID) excepts |= _FPU_MASK_IM;
- if (options.fpe & GFC_FPE_DENORMAL) excepts |= _FPU_MASK_DM;
- if (options.fpe & GFC_FPE_ZERO) excepts |= _FPU_MASK_ZM;
- if (options.fpe & GFC_FPE_OVERFLOW) excepts |= _FPU_MASK_OM;
- if (options.fpe & GFC_FPE_UNDERFLOW) excepts |= _FPU_MASK_UM;
- if (options.fpe & GFC_FPE_INEXACT) excepts |= _FPU_MASK_PM;
+ if (notrap & GFC_FPE_INVALID) exc_clr |= _FPU_MASK_IM;
+ if (notrap & GFC_FPE_DENORMAL) exc_clr |= _FPU_MASK_DM;
+ if (notrap & GFC_FPE_ZERO) exc_clr |= _FPU_MASK_ZM;
+ if (notrap & GFC_FPE_OVERFLOW) exc_clr |= _FPU_MASK_OM;
+ if (notrap & GFC_FPE_UNDERFLOW) exc_clr |= _FPU_MASK_UM;
+ if (notrap & GFC_FPE_INEXACT) exc_clr |= _FPU_MASK_PM;
- cw |= _FPU_MASK_ALL;
- cw &= ~excepts;
+ __asm__ __volatile__ ("fstcw\t%0" : "=m" (cw));
+
+ cw |= exc_clr;
+ cw &= ~exc_set;
__asm__ __volatile__ ("fnclex\n\tfldcw\t%0" : : "m" (cw));
@@ -136,8 +196,8 @@ set_fpu (void)
__asm__ __volatile__ ("%vstmxcsr\t%0" : "=m" (cw_sse));
/* The SSE exception masks are shifted by 7 bits. */
- cw_sse |= _FPU_MASK_ALL << 7;
- cw_sse &= ~(excepts << 7);
+ cw_sse |= (exc_clr << 7);
+ cw_sse &= ~(exc_set << 7);
/* Clear stalled exception flags. */
cw_sse &= ~_FPU_EX_ALL;
@@ -146,6 +206,47 @@ set_fpu (void)
}
}
+void
+set_fpu (void)
+{
+ set_fpu_trap_exceptions (options.fpe, 0);
+}
+
+int
+get_fpu_trap_exceptions (void)
+{
+ int res = 0;
+ unsigned short cw;
+
+ __asm__ __volatile__ ("fstcw\t%0" : "=m" (cw));
+ cw &= _FPU_MASK_ALL;
+
+ if (has_sse())
+ {
+ unsigned int cw_sse;
+
+ __asm__ __volatile__ ("%vstmxcsr\t%0" : "=m" (cw_sse));
+
+ /* The SSE exception masks are shifted by 7 bits. */
+ cw = cw | ((cw_sse >> 7) & _FPU_MASK_ALL);
+ }
+
+ if (~cw & _FPU_MASK_IM) res |= GFC_FPE_INVALID;
+ if (~cw & _FPU_MASK_DM) res |= GFC_FPE_DENORMAL;
+ if (~cw & _FPU_MASK_ZM) res |= GFC_FPE_ZERO;
+ if (~cw & _FPU_MASK_OM) res |= GFC_FPE_OVERFLOW;
+ if (~cw & _FPU_MASK_UM) res |= GFC_FPE_UNDERFLOW;
+ if (~cw & _FPU_MASK_PM) res |= GFC_FPE_INEXACT;
+
+ return res;
+}
+
+int
+support_fpu_trap (int flag __attribute__((unused)))
+{
+ return 1;
+}
+
int
get_fpu_except_flags (void)
{
@@ -153,7 +254,7 @@ get_fpu_except_flags (void)
int excepts;
int result = 0;
- __asm__ __volatile__ ("fnstsw\t%0" : "=a" (cw));
+ __asm__ __volatile__ ("fnstsw\t%0" : "=am" (cw));
excepts = cw;
if (has_sse())
@@ -177,6 +278,70 @@ get_fpu_except_flags (void)
}
void
+set_fpu_except_flags (int set, int clear)
+{
+ my_fenv_t temp;
+ int exc_set = 0, exc_clr = 0;
+
+ /* Translate from GFC_PE_* values to _FPU_MASK_* values. */
+ if (set & GFC_FPE_INVALID)
+ exc_set |= _FPU_MASK_IM;
+ if (clear & GFC_FPE_INVALID)
+ exc_clr |= _FPU_MASK_IM;
+
+ if (set & GFC_FPE_DENORMAL)
+ exc_set |= _FPU_MASK_DM;
+ if (clear & GFC_FPE_DENORMAL)
+ exc_clr |= _FPU_MASK_DM;
+
+ if (set & GFC_FPE_ZERO)
+ exc_set |= _FPU_MASK_ZM;
+ if (clear & GFC_FPE_ZERO)
+ exc_clr |= _FPU_MASK_ZM;
+
+ if (set & GFC_FPE_OVERFLOW)
+ exc_set |= _FPU_MASK_OM;
+ if (clear & GFC_FPE_OVERFLOW)
+ exc_clr |= _FPU_MASK_OM;
+
+ if (set & GFC_FPE_UNDERFLOW)
+ exc_set |= _FPU_MASK_UM;
+ if (clear & GFC_FPE_UNDERFLOW)
+ exc_clr |= _FPU_MASK_UM;
+
+ if (set & GFC_FPE_INEXACT)
+ exc_set |= _FPU_MASK_PM;
+ if (clear & GFC_FPE_INEXACT)
+ exc_clr |= _FPU_MASK_PM;
+
+
+ /* Change the flags. This is tricky on 387 (unlike SSE), because we have
+ FNSTSW but no FLDSW instruction. */
+ __asm__ __volatile__ ("fnstenv\t%0" : "=m" (temp));
+ temp.__status_word &= ~exc_clr;
+ __asm__ __volatile__ ("fldenv\t%0" : : "m" (temp));
+
+ /* Change the flags on SSE. */
+
+ if (has_sse())
+ {
+ unsigned int cw_sse;
+
+ __asm__ __volatile__ ("%vstmxcsr\t%0" : "=m" (cw_sse));
+ cw_sse &= ~exc_clr;
+ __asm__ __volatile__ ("%vldmxcsr\t%0" : : "m" (cw_sse));
+ }
+
+ local_feraiseexcept (exc_set);
+}
+
+int
+support_fpu_flag (int flag __attribute__((unused)))
+{
+ return 1;
+}
+
+void
set_fpu_rounding_mode (int round)
{
int round_mode;
@@ -256,6 +421,85 @@ get_fpu_rounding_mode (void)
case _FPU_RC_ZERO:
return GFC_FPE_TOWARDZERO;
default:
- return GFC_FPE_INVALID; /* Should be unreachable. */
+ return 0; /* Should be unreachable. */
}
}
+
+int
+support_fpu_rounding_mode (int mode __attribute__((unused)))
+{
+ return 1;
+}
+
+void
+get_fpu_state (void *state)
+{
+ my_fenv_t *envp = state;
+
+ __asm__ __volatile__ ("fnstenv\t%0" : "=m" (*envp));
+
+ /* fnstenv has the side effect of masking all exceptions, so we need
+ to restore the control word after that. */
+ __asm__ __volatile__ ("fldcw\t%0" : : "m" (envp->__control_word));
+
+ if (has_sse())
+ __asm__ __volatile__ ("%vstmxcsr\t%0" : "=m" (envp->__mxcsr));
+}
+
+void
+set_fpu_state (void *state)
+{
+ my_fenv_t *envp = state;
+
+ /* glibc sources (sysdeps/x86_64/fpu/fesetenv.c) do something more
+ complex than this, but I think it suffices in our case. */
+ __asm__ __volatile__ ("fldenv\t%0" : : "m" (*envp));
+
+ if (has_sse())
+ __asm__ __volatile__ ("%vldmxcsr\t%0" : : "m" (envp->__mxcsr));
+}
+
+
+int
+support_fpu_underflow_control (int kind)
+{
+ if (!has_sse())
+ return 0;
+
+ return (kind == 4 || kind == 8) ? 1 : 0;
+}
+
+
+int
+get_fpu_underflow_mode (void)
+{
+ unsigned int cw_sse;
+
+ if (!has_sse())
+ return 1;
+
+ __asm__ __volatile__ ("%vstmxcsr\t%0" : "=m" (cw_sse));
+
+ /* Return 0 for abrupt underflow (flush to zero), 1 for gradual underflow. */
+ return (cw_sse & MXCSR_FTZ) ? 0 : 1;
+}
+
+
+void
+set_fpu_underflow_mode (int gradual)
+{
+ unsigned int cw_sse;
+
+ if (!has_sse())
+ return;
+
+ __asm__ __volatile__ ("%vstmxcsr\t%0" : "=m" (cw_sse));
+
+ if (gradual)
+ cw_sse &= ~MXCSR_FTZ;
+ else
+ cw_sse |= MXCSR_FTZ;
+
+ __asm__ __volatile__ ("%vldmxcsr\t%0" : : "m" (cw_sse));
+}
+
diff --git a/libgfortran/config/fpu-aix.h b/libgfortran/config/fpu-aix.h
index a05fab8373..f5c0234f94 100644
--- a/libgfortran/config/fpu-aix.h
+++ b/libgfortran/config/fpu-aix.h
@@ -1,5 +1,5 @@
/* AIX FPU-related code.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Contributed by Francois-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -33,15 +33,108 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include <fpxcp.h>
#endif
+#ifdef HAVE_FENV_H
+#include <fenv.h>
+#endif
+
+
+/* Check we can actually store the FPU state in the allocated size. */
+_Static_assert (sizeof(fenv_t) <= (size_t) GFC_FPE_STATE_BUFFER_SIZE,
+ "GFC_FPE_STATE_BUFFER_SIZE is too small");
+
+
void
-set_fpu (void)
+set_fpu_trap_exceptions (int trap, int notrap)
{
- fptrap_t mode = 0;
+ fptrap_t mode_set = 0, mode_clr = 0;
- if (options.fpe & GFC_FPE_INVALID)
#ifdef TRP_INVALID
- mode |= TRP_INVALID;
-#else
+ if (trap & GFC_FPE_INVALID)
+ mode_set |= TRP_INVALID;
+ if (notrap & GFC_FPE_INVALID)
+ mode_clr |= TRP_INVALID;
+#endif
+
+#ifdef TRP_DIV_BY_ZERO
+ if (trap & GFC_FPE_ZERO)
+ mode_set |= TRP_DIV_BY_ZERO;
+ if (notrap & GFC_FPE_ZERO)
+ mode_clr |= TRP_DIV_BY_ZERO;
+#endif
+
+#ifdef TRP_OVERFLOW
+ if (trap & GFC_FPE_OVERFLOW)
+ mode_set |= TRP_OVERFLOW;
+ if (notrap & GFC_FPE_OVERFLOW)
+ mode_clr |= TRP_OVERFLOW;
+#endif
+
+#ifdef TRP_UNDERFLOW
+ if (trap & GFC_FPE_UNDERFLOW)
+ mode_set |= TRP_UNDERFLOW;
+ if (notrap & GFC_FPE_UNDERFLOW)
+ mode_clr |= TRP_UNDERFLOW;
+#endif
+
+#ifdef TRP_INEXACT
+ if (trap & GFC_FPE_INEXACT)
+ mode_set |= TRP_INEXACT;
+ if (notrap & GFC_FPE_INEXACT)
+ mode_clr |= TRP_INEXACT;
+#endif
+
+ fp_trap (FP_TRAP_SYNC);
+ fp_enable (mode_set);
+ fp_disable (mode_clr);
+}
+
+
+int
+get_fpu_trap_exceptions (void)
+{
+ int res = 0;
+
+#ifdef TRP_INVALID
+ if (fp_is_enabled (TRP_INVALID))
+ res |= GFC_FPE_INVALID;
+#endif
+
+#ifdef TRP_DIV_BY_ZERO
+ if (fp_is_enabled (TRP_DIV_BY_ZERO))
+ res |= GFC_FPE_ZERO;
+#endif
+
+#ifdef TRP_OVERFLOW
+ if (fp_is_enabled (TRP_OVERFLOW))
+ res |= GFC_FPE_OVERFLOW;
+#endif
+
+#ifdef TRP_UNDERFLOW
+ if (fp_is_enabled (TRP_UNDERFLOW))
+ res |= GFC_FPE_UNDERFLOW;
+#endif
+
+#ifdef TRP_INEXACT
+ if (fp_is_enabled (TRP_INEXACT))
+ res |= GFC_FPE_INEXACT;
+#endif
+
+ return res;
+}
+
+
+int
+support_fpu_trap (int flag)
+{
+ return support_fpu_flag (flag);
+}
+
+
+void
+set_fpu (void)
+{
+#ifndef TRP_INVALID
+ if (options.fpe & GFC_FPE_INVALID)
estr_write ("Fortran runtime warning: IEEE 'invalid operation' "
"exception not supported.\n");
#endif
@@ -50,43 +143,33 @@ set_fpu (void)
estr_write ("Fortran runtime warning: Floating point 'denormal operand' "
"exception not supported.\n");
+#ifndef TRP_DIV_BY_ZERO
if (options.fpe & GFC_FPE_ZERO)
-#ifdef TRP_DIV_BY_ZERO
- mode |= TRP_DIV_BY_ZERO;
-#else
estr_write ("Fortran runtime warning: IEEE 'division by zero' "
"exception not supported.\n");
#endif
+#ifndef TRP_OVERFLOW
if (options.fpe & GFC_FPE_OVERFLOW)
-#ifdef TRP_OVERFLOW
- mode |= TRP_OVERFLOW;
-#else
estr_write ("Fortran runtime warning: IEEE 'overflow' "
"exception not supported.\n");
#endif
+#ifndef TRP_UNDERFLOW
if (options.fpe & GFC_FPE_UNDERFLOW)
-#ifdef TRP_UNDERFLOW
- mode |= TRP_UNDERFLOW;
-#else
estr_write ("Fortran runtime warning: IEEE 'underflow' "
"exception not supported.\n");
#endif
+#ifndef TRP_INEXACT
if (options.fpe & GFC_FPE_INEXACT)
-#ifdef TRP_INEXACT
- mode |= TRP_INEXACT;
-#else
estr_write ("Fortran runtime warning: IEEE 'inexact' "
"exception not supported.\n");
#endif
- fp_trap(FP_TRAP_SYNC);
- fp_enable(mode);
+ set_fpu_trap_exceptions (options.fpe, 0);
}
-
int
get_fpu_except_flags (void)
{
@@ -118,6 +201,96 @@ get_fpu_except_flags (void)
}
+void
+set_fpu_except_flags (int set, int clear)
+{
+ int exc_set = 0, exc_clr = 0;
+
+#ifdef FP_INVALID
+ if (set & GFC_FPE_INVALID)
+ exc_set |= FP_INVALID;
+ else if (clear & GFC_FPE_INVALID)
+ exc_clr |= FP_INVALID;
+#endif
+
+#ifdef FP_DIV_BY_ZERO
+ if (set & GFC_FPE_ZERO)
+ exc_set |= FP_DIV_BY_ZERO;
+ else if (clear & GFC_FPE_ZERO)
+ exc_clr |= FP_DIV_BY_ZERO;
+#endif
+
+#ifdef FP_OVERFLOW
+ if (set & GFC_FPE_OVERFLOW)
+ exc_set |= FP_OVERFLOW;
+ else if (clear & GFC_FPE_OVERFLOW)
+ exc_clr |= FP_OVERFLOW;
+#endif
+
+#ifdef FP_UNDERFLOW
+ if (set & GFC_FPE_UNDERFLOW)
+ exc_set |= FP_UNDERFLOW;
+ else if (clear & GFC_FPE_UNDERFLOW)
+ exc_clr |= FP_UNDERFLOW;
+#endif
+
+/* AIX does not have FP_DENORMAL. */
+
+#ifdef FP_INEXACT
+ if (set & GFC_FPE_INEXACT)
+ exc_set |= FP_INEXACT;
+ else if (clear & GFC_FPE_INEXACT)
+ exc_clr |= FP_INEXACT;
+#endif
+
+ fp_clr_flag (exc_clr);
+ fp_set_flag (exc_set);
+}
+
+
+int
+support_fpu_flag (int flag)
+{
+ if (flag & GFC_FPE_INVALID)
+ {
+#ifndef FP_INVALID
+ return 0;
+#endif
+ }
+ else if (flag & GFC_FPE_ZERO)
+ {
+#ifndef FP_DIV_BY_ZERO
+ return 0;
+#endif
+ }
+ else if (flag & GFC_FPE_OVERFLOW)
+ {
+#ifndef FP_OVERFLOW
+ return 0;
+#endif
+ }
+ else if (flag & GFC_FPE_UNDERFLOW)
+ {
+#ifndef FP_UNDERFLOW
+ return 0;
+#endif
+ }
+ else if (flag & GFC_FPE_DENORMAL)
+ {
+ /* AIX does not support denormal flag. */
+ return 0;
+ }
+ else if (flag & GFC_FPE_INEXACT)
+ {
+#ifndef FP_INEXACT
+ return 0;
+#endif
+ }
+
+ return 1;
+}
+
+
int
get_fpu_rounding_mode (void)
{
@@ -146,8 +319,9 @@ get_fpu_rounding_mode (void)
case FE_TOWARDZERO:
return GFC_FPE_TOWARDZERO;
#endif
+
default:
- return GFC_FPE_INVALID;
+ return 0; /* Should be unreachable. */
}
}
@@ -182,9 +356,84 @@ set_fpu_rounding_mode (int mode)
rnd_mode = FE_TOWARDZERO;
break;
#endif
+
default:
- return;
+ return; /* Should be unreachable. */
}
fesetround (rnd_mode);
}
+
+
+int
+support_fpu_rounding_mode (int mode)
+{
+ switch (mode)
+ {
+ case GFC_FPE_TONEAREST:
+#ifdef FE_TONEAREST
+ return 1;
+#else
+ return 0;
+#endif
+
+ case GFC_FPE_UPWARD:
+#ifdef FE_UPWARD
+ return 1;
+#else
+ return 0;
+#endif
+
+ case GFC_FPE_DOWNWARD:
+#ifdef FE_DOWNWARD
+ return 1;
+#else
+ return 0;
+#endif
+
+ case GFC_FPE_TOWARDZERO:
+#ifdef FE_TOWARDZERO
+ return 1;
+#else
+ return 0;
+#endif
+
+ default:
+ return 0; /* Should be unreachable. */
+ }
+}
+
+
+
+void
+get_fpu_state (void *state)
+{
+ fegetenv (state);
+}
+
+void
+set_fpu_state (void *state)
+{
+ fesetenv (state);
+}
+
+
+int
+support_fpu_underflow_control (int kind __attribute__((unused)))
+{
+ return 0;
+}
+
+
+int
+get_fpu_underflow_mode (void)
+{
+ return 0;
+}
+
+
+void
+set_fpu_underflow_mode (int gradual __attribute__((unused)))
+{
+}
+
diff --git a/libgfortran/config/fpu-generic.h b/libgfortran/config/fpu-generic.h
index d9be4d99bd..c47e780b80 100644
--- a/libgfortran/config/fpu-generic.h
+++ b/libgfortran/config/fpu-generic.h
@@ -1,5 +1,5 @@
/* Fallback FPU-related code (for systems not otherwise supported).
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Contributed by Francois-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -51,6 +51,12 @@ set_fpu (void)
"exception not supported.\n");
}
+void
+set_fpu_trap_exceptions (int trap __attribute__((unused)),
+ int notrap __attribute__((unused)))
+{
+}
+
int
get_fpu_except_flags (void)
{
@@ -69,3 +75,24 @@ void
set_fpu_rounding_mode (int round __attribute__((unused)))
{
}
+
+
+int
+support_fpu_underflow_control (int kind __attribute__((unused)))
+{
+ return 0;
+}
+
+
+int
+get_fpu_underflow_mode (void)
+{
+ return 0;
+}
+
+
+void
+set_fpu_underflow_mode (int gradual __attribute__((unused)))
+{
+}
+
diff --git a/libgfortran/config/fpu-glibc.h b/libgfortran/config/fpu-glibc.h
index cf216847a8..c453f87247 100644
--- a/libgfortran/config/fpu-glibc.h
+++ b/libgfortran/config/fpu-glibc.h
@@ -1,5 +1,5 @@
/* FPU-related code for systems with GNU libc.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Contributed by Francois-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -31,59 +31,139 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include <fenv.h>
#endif
-void set_fpu (void)
-{
- if (FE_ALL_EXCEPT != 0)
- fedisableexcept (FE_ALL_EXCEPT);
- if (options.fpe & GFC_FPE_INVALID)
+/* Check we can actually store the FPU state in the allocated size. */
+_Static_assert (sizeof(fenv_t) <= (size_t) GFC_FPE_STATE_BUFFER_SIZE,
+ "GFC_FPE_STATE_BUFFER_SIZE is too small");
+
+
+void set_fpu_trap_exceptions (int trap, int notrap)
+{
#ifdef FE_INVALID
+ if (trap & GFC_FPE_INVALID)
feenableexcept (FE_INVALID);
-#else
+ if (notrap & GFC_FPE_INVALID)
+ fedisableexcept (FE_INVALID);
+#endif
+
+/* Some glibc targets (like alpha) have FE_DENORMAL, but not many. */
+#ifdef FE_DENORMAL
+ if (trap & GFC_FPE_DENORMAL)
+ feenableexcept (FE_DENORMAL);
+ if (notrap & GFC_FPE_DENORMAL)
+ fedisableexcept (FE_DENORMAL);
+#endif
+
+#ifdef FE_DIVBYZERO
+ if (trap & GFC_FPE_ZERO)
+ feenableexcept (FE_DIVBYZERO);
+ if (notrap & GFC_FPE_ZERO)
+ fedisableexcept (FE_DIVBYZERO);
+#endif
+
+#ifdef FE_OVERFLOW
+ if (trap & GFC_FPE_OVERFLOW)
+ feenableexcept (FE_OVERFLOW);
+ if (notrap & GFC_FPE_OVERFLOW)
+ fedisableexcept (FE_OVERFLOW);
+#endif
+
+#ifdef FE_UNDERFLOW
+ if (trap & GFC_FPE_UNDERFLOW)
+ feenableexcept (FE_UNDERFLOW);
+ if (notrap & GFC_FPE_UNDERFLOW)
+ fedisableexcept (FE_UNDERFLOW);
+#endif
+
+#ifdef FE_INEXACT
+ if (trap & GFC_FPE_INEXACT)
+ feenableexcept (FE_INEXACT);
+ if (notrap & GFC_FPE_INEXACT)
+ fedisableexcept (FE_INEXACT);
+#endif
+}
+
+
+int
+get_fpu_trap_exceptions (void)
+{
+ int exceptions = fegetexcept ();
+ int res = 0;
+
+#ifdef FE_INVALID
+ if (exceptions & FE_INVALID) res |= GFC_FPE_INVALID;
+#endif
+
+#ifdef FE_DENORMAL
+ if (exceptions & FE_DENORMAL) res |= GFC_FPE_DENORMAL;
+#endif
+
+#ifdef FE_DIVBYZERO
+ if (exceptions & FE_DIVBYZERO) res |= GFC_FPE_ZERO;
+#endif
+
+#ifdef FE_OVERFLOW
+ if (exceptions & FE_OVERFLOW) res |= GFC_FPE_OVERFLOW;
+#endif
+
+#ifdef FE_UNDERFLOW
+ if (exceptions & FE_UNDERFLOW) res |= GFC_FPE_UNDERFLOW;
+#endif
+
+#ifdef FE_INEXACT
+ if (exceptions & FE_INEXACT) res |= GFC_FPE_INEXACT;
+#endif
+
+ return res;
+}
+
+
+int
+support_fpu_trap (int flag)
+{
+ return support_fpu_flag (flag);
+}
+
+
+void set_fpu (void)
+{
+#ifndef FE_INVALID
+ if (options.fpe & GFC_FPE_INVALID)
estr_write ("Fortran runtime warning: IEEE 'invalid operation' "
"exception not supported.\n");
#endif
-/* glibc does never have a FE_DENORMAL. */
+#ifndef FE_DENORMAL
if (options.fpe & GFC_FPE_DENORMAL)
-#ifdef FE_DENORMAL
- feenableexcept (FE_DENORMAL);
-#else
estr_write ("Fortran runtime warning: Floating point 'denormal operand' "
"exception not supported.\n");
#endif
+#ifndef FE_DIVBYZERO
if (options.fpe & GFC_FPE_ZERO)
-#ifdef FE_DIVBYZERO
- feenableexcept (FE_DIVBYZERO);
-#else
estr_write ("Fortran runtime warning: IEEE 'division by zero' "
"exception not supported.\n");
#endif
+#ifndef FE_OVERFLOW
if (options.fpe & GFC_FPE_OVERFLOW)
-#ifdef FE_OVERFLOW
- feenableexcept (FE_OVERFLOW);
-#else
estr_write ("Fortran runtime warning: IEEE 'overflow' "
"exception not supported.\n");
#endif
+#ifndef FE_UNDERFLOW
if (options.fpe & GFC_FPE_UNDERFLOW)
-#ifdef FE_UNDERFLOW
- feenableexcept (FE_UNDERFLOW);
-#else
estr_write ("Fortran runtime warning: IEEE 'underflow' "
"exception not supported.\n");
#endif
+#ifndef FE_INEXACT
if (options.fpe & GFC_FPE_INEXACT)
-#ifdef FE_INEXACT
- feenableexcept (FE_INEXACT);
-#else
estr_write ("Fortran runtime warning: IEEE 'inexact' "
"exception not supported.\n");
#endif
+
+ set_fpu_trap_exceptions (options.fpe, 0);
}
@@ -129,6 +209,102 @@ get_fpu_except_flags (void)
}
+void
+set_fpu_except_flags (int set, int clear)
+{
+ int exc_set = 0, exc_clr = 0;
+
+#ifdef FE_INVALID
+ if (set & GFC_FPE_INVALID)
+ exc_set |= FE_INVALID;
+ else if (clear & GFC_FPE_INVALID)
+ exc_clr |= FE_INVALID;
+#endif
+
+#ifdef FE_DIVBYZERO
+ if (set & GFC_FPE_ZERO)
+ exc_set |= FE_DIVBYZERO;
+ else if (clear & GFC_FPE_ZERO)
+ exc_clr |= FE_DIVBYZERO;
+#endif
+
+#ifdef FE_OVERFLOW
+ if (set & GFC_FPE_OVERFLOW)
+ exc_set |= FE_OVERFLOW;
+ else if (clear & GFC_FPE_OVERFLOW)
+ exc_clr |= FE_OVERFLOW;
+#endif
+
+#ifdef FE_UNDERFLOW
+ if (set & GFC_FPE_UNDERFLOW)
+ exc_set |= FE_UNDERFLOW;
+ else if (clear & GFC_FPE_UNDERFLOW)
+ exc_clr |= FE_UNDERFLOW;
+#endif
+
+#ifdef FE_DENORMAL
+ if (set & GFC_FPE_DENORMAL)
+ exc_set |= FE_DENORMAL;
+ else if (clear & GFC_FPE_DENORMAL)
+ exc_clr |= FE_DENORMAL;
+#endif
+
+#ifdef FE_INEXACT
+ if (set & GFC_FPE_INEXACT)
+ exc_set |= FE_INEXACT;
+ else if (clear & GFC_FPE_INEXACT)
+ exc_clr |= FE_INEXACT;
+#endif
+
+ feclearexcept (exc_clr);
+ feraiseexcept (exc_set);
+}
+
+
+int
+support_fpu_flag (int flag)
+{
+ if (flag & GFC_FPE_INVALID)
+ {
+#ifndef FE_INVALID
+ return 0;
+#endif
+ }
+ else if (flag & GFC_FPE_ZERO)
+ {
+#ifndef FE_DIVBYZERO
+ return 0;
+#endif
+ }
+ else if (flag & GFC_FPE_OVERFLOW)
+ {
+#ifndef FE_OVERFLOW
+ return 0;
+#endif
+ }
+ else if (flag & GFC_FPE_UNDERFLOW)
+ {
+#ifndef FE_UNDERFLOW
+ return 0;
+#endif
+ }
+ else if (flag & GFC_FPE_DENORMAL)
+ {
+#ifndef FE_DENORMAL
+ return 0;
+#endif
+ }
+ else if (flag & GFC_FPE_INEXACT)
+ {
+#ifndef FE_INEXACT
+ return 0;
+#endif
+ }
+
+ return 1;
+}
+
+
int
get_fpu_rounding_mode (void)
{
@@ -157,8 +333,9 @@ get_fpu_rounding_mode (void)
case FE_TOWARDZERO:
return GFC_FPE_TOWARDZERO;
#endif
+
default:
- return GFC_FPE_INVALID;
+ return 0; /* Should be unreachable. */
}
}
@@ -193,9 +370,114 @@ set_fpu_rounding_mode (int mode)
rnd_mode = FE_TOWARDZERO;
break;
#endif
+
default:
- return;
+ return; /* Should be unreachable. */
}
fesetround (rnd_mode);
}
+
+
+int
+support_fpu_rounding_mode (int mode)
+{
+ switch (mode)
+ {
+ case GFC_FPE_TONEAREST:
+#ifdef FE_TONEAREST
+ return 1;
+#else
+ return 0;
+#endif
+
+ case GFC_FPE_UPWARD:
+#ifdef FE_UPWARD
+ return 1;
+#else
+ return 0;
+#endif
+
+ case GFC_FPE_DOWNWARD:
+#ifdef FE_DOWNWARD
+ return 1;
+#else
+ return 0;
+#endif
+
+ case GFC_FPE_TOWARDZERO:
+#ifdef FE_TOWARDZERO
+ return 1;
+#else
+ return 0;
+#endif
+
+ default:
+ return 0; /* Should be unreachable. */
+ }
+}
+
+
+void
+get_fpu_state (void *state)
+{
+ fegetenv (state);
+}
+
+
+void
+set_fpu_state (void *state)
+{
+ fesetenv (state);
+}
+
+
+/* Underflow in glibc is currently only supported on alpha, through
+ the FE_MAP_UMZ macro and __ieee_set_fp_control() function call. */
+
+int
+support_fpu_underflow_control (int kind __attribute__((unused)))
+{
+#if defined(__alpha__) && defined(FE_MAP_UMZ)
+ return (kind == 4 || kind == 8) ? 1 : 0;
+#else
+ return 0;
+#endif
+}
+
+
+int
+get_fpu_underflow_mode (void)
+{
+#if defined(__alpha__) && defined(FE_MAP_UMZ)
+
+ fenv_t state = __ieee_get_fp_control ();
+
+ /* Return 0 for abrupt underflow (flush to zero), 1 for gradual underflow. */
+ return (state & FE_MAP_UMZ) ? 0 : 1;
+
+#else
+
+ return 0;
+
+#endif
+}
+
+
+void
+set_fpu_underflow_mode (int gradual __attribute__((unused)))
+{
+#if defined(__alpha__) && defined(FE_MAP_UMZ)
+
+ fenv_t state = __ieee_get_fp_control ();
+
+ if (gradual)
+ state &= ~FE_MAP_UMZ;
+ else
+ state |= FE_MAP_UMZ;
+
+ __ieee_set_fp_control (state);
+
+#endif
+}
+
diff --git a/libgfortran/config/fpu-sysv.h b/libgfortran/config/fpu-sysv.h
index e7ba88f4a9..e7a7fac04a 100644
--- a/libgfortran/config/fpu-sysv.h
+++ b/libgfortran/config/fpu-sysv.h
@@ -1,5 +1,5 @@
/* SysV FPU-related code (for systems not otherwise supported).
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Contributed by Francois-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -25,73 +25,174 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
/* FPU-related code for SysV platforms with fpsetmask(). */
+/* BSD and Solaris systems have slightly different types and functions
+ naming. We deal with these here, to simplify the code below. */
+
+#if HAVE_FP_EXCEPT
+# define FP_EXCEPT_TYPE fp_except
+#elif HAVE_FP_EXCEPT_T
+# define FP_EXCEPT_TYPE fp_except_t
+#else
+ choke me
+#endif
+
+#if HAVE_FP_RND
+# define FP_RND_TYPE fp_rnd
+#elif HAVE_FP_RND_T
+# define FP_RND_TYPE fp_rnd_t
+#else
+ choke me
+#endif
+
+#if HAVE_FPSETSTICKY
+# define FPSETSTICKY fpsetsticky
+#elif HAVE_FPRESETSTICKY
+# define FPSETSTICKY fpresetsticky
+#else
+ choke me
+#endif
+
+
void
-set_fpu (void)
+set_fpu_trap_exceptions (int trap, int notrap)
{
- int cw = 0;
+ FP_EXCEPT_TYPE cw = fpgetmask();
- if (options.fpe & GFC_FPE_INVALID)
#ifdef FP_X_INV
+ if (trap & GFC_FPE_INVALID)
cw |= FP_X_INV;
-#else
+ if (notrap & GFC_FPE_INVALID)
+ cw &= ~FP_X_INV;
+#endif
+
+#ifdef FP_X_DNML
+ if (trap & GFC_FPE_DENORMAL)
+ cw |= FP_X_DNML;
+ if (notrap & GFC_FPE_DENORMAL)
+ cw &= ~FP_X_DNML;
+#endif
+
+#ifdef FP_X_DZ
+ if (trap & GFC_FPE_ZERO)
+ cw |= FP_X_DZ;
+ if (notrap & GFC_FPE_ZERO)
+ cw &= ~FP_X_DZ;
+#endif
+
+#ifdef FP_X_OFL
+ if (trap & GFC_FPE_OVERFLOW)
+ cw |= FP_X_OFL;
+ if (notrap & GFC_FPE_OVERFLOW)
+ cw &= ~FP_X_OFL;
+#endif
+
+#ifdef FP_X_UFL
+ if (trap & GFC_FPE_UNDERFLOW)
+ cw |= FP_X_UFL;
+ if (notrap & GFC_FPE_UNDERFLOW)
+ cw &= ~FP_X_UFL;
+#endif
+
+#ifdef FP_X_IMP
+ if (trap & GFC_FPE_INEXACT)
+ cw |= FP_X_IMP;
+ if (notrap & GFC_FPE_INEXACT)
+ cw &= ~FP_X_IMP;
+#endif
+
+ fpsetmask(cw);
+}
+
+
+int
+get_fpu_trap_exceptions (void)
+{
+ int res = 0;
+ FP_EXCEPT_TYPE cw = fpgetmask();
+
+#ifdef FP_X_INV
+ if (cw & FP_X_INV) res |= GFC_FPE_INVALID;
+#endif
+
+#ifdef FP_X_DNML
+ if (cw & FP_X_DNML) res |= GFC_FPE_DENORMAL;
+#endif
+
+#ifdef FP_X_DZ
+ if (cw & FP_X_DZ) res |= GFC_FPE_ZERO;
+#endif
+
+#ifdef FP_X_OFL
+ if (cw & FP_X_OFL) res |= GFC_FPE_OVERFLOW;
+#endif
+
+#ifdef FP_X_UFL
+ if (cw & FP_X_UFL) res |= GFC_FPE_UNDERFLOW;
+#endif
+
+#ifdef FP_X_IMP
+ if (cw & FP_X_IMP) res |= GFC_FPE_INEXACT;
+#endif
+
+ return res;
+}
+
+
+int
+support_fpu_trap (int flag)
+{
+ return support_fpu_flag (flag);
+}
+
+
+void
+set_fpu (void)
+{
+#ifndef FP_X_INV
+ if (options.fpe & GFC_FPE_INVALID)
estr_write ("Fortran runtime warning: IEEE 'invalid operation' "
"exception not supported.\n");
#endif
+#ifndef FP_X_DNML
if (options.fpe & GFC_FPE_DENORMAL)
-#ifdef FP_X_DNML
- cw |= FP_X_DNML;
-#else
estr_write ("Fortran runtime warning: Floating point 'denormal operand' "
"exception not supported.\n");
#endif
+#ifndef FP_X_DZ
if (options.fpe & GFC_FPE_ZERO)
-#ifdef FP_X_DZ
- cw |= FP_X_DZ;
-#else
estr_write ("Fortran runtime warning: IEEE 'division by zero' "
"exception not supported.\n");
#endif
+#ifndef FP_X_OFL
if (options.fpe & GFC_FPE_OVERFLOW)
-#ifdef FP_X_OFL
- cw |= FP_X_OFL;
-#else
estr_write ("Fortran runtime warning: IEEE 'overflow' "
"exception not supported.\n");
#endif
+#ifndef FP_X_UFL
if (options.fpe & GFC_FPE_UNDERFLOW)
-#ifdef FP_X_UFL
- cw |= FP_X_UFL;
-#else
estr_write ("Fortran runtime warning: IEEE 'underflow' "
"exception not supported.\n");
#endif
+#ifndef FP_X_IMP
if (options.fpe & GFC_FPE_INEXACT)
-#ifdef FP_X_IMP
- cw |= FP_X_IMP;
-#else
estr_write ("Fortran runtime warning: IEEE 'inexact' "
"exception not supported.\n");
#endif
- fpsetmask(cw);
+ set_fpu_trap_exceptions (options.fpe, 0);
}
+
int
get_fpu_except_flags (void)
{
int result;
-#if HAVE_FP_EXCEPT
- fp_except set_excepts;
-#elif HAVE_FP_EXCEPT_T
- fp_except_t set_excepts;
-#else
- choke me
-#endif
+ FP_EXCEPT_TYPE set_excepts;
result = 0;
set_excepts = fpgetsticky ();
@@ -130,32 +231,118 @@ get_fpu_except_flags (void)
}
+void
+set_fpu_except_flags (int set, int clear)
+{
+ FP_EXCEPT_TYPE flags;
+
+ flags = fpgetsticky ();
+
+#ifdef FP_X_INV
+ if (set & GFC_FPE_INVALID)
+ flags |= FP_X_INV;
+ if (clear & GFC_FPE_INVALID)
+ flags &= ~FP_X_INV;
+#endif
+
+#ifdef FP_X_DZ
+ if (set & GFC_FPE_ZERO)
+ flags |= FP_X_DZ;
+ if (clear & GFC_FPE_ZERO)
+ flags &= ~FP_X_DZ;
+#endif
+
+#ifdef FP_X_OFL
+ if (set & GFC_FPE_OVERFLOW)
+ flags |= FP_X_OFL;
+ if (clear & GFC_FPE_OVERFLOW)
+ flags &= ~FP_X_OFL;
+#endif
+
+#ifdef FP_X_UFL
+ if (set & GFC_FPE_UNDERFLOW)
+ flags |= FP_X_UFL;
+ if (clear & GFC_FPE_UNDERFLOW)
+ flags &= ~FP_X_UFL;
+#endif
+
+#ifdef FP_X_DNML
+ if (set & GFC_FPE_DENORMAL)
+ flags |= FP_X_DNML;
+ if (clear & GFC_FPE_DENORMAL)
+ flags &= ~FP_X_DNML;
+#endif
+
+#ifdef FP_X_IMP
+ if (set & GFC_FPE_INEXACT)
+ flags |= FP_X_IMP;
+ if (clear & GFC_FPE_INEXACT)
+ flags &= ~FP_X_IMP;
+#endif
+
+ FPSETSTICKY (flags);
+}
+
+
+int
+support_fpu_flag (int flag)
+{
+ if (flag & GFC_FPE_INVALID)
+ {
+#ifndef FP_X_INV
+ return 0;
+#endif
+ }
+ else if (flag & GFC_FPE_ZERO)
+ {
+#ifndef FP_X_DZ
+ return 0;
+#endif
+ }
+ else if (flag & GFC_FPE_OVERFLOW)
+ {
+#ifndef FP_X_OFL
+ return 0;
+#endif
+ }
+ else if (flag & GFC_FPE_UNDERFLOW)
+ {
+#ifndef FP_X_UFL
+ return 0;
+#endif
+ }
+ else if (flag & GFC_FPE_DENORMAL)
+ {
+#ifndef FP_X_DNML
+ return 0;
+#endif
+ }
+ else if (flag & GFC_FPE_INEXACT)
+ {
+#ifndef FP_X_IMP
+ return 0;
+#endif
+ }
+
+ return 1;
+}
+
+
int
get_fpu_rounding_mode (void)
{
switch (fpgetround ())
{
-#ifdef FP_RN
case FP_RN:
return GFC_FPE_TONEAREST;
-#endif
-
-#ifdef FP_RP
case FP_RP:
return GFC_FPE_UPWARD;
-#endif
-
-#ifdef FP_RM
case FP_RM:
return GFC_FPE_DOWNWARD;
-#endif
-
-#ifdef FP_RZ
case FP_RZ:
return GFC_FPE_TOWARDZERO;
-#endif
default:
- return GFC_FPE_INVALID;
+ return 0; /* Should be unreachable. */
}
}
@@ -163,41 +350,86 @@ get_fpu_rounding_mode (void)
void
set_fpu_rounding_mode (int mode)
{
-#if HAVE_FP_RND
- fp_rnd rnd_mode;
-#elif HAVE_FP_RND_T
- fp_rnd_t rnd_mode;
-#else
- choke me
-#endif
+ FP_RND_TYPE rnd_mode;
switch (mode)
{
-#ifdef FP_RN
case GFC_FPE_TONEAREST:
rnd_mode = FP_RN;
break;
-#endif
-
-#ifdef FP_RP
case GFC_FPE_UPWARD:
rnd_mode = FP_RP;
break;
-#endif
-
-#ifdef FP_RM
case GFC_FPE_DOWNWARD:
rnd_mode = FP_RM;
break;
-#endif
-
-#ifdef FP_RZ
case GFC_FPE_TOWARDZERO:
rnd_mode = FP_RZ;
break;
-#endif
default:
- return;
+ return; /* Should be unreachable. */
}
fpsetround (rnd_mode);
}
+
+
+int
+support_fpu_rounding_mode (int mode __attribute__((unused)))
+{
+ return 1;
+}
+
+
+typedef struct
+{
+ FP_EXCEPT_TYPE mask;
+ FP_EXCEPT_TYPE sticky;
+ FP_RND_TYPE round;
+} fpu_state_t;
+
+
+/* Check we can actually store the FPU state in the allocated size. */
+_Static_assert (sizeof(fpu_state_t) <= (size_t) GFC_FPE_STATE_BUFFER_SIZE,
+ "GFC_FPE_STATE_BUFFER_SIZE is too small");
+
+
+void
+get_fpu_state (void *s)
+{
+ fpu_state_t *state = s;
+
+ state->mask = fpgetmask ();
+ state->sticky = fpgetsticky ();
+ state->round = fpgetround ();
+}
+
+void
+set_fpu_state (void *s)
+{
+ fpu_state_t *state = s;
+
+ fpsetmask (state->mask);
+ FPSETSTICKY (state->sticky);
+ fpsetround (state->round);
+}
+
+
+int
+support_fpu_underflow_control (int kind __attribute__((unused)))
+{
+ return 0;
+}
+
+
+int
+get_fpu_underflow_mode (void)
+{
+ return 0;
+}
+
+
+void
+set_fpu_underflow_mode (int gradual __attribute__((unused)))
+{
+}
+
diff --git a/libgfortran/configure b/libgfortran/configure
index 542359798f..e1592f7324 100755
--- a/libgfortran/configure
+++ b/libgfortran/configure
@@ -606,6 +606,9 @@ am__EXEEXT_TRUE
LTLIBOBJS
LIBOBJS
IEEE_FLAGS
+IEEE_SUPPORT
+IEEE_SUPPORT_FALSE
+IEEE_SUPPORT_TRUE
FPU_HOST_HEADER
LIBGFOR_BUILD_QUAD_FALSE
LIBGFOR_BUILD_QUAD_TRUE
@@ -638,6 +641,8 @@ RANLIB
AR
AS
SECTION_FLAGS
+LIBGFOR_MINIMAL_FALSE
+LIBGFOR_MINIMAL_TRUE
LIBGFOR_USE_SYMVER_SUN_FALSE
LIBGFOR_USE_SYMVER_SUN_TRUE
LIBGFOR_USE_SYMVER_GNU_FALSE
@@ -2546,6 +2551,7 @@ as_fn_append ac_header_list " fptrap.h"
as_fn_append ac_header_list " fpxcp.h"
as_fn_append ac_header_list " pwd.h"
as_fn_append ac_header_list " complex.h"
+as_fn_append ac_header_list " xlocale.h"
as_fn_append ac_func_list " getrusage"
as_fn_append ac_func_list " times"
as_fn_append ac_func_list " mkstemp"
@@ -2599,7 +2605,13 @@ as_fn_append ac_func_list " getegid"
as_fn_append ac_func_list " secure_getenv"
as_fn_append ac_func_list " __secure_getenv"
as_fn_append ac_func_list " mkostemp"
+as_fn_append ac_func_list " strnlen"
+as_fn_append ac_func_list " strndup"
as_fn_append ac_func_list " strtok_r"
+as_fn_append ac_func_list " newlocale"
+as_fn_append ac_func_list " freelocale"
+as_fn_append ac_func_list " uselocale"
+as_fn_append ac_func_list " strerror_l"
as_fn_append ac_header_list " math.h"
# Check that the precious variables saved in the cache have kept the same
# value.
@@ -5770,12 +5782,13 @@ fi
# Add -Wall -fno-repack-arrays -fno-underscoring if we are using GCC.
if test "x$GCC" = "xyes"; then
AM_FCFLAGS="-I . -Wall -Werror -fimplicit-none -fno-repack-arrays -fno-underscoring"
- ## We like to use C99 routines when available. This makes sure that
+ ## We like to use C11 and C99 routines when available. This makes
+ ## sure that
## __STDC_VERSION__ is set such that libc includes make them available.
- AM_CFLAGS="-std=gnu99 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wextra -Wwrite-strings"
+ AM_CFLAGS="-std=gnu11 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wextra -Wwrite-strings -Werror=implicit-function-declaration -Werror=vla"
## Compile the following tests with the same system header contents
## that we'll encounter when compiling our own source files.
- CFLAGS="-std=gnu99 $CFLAGS"
+ CFLAGS="-std=gnu11 $CFLAGS"
fi
@@ -5884,6 +5897,25 @@ else
fi
+# For GPU offloading, not everything in libfortran can be supported.
+# Currently, the only target that has this problem is nvptx. The
+# following is a (partial) list of features that are unsupportable on
+# this particular target:
+# * Constructors
+# * alloca
+# * C library support for I/O, with printf as the one notable exception
+# * C library support for other features such as signal, environment
+# variables, time functions
+
+ if test "x${target_cpu}" = xnvptx; then
+ LIBGFOR_MINIMAL_TRUE=
+ LIBGFOR_MINIMAL_FALSE='#'
+else
+ LIBGFOR_MINIMAL_TRUE='#'
+ LIBGFOR_MINIMAL_FALSE=
+fi
+
+
# Figure out whether the compiler supports "-ffunction-sections -fdata-sections",
# similarly to how libstdc++ does it
ac_test_CFLAGS="${CFLAGS+set}"
@@ -8805,7 +8837,7 @@ $as_echo "$lt_cv_ld_force_load" >&6; }
case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
10.0,*86*-darwin8*|10.0,*-darwin[91]*)
_lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[012]*)
+ 10.[012][,.]*)
_lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
10.*)
_lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
@@ -10107,7 +10139,7 @@ _LT_EOF
if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
&& test "$tmp_diet" = no
then
- tmp_addflag=
+ tmp_addflag=' $pic_flag'
tmp_sharedflag='-shared'
case $cc_basename,$host_cpu in
pgcc*) # Portland Group C compiler
@@ -12344,7 +12376,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12347 "configure"
+#line 12379 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12450,7 +12482,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12453 "configure"
+#line 12485 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -13956,7 +13988,7 @@ _LT_EOF
if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
&& test "$tmp_diet" = no
then
- tmp_addflag=
+ tmp_addflag=' $pic_flag'
tmp_sharedflag='-shared'
case $cc_basename,$host_cpu in
pgcc*) # Portland Group C compiler
@@ -16013,6 +16045,8 @@ done
+
+
inttype_headers=`echo inttypes.h sys/inttypes.h | sed -e 's/,/ /g'`
acx_cv_header_stdint=stddef.h
@@ -16474,6 +16508,12 @@ $as_echo "#define HAVE_LOCALTIME_R 1" >>confdefs.h
$as_echo "#define HAVE_GMTIME_R 1" >>confdefs.h
+$as_echo "#define HAVE_STRNLEN 1" >>confdefs.h
+
+
+$as_echo "#define HAVE_STRNDUP 1" >>confdefs.h
+
+
$as_echo "#define HAVE_STRTOK_R 1" >>confdefs.h
@@ -16611,6 +16651,18 @@ done
+
+
+
+
+
+
+
+
+
+
+
+
fi
# Check strerror_r, cannot be above as versions with two and three arguments exist
@@ -25941,7 +25993,7 @@ fi
# test is copied from libgomp, and modified to not link in -lrt as
# libgfortran calls clock_gettime via a weak reference if it's found
# in librt.
-if test $ac_cv_func_clock_gettime = no; then
+if test "$ac_cv_func_clock_gettime" = no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime in -lrt" >&5
$as_echo_n "checking for clock_gettime in -lrt... " >&6; }
if test "${ac_cv_lib_rt_clock_gettime+set}" = set; then :
@@ -26035,7 +26087,12 @@ $as_echo "#define HAVE_FPSETMASK 1" >>confdefs.h
fi
-ac_fn_c_check_type "$LINENO" "fp_except" "ac_cv_type_fp_except" "#include <ieeefp.h>
+ac_fn_c_check_type "$LINENO" "fp_except" "ac_cv_type_fp_except" "
+#ifdef HAVE_IEEEFP_H
+#include <ieeefp.h>
+#endif
+#include <math.h>
+
"
if test "x$ac_cv_type_fp_except" = x""yes; then :
@@ -26045,7 +26102,12 @@ _ACEOF
fi
-ac_fn_c_check_type "$LINENO" "fp_except_t" "ac_cv_type_fp_except_t" "#include <ieeefp.h>
+ac_fn_c_check_type "$LINENO" "fp_except_t" "ac_cv_type_fp_except_t" "
+#ifdef HAVE_IEEEFP_H
+#include <ieeefp.h>
+#endif
+#include <math.h>
+
"
if test "x$ac_cv_type_fp_except_t" = x""yes; then :
@@ -26056,7 +26118,12 @@ _ACEOF
fi
-ac_fn_c_check_type "$LINENO" "fp_rnd" "ac_cv_type_fp_rnd" "#include <ieeefp.h>
+ac_fn_c_check_type "$LINENO" "fp_rnd" "ac_cv_type_fp_rnd" "
+#ifdef HAVE_IEEEFP_H
+#include <ieeefp.h>
+#endif
+#include <math.h>
+
"
if test "x$ac_cv_type_fp_rnd" = x""yes; then :
@@ -26066,7 +26133,12 @@ _ACEOF
fi
-ac_fn_c_check_type "$LINENO" "fp_rnd_t" "ac_cv_type_fp_rnd_t" "#include <ieeefp.h>
+ac_fn_c_check_type "$LINENO" "fp_rnd_t" "ac_cv_type_fp_rnd_t" "
+#ifdef HAVE_IEEEFP_H
+#include <ieeefp.h>
+#endif
+#include <math.h>
+
"
if test "x$ac_cv_type_fp_rnd_t" = x""yes; then :
@@ -26078,6 +26150,22 @@ _ACEOF
fi
+# Check whether we have fpsetsticky or fpresetsticky
+ac_fn_c_check_func "$LINENO" "fpsetsticky" "ac_cv_func_fpsetsticky"
+if test "x$ac_cv_func_fpsetsticky" = x""yes; then :
+ have_fpsetsticky=yes
+$as_echo "#define HAVE_FPSETSTICKY 1" >>confdefs.h
+
+fi
+
+ac_fn_c_check_func "$LINENO" "fpresetsticky" "ac_cv_func_fpresetsticky"
+if test "x$ac_cv_func_fpresetsticky" = x""yes; then :
+ have_fpresetsticky=yes
+$as_echo "#define HAVE_FPRESETSTICKY 1" >>confdefs.h
+
+fi
+
+
# Check for AIX fp_trap and fp_enable
ac_fn_c_check_func "$LINENO" "fp_trap" "ac_cv_func_fp_trap"
if test "x$ac_cv_func_fp_trap" = x""yes; then :
@@ -26100,9 +26188,22 @@ fi
. ${srcdir}/configure.host
{ $as_echo "$as_me:${as_lineno-$LINENO}: FPU dependent file will be ${fpu_host}.h" >&5
$as_echo "$as_me: FPU dependent file will be ${fpu_host}.h" >&6;}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: Support for IEEE modules: ${ieee_support}" >&5
+$as_echo "$as_me: Support for IEEE modules: ${ieee_support}" >&6;}
FPU_HOST_HEADER=config/${fpu_host}.h
+# Whether we will build the IEEE modules
+ if test x${ieee_support} = xyes; then
+ IEEE_SUPPORT_TRUE=
+ IEEE_SUPPORT_FALSE='#'
+else
+ IEEE_SUPPORT_TRUE='#'
+ IEEE_SUPPORT_FALSE=
+fi
+
+
+
# Some targets require additional compiler options for IEEE compatibility.
IEEE_FLAGS="${ieee_flags}"
@@ -26742,10 +26843,18 @@ if test -z "${LIBGFOR_USE_SYMVER_SUN_TRUE}" && test -z "${LIBGFOR_USE_SYMVER_SUN
as_fn_error "conditional \"LIBGFOR_USE_SYMVER_SUN\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${LIBGFOR_MINIMAL_TRUE}" && test -z "${LIBGFOR_MINIMAL_FALSE}"; then
+ as_fn_error "conditional \"LIBGFOR_MINIMAL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${LIBGFOR_BUILD_QUAD_TRUE}" && test -z "${LIBGFOR_BUILD_QUAD_FALSE}"; then
as_fn_error "conditional \"LIBGFOR_BUILD_QUAD\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${IEEE_SUPPORT_TRUE}" && test -z "${IEEE_SUPPORT_FALSE}"; then
+ as_fn_error "conditional \"IEEE_SUPPORT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
: ${CONFIG_STATUS=./config.status}
ac_write_fail=0
diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac
index e930123955..35a8b39588 100644
--- a/libgfortran/configure.ac
+++ b/libgfortran/configure.ac
@@ -139,12 +139,13 @@ AM_PROG_CC_C_O
# Add -Wall -fno-repack-arrays -fno-underscoring if we are using GCC.
if test "x$GCC" = "xyes"; then
AM_FCFLAGS="-I . -Wall -Werror -fimplicit-none -fno-repack-arrays -fno-underscoring"
- ## We like to use C99 routines when available. This makes sure that
+ ## We like to use C11 and C99 routines when available. This makes
+ ## sure that
## __STDC_VERSION__ is set such that libc includes make them available.
- AM_CFLAGS="-std=gnu99 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wextra -Wwrite-strings"
+ AM_CFLAGS="-std=gnu11 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wextra -Wwrite-strings -Werror=implicit-function-declaration -Werror=vla"
## Compile the following tests with the same system header contents
## that we'll encounter when compiling our own source files.
- CFLAGS="-std=gnu99 $CFLAGS"
+ CFLAGS="-std=gnu11 $CFLAGS"
fi
AC_SUBST(AM_FCFLAGS)
AC_SUBST(AM_CFLAGS)
@@ -188,6 +189,18 @@ AM_CONDITIONAL(LIBGFOR_USE_SYMVER, [test "x$gfortran_use_symver" != xno])
AM_CONDITIONAL(LIBGFOR_USE_SYMVER_GNU, [test "x$gfortran_use_symver" = xgnu])
AM_CONDITIONAL(LIBGFOR_USE_SYMVER_SUN, [test "x$gfortran_use_symver" = xsun])
+# For GPU offloading, not everything in libfortran can be supported.
+# Currently, the only target that has this problem is nvptx. The
+# following is a (partial) list of features that are unsupportable on
+# this particular target:
+# * Constructors
+# * alloca
+# * C library support for I/O, with printf as the one notable exception
+# * C library support for other features such as signal, environment
+# variables, time functions
+
+AM_CONDITIONAL(LIBGFOR_MINIMAL, [test "x${target_cpu}" = xnvptx])
+
# Figure out whether the compiler supports "-ffunction-sections -fdata-sections",
# similarly to how libstdc++ does it
ac_test_CFLAGS="${CFLAGS+set}"
@@ -254,7 +267,7 @@ AC_CHECK_TYPES([ptrdiff_t])
# check header files (we assume C89 is available, so don't check for that)
AC_CHECK_HEADERS_ONCE(unistd.h sys/time.h sys/times.h sys/resource.h \
sys/types.h sys/stat.h sys/wait.h floatingpoint.h ieeefp.h fenv.h fptrap.h \
-fpxcp.h pwd.h complex.h)
+fpxcp.h pwd.h complex.h xlocale.h)
GCC_HEADER_STDINT(gstdint.h)
@@ -272,6 +285,8 @@ if test "x${with_newlib}" = "xyes"; then
AC_DEFINE(HAVE_VSNPRINTF, 1, [Define if you have vsnprintf.])
AC_DEFINE(HAVE_LOCALTIME_R, 1, [Define if you have localtime_r.])
AC_DEFINE(HAVE_GMTIME_R, 1, [Define if you have gmtime_r.])
+ AC_DEFINE(HAVE_STRNLEN, 1, [Define if you have strnlen.])
+ AC_DEFINE(HAVE_STRNDUP, 1, [Define if you have strndup.])
AC_DEFINE(HAVE_STRTOK_R, 1, [Define if you have strtok_r.])
# At some point, we should differentiate between architectures
@@ -287,7 +302,8 @@ else
strcasestr getrlimit gettimeofday stat fstat lstat getpwuid vsnprintf dup \
getcwd localtime_r gmtime_r getpwuid_r ttyname_r clock_gettime \
readlink getgid getpid getppid getuid geteuid umask getegid \
- secure_getenv __secure_getenv mkostemp strtok_r)
+ secure_getenv __secure_getenv mkostemp strnlen strndup strtok_r newlocale \
+ freelocale uselocale strerror_l)
fi
# Check strerror_r, cannot be above as versions with two and three arguments exist
@@ -511,7 +527,7 @@ AC_CHECK_LIB([m],[feenableexcept],[have_feenableexcept=yes AC_DEFINE([HAVE_FEENA
# test is copied from libgomp, and modified to not link in -lrt as
# libgfortran calls clock_gettime via a weak reference if it's found
# in librt.
-if test $ac_cv_func_clock_gettime = no; then
+if test "$ac_cv_func_clock_gettime" = no; then
AC_CHECK_LIB(rt, clock_gettime,
[AC_DEFINE(HAVE_CLOCK_GETTIME_LIBRT, 1,
[Define to 1 if you have the `clock_gettime' function in librt.])])
@@ -519,8 +535,22 @@ fi
# Check for SysV fpsetmask
LIBGFOR_CHECK_FPSETMASK
-AC_CHECK_TYPES([fp_except,fp_except_t], [], [], [[#include <ieeefp.h>]])
-AC_CHECK_TYPES([fp_rnd,fp_rnd_t], [], [], [[#include <ieeefp.h>]])
+AC_CHECK_TYPES([fp_except,fp_except_t], [], [], [[
+#ifdef HAVE_IEEEFP_H
+#include <ieeefp.h>
+#endif
+#include <math.h>
+]])
+AC_CHECK_TYPES([fp_rnd,fp_rnd_t], [], [], [[
+#ifdef HAVE_IEEEFP_H
+#include <ieeefp.h>
+#endif
+#include <math.h>
+]])
+
+# Check whether we have fpsetsticky or fpresetsticky
+AC_CHECK_FUNC([fpsetsticky],[have_fpsetsticky=yes AC_DEFINE([HAVE_FPSETSTICKY],[1],[fpsetsticky is present])])
+AC_CHECK_FUNC([fpresetsticky],[have_fpresetsticky=yes AC_DEFINE([HAVE_FPRESETSTICKY],[1],[fpresetsticky is present])])
# Check for AIX fp_trap and fp_enable
AC_CHECK_FUNC([fp_trap],[have_fp_trap=yes AC_DEFINE([HAVE_FP_TRAP],[1],[fp_trap is present])])
@@ -531,9 +561,14 @@ AC_CHECK_FUNC([fp_enable],[have_fp_enable=yes AC_DEFINE([HAVE_FP_ENABLE],[1],[fp
# build chain.
. ${srcdir}/configure.host
AC_MSG_NOTICE([FPU dependent file will be ${fpu_host}.h])
+AC_MSG_NOTICE([Support for IEEE modules: ${ieee_support}])
FPU_HOST_HEADER=config/${fpu_host}.h
AC_SUBST(FPU_HOST_HEADER)
+# Whether we will build the IEEE modules
+AM_CONDITIONAL(IEEE_SUPPORT,[test x${ieee_support} = xyes])
+AC_SUBST(IEEE_SUPPORT)
+
# Some targets require additional compiler options for IEEE compatibility.
IEEE_FLAGS="${ieee_flags}"
AC_SUBST(IEEE_FLAGS)
diff --git a/libgfortran/configure.host b/libgfortran/configure.host
index 92b6433b96..0a12a32fc8 100644
--- a/libgfortran/configure.host
+++ b/libgfortran/configure.host
@@ -19,29 +19,37 @@
# DEFAULTS
fpu_host='fpu-generic'
+ieee_support='no'
+
+if test "x${have_fp_enable}" = "xyes" && test "x${have_fp_trap}" = "xyes"; then
+ fpu_host='fpu-aix'
+ ieee_support='yes'
+fi
+
+if test "x${have_fpsetmask}" = "xyes"; then
+ fpu_host='fpu-sysv'
+ ieee_support='yes'
+fi
if test "x${have_feenableexcept}" = "xyes"; then
fpu_host='fpu-glibc'
+ ieee_support='yes'
fi
# x86 asm should be used instead of glibc, since glibc doesn't support
# the x86 denormal exception.
case "${host_cpu}" in
i?86 | x86_64)
- fpu_host='fpu-387' ;;
+ fpu_host='fpu-387'
+ ieee_support='yes'
+ ;;
esac
-if test "x${have_fpsetmask}" = "xyes"; then
- fpu_host='fpu-sysv'
-fi
-
-if test "x${have_fp_enable}" = "xyes" && test "x${have_fp_trap}" = "xyes"; then
- fpu_host='fpu-aix'
-fi
-
# Some targets require additional compiler options for NaN/Inf.
ieee_flags=
case "${host_cpu}" in
+ alpha*)
+ ieee_flags="-mieee" ;;
sh*)
ieee_flags="-mieee" ;;
esac
diff --git a/libgfortran/generated/_abs_c10.F90 b/libgfortran/generated/_abs_c10.F90
index 55d06667d5..a1a184971e 100644
--- a/libgfortran/generated/_abs_c10.F90
+++ b/libgfortran/generated/_abs_c10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_abs_c16.F90 b/libgfortran/generated/_abs_c16.F90
index a61dae3c6d..4ffd11391e 100644
--- a/libgfortran/generated/_abs_c16.F90
+++ b/libgfortran/generated/_abs_c16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_abs_c4.F90 b/libgfortran/generated/_abs_c4.F90
index a33b956495..7f0fe366d0 100644
--- a/libgfortran/generated/_abs_c4.F90
+++ b/libgfortran/generated/_abs_c4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_abs_c8.F90 b/libgfortran/generated/_abs_c8.F90
index 565a91bbea..2ed567561c 100644
--- a/libgfortran/generated/_abs_c8.F90
+++ b/libgfortran/generated/_abs_c8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_abs_i16.F90 b/libgfortran/generated/_abs_i16.F90
index 8b06783872..5281e60454 100644
--- a/libgfortran/generated/_abs_i16.F90
+++ b/libgfortran/generated/_abs_i16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_abs_i4.F90 b/libgfortran/generated/_abs_i4.F90
index 1e5395e898..f77a408ba5 100644
--- a/libgfortran/generated/_abs_i4.F90
+++ b/libgfortran/generated/_abs_i4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_abs_i8.F90 b/libgfortran/generated/_abs_i8.F90
index ddb840da4e..2eb5732eab 100644
--- a/libgfortran/generated/_abs_i8.F90
+++ b/libgfortran/generated/_abs_i8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_abs_r10.F90 b/libgfortran/generated/_abs_r10.F90
index 71de4777c5..9ed0807ef8 100644
--- a/libgfortran/generated/_abs_r10.F90
+++ b/libgfortran/generated/_abs_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_abs_r16.F90 b/libgfortran/generated/_abs_r16.F90
index 8bdeec3d00..f6e40555c0 100644
--- a/libgfortran/generated/_abs_r16.F90
+++ b/libgfortran/generated/_abs_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_abs_r4.F90 b/libgfortran/generated/_abs_r4.F90
index 8774d3419d..907f7e874b 100644
--- a/libgfortran/generated/_abs_r4.F90
+++ b/libgfortran/generated/_abs_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_abs_r8.F90 b/libgfortran/generated/_abs_r8.F90
index e52176ad35..e76d31dabd 100644
--- a/libgfortran/generated/_abs_r8.F90
+++ b/libgfortran/generated/_abs_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_acos_r10.F90 b/libgfortran/generated/_acos_r10.F90
index dd25df13f6..e1c91d612a 100644
--- a/libgfortran/generated/_acos_r10.F90
+++ b/libgfortran/generated/_acos_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_acos_r16.F90 b/libgfortran/generated/_acos_r16.F90
index 0c156ffd43..4825c5820a 100644
--- a/libgfortran/generated/_acos_r16.F90
+++ b/libgfortran/generated/_acos_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_acos_r4.F90 b/libgfortran/generated/_acos_r4.F90
index 5cd73e25b0..92b9cfbd5e 100644
--- a/libgfortran/generated/_acos_r4.F90
+++ b/libgfortran/generated/_acos_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_acos_r8.F90 b/libgfortran/generated/_acos_r8.F90
index c8fd29a076..7be09357bf 100644
--- a/libgfortran/generated/_acos_r8.F90
+++ b/libgfortran/generated/_acos_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_acosh_r10.F90 b/libgfortran/generated/_acosh_r10.F90
index 8aa0575758..6d01d0e71a 100644
--- a/libgfortran/generated/_acosh_r10.F90
+++ b/libgfortran/generated/_acosh_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_acosh_r16.F90 b/libgfortran/generated/_acosh_r16.F90
index 4b694b77a7..9a5d048ab9 100644
--- a/libgfortran/generated/_acosh_r16.F90
+++ b/libgfortran/generated/_acosh_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_acosh_r4.F90 b/libgfortran/generated/_acosh_r4.F90
index da04c9726d..c2f92f07bc 100644
--- a/libgfortran/generated/_acosh_r4.F90
+++ b/libgfortran/generated/_acosh_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_acosh_r8.F90 b/libgfortran/generated/_acosh_r8.F90
index d3f3a19a52..fcb228f30c 100644
--- a/libgfortran/generated/_acosh_r8.F90
+++ b/libgfortran/generated/_acosh_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_aimag_c10.F90 b/libgfortran/generated/_aimag_c10.F90
index 749f6e39eb..b1968aab64 100644
--- a/libgfortran/generated/_aimag_c10.F90
+++ b/libgfortran/generated/_aimag_c10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_aimag_c16.F90 b/libgfortran/generated/_aimag_c16.F90
index 4aa17b2d45..08cb98924f 100644
--- a/libgfortran/generated/_aimag_c16.F90
+++ b/libgfortran/generated/_aimag_c16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_aimag_c4.F90 b/libgfortran/generated/_aimag_c4.F90
index ac4a730e87..e39a9d2254 100644
--- a/libgfortran/generated/_aimag_c4.F90
+++ b/libgfortran/generated/_aimag_c4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_aimag_c8.F90 b/libgfortran/generated/_aimag_c8.F90
index db89c86def..68e738d736 100644
--- a/libgfortran/generated/_aimag_c8.F90
+++ b/libgfortran/generated/_aimag_c8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_aint_r10.F90 b/libgfortran/generated/_aint_r10.F90
index 2df1b1d89a..c85993ff31 100644
--- a/libgfortran/generated/_aint_r10.F90
+++ b/libgfortran/generated/_aint_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_aint_r16.F90 b/libgfortran/generated/_aint_r16.F90
index bb6fcd8fac..f617cd2b65 100644
--- a/libgfortran/generated/_aint_r16.F90
+++ b/libgfortran/generated/_aint_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_aint_r4.F90 b/libgfortran/generated/_aint_r4.F90
index 8182779101..5d68d4a4b0 100644
--- a/libgfortran/generated/_aint_r4.F90
+++ b/libgfortran/generated/_aint_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_aint_r8.F90 b/libgfortran/generated/_aint_r8.F90
index 160a62174a..f5a662bb6a 100644
--- a/libgfortran/generated/_aint_r8.F90
+++ b/libgfortran/generated/_aint_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_anint_r10.F90 b/libgfortran/generated/_anint_r10.F90
index 754ed29e77..61c0da40e9 100644
--- a/libgfortran/generated/_anint_r10.F90
+++ b/libgfortran/generated/_anint_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_anint_r16.F90 b/libgfortran/generated/_anint_r16.F90
index d759d9bb0e..772cdb38bd 100644
--- a/libgfortran/generated/_anint_r16.F90
+++ b/libgfortran/generated/_anint_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_anint_r4.F90 b/libgfortran/generated/_anint_r4.F90
index e9121b1d2e..b43f08a084 100644
--- a/libgfortran/generated/_anint_r4.F90
+++ b/libgfortran/generated/_anint_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_anint_r8.F90 b/libgfortran/generated/_anint_r8.F90
index ab48e52be5..9dbbf95eec 100644
--- a/libgfortran/generated/_anint_r8.F90
+++ b/libgfortran/generated/_anint_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_asin_r10.F90 b/libgfortran/generated/_asin_r10.F90
index ac8784b919..d1b05069d0 100644
--- a/libgfortran/generated/_asin_r10.F90
+++ b/libgfortran/generated/_asin_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_asin_r16.F90 b/libgfortran/generated/_asin_r16.F90
index 6e6f20108e..279c7ac482 100644
--- a/libgfortran/generated/_asin_r16.F90
+++ b/libgfortran/generated/_asin_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_asin_r4.F90 b/libgfortran/generated/_asin_r4.F90
index a68327e423..0ae4819123 100644
--- a/libgfortran/generated/_asin_r4.F90
+++ b/libgfortran/generated/_asin_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_asin_r8.F90 b/libgfortran/generated/_asin_r8.F90
index 24cced0426..a7aa4339f9 100644
--- a/libgfortran/generated/_asin_r8.F90
+++ b/libgfortran/generated/_asin_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_asinh_r10.F90 b/libgfortran/generated/_asinh_r10.F90
index feb2c5e50a..febfdb6f28 100644
--- a/libgfortran/generated/_asinh_r10.F90
+++ b/libgfortran/generated/_asinh_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_asinh_r16.F90 b/libgfortran/generated/_asinh_r16.F90
index eb8320c197..3572430c6d 100644
--- a/libgfortran/generated/_asinh_r16.F90
+++ b/libgfortran/generated/_asinh_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_asinh_r4.F90 b/libgfortran/generated/_asinh_r4.F90
index ac3084a7f2..e0853130cf 100644
--- a/libgfortran/generated/_asinh_r4.F90
+++ b/libgfortran/generated/_asinh_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_asinh_r8.F90 b/libgfortran/generated/_asinh_r8.F90
index 9ad20ca48d..146b3b0a65 100644
--- a/libgfortran/generated/_asinh_r8.F90
+++ b/libgfortran/generated/_asinh_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atan2_r10.F90 b/libgfortran/generated/_atan2_r10.F90
index 0c97d09629..f1e8070afb 100644
--- a/libgfortran/generated/_atan2_r10.F90
+++ b/libgfortran/generated/_atan2_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atan2_r16.F90 b/libgfortran/generated/_atan2_r16.F90
index debc59454d..75eb161b03 100644
--- a/libgfortran/generated/_atan2_r16.F90
+++ b/libgfortran/generated/_atan2_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atan2_r4.F90 b/libgfortran/generated/_atan2_r4.F90
index e7550ae00d..75d249b734 100644
--- a/libgfortran/generated/_atan2_r4.F90
+++ b/libgfortran/generated/_atan2_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atan2_r8.F90 b/libgfortran/generated/_atan2_r8.F90
index cc1c6e01d8..14cca75ba1 100644
--- a/libgfortran/generated/_atan2_r8.F90
+++ b/libgfortran/generated/_atan2_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atan_r10.F90 b/libgfortran/generated/_atan_r10.F90
index 68cb600db9..102b08574a 100644
--- a/libgfortran/generated/_atan_r10.F90
+++ b/libgfortran/generated/_atan_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atan_r16.F90 b/libgfortran/generated/_atan_r16.F90
index b12591e6a7..53b75494c6 100644
--- a/libgfortran/generated/_atan_r16.F90
+++ b/libgfortran/generated/_atan_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atan_r4.F90 b/libgfortran/generated/_atan_r4.F90
index b735516e22..220981898d 100644
--- a/libgfortran/generated/_atan_r4.F90
+++ b/libgfortran/generated/_atan_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atan_r8.F90 b/libgfortran/generated/_atan_r8.F90
index 41c850bfd4..e905c48088 100644
--- a/libgfortran/generated/_atan_r8.F90
+++ b/libgfortran/generated/_atan_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atanh_r10.F90 b/libgfortran/generated/_atanh_r10.F90
index 18613e06bc..3088252345 100644
--- a/libgfortran/generated/_atanh_r10.F90
+++ b/libgfortran/generated/_atanh_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atanh_r16.F90 b/libgfortran/generated/_atanh_r16.F90
index 675c8eed67..f9580fdc5e 100644
--- a/libgfortran/generated/_atanh_r16.F90
+++ b/libgfortran/generated/_atanh_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atanh_r4.F90 b/libgfortran/generated/_atanh_r4.F90
index 7c1c047256..59e34be86c 100644
--- a/libgfortran/generated/_atanh_r4.F90
+++ b/libgfortran/generated/_atanh_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_atanh_r8.F90 b/libgfortran/generated/_atanh_r8.F90
index 8a82855dbc..b7e96f9b14 100644
--- a/libgfortran/generated/_atanh_r8.F90
+++ b/libgfortran/generated/_atanh_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_conjg_c10.F90 b/libgfortran/generated/_conjg_c10.F90
index d6e0a1c5ab..e2e4258fd6 100644
--- a/libgfortran/generated/_conjg_c10.F90
+++ b/libgfortran/generated/_conjg_c10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_conjg_c16.F90 b/libgfortran/generated/_conjg_c16.F90
index 0e92549d8a..a6682d5b52 100644
--- a/libgfortran/generated/_conjg_c16.F90
+++ b/libgfortran/generated/_conjg_c16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_conjg_c4.F90 b/libgfortran/generated/_conjg_c4.F90
index 8abbfadaab..26a9930f25 100644
--- a/libgfortran/generated/_conjg_c4.F90
+++ b/libgfortran/generated/_conjg_c4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_conjg_c8.F90 b/libgfortran/generated/_conjg_c8.F90
index 2c6ddd7bf7..c0b0f2d1a4 100644
--- a/libgfortran/generated/_conjg_c8.F90
+++ b/libgfortran/generated/_conjg_c8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cos_c10.F90 b/libgfortran/generated/_cos_c10.F90
index 3d9342dbd6..5f230ecf58 100644
--- a/libgfortran/generated/_cos_c10.F90
+++ b/libgfortran/generated/_cos_c10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cos_c16.F90 b/libgfortran/generated/_cos_c16.F90
index 62db181898..34c31cca05 100644
--- a/libgfortran/generated/_cos_c16.F90
+++ b/libgfortran/generated/_cos_c16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cos_c4.F90 b/libgfortran/generated/_cos_c4.F90
index 21c995f694..073983b962 100644
--- a/libgfortran/generated/_cos_c4.F90
+++ b/libgfortran/generated/_cos_c4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cos_c8.F90 b/libgfortran/generated/_cos_c8.F90
index f09aa00a7b..fbfa5544fb 100644
--- a/libgfortran/generated/_cos_c8.F90
+++ b/libgfortran/generated/_cos_c8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cos_r10.F90 b/libgfortran/generated/_cos_r10.F90
index c7e9a34134..e6452370c6 100644
--- a/libgfortran/generated/_cos_r10.F90
+++ b/libgfortran/generated/_cos_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cos_r16.F90 b/libgfortran/generated/_cos_r16.F90
index 782e2f11aa..2b9ef50641 100644
--- a/libgfortran/generated/_cos_r16.F90
+++ b/libgfortran/generated/_cos_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cos_r4.F90 b/libgfortran/generated/_cos_r4.F90
index 86ef8105e4..cef0c1b31f 100644
--- a/libgfortran/generated/_cos_r4.F90
+++ b/libgfortran/generated/_cos_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cos_r8.F90 b/libgfortran/generated/_cos_r8.F90
index f4221b612c..988494e75d 100644
--- a/libgfortran/generated/_cos_r8.F90
+++ b/libgfortran/generated/_cos_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cosh_r10.F90 b/libgfortran/generated/_cosh_r10.F90
index a1c3e2e27a..d77e5f0c5c 100644
--- a/libgfortran/generated/_cosh_r10.F90
+++ b/libgfortran/generated/_cosh_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cosh_r16.F90 b/libgfortran/generated/_cosh_r16.F90
index 94be703105..a9a740f91a 100644
--- a/libgfortran/generated/_cosh_r16.F90
+++ b/libgfortran/generated/_cosh_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cosh_r4.F90 b/libgfortran/generated/_cosh_r4.F90
index f3b86e0e15..89b2957127 100644
--- a/libgfortran/generated/_cosh_r4.F90
+++ b/libgfortran/generated/_cosh_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_cosh_r8.F90 b/libgfortran/generated/_cosh_r8.F90
index f1568891c4..838461aa41 100644
--- a/libgfortran/generated/_cosh_r8.F90
+++ b/libgfortran/generated/_cosh_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_dim_i16.F90 b/libgfortran/generated/_dim_i16.F90
index d2560cb025..98a5285dab 100644
--- a/libgfortran/generated/_dim_i16.F90
+++ b/libgfortran/generated/_dim_i16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_dim_i4.F90 b/libgfortran/generated/_dim_i4.F90
index b9ab703957..d6041e2291 100644
--- a/libgfortran/generated/_dim_i4.F90
+++ b/libgfortran/generated/_dim_i4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_dim_i8.F90 b/libgfortran/generated/_dim_i8.F90
index eebce3607d..a40c6b0e49 100644
--- a/libgfortran/generated/_dim_i8.F90
+++ b/libgfortran/generated/_dim_i8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_dim_r10.F90 b/libgfortran/generated/_dim_r10.F90
index 10e2e2b9c5..db3e34eb08 100644
--- a/libgfortran/generated/_dim_r10.F90
+++ b/libgfortran/generated/_dim_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_dim_r16.F90 b/libgfortran/generated/_dim_r16.F90
index 984be61b6a..c80da5627b 100644
--- a/libgfortran/generated/_dim_r16.F90
+++ b/libgfortran/generated/_dim_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_dim_r4.F90 b/libgfortran/generated/_dim_r4.F90
index 58aed7d99f..7ab3643049 100644
--- a/libgfortran/generated/_dim_r4.F90
+++ b/libgfortran/generated/_dim_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_dim_r8.F90 b/libgfortran/generated/_dim_r8.F90
index de4f08ae94..b508311c73 100644
--- a/libgfortran/generated/_dim_r8.F90
+++ b/libgfortran/generated/_dim_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_exp_c10.F90 b/libgfortran/generated/_exp_c10.F90
index a535166c4c..2644a1897f 100644
--- a/libgfortran/generated/_exp_c10.F90
+++ b/libgfortran/generated/_exp_c10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_exp_c16.F90 b/libgfortran/generated/_exp_c16.F90
index 546cbc33e7..2304b65355 100644
--- a/libgfortran/generated/_exp_c16.F90
+++ b/libgfortran/generated/_exp_c16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_exp_c4.F90 b/libgfortran/generated/_exp_c4.F90
index e35c0539e0..0ff66878fd 100644
--- a/libgfortran/generated/_exp_c4.F90
+++ b/libgfortran/generated/_exp_c4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_exp_c8.F90 b/libgfortran/generated/_exp_c8.F90
index 9fd6831e3c..ea48f18a2e 100644
--- a/libgfortran/generated/_exp_c8.F90
+++ b/libgfortran/generated/_exp_c8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_exp_r10.F90 b/libgfortran/generated/_exp_r10.F90
index f820d9f4d9..c2ede21470 100644
--- a/libgfortran/generated/_exp_r10.F90
+++ b/libgfortran/generated/_exp_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_exp_r16.F90 b/libgfortran/generated/_exp_r16.F90
index 61a73e4b5e..8c21aa6113 100644
--- a/libgfortran/generated/_exp_r16.F90
+++ b/libgfortran/generated/_exp_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_exp_r4.F90 b/libgfortran/generated/_exp_r4.F90
index d350ce4196..41870b08e4 100644
--- a/libgfortran/generated/_exp_r4.F90
+++ b/libgfortran/generated/_exp_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_exp_r8.F90 b/libgfortran/generated/_exp_r8.F90
index 058f47aee1..61ac97edf2 100644
--- a/libgfortran/generated/_exp_r8.F90
+++ b/libgfortran/generated/_exp_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log10_r10.F90 b/libgfortran/generated/_log10_r10.F90
index 7a08f526cc..d24b8abdbc 100644
--- a/libgfortran/generated/_log10_r10.F90
+++ b/libgfortran/generated/_log10_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log10_r16.F90 b/libgfortran/generated/_log10_r16.F90
index b9c74b8aa7..6782aaa46a 100644
--- a/libgfortran/generated/_log10_r16.F90
+++ b/libgfortran/generated/_log10_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log10_r4.F90 b/libgfortran/generated/_log10_r4.F90
index c0e611f8df..2b41909de7 100644
--- a/libgfortran/generated/_log10_r4.F90
+++ b/libgfortran/generated/_log10_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log10_r8.F90 b/libgfortran/generated/_log10_r8.F90
index 8e08fb3b6f..061d990f23 100644
--- a/libgfortran/generated/_log10_r8.F90
+++ b/libgfortran/generated/_log10_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log_c10.F90 b/libgfortran/generated/_log_c10.F90
index f15ac16453..b8f2e29997 100644
--- a/libgfortran/generated/_log_c10.F90
+++ b/libgfortran/generated/_log_c10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log_c16.F90 b/libgfortran/generated/_log_c16.F90
index 51eb9b8ba6..2db049282c 100644
--- a/libgfortran/generated/_log_c16.F90
+++ b/libgfortran/generated/_log_c16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log_c4.F90 b/libgfortran/generated/_log_c4.F90
index fea403c898..dfaea7f8db 100644
--- a/libgfortran/generated/_log_c4.F90
+++ b/libgfortran/generated/_log_c4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log_c8.F90 b/libgfortran/generated/_log_c8.F90
index 104824b3e6..c82feb34af 100644
--- a/libgfortran/generated/_log_c8.F90
+++ b/libgfortran/generated/_log_c8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log_r10.F90 b/libgfortran/generated/_log_r10.F90
index 29784b0652..2dac263156 100644
--- a/libgfortran/generated/_log_r10.F90
+++ b/libgfortran/generated/_log_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log_r16.F90 b/libgfortran/generated/_log_r16.F90
index 4383fe358c..7b53008cf8 100644
--- a/libgfortran/generated/_log_r16.F90
+++ b/libgfortran/generated/_log_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log_r4.F90 b/libgfortran/generated/_log_r4.F90
index c351854c4b..fb4066a93b 100644
--- a/libgfortran/generated/_log_r4.F90
+++ b/libgfortran/generated/_log_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_log_r8.F90 b/libgfortran/generated/_log_r8.F90
index 9636bf436d..8975d6347b 100644
--- a/libgfortran/generated/_log_r8.F90
+++ b/libgfortran/generated/_log_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_mod_i16.F90 b/libgfortran/generated/_mod_i16.F90
index c5ba32b650..38d8dcfd60 100644
--- a/libgfortran/generated/_mod_i16.F90
+++ b/libgfortran/generated/_mod_i16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_mod_i4.F90 b/libgfortran/generated/_mod_i4.F90
index 2cebfd0aae..4d2584b4e1 100644
--- a/libgfortran/generated/_mod_i4.F90
+++ b/libgfortran/generated/_mod_i4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_mod_i8.F90 b/libgfortran/generated/_mod_i8.F90
index 9199dce7e1..deeb3976f7 100644
--- a/libgfortran/generated/_mod_i8.F90
+++ b/libgfortran/generated/_mod_i8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_mod_r10.F90 b/libgfortran/generated/_mod_r10.F90
index f3e7487569..fba117f7d5 100644
--- a/libgfortran/generated/_mod_r10.F90
+++ b/libgfortran/generated/_mod_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_mod_r16.F90 b/libgfortran/generated/_mod_r16.F90
index cbbcb7cee4..b4471314cb 100644
--- a/libgfortran/generated/_mod_r16.F90
+++ b/libgfortran/generated/_mod_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_mod_r4.F90 b/libgfortran/generated/_mod_r4.F90
index 43134dd4dc..b163f4ebee 100644
--- a/libgfortran/generated/_mod_r4.F90
+++ b/libgfortran/generated/_mod_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_mod_r8.F90 b/libgfortran/generated/_mod_r8.F90
index 2b5a43be94..8e32850127 100644
--- a/libgfortran/generated/_mod_r8.F90
+++ b/libgfortran/generated/_mod_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sign_i16.F90 b/libgfortran/generated/_sign_i16.F90
index 062f8256c3..a3c7ab4ca6 100644
--- a/libgfortran/generated/_sign_i16.F90
+++ b/libgfortran/generated/_sign_i16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sign_i4.F90 b/libgfortran/generated/_sign_i4.F90
index 09e85adfef..7f5012cd33 100644
--- a/libgfortran/generated/_sign_i4.F90
+++ b/libgfortran/generated/_sign_i4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sign_i8.F90 b/libgfortran/generated/_sign_i8.F90
index a0064be691..f8f6614146 100644
--- a/libgfortran/generated/_sign_i8.F90
+++ b/libgfortran/generated/_sign_i8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sign_r10.F90 b/libgfortran/generated/_sign_r10.F90
index dce3a2c5e8..d690926d6d 100644
--- a/libgfortran/generated/_sign_r10.F90
+++ b/libgfortran/generated/_sign_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sign_r16.F90 b/libgfortran/generated/_sign_r16.F90
index e63706ae50..b1db6a5130 100644
--- a/libgfortran/generated/_sign_r16.F90
+++ b/libgfortran/generated/_sign_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sign_r4.F90 b/libgfortran/generated/_sign_r4.F90
index ffb120d412..23dfbe829b 100644
--- a/libgfortran/generated/_sign_r4.F90
+++ b/libgfortran/generated/_sign_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sign_r8.F90 b/libgfortran/generated/_sign_r8.F90
index ec3c87c395..3fbfaf9dcc 100644
--- a/libgfortran/generated/_sign_r8.F90
+++ b/libgfortran/generated/_sign_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sin_c10.F90 b/libgfortran/generated/_sin_c10.F90
index 740c2a2583..0d29e64155 100644
--- a/libgfortran/generated/_sin_c10.F90
+++ b/libgfortran/generated/_sin_c10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sin_c16.F90 b/libgfortran/generated/_sin_c16.F90
index 0a9c0a1d86..58032ea56c 100644
--- a/libgfortran/generated/_sin_c16.F90
+++ b/libgfortran/generated/_sin_c16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sin_c4.F90 b/libgfortran/generated/_sin_c4.F90
index 8c60f32f7b..6fe9e9cec3 100644
--- a/libgfortran/generated/_sin_c4.F90
+++ b/libgfortran/generated/_sin_c4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sin_c8.F90 b/libgfortran/generated/_sin_c8.F90
index 2e17f2fecc..fd6bbd84fd 100644
--- a/libgfortran/generated/_sin_c8.F90
+++ b/libgfortran/generated/_sin_c8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sin_r10.F90 b/libgfortran/generated/_sin_r10.F90
index c8baae3713..132f29d41b 100644
--- a/libgfortran/generated/_sin_r10.F90
+++ b/libgfortran/generated/_sin_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sin_r16.F90 b/libgfortran/generated/_sin_r16.F90
index a0cddd2ae4..8ee6693c0e 100644
--- a/libgfortran/generated/_sin_r16.F90
+++ b/libgfortran/generated/_sin_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sin_r4.F90 b/libgfortran/generated/_sin_r4.F90
index f1624fb677..5b009a9063 100644
--- a/libgfortran/generated/_sin_r4.F90
+++ b/libgfortran/generated/_sin_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sin_r8.F90 b/libgfortran/generated/_sin_r8.F90
index 32112b97d4..f8b97c3bd2 100644
--- a/libgfortran/generated/_sin_r8.F90
+++ b/libgfortran/generated/_sin_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sinh_r10.F90 b/libgfortran/generated/_sinh_r10.F90
index 2b66e6293b..52ab7495ff 100644
--- a/libgfortran/generated/_sinh_r10.F90
+++ b/libgfortran/generated/_sinh_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sinh_r16.F90 b/libgfortran/generated/_sinh_r16.F90
index c4feab0ad4..9082fada67 100644
--- a/libgfortran/generated/_sinh_r16.F90
+++ b/libgfortran/generated/_sinh_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sinh_r4.F90 b/libgfortran/generated/_sinh_r4.F90
index 4bfe823bb2..200bb35057 100644
--- a/libgfortran/generated/_sinh_r4.F90
+++ b/libgfortran/generated/_sinh_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sinh_r8.F90 b/libgfortran/generated/_sinh_r8.F90
index 95f5411ceb..f2a882e337 100644
--- a/libgfortran/generated/_sinh_r8.F90
+++ b/libgfortran/generated/_sinh_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sqrt_c10.F90 b/libgfortran/generated/_sqrt_c10.F90
index d2a0789ef9..a2040afeb3 100644
--- a/libgfortran/generated/_sqrt_c10.F90
+++ b/libgfortran/generated/_sqrt_c10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sqrt_c16.F90 b/libgfortran/generated/_sqrt_c16.F90
index 89ad6d1c42..f32d40ceff 100644
--- a/libgfortran/generated/_sqrt_c16.F90
+++ b/libgfortran/generated/_sqrt_c16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sqrt_c4.F90 b/libgfortran/generated/_sqrt_c4.F90
index 4bbfb8a7fb..3d598ddf49 100644
--- a/libgfortran/generated/_sqrt_c4.F90
+++ b/libgfortran/generated/_sqrt_c4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sqrt_c8.F90 b/libgfortran/generated/_sqrt_c8.F90
index a9cf400c1b..9afeb63482 100644
--- a/libgfortran/generated/_sqrt_c8.F90
+++ b/libgfortran/generated/_sqrt_c8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sqrt_r10.F90 b/libgfortran/generated/_sqrt_r10.F90
index df0f6bb75d..590c6d50f1 100644
--- a/libgfortran/generated/_sqrt_r10.F90
+++ b/libgfortran/generated/_sqrt_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sqrt_r16.F90 b/libgfortran/generated/_sqrt_r16.F90
index 596c40713e..42899ea552 100644
--- a/libgfortran/generated/_sqrt_r16.F90
+++ b/libgfortran/generated/_sqrt_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sqrt_r4.F90 b/libgfortran/generated/_sqrt_r4.F90
index ed7d7c00b9..209b2b75fb 100644
--- a/libgfortran/generated/_sqrt_r4.F90
+++ b/libgfortran/generated/_sqrt_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_sqrt_r8.F90 b/libgfortran/generated/_sqrt_r8.F90
index b227ed5ac3..8ec765b432 100644
--- a/libgfortran/generated/_sqrt_r8.F90
+++ b/libgfortran/generated/_sqrt_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_tan_r10.F90 b/libgfortran/generated/_tan_r10.F90
index b9918318dc..7f524c675c 100644
--- a/libgfortran/generated/_tan_r10.F90
+++ b/libgfortran/generated/_tan_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_tan_r16.F90 b/libgfortran/generated/_tan_r16.F90
index f29b58f0c5..22d03ee192 100644
--- a/libgfortran/generated/_tan_r16.F90
+++ b/libgfortran/generated/_tan_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_tan_r4.F90 b/libgfortran/generated/_tan_r4.F90
index b9230efd20..04cebc0361 100644
--- a/libgfortran/generated/_tan_r4.F90
+++ b/libgfortran/generated/_tan_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_tan_r8.F90 b/libgfortran/generated/_tan_r8.F90
index 1573f663d1..4563aca94c 100644
--- a/libgfortran/generated/_tan_r8.F90
+++ b/libgfortran/generated/_tan_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_tanh_r10.F90 b/libgfortran/generated/_tanh_r10.F90
index 636619fe20..5e70e7f930 100644
--- a/libgfortran/generated/_tanh_r10.F90
+++ b/libgfortran/generated/_tanh_r10.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_tanh_r16.F90 b/libgfortran/generated/_tanh_r16.F90
index 0161dc7deb..6dba626e29 100644
--- a/libgfortran/generated/_tanh_r16.F90
+++ b/libgfortran/generated/_tanh_r16.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_tanh_r4.F90 b/libgfortran/generated/_tanh_r4.F90
index 9481ae85fb..3c5f1f529e 100644
--- a/libgfortran/generated/_tanh_r4.F90
+++ b/libgfortran/generated/_tanh_r4.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/_tanh_r8.F90 b/libgfortran/generated/_tanh_r8.F90
index ec79600213..a0bd38f77c 100644
--- a/libgfortran/generated/_tanh_r8.F90
+++ b/libgfortran/generated/_tanh_r8.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/all_l1.c b/libgfortran/generated/all_l1.c
index 0f008b97dc..4dcefcff4f 100644
--- a/libgfortran/generated/all_l1.c
+++ b/libgfortran/generated/all_l1.c
@@ -1,5 +1,5 @@
/* Implementation of the ALL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/all_l16.c b/libgfortran/generated/all_l16.c
index a9f85b4bfe..596c773fe4 100644
--- a/libgfortran/generated/all_l16.c
+++ b/libgfortran/generated/all_l16.c
@@ -1,5 +1,5 @@
/* Implementation of the ALL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/all_l2.c b/libgfortran/generated/all_l2.c
index 3ef4a1dc25..96fb1fe1d4 100644
--- a/libgfortran/generated/all_l2.c
+++ b/libgfortran/generated/all_l2.c
@@ -1,5 +1,5 @@
/* Implementation of the ALL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/all_l4.c b/libgfortran/generated/all_l4.c
index 58dab4f124..f46b24f49c 100644
--- a/libgfortran/generated/all_l4.c
+++ b/libgfortran/generated/all_l4.c
@@ -1,5 +1,5 @@
/* Implementation of the ALL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/all_l8.c b/libgfortran/generated/all_l8.c
index 4293aaa06b..f177bc9781 100644
--- a/libgfortran/generated/all_l8.c
+++ b/libgfortran/generated/all_l8.c
@@ -1,5 +1,5 @@
/* Implementation of the ALL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/any_l1.c b/libgfortran/generated/any_l1.c
index 46387fdd2a..d72d1b5974 100644
--- a/libgfortran/generated/any_l1.c
+++ b/libgfortran/generated/any_l1.c
@@ -1,5 +1,5 @@
/* Implementation of the ANY intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/any_l16.c b/libgfortran/generated/any_l16.c
index b29fdd923d..469141671b 100644
--- a/libgfortran/generated/any_l16.c
+++ b/libgfortran/generated/any_l16.c
@@ -1,5 +1,5 @@
/* Implementation of the ANY intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/any_l2.c b/libgfortran/generated/any_l2.c
index a63c593d4b..56cab47da1 100644
--- a/libgfortran/generated/any_l2.c
+++ b/libgfortran/generated/any_l2.c
@@ -1,5 +1,5 @@
/* Implementation of the ANY intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/any_l4.c b/libgfortran/generated/any_l4.c
index ccd35d7893..6f37735b85 100644
--- a/libgfortran/generated/any_l4.c
+++ b/libgfortran/generated/any_l4.c
@@ -1,5 +1,5 @@
/* Implementation of the ANY intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/any_l8.c b/libgfortran/generated/any_l8.c
index e089ea8bee..09b372f638 100644
--- a/libgfortran/generated/any_l8.c
+++ b/libgfortran/generated/any_l8.c
@@ -1,5 +1,5 @@
/* Implementation of the ANY intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/bessel_r10.c b/libgfortran/generated/bessel_r10.c
index e6977560d9..d58ad51133 100644
--- a/libgfortran/generated/bessel_r10.c
+++ b/libgfortran/generated/bessel_r10.c
@@ -1,6 +1,6 @@
/* Implementation of the BESSEL_JN and BESSEL_YN transformational
function using a recurrence algorithm.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/bessel_r16.c b/libgfortran/generated/bessel_r16.c
index 67dea307ef..992d1988b4 100644
--- a/libgfortran/generated/bessel_r16.c
+++ b/libgfortran/generated/bessel_r16.c
@@ -1,6 +1,6 @@
/* Implementation of the BESSEL_JN and BESSEL_YN transformational
function using a recurrence algorithm.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/bessel_r4.c b/libgfortran/generated/bessel_r4.c
index 7bdf07b3db..1690ef04df 100644
--- a/libgfortran/generated/bessel_r4.c
+++ b/libgfortran/generated/bessel_r4.c
@@ -1,6 +1,6 @@
/* Implementation of the BESSEL_JN and BESSEL_YN transformational
function using a recurrence algorithm.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/bessel_r8.c b/libgfortran/generated/bessel_r8.c
index 313bf179c7..52e21dda93 100644
--- a/libgfortran/generated/bessel_r8.c
+++ b/libgfortran/generated/bessel_r8.c
@@ -1,6 +1,6 @@
/* Implementation of the BESSEL_JN and BESSEL_YN transformational
function using a recurrence algorithm.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/count_16_l.c b/libgfortran/generated/count_16_l.c
index c6c0b5b9ce..3c1f6b2041 100644
--- a/libgfortran/generated/count_16_l.c
+++ b/libgfortran/generated/count_16_l.c
@@ -1,5 +1,5 @@
/* Implementation of the COUNT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/count_1_l.c b/libgfortran/generated/count_1_l.c
index 15d270d044..0494f32c76 100644
--- a/libgfortran/generated/count_1_l.c
+++ b/libgfortran/generated/count_1_l.c
@@ -1,5 +1,5 @@
/* Implementation of the COUNT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/count_2_l.c b/libgfortran/generated/count_2_l.c
index fd9b3d37ab..b4fd38ec92 100644
--- a/libgfortran/generated/count_2_l.c
+++ b/libgfortran/generated/count_2_l.c
@@ -1,5 +1,5 @@
/* Implementation of the COUNT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/count_4_l.c b/libgfortran/generated/count_4_l.c
index 1e15256caa..9e0559348c 100644
--- a/libgfortran/generated/count_4_l.c
+++ b/libgfortran/generated/count_4_l.c
@@ -1,5 +1,5 @@
/* Implementation of the COUNT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/count_8_l.c b/libgfortran/generated/count_8_l.c
index 97962a4fe2..c2f8479eb1 100644
--- a/libgfortran/generated/count_8_l.c
+++ b/libgfortran/generated/count_8_l.c
@@ -1,5 +1,5 @@
/* Implementation of the COUNT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_c10.c b/libgfortran/generated/cshift0_c10.c
index f5575329ff..0162e557f3 100644
--- a/libgfortran/generated/cshift0_c10.c
+++ b/libgfortran/generated/cshift0_c10.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_c16.c b/libgfortran/generated/cshift0_c16.c
index 2c5ffc1c62..6fd0621985 100644
--- a/libgfortran/generated/cshift0_c16.c
+++ b/libgfortran/generated/cshift0_c16.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_c4.c b/libgfortran/generated/cshift0_c4.c
index f437bc5916..14fdb3f845 100644
--- a/libgfortran/generated/cshift0_c4.c
+++ b/libgfortran/generated/cshift0_c4.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_c8.c b/libgfortran/generated/cshift0_c8.c
index 2dceecd8cb..56158a9c5b 100644
--- a/libgfortran/generated/cshift0_c8.c
+++ b/libgfortran/generated/cshift0_c8.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_i1.c b/libgfortran/generated/cshift0_i1.c
index 77c5c2ae91..82d8893de5 100644
--- a/libgfortran/generated/cshift0_i1.c
+++ b/libgfortran/generated/cshift0_i1.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_i16.c b/libgfortran/generated/cshift0_i16.c
index 13209a850d..80f2a5769d 100644
--- a/libgfortran/generated/cshift0_i16.c
+++ b/libgfortran/generated/cshift0_i16.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_i2.c b/libgfortran/generated/cshift0_i2.c
index a03859be99..1985a896d2 100644
--- a/libgfortran/generated/cshift0_i2.c
+++ b/libgfortran/generated/cshift0_i2.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_i4.c b/libgfortran/generated/cshift0_i4.c
index c3e179b67e..a65a4d94f4 100644
--- a/libgfortran/generated/cshift0_i4.c
+++ b/libgfortran/generated/cshift0_i4.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_i8.c b/libgfortran/generated/cshift0_i8.c
index b15e625e28..7cb1b15e65 100644
--- a/libgfortran/generated/cshift0_i8.c
+++ b/libgfortran/generated/cshift0_i8.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_r10.c b/libgfortran/generated/cshift0_r10.c
index 77d8d9a60b..bf634318f2 100644
--- a/libgfortran/generated/cshift0_r10.c
+++ b/libgfortran/generated/cshift0_r10.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_r16.c b/libgfortran/generated/cshift0_r16.c
index 6996519f45..66e4c8df12 100644
--- a/libgfortran/generated/cshift0_r16.c
+++ b/libgfortran/generated/cshift0_r16.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_r4.c b/libgfortran/generated/cshift0_r4.c
index 3ff3bc5c3f..0fe7020f6d 100644
--- a/libgfortran/generated/cshift0_r4.c
+++ b/libgfortran/generated/cshift0_r4.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift0_r8.c b/libgfortran/generated/cshift0_r8.c
index e71fe66189..653cc01961 100644
--- a/libgfortran/generated/cshift0_r8.c
+++ b/libgfortran/generated/cshift0_r8.c
@@ -1,5 +1,5 @@
/* Helper function for cshift functions.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift1_16.c b/libgfortran/generated/cshift1_16.c
index b0cc767aea..07cbb8235b 100644
--- a/libgfortran/generated/cshift1_16.c
+++ b/libgfortran/generated/cshift1_16.c
@@ -1,5 +1,5 @@
/* Implementation of the CSHIFT intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Feng Wang <wf_cs@yahoo.com>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift1_4.c b/libgfortran/generated/cshift1_4.c
index 5ea8a6aced..2f24403beb 100644
--- a/libgfortran/generated/cshift1_4.c
+++ b/libgfortran/generated/cshift1_4.c
@@ -1,5 +1,5 @@
/* Implementation of the CSHIFT intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Feng Wang <wf_cs@yahoo.com>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/cshift1_8.c b/libgfortran/generated/cshift1_8.c
index 5c4dbc3604..1138a38472 100644
--- a/libgfortran/generated/cshift1_8.c
+++ b/libgfortran/generated/cshift1_8.c
@@ -1,5 +1,5 @@
/* Implementation of the CSHIFT intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Feng Wang <wf_cs@yahoo.com>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/eoshift1_16.c b/libgfortran/generated/eoshift1_16.c
index 566d807b3a..99d64c1c22 100644
--- a/libgfortran/generated/eoshift1_16.c
+++ b/libgfortran/generated/eoshift1_16.c
@@ -1,5 +1,5 @@
/* Implementation of the EOSHIFT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/eoshift1_4.c b/libgfortran/generated/eoshift1_4.c
index bd5fabad31..50131c3ece 100644
--- a/libgfortran/generated/eoshift1_4.c
+++ b/libgfortran/generated/eoshift1_4.c
@@ -1,5 +1,5 @@
/* Implementation of the EOSHIFT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/eoshift1_8.c b/libgfortran/generated/eoshift1_8.c
index 814f81a814..fff683c357 100644
--- a/libgfortran/generated/eoshift1_8.c
+++ b/libgfortran/generated/eoshift1_8.c
@@ -1,5 +1,5 @@
/* Implementation of the EOSHIFT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/eoshift3_16.c b/libgfortran/generated/eoshift3_16.c
index 5e09df22eb..e4da311407 100644
--- a/libgfortran/generated/eoshift3_16.c
+++ b/libgfortran/generated/eoshift3_16.c
@@ -1,5 +1,5 @@
/* Implementation of the EOSHIFT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/eoshift3_4.c b/libgfortran/generated/eoshift3_4.c
index 970402c634..fc47f22a62 100644
--- a/libgfortran/generated/eoshift3_4.c
+++ b/libgfortran/generated/eoshift3_4.c
@@ -1,5 +1,5 @@
/* Implementation of the EOSHIFT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/eoshift3_8.c b/libgfortran/generated/eoshift3_8.c
index 991eb91516..a437bf8c64 100644
--- a/libgfortran/generated/eoshift3_8.c
+++ b/libgfortran/generated/eoshift3_8.c
@@ -1,5 +1,5 @@
/* Implementation of the EOSHIFT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/exponent_r10.c b/libgfortran/generated/exponent_r10.c
index 7972f64549..652cba314b 100644
--- a/libgfortran/generated/exponent_r10.c
+++ b/libgfortran/generated/exponent_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the EXPONENT intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/exponent_r16.c b/libgfortran/generated/exponent_r16.c
index 96c7b53bb8..73c135492c 100644
--- a/libgfortran/generated/exponent_r16.c
+++ b/libgfortran/generated/exponent_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the EXPONENT intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/exponent_r4.c b/libgfortran/generated/exponent_r4.c
index 1e8c3cabe1..084d2341e1 100644
--- a/libgfortran/generated/exponent_r4.c
+++ b/libgfortran/generated/exponent_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the EXPONENT intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/exponent_r8.c b/libgfortran/generated/exponent_r8.c
index 1aba57c474..7bfd42381e 100644
--- a/libgfortran/generated/exponent_r8.c
+++ b/libgfortran/generated/exponent_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the EXPONENT intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/fraction_r10.c b/libgfortran/generated/fraction_r10.c
index 9d394714e3..8dcedcf876 100644
--- a/libgfortran/generated/fraction_r10.c
+++ b/libgfortran/generated/fraction_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the FRACTION intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/fraction_r16.c b/libgfortran/generated/fraction_r16.c
index 52bca10ceb..8d86ceecea 100644
--- a/libgfortran/generated/fraction_r16.c
+++ b/libgfortran/generated/fraction_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the FRACTION intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/fraction_r4.c b/libgfortran/generated/fraction_r4.c
index 05dab629fa..f677a7ce84 100644
--- a/libgfortran/generated/fraction_r4.c
+++ b/libgfortran/generated/fraction_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the FRACTION intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/fraction_r8.c b/libgfortran/generated/fraction_r8.c
index 0db74ac22c..35363db23b 100644
--- a/libgfortran/generated/fraction_r8.c
+++ b/libgfortran/generated/fraction_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the FRACTION intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/iall_i1.c b/libgfortran/generated/iall_i1.c
index da0ce4d22f..3573d303d2 100644
--- a/libgfortran/generated/iall_i1.c
+++ b/libgfortran/generated/iall_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the IALL intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iall_i16.c b/libgfortran/generated/iall_i16.c
index a3f39d3c97..134243ecfb 100644
--- a/libgfortran/generated/iall_i16.c
+++ b/libgfortran/generated/iall_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the IALL intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iall_i2.c b/libgfortran/generated/iall_i2.c
index 4ca06a8a01..dd5b4dc108 100644
--- a/libgfortran/generated/iall_i2.c
+++ b/libgfortran/generated/iall_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the IALL intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iall_i4.c b/libgfortran/generated/iall_i4.c
index 8ff15f4ed4..234bed654c 100644
--- a/libgfortran/generated/iall_i4.c
+++ b/libgfortran/generated/iall_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the IALL intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iall_i8.c b/libgfortran/generated/iall_i8.c
index 08932d4862..0c55494d42 100644
--- a/libgfortran/generated/iall_i8.c
+++ b/libgfortran/generated/iall_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the IALL intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iany_i1.c b/libgfortran/generated/iany_i1.c
index 999230a114..9dfd8828fa 100644
--- a/libgfortran/generated/iany_i1.c
+++ b/libgfortran/generated/iany_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the IANY intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iany_i16.c b/libgfortran/generated/iany_i16.c
index 9410db45c3..e301c88d48 100644
--- a/libgfortran/generated/iany_i16.c
+++ b/libgfortran/generated/iany_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the IANY intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iany_i2.c b/libgfortran/generated/iany_i2.c
index 7068bb192e..281b5de6e7 100644
--- a/libgfortran/generated/iany_i2.c
+++ b/libgfortran/generated/iany_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the IANY intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iany_i4.c b/libgfortran/generated/iany_i4.c
index 62034cfd83..af5976f709 100644
--- a/libgfortran/generated/iany_i4.c
+++ b/libgfortran/generated/iany_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the IANY intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iany_i8.c b/libgfortran/generated/iany_i8.c
index f347d69f1d..67bbe3aec4 100644
--- a/libgfortran/generated/iany_i8.c
+++ b/libgfortran/generated/iany_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the IANY intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_c10.c b/libgfortran/generated/in_pack_c10.c
index 9148af5771..70c76d316e 100644
--- a/libgfortran/generated/in_pack_c10.c
+++ b/libgfortran/generated/in_pack_c10.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_c16.c b/libgfortran/generated/in_pack_c16.c
index e109efc1d5..fcab818931 100644
--- a/libgfortran/generated/in_pack_c16.c
+++ b/libgfortran/generated/in_pack_c16.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_c4.c b/libgfortran/generated/in_pack_c4.c
index 3afdaf3a44..ca6968f49c 100644
--- a/libgfortran/generated/in_pack_c4.c
+++ b/libgfortran/generated/in_pack_c4.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_c8.c b/libgfortran/generated/in_pack_c8.c
index 995a3676dc..d7274d476f 100644
--- a/libgfortran/generated/in_pack_c8.c
+++ b/libgfortran/generated/in_pack_c8.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_i1.c b/libgfortran/generated/in_pack_i1.c
index 2ee5e28374..61d19d0db6 100644
--- a/libgfortran/generated/in_pack_i1.c
+++ b/libgfortran/generated/in_pack_i1.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_i16.c b/libgfortran/generated/in_pack_i16.c
index ac6bb4f8ab..48c0ac69d9 100644
--- a/libgfortran/generated/in_pack_i16.c
+++ b/libgfortran/generated/in_pack_i16.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_i2.c b/libgfortran/generated/in_pack_i2.c
index f42a89254a..433e6aa10d 100644
--- a/libgfortran/generated/in_pack_i2.c
+++ b/libgfortran/generated/in_pack_i2.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_i4.c b/libgfortran/generated/in_pack_i4.c
index acde25aa9e..746c38ae97 100644
--- a/libgfortran/generated/in_pack_i4.c
+++ b/libgfortran/generated/in_pack_i4.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_i8.c b/libgfortran/generated/in_pack_i8.c
index 5be35445c2..5d36c21d48 100644
--- a/libgfortran/generated/in_pack_i8.c
+++ b/libgfortran/generated/in_pack_i8.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_r10.c b/libgfortran/generated/in_pack_r10.c
index c4680d8cc9..78166d9e63 100644
--- a/libgfortran/generated/in_pack_r10.c
+++ b/libgfortran/generated/in_pack_r10.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_r16.c b/libgfortran/generated/in_pack_r16.c
index ff09d1462f..ef73db1481 100644
--- a/libgfortran/generated/in_pack_r16.c
+++ b/libgfortran/generated/in_pack_r16.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_r4.c b/libgfortran/generated/in_pack_r4.c
index 34fe5829ae..aa4ea1ceb5 100644
--- a/libgfortran/generated/in_pack_r4.c
+++ b/libgfortran/generated/in_pack_r4.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_pack_r8.c b/libgfortran/generated/in_pack_r8.c
index b0728c9b69..feed039184 100644
--- a/libgfortran/generated/in_pack_r8.c
+++ b/libgfortran/generated/in_pack_r8.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_c10.c b/libgfortran/generated/in_unpack_c10.c
index 97f5bdfc69..eeee559fed 100644
--- a/libgfortran/generated/in_unpack_c10.c
+++ b/libgfortran/generated/in_unpack_c10.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_c16.c b/libgfortran/generated/in_unpack_c16.c
index 69cd4af2a9..9131708a54 100644
--- a/libgfortran/generated/in_unpack_c16.c
+++ b/libgfortran/generated/in_unpack_c16.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_c4.c b/libgfortran/generated/in_unpack_c4.c
index 7e68cdc21c..a96a78868a 100644
--- a/libgfortran/generated/in_unpack_c4.c
+++ b/libgfortran/generated/in_unpack_c4.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_c8.c b/libgfortran/generated/in_unpack_c8.c
index 28ea2d557f..784c7a1d4c 100644
--- a/libgfortran/generated/in_unpack_c8.c
+++ b/libgfortran/generated/in_unpack_c8.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_i1.c b/libgfortran/generated/in_unpack_i1.c
index 6226e6163c..c45864bfa4 100644
--- a/libgfortran/generated/in_unpack_i1.c
+++ b/libgfortran/generated/in_unpack_i1.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_i16.c b/libgfortran/generated/in_unpack_i16.c
index 480626caa8..1ab83c40f5 100644
--- a/libgfortran/generated/in_unpack_i16.c
+++ b/libgfortran/generated/in_unpack_i16.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_i2.c b/libgfortran/generated/in_unpack_i2.c
index ada4f1adb4..b3681075bc 100644
--- a/libgfortran/generated/in_unpack_i2.c
+++ b/libgfortran/generated/in_unpack_i2.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_i4.c b/libgfortran/generated/in_unpack_i4.c
index 29e4a99969..82074f1c01 100644
--- a/libgfortran/generated/in_unpack_i4.c
+++ b/libgfortran/generated/in_unpack_i4.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_i8.c b/libgfortran/generated/in_unpack_i8.c
index b4d07a0144..5b6e67ec64 100644
--- a/libgfortran/generated/in_unpack_i8.c
+++ b/libgfortran/generated/in_unpack_i8.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_r10.c b/libgfortran/generated/in_unpack_r10.c
index 3183e4a95b..ed26761515 100644
--- a/libgfortran/generated/in_unpack_r10.c
+++ b/libgfortran/generated/in_unpack_r10.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_r16.c b/libgfortran/generated/in_unpack_r16.c
index ef437a3f43..4c6ce6d2b8 100644
--- a/libgfortran/generated/in_unpack_r16.c
+++ b/libgfortran/generated/in_unpack_r16.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_r4.c b/libgfortran/generated/in_unpack_r4.c
index 4b851f2073..3074d2446d 100644
--- a/libgfortran/generated/in_unpack_r4.c
+++ b/libgfortran/generated/in_unpack_r4.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/in_unpack_r8.c b/libgfortran/generated/in_unpack_r8.c
index cb85fee442..3b1f671f88 100644
--- a/libgfortran/generated/in_unpack_r8.c
+++ b/libgfortran/generated/in_unpack_r8.c
@@ -1,5 +1,5 @@
/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iparity_i1.c b/libgfortran/generated/iparity_i1.c
index fdccc3d443..4e157f35ad 100644
--- a/libgfortran/generated/iparity_i1.c
+++ b/libgfortran/generated/iparity_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the IPARITY intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iparity_i16.c b/libgfortran/generated/iparity_i16.c
index 7a572ba713..b1dffa06aa 100644
--- a/libgfortran/generated/iparity_i16.c
+++ b/libgfortran/generated/iparity_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the IPARITY intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iparity_i2.c b/libgfortran/generated/iparity_i2.c
index 49233fbc56..51a9b83a36 100644
--- a/libgfortran/generated/iparity_i2.c
+++ b/libgfortran/generated/iparity_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the IPARITY intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iparity_i4.c b/libgfortran/generated/iparity_i4.c
index 1551e51feb..b20d62a016 100644
--- a/libgfortran/generated/iparity_i4.c
+++ b/libgfortran/generated/iparity_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the IPARITY intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/iparity_i8.c b/libgfortran/generated/iparity_i8.c
index a745bb6bec..998fdbb8fa 100644
--- a/libgfortran/generated/iparity_i8.c
+++ b/libgfortran/generated/iparity_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the IPARITY intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_c10.c b/libgfortran/generated/matmul_c10.c
index 0ff7d58b9a..a4f21fc89f 100644
--- a/libgfortran/generated/matmul_c10.c
+++ b/libgfortran/generated/matmul_c10.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_c16.c b/libgfortran/generated/matmul_c16.c
index a5fea00c8d..285199db85 100644
--- a/libgfortran/generated/matmul_c16.c
+++ b/libgfortran/generated/matmul_c16.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_c4.c b/libgfortran/generated/matmul_c4.c
index b5b0ecb83e..8624758d7f 100644
--- a/libgfortran/generated/matmul_c4.c
+++ b/libgfortran/generated/matmul_c4.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_c8.c b/libgfortran/generated/matmul_c8.c
index 077b709df9..005bbfd93b 100644
--- a/libgfortran/generated/matmul_c8.c
+++ b/libgfortran/generated/matmul_c8.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_i1.c b/libgfortran/generated/matmul_i1.c
index 72c998a1b4..4945c1c33e 100644
--- a/libgfortran/generated/matmul_i1.c
+++ b/libgfortran/generated/matmul_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_i16.c b/libgfortran/generated/matmul_i16.c
index 59cd80ba8d..5e9138bdf5 100644
--- a/libgfortran/generated/matmul_i16.c
+++ b/libgfortran/generated/matmul_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_i2.c b/libgfortran/generated/matmul_i2.c
index 6fddc4f18e..a47ace3893 100644
--- a/libgfortran/generated/matmul_i2.c
+++ b/libgfortran/generated/matmul_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_i4.c b/libgfortran/generated/matmul_i4.c
index f62cb56aa1..8635ab6893 100644
--- a/libgfortran/generated/matmul_i4.c
+++ b/libgfortran/generated/matmul_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_i8.c b/libgfortran/generated/matmul_i8.c
index 6d524905ea..751740e26c 100644
--- a/libgfortran/generated/matmul_i8.c
+++ b/libgfortran/generated/matmul_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_l16.c b/libgfortran/generated/matmul_l16.c
index 370db0731c..64370a79ee 100644
--- a/libgfortran/generated/matmul_l16.c
+++ b/libgfortran/generated/matmul_l16.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_l4.c b/libgfortran/generated/matmul_l4.c
index d901e3cd7d..8e4bf7ea32 100644
--- a/libgfortran/generated/matmul_l4.c
+++ b/libgfortran/generated/matmul_l4.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_l8.c b/libgfortran/generated/matmul_l8.c
index 5862c8d870..79f6abd9d9 100644
--- a/libgfortran/generated/matmul_l8.c
+++ b/libgfortran/generated/matmul_l8.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_r10.c b/libgfortran/generated/matmul_r10.c
index 6c9656adfd..a3bdeae77e 100644
--- a/libgfortran/generated/matmul_r10.c
+++ b/libgfortran/generated/matmul_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_r16.c b/libgfortran/generated/matmul_r16.c
index fbe8e09288..df58900c18 100644
--- a/libgfortran/generated/matmul_r16.c
+++ b/libgfortran/generated/matmul_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_r4.c b/libgfortran/generated/matmul_r4.c
index f80c8bfcd2..2322461d45 100644
--- a/libgfortran/generated/matmul_r4.c
+++ b/libgfortran/generated/matmul_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/matmul_r8.c b/libgfortran/generated/matmul_r8.c
index 7aec3b3c2a..51dffbcfff 100644
--- a/libgfortran/generated/matmul_r8.c
+++ b/libgfortran/generated/matmul_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_16_i1.c b/libgfortran/generated/maxloc0_16_i1.c
index d205d24667..661874b458 100644
--- a/libgfortran/generated/maxloc0_16_i1.c
+++ b/libgfortran/generated/maxloc0_16_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_16_i16.c b/libgfortran/generated/maxloc0_16_i16.c
index 3d8e3dc0fd..b44467dceb 100644
--- a/libgfortran/generated/maxloc0_16_i16.c
+++ b/libgfortran/generated/maxloc0_16_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_16_i2.c b/libgfortran/generated/maxloc0_16_i2.c
index 93f5cc4773..014759dd23 100644
--- a/libgfortran/generated/maxloc0_16_i2.c
+++ b/libgfortran/generated/maxloc0_16_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_16_i4.c b/libgfortran/generated/maxloc0_16_i4.c
index 6858c8ff7f..eae90a5333 100644
--- a/libgfortran/generated/maxloc0_16_i4.c
+++ b/libgfortran/generated/maxloc0_16_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_16_i8.c b/libgfortran/generated/maxloc0_16_i8.c
index f324b02fc3..850c6b56cc 100644
--- a/libgfortran/generated/maxloc0_16_i8.c
+++ b/libgfortran/generated/maxloc0_16_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_16_r10.c b/libgfortran/generated/maxloc0_16_r10.c
index 03560f711f..4a430b47ec 100644
--- a/libgfortran/generated/maxloc0_16_r10.c
+++ b/libgfortran/generated/maxloc0_16_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_16_r16.c b/libgfortran/generated/maxloc0_16_r16.c
index aeb2e81d2c..b59ccf22af 100644
--- a/libgfortran/generated/maxloc0_16_r16.c
+++ b/libgfortran/generated/maxloc0_16_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_16_r4.c b/libgfortran/generated/maxloc0_16_r4.c
index a88774e954..9e240a13a0 100644
--- a/libgfortran/generated/maxloc0_16_r4.c
+++ b/libgfortran/generated/maxloc0_16_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_16_r8.c b/libgfortran/generated/maxloc0_16_r8.c
index 8704cad65c..3862430b4e 100644
--- a/libgfortran/generated/maxloc0_16_r8.c
+++ b/libgfortran/generated/maxloc0_16_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_4_i1.c b/libgfortran/generated/maxloc0_4_i1.c
index 8e75ec977a..443608eaad 100644
--- a/libgfortran/generated/maxloc0_4_i1.c
+++ b/libgfortran/generated/maxloc0_4_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_4_i16.c b/libgfortran/generated/maxloc0_4_i16.c
index 67383b6c5b..a637cef070 100644
--- a/libgfortran/generated/maxloc0_4_i16.c
+++ b/libgfortran/generated/maxloc0_4_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_4_i2.c b/libgfortran/generated/maxloc0_4_i2.c
index 3991bd6b24..9b6efde60e 100644
--- a/libgfortran/generated/maxloc0_4_i2.c
+++ b/libgfortran/generated/maxloc0_4_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_4_i4.c b/libgfortran/generated/maxloc0_4_i4.c
index 0a714c3c18..ee12046cdd 100644
--- a/libgfortran/generated/maxloc0_4_i4.c
+++ b/libgfortran/generated/maxloc0_4_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_4_i8.c b/libgfortran/generated/maxloc0_4_i8.c
index c32c6fb4f9..ae827297f8 100644
--- a/libgfortran/generated/maxloc0_4_i8.c
+++ b/libgfortran/generated/maxloc0_4_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_4_r10.c b/libgfortran/generated/maxloc0_4_r10.c
index d2d7f2ef7f..d33564f456 100644
--- a/libgfortran/generated/maxloc0_4_r10.c
+++ b/libgfortran/generated/maxloc0_4_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_4_r16.c b/libgfortran/generated/maxloc0_4_r16.c
index e9d8620f0a..d21fcef0dd 100644
--- a/libgfortran/generated/maxloc0_4_r16.c
+++ b/libgfortran/generated/maxloc0_4_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_4_r4.c b/libgfortran/generated/maxloc0_4_r4.c
index c402868def..65dfe40aab 100644
--- a/libgfortran/generated/maxloc0_4_r4.c
+++ b/libgfortran/generated/maxloc0_4_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_4_r8.c b/libgfortran/generated/maxloc0_4_r8.c
index 5057e9c34a..2d3d71ed1f 100644
--- a/libgfortran/generated/maxloc0_4_r8.c
+++ b/libgfortran/generated/maxloc0_4_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_8_i1.c b/libgfortran/generated/maxloc0_8_i1.c
index 95d027dbd3..53e795e618 100644
--- a/libgfortran/generated/maxloc0_8_i1.c
+++ b/libgfortran/generated/maxloc0_8_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_8_i16.c b/libgfortran/generated/maxloc0_8_i16.c
index 1fa391b116..c24aff2737 100644
--- a/libgfortran/generated/maxloc0_8_i16.c
+++ b/libgfortran/generated/maxloc0_8_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_8_i2.c b/libgfortran/generated/maxloc0_8_i2.c
index d98a1a25ad..4bd66734ce 100644
--- a/libgfortran/generated/maxloc0_8_i2.c
+++ b/libgfortran/generated/maxloc0_8_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_8_i4.c b/libgfortran/generated/maxloc0_8_i4.c
index 56a77487fa..ad5f266789 100644
--- a/libgfortran/generated/maxloc0_8_i4.c
+++ b/libgfortran/generated/maxloc0_8_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_8_i8.c b/libgfortran/generated/maxloc0_8_i8.c
index dd1fe2c56f..3300f3b42d 100644
--- a/libgfortran/generated/maxloc0_8_i8.c
+++ b/libgfortran/generated/maxloc0_8_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_8_r10.c b/libgfortran/generated/maxloc0_8_r10.c
index 2c8394cefa..272c024e0a 100644
--- a/libgfortran/generated/maxloc0_8_r10.c
+++ b/libgfortran/generated/maxloc0_8_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_8_r16.c b/libgfortran/generated/maxloc0_8_r16.c
index 4ebf6f4738..68d6f6ef78 100644
--- a/libgfortran/generated/maxloc0_8_r16.c
+++ b/libgfortran/generated/maxloc0_8_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_8_r4.c b/libgfortran/generated/maxloc0_8_r4.c
index 893adadd7f..9b47f7a85a 100644
--- a/libgfortran/generated/maxloc0_8_r4.c
+++ b/libgfortran/generated/maxloc0_8_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc0_8_r8.c b/libgfortran/generated/maxloc0_8_r8.c
index e2343430a2..99fe24cb16 100644
--- a/libgfortran/generated/maxloc0_8_r8.c
+++ b/libgfortran/generated/maxloc0_8_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_16_i1.c b/libgfortran/generated/maxloc1_16_i1.c
index 4d1bea09c7..9c00eec0d8 100644
--- a/libgfortran/generated/maxloc1_16_i1.c
+++ b/libgfortran/generated/maxloc1_16_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_16_i16.c b/libgfortran/generated/maxloc1_16_i16.c
index eb9b2a0cd6..83f47f0b44 100644
--- a/libgfortran/generated/maxloc1_16_i16.c
+++ b/libgfortran/generated/maxloc1_16_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_16_i2.c b/libgfortran/generated/maxloc1_16_i2.c
index 91a0800a7b..9fbcc96efd 100644
--- a/libgfortran/generated/maxloc1_16_i2.c
+++ b/libgfortran/generated/maxloc1_16_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_16_i4.c b/libgfortran/generated/maxloc1_16_i4.c
index c680351674..599c541b00 100644
--- a/libgfortran/generated/maxloc1_16_i4.c
+++ b/libgfortran/generated/maxloc1_16_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_16_i8.c b/libgfortran/generated/maxloc1_16_i8.c
index ea164dc6b3..e41ffb20be 100644
--- a/libgfortran/generated/maxloc1_16_i8.c
+++ b/libgfortran/generated/maxloc1_16_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_16_r10.c b/libgfortran/generated/maxloc1_16_r10.c
index 4d5ed45a5f..1d54b29d46 100644
--- a/libgfortran/generated/maxloc1_16_r10.c
+++ b/libgfortran/generated/maxloc1_16_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_16_r16.c b/libgfortran/generated/maxloc1_16_r16.c
index 572d91617a..eb73e2b3bc 100644
--- a/libgfortran/generated/maxloc1_16_r16.c
+++ b/libgfortran/generated/maxloc1_16_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_16_r4.c b/libgfortran/generated/maxloc1_16_r4.c
index d9aef3e63b..91d10ed114 100644
--- a/libgfortran/generated/maxloc1_16_r4.c
+++ b/libgfortran/generated/maxloc1_16_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_16_r8.c b/libgfortran/generated/maxloc1_16_r8.c
index d1014cdb07..d95e1cf95d 100644
--- a/libgfortran/generated/maxloc1_16_r8.c
+++ b/libgfortran/generated/maxloc1_16_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_4_i1.c b/libgfortran/generated/maxloc1_4_i1.c
index 1ab44ab6b0..3fbef5dec7 100644
--- a/libgfortran/generated/maxloc1_4_i1.c
+++ b/libgfortran/generated/maxloc1_4_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_4_i16.c b/libgfortran/generated/maxloc1_4_i16.c
index 59bb2a31e3..f8c5e0416e 100644
--- a/libgfortran/generated/maxloc1_4_i16.c
+++ b/libgfortran/generated/maxloc1_4_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_4_i2.c b/libgfortran/generated/maxloc1_4_i2.c
index 794fde04d1..32a8f1d606 100644
--- a/libgfortran/generated/maxloc1_4_i2.c
+++ b/libgfortran/generated/maxloc1_4_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_4_i4.c b/libgfortran/generated/maxloc1_4_i4.c
index d10e937365..30747dba89 100644
--- a/libgfortran/generated/maxloc1_4_i4.c
+++ b/libgfortran/generated/maxloc1_4_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_4_i8.c b/libgfortran/generated/maxloc1_4_i8.c
index b761b8264e..1f55eddf33 100644
--- a/libgfortran/generated/maxloc1_4_i8.c
+++ b/libgfortran/generated/maxloc1_4_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_4_r10.c b/libgfortran/generated/maxloc1_4_r10.c
index f1d522df5c..aa7257836e 100644
--- a/libgfortran/generated/maxloc1_4_r10.c
+++ b/libgfortran/generated/maxloc1_4_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_4_r16.c b/libgfortran/generated/maxloc1_4_r16.c
index deaf571ba8..f21b6e63db 100644
--- a/libgfortran/generated/maxloc1_4_r16.c
+++ b/libgfortran/generated/maxloc1_4_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_4_r4.c b/libgfortran/generated/maxloc1_4_r4.c
index bc64495995..a688f0256f 100644
--- a/libgfortran/generated/maxloc1_4_r4.c
+++ b/libgfortran/generated/maxloc1_4_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_4_r8.c b/libgfortran/generated/maxloc1_4_r8.c
index af09cb3ece..b58bc40bae 100644
--- a/libgfortran/generated/maxloc1_4_r8.c
+++ b/libgfortran/generated/maxloc1_4_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_8_i1.c b/libgfortran/generated/maxloc1_8_i1.c
index caaabe72d4..90e06a8528 100644
--- a/libgfortran/generated/maxloc1_8_i1.c
+++ b/libgfortran/generated/maxloc1_8_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_8_i16.c b/libgfortran/generated/maxloc1_8_i16.c
index 384635c99e..b3b9960f93 100644
--- a/libgfortran/generated/maxloc1_8_i16.c
+++ b/libgfortran/generated/maxloc1_8_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_8_i2.c b/libgfortran/generated/maxloc1_8_i2.c
index 731c7237e1..66f01a9019 100644
--- a/libgfortran/generated/maxloc1_8_i2.c
+++ b/libgfortran/generated/maxloc1_8_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_8_i4.c b/libgfortran/generated/maxloc1_8_i4.c
index 26fdf834bb..b73580d984 100644
--- a/libgfortran/generated/maxloc1_8_i4.c
+++ b/libgfortran/generated/maxloc1_8_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_8_i8.c b/libgfortran/generated/maxloc1_8_i8.c
index a7f43d15f3..d77e73e44c 100644
--- a/libgfortran/generated/maxloc1_8_i8.c
+++ b/libgfortran/generated/maxloc1_8_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_8_r10.c b/libgfortran/generated/maxloc1_8_r10.c
index f996db4958..2cb6b12b29 100644
--- a/libgfortran/generated/maxloc1_8_r10.c
+++ b/libgfortran/generated/maxloc1_8_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_8_r16.c b/libgfortran/generated/maxloc1_8_r16.c
index d3ae5cb36b..e2d4058f29 100644
--- a/libgfortran/generated/maxloc1_8_r16.c
+++ b/libgfortran/generated/maxloc1_8_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_8_r4.c b/libgfortran/generated/maxloc1_8_r4.c
index c282cf7035..5e508ba7a9 100644
--- a/libgfortran/generated/maxloc1_8_r4.c
+++ b/libgfortran/generated/maxloc1_8_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxloc1_8_r8.c b/libgfortran/generated/maxloc1_8_r8.c
index 13446e0708..5dc03d5bee 100644
--- a/libgfortran/generated/maxloc1_8_r8.c
+++ b/libgfortran/generated/maxloc1_8_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxval_i1.c b/libgfortran/generated/maxval_i1.c
index eadec5ce9f..88e69aa2c7 100644
--- a/libgfortran/generated/maxval_i1.c
+++ b/libgfortran/generated/maxval_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXVAL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxval_i16.c b/libgfortran/generated/maxval_i16.c
index b83dd181e7..1d2001e1e7 100644
--- a/libgfortran/generated/maxval_i16.c
+++ b/libgfortran/generated/maxval_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXVAL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxval_i2.c b/libgfortran/generated/maxval_i2.c
index 72bb3b4dda..26b377a41d 100644
--- a/libgfortran/generated/maxval_i2.c
+++ b/libgfortran/generated/maxval_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXVAL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxval_i4.c b/libgfortran/generated/maxval_i4.c
index c939a0acd4..3631699f4d 100644
--- a/libgfortran/generated/maxval_i4.c
+++ b/libgfortran/generated/maxval_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXVAL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxval_i8.c b/libgfortran/generated/maxval_i8.c
index 50ee398d28..56587826cc 100644
--- a/libgfortran/generated/maxval_i8.c
+++ b/libgfortran/generated/maxval_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXVAL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxval_r10.c b/libgfortran/generated/maxval_r10.c
index b16d263415..95c5cf68ba 100644
--- a/libgfortran/generated/maxval_r10.c
+++ b/libgfortran/generated/maxval_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXVAL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxval_r16.c b/libgfortran/generated/maxval_r16.c
index df6f2b088e..c5513087ec 100644
--- a/libgfortran/generated/maxval_r16.c
+++ b/libgfortran/generated/maxval_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXVAL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxval_r4.c b/libgfortran/generated/maxval_r4.c
index edccaeb656..a31b67a6fc 100644
--- a/libgfortran/generated/maxval_r4.c
+++ b/libgfortran/generated/maxval_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXVAL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/maxval_r8.c b/libgfortran/generated/maxval_r8.c
index bfbfa981dd..5a6ad92389 100644
--- a/libgfortran/generated/maxval_r8.c
+++ b/libgfortran/generated/maxval_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MAXVAL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_16_i1.c b/libgfortran/generated/minloc0_16_i1.c
index ccd89f043a..4e399f96b3 100644
--- a/libgfortran/generated/minloc0_16_i1.c
+++ b/libgfortran/generated/minloc0_16_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_16_i16.c b/libgfortran/generated/minloc0_16_i16.c
index 65050b9843..9edf9f2e2f 100644
--- a/libgfortran/generated/minloc0_16_i16.c
+++ b/libgfortran/generated/minloc0_16_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_16_i2.c b/libgfortran/generated/minloc0_16_i2.c
index 9fb63255e3..3aec0b96c1 100644
--- a/libgfortran/generated/minloc0_16_i2.c
+++ b/libgfortran/generated/minloc0_16_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_16_i4.c b/libgfortran/generated/minloc0_16_i4.c
index 999ac4b50c..d3e0bb247c 100644
--- a/libgfortran/generated/minloc0_16_i4.c
+++ b/libgfortran/generated/minloc0_16_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_16_i8.c b/libgfortran/generated/minloc0_16_i8.c
index 3c2e3c3a9b..624fd19e93 100644
--- a/libgfortran/generated/minloc0_16_i8.c
+++ b/libgfortran/generated/minloc0_16_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_16_r10.c b/libgfortran/generated/minloc0_16_r10.c
index c661cdc0f6..9bf758288d 100644
--- a/libgfortran/generated/minloc0_16_r10.c
+++ b/libgfortran/generated/minloc0_16_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_16_r16.c b/libgfortran/generated/minloc0_16_r16.c
index c455e92de7..c1ad7e2dee 100644
--- a/libgfortran/generated/minloc0_16_r16.c
+++ b/libgfortran/generated/minloc0_16_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_16_r4.c b/libgfortran/generated/minloc0_16_r4.c
index 779935e4ff..59f7a0f5f9 100644
--- a/libgfortran/generated/minloc0_16_r4.c
+++ b/libgfortran/generated/minloc0_16_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_16_r8.c b/libgfortran/generated/minloc0_16_r8.c
index d902376777..d343dd950c 100644
--- a/libgfortran/generated/minloc0_16_r8.c
+++ b/libgfortran/generated/minloc0_16_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_4_i1.c b/libgfortran/generated/minloc0_4_i1.c
index a9e902dd36..7a03708fbf 100644
--- a/libgfortran/generated/minloc0_4_i1.c
+++ b/libgfortran/generated/minloc0_4_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_4_i16.c b/libgfortran/generated/minloc0_4_i16.c
index 7981c28ba0..df55940667 100644
--- a/libgfortran/generated/minloc0_4_i16.c
+++ b/libgfortran/generated/minloc0_4_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_4_i2.c b/libgfortran/generated/minloc0_4_i2.c
index 59439faa09..dd663c268e 100644
--- a/libgfortran/generated/minloc0_4_i2.c
+++ b/libgfortran/generated/minloc0_4_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_4_i4.c b/libgfortran/generated/minloc0_4_i4.c
index 5731a43ea7..c5544a1e94 100644
--- a/libgfortran/generated/minloc0_4_i4.c
+++ b/libgfortran/generated/minloc0_4_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_4_i8.c b/libgfortran/generated/minloc0_4_i8.c
index 50b8e1612e..3dd99af699 100644
--- a/libgfortran/generated/minloc0_4_i8.c
+++ b/libgfortran/generated/minloc0_4_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_4_r10.c b/libgfortran/generated/minloc0_4_r10.c
index 2701a859f5..72b81db9ca 100644
--- a/libgfortran/generated/minloc0_4_r10.c
+++ b/libgfortran/generated/minloc0_4_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_4_r16.c b/libgfortran/generated/minloc0_4_r16.c
index fca50b39ea..86e0167e1f 100644
--- a/libgfortran/generated/minloc0_4_r16.c
+++ b/libgfortran/generated/minloc0_4_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_4_r4.c b/libgfortran/generated/minloc0_4_r4.c
index 0469a5280d..c6eedf16e7 100644
--- a/libgfortran/generated/minloc0_4_r4.c
+++ b/libgfortran/generated/minloc0_4_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_4_r8.c b/libgfortran/generated/minloc0_4_r8.c
index 7be43c4af2..16e1e4c738 100644
--- a/libgfortran/generated/minloc0_4_r8.c
+++ b/libgfortran/generated/minloc0_4_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_8_i1.c b/libgfortran/generated/minloc0_8_i1.c
index 60bfe811cd..035cb121d5 100644
--- a/libgfortran/generated/minloc0_8_i1.c
+++ b/libgfortran/generated/minloc0_8_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_8_i16.c b/libgfortran/generated/minloc0_8_i16.c
index 27ddd4f992..b2809f06e9 100644
--- a/libgfortran/generated/minloc0_8_i16.c
+++ b/libgfortran/generated/minloc0_8_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_8_i2.c b/libgfortran/generated/minloc0_8_i2.c
index 38a4aa64ed..bf864bbf2d 100644
--- a/libgfortran/generated/minloc0_8_i2.c
+++ b/libgfortran/generated/minloc0_8_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_8_i4.c b/libgfortran/generated/minloc0_8_i4.c
index 5586ea9fae..b11679c4a7 100644
--- a/libgfortran/generated/minloc0_8_i4.c
+++ b/libgfortran/generated/minloc0_8_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_8_i8.c b/libgfortran/generated/minloc0_8_i8.c
index 1f21d2657d..5a2814b179 100644
--- a/libgfortran/generated/minloc0_8_i8.c
+++ b/libgfortran/generated/minloc0_8_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_8_r10.c b/libgfortran/generated/minloc0_8_r10.c
index df34ca3336..f90eb2de3b 100644
--- a/libgfortran/generated/minloc0_8_r10.c
+++ b/libgfortran/generated/minloc0_8_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_8_r16.c b/libgfortran/generated/minloc0_8_r16.c
index d8769ec950..91c74607c6 100644
--- a/libgfortran/generated/minloc0_8_r16.c
+++ b/libgfortran/generated/minloc0_8_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_8_r4.c b/libgfortran/generated/minloc0_8_r4.c
index b8ab0c9903..4968d4173e 100644
--- a/libgfortran/generated/minloc0_8_r4.c
+++ b/libgfortran/generated/minloc0_8_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc0_8_r8.c b/libgfortran/generated/minloc0_8_r8.c
index ff67f1ed5e..c6a8bb8e12 100644
--- a/libgfortran/generated/minloc0_8_r8.c
+++ b/libgfortran/generated/minloc0_8_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_16_i1.c b/libgfortran/generated/minloc1_16_i1.c
index a9b2d96b1c..6acb3e2f30 100644
--- a/libgfortran/generated/minloc1_16_i1.c
+++ b/libgfortran/generated/minloc1_16_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_16_i16.c b/libgfortran/generated/minloc1_16_i16.c
index 1e52c22203..0210841b96 100644
--- a/libgfortran/generated/minloc1_16_i16.c
+++ b/libgfortran/generated/minloc1_16_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_16_i2.c b/libgfortran/generated/minloc1_16_i2.c
index 7617b9e32b..b47c3a22ca 100644
--- a/libgfortran/generated/minloc1_16_i2.c
+++ b/libgfortran/generated/minloc1_16_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_16_i4.c b/libgfortran/generated/minloc1_16_i4.c
index 9729d11bce..67bedd8966 100644
--- a/libgfortran/generated/minloc1_16_i4.c
+++ b/libgfortran/generated/minloc1_16_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_16_i8.c b/libgfortran/generated/minloc1_16_i8.c
index 00421b2354..383ee79dac 100644
--- a/libgfortran/generated/minloc1_16_i8.c
+++ b/libgfortran/generated/minloc1_16_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_16_r10.c b/libgfortran/generated/minloc1_16_r10.c
index fb1401b951..af295f1e19 100644
--- a/libgfortran/generated/minloc1_16_r10.c
+++ b/libgfortran/generated/minloc1_16_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_16_r16.c b/libgfortran/generated/minloc1_16_r16.c
index 031286809e..5a49bbe2e5 100644
--- a/libgfortran/generated/minloc1_16_r16.c
+++ b/libgfortran/generated/minloc1_16_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_16_r4.c b/libgfortran/generated/minloc1_16_r4.c
index af5b67d900..7a7b50cb96 100644
--- a/libgfortran/generated/minloc1_16_r4.c
+++ b/libgfortran/generated/minloc1_16_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_16_r8.c b/libgfortran/generated/minloc1_16_r8.c
index dd2be3bb4d..e194d06b87 100644
--- a/libgfortran/generated/minloc1_16_r8.c
+++ b/libgfortran/generated/minloc1_16_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_4_i1.c b/libgfortran/generated/minloc1_4_i1.c
index b0bf6efba8..753b048264 100644
--- a/libgfortran/generated/minloc1_4_i1.c
+++ b/libgfortran/generated/minloc1_4_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_4_i16.c b/libgfortran/generated/minloc1_4_i16.c
index 882b4b4174..f974d30d90 100644
--- a/libgfortran/generated/minloc1_4_i16.c
+++ b/libgfortran/generated/minloc1_4_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_4_i2.c b/libgfortran/generated/minloc1_4_i2.c
index 877af7a5a0..31df9fc871 100644
--- a/libgfortran/generated/minloc1_4_i2.c
+++ b/libgfortran/generated/minloc1_4_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_4_i4.c b/libgfortran/generated/minloc1_4_i4.c
index 3a872706d1..b8887d45e9 100644
--- a/libgfortran/generated/minloc1_4_i4.c
+++ b/libgfortran/generated/minloc1_4_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_4_i8.c b/libgfortran/generated/minloc1_4_i8.c
index 22e43bf6c8..e08e251dc3 100644
--- a/libgfortran/generated/minloc1_4_i8.c
+++ b/libgfortran/generated/minloc1_4_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_4_r10.c b/libgfortran/generated/minloc1_4_r10.c
index 624006cd69..0bc366c6e6 100644
--- a/libgfortran/generated/minloc1_4_r10.c
+++ b/libgfortran/generated/minloc1_4_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_4_r16.c b/libgfortran/generated/minloc1_4_r16.c
index f32b608252..3e31016769 100644
--- a/libgfortran/generated/minloc1_4_r16.c
+++ b/libgfortran/generated/minloc1_4_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_4_r4.c b/libgfortran/generated/minloc1_4_r4.c
index 0ed5fe96e7..0f9bbcd144 100644
--- a/libgfortran/generated/minloc1_4_r4.c
+++ b/libgfortran/generated/minloc1_4_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_4_r8.c b/libgfortran/generated/minloc1_4_r8.c
index c780a42aa2..7369ba26e5 100644
--- a/libgfortran/generated/minloc1_4_r8.c
+++ b/libgfortran/generated/minloc1_4_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_8_i1.c b/libgfortran/generated/minloc1_8_i1.c
index 6f8c7d9443..2555b0838b 100644
--- a/libgfortran/generated/minloc1_8_i1.c
+++ b/libgfortran/generated/minloc1_8_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_8_i16.c b/libgfortran/generated/minloc1_8_i16.c
index 07cb01171a..5e290faaac 100644
--- a/libgfortran/generated/minloc1_8_i16.c
+++ b/libgfortran/generated/minloc1_8_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_8_i2.c b/libgfortran/generated/minloc1_8_i2.c
index 9ea0bf4c34..f4f4e3dd35 100644
--- a/libgfortran/generated/minloc1_8_i2.c
+++ b/libgfortran/generated/minloc1_8_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_8_i4.c b/libgfortran/generated/minloc1_8_i4.c
index 5e433cc1de..3c6ba7571e 100644
--- a/libgfortran/generated/minloc1_8_i4.c
+++ b/libgfortran/generated/minloc1_8_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_8_i8.c b/libgfortran/generated/minloc1_8_i8.c
index 364cf32495..d8a5d65872 100644
--- a/libgfortran/generated/minloc1_8_i8.c
+++ b/libgfortran/generated/minloc1_8_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_8_r10.c b/libgfortran/generated/minloc1_8_r10.c
index 901cf91a3f..3ed3080d56 100644
--- a/libgfortran/generated/minloc1_8_r10.c
+++ b/libgfortran/generated/minloc1_8_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_8_r16.c b/libgfortran/generated/minloc1_8_r16.c
index 7bf17ea37e..77936a6f97 100644
--- a/libgfortran/generated/minloc1_8_r16.c
+++ b/libgfortran/generated/minloc1_8_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_8_r4.c b/libgfortran/generated/minloc1_8_r4.c
index 5edb92f995..6b165bdd0c 100644
--- a/libgfortran/generated/minloc1_8_r4.c
+++ b/libgfortran/generated/minloc1_8_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minloc1_8_r8.c b/libgfortran/generated/minloc1_8_r8.c
index 405b9e1834..431a0e4051 100644
--- a/libgfortran/generated/minloc1_8_r8.c
+++ b/libgfortran/generated/minloc1_8_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minval_i1.c b/libgfortran/generated/minval_i1.c
index da7405b283..ab05613f16 100644
--- a/libgfortran/generated/minval_i1.c
+++ b/libgfortran/generated/minval_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the MINVAL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minval_i16.c b/libgfortran/generated/minval_i16.c
index 11cbeac5ff..178843d9c9 100644
--- a/libgfortran/generated/minval_i16.c
+++ b/libgfortran/generated/minval_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINVAL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minval_i2.c b/libgfortran/generated/minval_i2.c
index e208b57e2e..b03c96861f 100644
--- a/libgfortran/generated/minval_i2.c
+++ b/libgfortran/generated/minval_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the MINVAL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minval_i4.c b/libgfortran/generated/minval_i4.c
index 68ba76e8d4..a6a4b539b6 100644
--- a/libgfortran/generated/minval_i4.c
+++ b/libgfortran/generated/minval_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINVAL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minval_i8.c b/libgfortran/generated/minval_i8.c
index b089358d04..4c819d81cf 100644
--- a/libgfortran/generated/minval_i8.c
+++ b/libgfortran/generated/minval_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINVAL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minval_r10.c b/libgfortran/generated/minval_r10.c
index e9e6afee61..442036ff43 100644
--- a/libgfortran/generated/minval_r10.c
+++ b/libgfortran/generated/minval_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the MINVAL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minval_r16.c b/libgfortran/generated/minval_r16.c
index e4e38275d3..42b4ac75a7 100644
--- a/libgfortran/generated/minval_r16.c
+++ b/libgfortran/generated/minval_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the MINVAL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minval_r4.c b/libgfortran/generated/minval_r4.c
index 515b2db497..de50fabe9a 100644
--- a/libgfortran/generated/minval_r4.c
+++ b/libgfortran/generated/minval_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the MINVAL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/minval_r8.c b/libgfortran/generated/minval_r8.c
index c61656f874..c90becb58e 100644
--- a/libgfortran/generated/minval_r8.c
+++ b/libgfortran/generated/minval_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the MINVAL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/misc_specifics.F90 b/libgfortran/generated/misc_specifics.F90
index f5c52624ee..12fff2670d 100644
--- a/libgfortran/generated/misc_specifics.F90
+++ b/libgfortran/generated/misc_specifics.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/nearest_r10.c b/libgfortran/generated/nearest_r10.c
index fef7c3fe54..228a890a36 100644
--- a/libgfortran/generated/nearest_r10.c
+++ b/libgfortran/generated/nearest_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the NEAREST intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/nearest_r16.c b/libgfortran/generated/nearest_r16.c
index fa69061952..0dc8243adc 100644
--- a/libgfortran/generated/nearest_r16.c
+++ b/libgfortran/generated/nearest_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the NEAREST intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/nearest_r4.c b/libgfortran/generated/nearest_r4.c
index f9959ebc10..d9204f9ada 100644
--- a/libgfortran/generated/nearest_r4.c
+++ b/libgfortran/generated/nearest_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the NEAREST intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/nearest_r8.c b/libgfortran/generated/nearest_r8.c
index db3c28917b..6ab17a2b56 100644
--- a/libgfortran/generated/nearest_r8.c
+++ b/libgfortran/generated/nearest_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the NEAREST intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/norm2_r10.c b/libgfortran/generated/norm2_r10.c
index 0145c99b65..34863a4f88 100644
--- a/libgfortran/generated/norm2_r10.c
+++ b/libgfortran/generated/norm2_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the NORM2 intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/norm2_r16.c b/libgfortran/generated/norm2_r16.c
index 46329d5232..7dbae5aa92 100644
--- a/libgfortran/generated/norm2_r16.c
+++ b/libgfortran/generated/norm2_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the NORM2 intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/norm2_r4.c b/libgfortran/generated/norm2_r4.c
index 067dbee629..4c342fdd7a 100644
--- a/libgfortran/generated/norm2_r4.c
+++ b/libgfortran/generated/norm2_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the NORM2 intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/norm2_r8.c b/libgfortran/generated/norm2_r8.c
index 51c89427a4..91a03ad665 100644
--- a/libgfortran/generated/norm2_r8.c
+++ b/libgfortran/generated/norm2_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the NORM2 intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_c10.c b/libgfortran/generated/pack_c10.c
index 90866a840d..c1c9b6f6e7 100644
--- a/libgfortran/generated/pack_c10.c
+++ b/libgfortran/generated/pack_c10.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_c16.c b/libgfortran/generated/pack_c16.c
index 60f60d1e43..520f70f108 100644
--- a/libgfortran/generated/pack_c16.c
+++ b/libgfortran/generated/pack_c16.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_c4.c b/libgfortran/generated/pack_c4.c
index 36a9f941c7..826b513e67 100644
--- a/libgfortran/generated/pack_c4.c
+++ b/libgfortran/generated/pack_c4.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_c8.c b/libgfortran/generated/pack_c8.c
index 38880c1831..f260069b1b 100644
--- a/libgfortran/generated/pack_c8.c
+++ b/libgfortran/generated/pack_c8.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_i1.c b/libgfortran/generated/pack_i1.c
index 933cf9ab79..a8297084ee 100644
--- a/libgfortran/generated/pack_i1.c
+++ b/libgfortran/generated/pack_i1.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_i16.c b/libgfortran/generated/pack_i16.c
index 01d32ad0fa..0c7967bf08 100644
--- a/libgfortran/generated/pack_i16.c
+++ b/libgfortran/generated/pack_i16.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_i2.c b/libgfortran/generated/pack_i2.c
index de329abf11..105d636d51 100644
--- a/libgfortran/generated/pack_i2.c
+++ b/libgfortran/generated/pack_i2.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_i4.c b/libgfortran/generated/pack_i4.c
index 93ac356f81..8eb01cea0f 100644
--- a/libgfortran/generated/pack_i4.c
+++ b/libgfortran/generated/pack_i4.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_i8.c b/libgfortran/generated/pack_i8.c
index ec7b4275c3..9a0b4c67dd 100644
--- a/libgfortran/generated/pack_i8.c
+++ b/libgfortran/generated/pack_i8.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_r10.c b/libgfortran/generated/pack_r10.c
index 8b3e81693a..82ef6eb99e 100644
--- a/libgfortran/generated/pack_r10.c
+++ b/libgfortran/generated/pack_r10.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_r16.c b/libgfortran/generated/pack_r16.c
index 598ef8e576..1167505039 100644
--- a/libgfortran/generated/pack_r16.c
+++ b/libgfortran/generated/pack_r16.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_r4.c b/libgfortran/generated/pack_r4.c
index 955a812d24..8a0c030335 100644
--- a/libgfortran/generated/pack_r4.c
+++ b/libgfortran/generated/pack_r4.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pack_r8.c b/libgfortran/generated/pack_r8.c
index d0bb227e16..c65145ebb7 100644
--- a/libgfortran/generated/pack_r8.c
+++ b/libgfortran/generated/pack_r8.c
@@ -1,5 +1,5 @@
/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/parity_l1.c b/libgfortran/generated/parity_l1.c
index ff81d1ac5e..ba57c48bd4 100644
--- a/libgfortran/generated/parity_l1.c
+++ b/libgfortran/generated/parity_l1.c
@@ -1,5 +1,5 @@
/* Implementation of the PARITY intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/parity_l16.c b/libgfortran/generated/parity_l16.c
index 66970d00f9..d3d62d22e5 100644
--- a/libgfortran/generated/parity_l16.c
+++ b/libgfortran/generated/parity_l16.c
@@ -1,5 +1,5 @@
/* Implementation of the PARITY intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/parity_l2.c b/libgfortran/generated/parity_l2.c
index 5942257e3d..5a1c666652 100644
--- a/libgfortran/generated/parity_l2.c
+++ b/libgfortran/generated/parity_l2.c
@@ -1,5 +1,5 @@
/* Implementation of the PARITY intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/parity_l4.c b/libgfortran/generated/parity_l4.c
index 4f8a9f9175..de86923c23 100644
--- a/libgfortran/generated/parity_l4.c
+++ b/libgfortran/generated/parity_l4.c
@@ -1,5 +1,5 @@
/* Implementation of the PARITY intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/parity_l8.c b/libgfortran/generated/parity_l8.c
index 73b1d9fba3..c8bee4f4d4 100644
--- a/libgfortran/generated/parity_l8.c
+++ b/libgfortran/generated/parity_l8.c
@@ -1,5 +1,5 @@
/* Implementation of the PARITY intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c10_i16.c b/libgfortran/generated/pow_c10_i16.c
index 1b901cbbc1..9bcd81da6b 100644
--- a/libgfortran/generated/pow_c10_i16.c
+++ b/libgfortran/generated/pow_c10_i16.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c10_i4.c b/libgfortran/generated/pow_c10_i4.c
index b3f83ef7d9..c1362b345d 100644
--- a/libgfortran/generated/pow_c10_i4.c
+++ b/libgfortran/generated/pow_c10_i4.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c10_i8.c b/libgfortran/generated/pow_c10_i8.c
index 55ff66fea0..b30494d4d8 100644
--- a/libgfortran/generated/pow_c10_i8.c
+++ b/libgfortran/generated/pow_c10_i8.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c16_i16.c b/libgfortran/generated/pow_c16_i16.c
index e95fc7f26f..01f3cbc576 100644
--- a/libgfortran/generated/pow_c16_i16.c
+++ b/libgfortran/generated/pow_c16_i16.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c16_i4.c b/libgfortran/generated/pow_c16_i4.c
index 95fc349023..88a5dd198c 100644
--- a/libgfortran/generated/pow_c16_i4.c
+++ b/libgfortran/generated/pow_c16_i4.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c16_i8.c b/libgfortran/generated/pow_c16_i8.c
index a04b49b412..f23e5a35a4 100644
--- a/libgfortran/generated/pow_c16_i8.c
+++ b/libgfortran/generated/pow_c16_i8.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c4_i16.c b/libgfortran/generated/pow_c4_i16.c
index 562a56c038..378e9a3839 100644
--- a/libgfortran/generated/pow_c4_i16.c
+++ b/libgfortran/generated/pow_c4_i16.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c4_i4.c b/libgfortran/generated/pow_c4_i4.c
index 0375da86b8..34791382df 100644
--- a/libgfortran/generated/pow_c4_i4.c
+++ b/libgfortran/generated/pow_c4_i4.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c4_i8.c b/libgfortran/generated/pow_c4_i8.c
index 62340141a5..37b179567a 100644
--- a/libgfortran/generated/pow_c4_i8.c
+++ b/libgfortran/generated/pow_c4_i8.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c8_i16.c b/libgfortran/generated/pow_c8_i16.c
index 63d70ec81f..99061969f9 100644
--- a/libgfortran/generated/pow_c8_i16.c
+++ b/libgfortran/generated/pow_c8_i16.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c8_i4.c b/libgfortran/generated/pow_c8_i4.c
index 4bbb23aecc..42543f33c7 100644
--- a/libgfortran/generated/pow_c8_i4.c
+++ b/libgfortran/generated/pow_c8_i4.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_c8_i8.c b/libgfortran/generated/pow_c8_i8.c
index 06daa80ab5..3a5e23ca49 100644
--- a/libgfortran/generated/pow_c8_i8.c
+++ b/libgfortran/generated/pow_c8_i8.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_i16_i16.c b/libgfortran/generated/pow_i16_i16.c
index 1dd9877a33..cf13a71a54 100644
--- a/libgfortran/generated/pow_i16_i16.c
+++ b/libgfortran/generated/pow_i16_i16.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_i16_i4.c b/libgfortran/generated/pow_i16_i4.c
index 11f1ea2779..06e286b72b 100644
--- a/libgfortran/generated/pow_i16_i4.c
+++ b/libgfortran/generated/pow_i16_i4.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_i16_i8.c b/libgfortran/generated/pow_i16_i8.c
index d5e8fda8f4..82accff12f 100644
--- a/libgfortran/generated/pow_i16_i8.c
+++ b/libgfortran/generated/pow_i16_i8.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_i4_i16.c b/libgfortran/generated/pow_i4_i16.c
index b4556c6dc1..b13064b419 100644
--- a/libgfortran/generated/pow_i4_i16.c
+++ b/libgfortran/generated/pow_i4_i16.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_i4_i4.c b/libgfortran/generated/pow_i4_i4.c
index 829bfb7785..427ed09491 100644
--- a/libgfortran/generated/pow_i4_i4.c
+++ b/libgfortran/generated/pow_i4_i4.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_i4_i8.c b/libgfortran/generated/pow_i4_i8.c
index 67a582161c..d2f7e38c73 100644
--- a/libgfortran/generated/pow_i4_i8.c
+++ b/libgfortran/generated/pow_i4_i8.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_i8_i16.c b/libgfortran/generated/pow_i8_i16.c
index 00b080f987..032a99e7ba 100644
--- a/libgfortran/generated/pow_i8_i16.c
+++ b/libgfortran/generated/pow_i8_i16.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_i8_i4.c b/libgfortran/generated/pow_i8_i4.c
index 432db948a4..d788ce8f7f 100644
--- a/libgfortran/generated/pow_i8_i4.c
+++ b/libgfortran/generated/pow_i8_i4.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_i8_i8.c b/libgfortran/generated/pow_i8_i8.c
index 81ca5f5ea7..fdde5a3482 100644
--- a/libgfortran/generated/pow_i8_i8.c
+++ b/libgfortran/generated/pow_i8_i8.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_r10_i16.c b/libgfortran/generated/pow_r10_i16.c
index a866cbe83d..6d476e6404 100644
--- a/libgfortran/generated/pow_r10_i16.c
+++ b/libgfortran/generated/pow_r10_i16.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_r10_i8.c b/libgfortran/generated/pow_r10_i8.c
index 5852e009f7..b91e501379 100644
--- a/libgfortran/generated/pow_r10_i8.c
+++ b/libgfortran/generated/pow_r10_i8.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_r16_i16.c b/libgfortran/generated/pow_r16_i16.c
index 3e68fde95b..e8fc76dfc4 100644
--- a/libgfortran/generated/pow_r16_i16.c
+++ b/libgfortran/generated/pow_r16_i16.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_r16_i4.c b/libgfortran/generated/pow_r16_i4.c
index 65e6d2d057..46809d0f3f 100644
--- a/libgfortran/generated/pow_r16_i4.c
+++ b/libgfortran/generated/pow_r16_i4.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_r16_i8.c b/libgfortran/generated/pow_r16_i8.c
index 948a2159d5..0722010f1d 100644
--- a/libgfortran/generated/pow_r16_i8.c
+++ b/libgfortran/generated/pow_r16_i8.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_r4_i16.c b/libgfortran/generated/pow_r4_i16.c
index b13501432a..cc0135977e 100644
--- a/libgfortran/generated/pow_r4_i16.c
+++ b/libgfortran/generated/pow_r4_i16.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_r4_i8.c b/libgfortran/generated/pow_r4_i8.c
index 66f1f606f8..86e765827d 100644
--- a/libgfortran/generated/pow_r4_i8.c
+++ b/libgfortran/generated/pow_r4_i8.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_r8_i16.c b/libgfortran/generated/pow_r8_i16.c
index fab215e7ac..b865bb0a5e 100644
--- a/libgfortran/generated/pow_r8_i16.c
+++ b/libgfortran/generated/pow_r8_i16.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/pow_r8_i8.c b/libgfortran/generated/pow_r8_i8.c
index 8e646802b0..84491213c6 100644
--- a/libgfortran/generated/pow_r8_i8.c
+++ b/libgfortran/generated/pow_r8_i8.c
@@ -1,5 +1,5 @@
/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/product_c10.c b/libgfortran/generated/product_c10.c
index 7b325837ae..b65c1940d8 100644
--- a/libgfortran/generated/product_c10.c
+++ b/libgfortran/generated/product_c10.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_c16.c b/libgfortran/generated/product_c16.c
index 4f31e1b63d..ab9044ab22 100644
--- a/libgfortran/generated/product_c16.c
+++ b/libgfortran/generated/product_c16.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_c4.c b/libgfortran/generated/product_c4.c
index 038c502d47..a596f72da9 100644
--- a/libgfortran/generated/product_c4.c
+++ b/libgfortran/generated/product_c4.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_c8.c b/libgfortran/generated/product_c8.c
index a941a6c624..53862e4580 100644
--- a/libgfortran/generated/product_c8.c
+++ b/libgfortran/generated/product_c8.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_i1.c b/libgfortran/generated/product_i1.c
index 39d94fc81e..f48ba55710 100644
--- a/libgfortran/generated/product_i1.c
+++ b/libgfortran/generated/product_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_i16.c b/libgfortran/generated/product_i16.c
index a89070a44e..041565207b 100644
--- a/libgfortran/generated/product_i16.c
+++ b/libgfortran/generated/product_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_i2.c b/libgfortran/generated/product_i2.c
index c8e04ef85d..8bcefc318d 100644
--- a/libgfortran/generated/product_i2.c
+++ b/libgfortran/generated/product_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_i4.c b/libgfortran/generated/product_i4.c
index 1d3b9cf6a1..2060cb76d5 100644
--- a/libgfortran/generated/product_i4.c
+++ b/libgfortran/generated/product_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_i8.c b/libgfortran/generated/product_i8.c
index 7d61b9ba28..b8e20e6f5d 100644
--- a/libgfortran/generated/product_i8.c
+++ b/libgfortran/generated/product_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_r10.c b/libgfortran/generated/product_r10.c
index 16aa3059e1..315d4a0f9a 100644
--- a/libgfortran/generated/product_r10.c
+++ b/libgfortran/generated/product_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_r16.c b/libgfortran/generated/product_r16.c
index 3bb085ff19..377bed61e5 100644
--- a/libgfortran/generated/product_r16.c
+++ b/libgfortran/generated/product_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_r4.c b/libgfortran/generated/product_r4.c
index 18dfdde967..4283bf2c21 100644
--- a/libgfortran/generated/product_r4.c
+++ b/libgfortran/generated/product_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/product_r8.c b/libgfortran/generated/product_r8.c
index 7ac062aa98..18227fd47a 100644
--- a/libgfortran/generated/product_r8.c
+++ b/libgfortran/generated/product_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/reshape_c10.c b/libgfortran/generated/reshape_c10.c
index a7fb560d63..f8a52a3444 100644
--- a/libgfortran/generated/reshape_c10.c
+++ b/libgfortran/generated/reshape_c10.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/reshape_c16.c b/libgfortran/generated/reshape_c16.c
index a8186f98d5..a5f073b50b 100644
--- a/libgfortran/generated/reshape_c16.c
+++ b/libgfortran/generated/reshape_c16.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/reshape_c4.c b/libgfortran/generated/reshape_c4.c
index 1aa1934cef..24aa88fe2a 100644
--- a/libgfortran/generated/reshape_c4.c
+++ b/libgfortran/generated/reshape_c4.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/reshape_c8.c b/libgfortran/generated/reshape_c8.c
index 5b7f796234..5198db9c17 100644
--- a/libgfortran/generated/reshape_c8.c
+++ b/libgfortran/generated/reshape_c8.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/reshape_i16.c b/libgfortran/generated/reshape_i16.c
index b766e1a9ac..50a7377319 100644
--- a/libgfortran/generated/reshape_i16.c
+++ b/libgfortran/generated/reshape_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/reshape_i4.c b/libgfortran/generated/reshape_i4.c
index 4831857b82..25662c9241 100644
--- a/libgfortran/generated/reshape_i4.c
+++ b/libgfortran/generated/reshape_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/reshape_i8.c b/libgfortran/generated/reshape_i8.c
index 1729d488ba..90222bb43b 100644
--- a/libgfortran/generated/reshape_i8.c
+++ b/libgfortran/generated/reshape_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/reshape_r10.c b/libgfortran/generated/reshape_r10.c
index f1dd44a43a..409c47640f 100644
--- a/libgfortran/generated/reshape_r10.c
+++ b/libgfortran/generated/reshape_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/reshape_r16.c b/libgfortran/generated/reshape_r16.c
index 360b18ffdf..726707f616 100644
--- a/libgfortran/generated/reshape_r16.c
+++ b/libgfortran/generated/reshape_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/reshape_r4.c b/libgfortran/generated/reshape_r4.c
index e06cb54179..75a07587e4 100644
--- a/libgfortran/generated/reshape_r4.c
+++ b/libgfortran/generated/reshape_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/reshape_r8.c b/libgfortran/generated/reshape_r8.c
index 08888a8ad8..140b890ef0 100644
--- a/libgfortran/generated/reshape_r8.c
+++ b/libgfortran/generated/reshape_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/rrspacing_r10.c b/libgfortran/generated/rrspacing_r10.c
index 39032af3b4..88c3ec6eb3 100644
--- a/libgfortran/generated/rrspacing_r10.c
+++ b/libgfortran/generated/rrspacing_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the RRSPACING intrinsic
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargl@gcc.gnu.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/rrspacing_r16.c b/libgfortran/generated/rrspacing_r16.c
index 09cc982bd9..935e4202ac 100644
--- a/libgfortran/generated/rrspacing_r16.c
+++ b/libgfortran/generated/rrspacing_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the RRSPACING intrinsic
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargl@gcc.gnu.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/rrspacing_r4.c b/libgfortran/generated/rrspacing_r4.c
index 942979679c..7e3e854044 100644
--- a/libgfortran/generated/rrspacing_r4.c
+++ b/libgfortran/generated/rrspacing_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the RRSPACING intrinsic
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargl@gcc.gnu.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/rrspacing_r8.c b/libgfortran/generated/rrspacing_r8.c
index 750874ed8d..9e3bbcb834 100644
--- a/libgfortran/generated/rrspacing_r8.c
+++ b/libgfortran/generated/rrspacing_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the RRSPACING intrinsic
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargl@gcc.gnu.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/set_exponent_r10.c b/libgfortran/generated/set_exponent_r10.c
index 75849816a0..2145232c3e 100644
--- a/libgfortran/generated/set_exponent_r10.c
+++ b/libgfortran/generated/set_exponent_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the SET_EXPONENT intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/set_exponent_r16.c b/libgfortran/generated/set_exponent_r16.c
index f21c56ebec..94f45441d3 100644
--- a/libgfortran/generated/set_exponent_r16.c
+++ b/libgfortran/generated/set_exponent_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the SET_EXPONENT intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/set_exponent_r4.c b/libgfortran/generated/set_exponent_r4.c
index dc07139059..23340fbcf7 100644
--- a/libgfortran/generated/set_exponent_r4.c
+++ b/libgfortran/generated/set_exponent_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the SET_EXPONENT intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/set_exponent_r8.c b/libgfortran/generated/set_exponent_r8.c
index 290f677fda..a8d063a70e 100644
--- a/libgfortran/generated/set_exponent_r8.c
+++ b/libgfortran/generated/set_exponent_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the SET_EXPONENT intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/shape_i16.c b/libgfortran/generated/shape_i16.c
index c5047562d7..a9cb8a25b8 100644
--- a/libgfortran/generated/shape_i16.c
+++ b/libgfortran/generated/shape_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the SHAPE intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/shape_i4.c b/libgfortran/generated/shape_i4.c
index 0a56fe9fe9..04654eae76 100644
--- a/libgfortran/generated/shape_i4.c
+++ b/libgfortran/generated/shape_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the SHAPE intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/shape_i8.c b/libgfortran/generated/shape_i8.c
index 6e9dc22583..7b0988875c 100644
--- a/libgfortran/generated/shape_i8.c
+++ b/libgfortran/generated/shape_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the SHAPE intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/spacing_r10.c b/libgfortran/generated/spacing_r10.c
index 3f239e9760..963bc0513d 100644
--- a/libgfortran/generated/spacing_r10.c
+++ b/libgfortran/generated/spacing_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the SPACING intrinsic
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargl@gcc.gnu.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/spacing_r16.c b/libgfortran/generated/spacing_r16.c
index 8ea6cc83e9..d3982ebb10 100644
--- a/libgfortran/generated/spacing_r16.c
+++ b/libgfortran/generated/spacing_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the SPACING intrinsic
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargl@gcc.gnu.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/spacing_r4.c b/libgfortran/generated/spacing_r4.c
index 657647ba37..efe8dd2f11 100644
--- a/libgfortran/generated/spacing_r4.c
+++ b/libgfortran/generated/spacing_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the SPACING intrinsic
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargl@gcc.gnu.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/spacing_r8.c b/libgfortran/generated/spacing_r8.c
index 40ad836f3d..dc8336dae8 100644
--- a/libgfortran/generated/spacing_r8.c
+++ b/libgfortran/generated/spacing_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the SPACING intrinsic
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargl@gcc.gnu.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/spread_c10.c b/libgfortran/generated/spread_c10.c
index 592443e71a..fe5db79c69 100644
--- a/libgfortran/generated/spread_c10.c
+++ b/libgfortran/generated/spread_c10.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_c16.c b/libgfortran/generated/spread_c16.c
index 0fce566d75..ef99680691 100644
--- a/libgfortran/generated/spread_c16.c
+++ b/libgfortran/generated/spread_c16.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_c4.c b/libgfortran/generated/spread_c4.c
index 5d1e86b375..7934fe7fee 100644
--- a/libgfortran/generated/spread_c4.c
+++ b/libgfortran/generated/spread_c4.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_c8.c b/libgfortran/generated/spread_c8.c
index f8b0da8bc7..1afa6797bf 100644
--- a/libgfortran/generated/spread_c8.c
+++ b/libgfortran/generated/spread_c8.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_i1.c b/libgfortran/generated/spread_i1.c
index 44aef16d3d..7d177925a9 100644
--- a/libgfortran/generated/spread_i1.c
+++ b/libgfortran/generated/spread_i1.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_i16.c b/libgfortran/generated/spread_i16.c
index f4ad0180cc..c67738e580 100644
--- a/libgfortran/generated/spread_i16.c
+++ b/libgfortran/generated/spread_i16.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_i2.c b/libgfortran/generated/spread_i2.c
index 02e7628394..6c6347ad84 100644
--- a/libgfortran/generated/spread_i2.c
+++ b/libgfortran/generated/spread_i2.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_i4.c b/libgfortran/generated/spread_i4.c
index 0c8d927365..39e30ed7e7 100644
--- a/libgfortran/generated/spread_i4.c
+++ b/libgfortran/generated/spread_i4.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_i8.c b/libgfortran/generated/spread_i8.c
index 402c746cf3..bb4e5f2e88 100644
--- a/libgfortran/generated/spread_i8.c
+++ b/libgfortran/generated/spread_i8.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_r10.c b/libgfortran/generated/spread_r10.c
index 248186eb3f..9de46e3ba2 100644
--- a/libgfortran/generated/spread_r10.c
+++ b/libgfortran/generated/spread_r10.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_r16.c b/libgfortran/generated/spread_r16.c
index 50aef1087b..fbb03c1618 100644
--- a/libgfortran/generated/spread_r16.c
+++ b/libgfortran/generated/spread_r16.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_r4.c b/libgfortran/generated/spread_r4.c
index fab55c7a1d..24bfb9ac03 100644
--- a/libgfortran/generated/spread_r4.c
+++ b/libgfortran/generated/spread_r4.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/spread_r8.c b/libgfortran/generated/spread_r8.c
index 6076638d71..98bac832aa 100644
--- a/libgfortran/generated/spread_r8.c
+++ b/libgfortran/generated/spread_r8.c
@@ -1,5 +1,5 @@
/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/generated/sum_c10.c b/libgfortran/generated/sum_c10.c
index 176623dfff..15f4038012 100644
--- a/libgfortran/generated/sum_c10.c
+++ b/libgfortran/generated/sum_c10.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_c16.c b/libgfortran/generated/sum_c16.c
index 055a659304..56fd2b07d0 100644
--- a/libgfortran/generated/sum_c16.c
+++ b/libgfortran/generated/sum_c16.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_c4.c b/libgfortran/generated/sum_c4.c
index 6fab436b2c..ac7b4086d3 100644
--- a/libgfortran/generated/sum_c4.c
+++ b/libgfortran/generated/sum_c4.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_c8.c b/libgfortran/generated/sum_c8.c
index c3d35804d6..f8c6d70796 100644
--- a/libgfortran/generated/sum_c8.c
+++ b/libgfortran/generated/sum_c8.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_i1.c b/libgfortran/generated/sum_i1.c
index 88ee3338b8..4b208e555a 100644
--- a/libgfortran/generated/sum_i1.c
+++ b/libgfortran/generated/sum_i1.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_i16.c b/libgfortran/generated/sum_i16.c
index dc35e0709e..2d5950e07e 100644
--- a/libgfortran/generated/sum_i16.c
+++ b/libgfortran/generated/sum_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_i2.c b/libgfortran/generated/sum_i2.c
index 05c0882067..3122b9e1b9 100644
--- a/libgfortran/generated/sum_i2.c
+++ b/libgfortran/generated/sum_i2.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_i4.c b/libgfortran/generated/sum_i4.c
index 3653883c4a..df336fa223 100644
--- a/libgfortran/generated/sum_i4.c
+++ b/libgfortran/generated/sum_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_i8.c b/libgfortran/generated/sum_i8.c
index d2878df6f8..82a4bcd4ec 100644
--- a/libgfortran/generated/sum_i8.c
+++ b/libgfortran/generated/sum_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_r10.c b/libgfortran/generated/sum_r10.c
index cb5169c8a7..00734caf17 100644
--- a/libgfortran/generated/sum_r10.c
+++ b/libgfortran/generated/sum_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_r16.c b/libgfortran/generated/sum_r16.c
index 6c67f295f4..3dd38d1732 100644
--- a/libgfortran/generated/sum_r16.c
+++ b/libgfortran/generated/sum_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_r4.c b/libgfortran/generated/sum_r4.c
index a3a4b59cee..9d679664e4 100644
--- a/libgfortran/generated/sum_r4.c
+++ b/libgfortran/generated/sum_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/sum_r8.c b/libgfortran/generated/sum_r8.c
index 0cbf649db2..66555b47ae 100644
--- a/libgfortran/generated/sum_r8.c
+++ b/libgfortran/generated/sum_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/generated/transpose_c10.c b/libgfortran/generated/transpose_c10.c
index bd20122092..cfee09c2d9 100644
--- a/libgfortran/generated/transpose_c10.c
+++ b/libgfortran/generated/transpose_c10.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/transpose_c16.c b/libgfortran/generated/transpose_c16.c
index 044509f67f..f6de322b71 100644
--- a/libgfortran/generated/transpose_c16.c
+++ b/libgfortran/generated/transpose_c16.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/transpose_c4.c b/libgfortran/generated/transpose_c4.c
index c6dd90580e..6cdf357059 100644
--- a/libgfortran/generated/transpose_c4.c
+++ b/libgfortran/generated/transpose_c4.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/transpose_c8.c b/libgfortran/generated/transpose_c8.c
index cd5926bf84..c2bbc00477 100644
--- a/libgfortran/generated/transpose_c8.c
+++ b/libgfortran/generated/transpose_c8.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/transpose_i16.c b/libgfortran/generated/transpose_i16.c
index 44aff01ff5..3835555e55 100644
--- a/libgfortran/generated/transpose_i16.c
+++ b/libgfortran/generated/transpose_i16.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/transpose_i4.c b/libgfortran/generated/transpose_i4.c
index e6844fccbd..d7797fc937 100644
--- a/libgfortran/generated/transpose_i4.c
+++ b/libgfortran/generated/transpose_i4.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/transpose_i8.c b/libgfortran/generated/transpose_i8.c
index df4a28af2b..b522ec013f 100644
--- a/libgfortran/generated/transpose_i8.c
+++ b/libgfortran/generated/transpose_i8.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/transpose_r10.c b/libgfortran/generated/transpose_r10.c
index 2ce05798b3..7f8436b3d4 100644
--- a/libgfortran/generated/transpose_r10.c
+++ b/libgfortran/generated/transpose_r10.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/transpose_r16.c b/libgfortran/generated/transpose_r16.c
index 5009d16cc1..1e061c53eb 100644
--- a/libgfortran/generated/transpose_r16.c
+++ b/libgfortran/generated/transpose_r16.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/transpose_r4.c b/libgfortran/generated/transpose_r4.c
index 71f70fcd9b..415df47500 100644
--- a/libgfortran/generated/transpose_r4.c
+++ b/libgfortran/generated/transpose_r4.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/transpose_r8.c b/libgfortran/generated/transpose_r8.c
index 9f541e0fb7..c82d25ad07 100644
--- a/libgfortran/generated/transpose_r8.c
+++ b/libgfortran/generated/transpose_r8.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/generated/unpack_c10.c b/libgfortran/generated/unpack_c10.c
index 6fc2bdc879..365d209071 100644
--- a/libgfortran/generated/unpack_c10.c
+++ b/libgfortran/generated/unpack_c10.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
@@ -104,6 +104,8 @@ unpack0_c10 (gfc_array_c10 *ret, const gfc_array_c10 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -249,6 +251,8 @@ unpack1_c10 (gfc_array_c10 *ret, const gfc_array_c10 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_c16.c b/libgfortran/generated/unpack_c16.c
index 443a51eea0..fc948e0827 100644
--- a/libgfortran/generated/unpack_c16.c
+++ b/libgfortran/generated/unpack_c16.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
@@ -104,6 +104,8 @@ unpack0_c16 (gfc_array_c16 *ret, const gfc_array_c16 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -249,6 +251,8 @@ unpack1_c16 (gfc_array_c16 *ret, const gfc_array_c16 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_c4.c b/libgfortran/generated/unpack_c4.c
index c8b30f5e6d..fa32c0c0ee 100644
--- a/libgfortran/generated/unpack_c4.c
+++ b/libgfortran/generated/unpack_c4.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
@@ -104,6 +104,8 @@ unpack0_c4 (gfc_array_c4 *ret, const gfc_array_c4 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -249,6 +251,8 @@ unpack1_c4 (gfc_array_c4 *ret, const gfc_array_c4 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_c8.c b/libgfortran/generated/unpack_c8.c
index 60d9de1b65..0df20551e1 100644
--- a/libgfortran/generated/unpack_c8.c
+++ b/libgfortran/generated/unpack_c8.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
@@ -104,6 +104,8 @@ unpack0_c8 (gfc_array_c8 *ret, const gfc_array_c8 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -249,6 +251,8 @@ unpack1_c8 (gfc_array_c8 *ret, const gfc_array_c8 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_i1.c b/libgfortran/generated/unpack_i1.c
index 522ce74a9f..c5ab3dd493 100644
--- a/libgfortran/generated/unpack_i1.c
+++ b/libgfortran/generated/unpack_i1.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
@@ -104,6 +104,8 @@ unpack0_i1 (gfc_array_i1 *ret, const gfc_array_i1 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -249,6 +251,8 @@ unpack1_i1 (gfc_array_i1 *ret, const gfc_array_i1 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_i16.c b/libgfortran/generated/unpack_i16.c
index 7e0d1f766d..2aa66c313d 100644
--- a/libgfortran/generated/unpack_i16.c
+++ b/libgfortran/generated/unpack_i16.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
@@ -104,6 +104,8 @@ unpack0_i16 (gfc_array_i16 *ret, const gfc_array_i16 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -249,6 +251,8 @@ unpack1_i16 (gfc_array_i16 *ret, const gfc_array_i16 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_i2.c b/libgfortran/generated/unpack_i2.c
index b0d21dc246..4402aa66d8 100644
--- a/libgfortran/generated/unpack_i2.c
+++ b/libgfortran/generated/unpack_i2.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
@@ -104,6 +104,8 @@ unpack0_i2 (gfc_array_i2 *ret, const gfc_array_i2 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -249,6 +251,8 @@ unpack1_i2 (gfc_array_i2 *ret, const gfc_array_i2 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_i4.c b/libgfortran/generated/unpack_i4.c
index beac1969a5..ac387bdcd7 100644
--- a/libgfortran/generated/unpack_i4.c
+++ b/libgfortran/generated/unpack_i4.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
@@ -104,6 +104,8 @@ unpack0_i4 (gfc_array_i4 *ret, const gfc_array_i4 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -249,6 +251,8 @@ unpack1_i4 (gfc_array_i4 *ret, const gfc_array_i4 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_i8.c b/libgfortran/generated/unpack_i8.c
index 75cd2e93fe..8594f86ba8 100644
--- a/libgfortran/generated/unpack_i8.c
+++ b/libgfortran/generated/unpack_i8.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
@@ -104,6 +104,8 @@ unpack0_i8 (gfc_array_i8 *ret, const gfc_array_i8 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -249,6 +251,8 @@ unpack1_i8 (gfc_array_i8 *ret, const gfc_array_i8 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_r10.c b/libgfortran/generated/unpack_r10.c
index 926a45777a..7b0397faac 100644
--- a/libgfortran/generated/unpack_r10.c
+++ b/libgfortran/generated/unpack_r10.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
@@ -104,6 +104,8 @@ unpack0_r10 (gfc_array_r10 *ret, const gfc_array_r10 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -249,6 +251,8 @@ unpack1_r10 (gfc_array_r10 *ret, const gfc_array_r10 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_r16.c b/libgfortran/generated/unpack_r16.c
index 6fff184cdf..1504b75b9b 100644
--- a/libgfortran/generated/unpack_r16.c
+++ b/libgfortran/generated/unpack_r16.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
@@ -104,6 +104,8 @@ unpack0_r16 (gfc_array_r16 *ret, const gfc_array_r16 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -249,6 +251,8 @@ unpack1_r16 (gfc_array_r16 *ret, const gfc_array_r16 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_r4.c b/libgfortran/generated/unpack_r4.c
index c9008745f3..7124254d1d 100644
--- a/libgfortran/generated/unpack_r4.c
+++ b/libgfortran/generated/unpack_r4.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
@@ -104,6 +104,8 @@ unpack0_r4 (gfc_array_r4 *ret, const gfc_array_r4 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -249,6 +251,8 @@ unpack1_r4 (gfc_array_r4 *ret, const gfc_array_r4 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/generated/unpack_r8.c b/libgfortran/generated/unpack_r8.c
index 5999a51ab6..6910457e75 100644
--- a/libgfortran/generated/unpack_r8.c
+++ b/libgfortran/generated/unpack_r8.c
@@ -1,5 +1,5 @@
/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
@@ -104,6 +104,8 @@ unpack0_r8 (gfc_array_r8 *ret, const gfc_array_r8 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -249,6 +251,8 @@ unpack1_r8 (gfc_array_r8 *ret, const gfc_array_r8 *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/gfortran.map b/libgfortran/gfortran.map
index 80a9a00071..cfbfb160a5 100644
--- a/libgfortran/gfortran.map
+++ b/libgfortran/gfortran.map
@@ -1195,6 +1195,87 @@ GFORTRAN_1.5 {
_gfortran_backtrace;
} GFORTRAN_1.4;
+GFORTRAN_1.6 {
+ global:
+ _gfortran_ieee_procedure_entry;
+ _gfortran_ieee_procedure_exit;
+ __ieee_arithmetic_MOD_ieee_class_4;
+ __ieee_arithmetic_MOD_ieee_class_8;
+ __ieee_arithmetic_MOD_ieee_class_type_eq;
+ __ieee_arithmetic_MOD_ieee_class_type_ne;
+ __ieee_arithmetic_MOD_ieee_get_rounding_mode;
+ __ieee_arithmetic_MOD_ieee_get_underflow_mode;
+ __ieee_arithmetic_MOD_ieee_round_type_eq;
+ __ieee_arithmetic_MOD_ieee_round_type_ne;
+ __ieee_arithmetic_MOD_ieee_selected_real_kind;
+ __ieee_arithmetic_MOD_ieee_set_rounding_mode;
+ __ieee_arithmetic_MOD_ieee_set_underflow_mode;
+ __ieee_arithmetic_MOD_ieee_support_datatype_4;
+ __ieee_arithmetic_MOD_ieee_support_datatype_8;
+ __ieee_arithmetic_MOD_ieee_support_datatype_10;
+ __ieee_arithmetic_MOD_ieee_support_datatype_16;
+ __ieee_arithmetic_MOD_ieee_support_datatype_noarg;
+ __ieee_arithmetic_MOD_ieee_support_denormal_4;
+ __ieee_arithmetic_MOD_ieee_support_denormal_8;
+ __ieee_arithmetic_MOD_ieee_support_denormal_10;
+ __ieee_arithmetic_MOD_ieee_support_denormal_16;
+ __ieee_arithmetic_MOD_ieee_support_denormal_noarg;
+ __ieee_arithmetic_MOD_ieee_support_divide_4;
+ __ieee_arithmetic_MOD_ieee_support_divide_8;
+ __ieee_arithmetic_MOD_ieee_support_divide_10;
+ __ieee_arithmetic_MOD_ieee_support_divide_16;
+ __ieee_arithmetic_MOD_ieee_support_divide_noarg;
+ __ieee_arithmetic_MOD_ieee_support_inf_4;
+ __ieee_arithmetic_MOD_ieee_support_inf_8;
+ __ieee_arithmetic_MOD_ieee_support_inf_10;
+ __ieee_arithmetic_MOD_ieee_support_inf_16;
+ __ieee_arithmetic_MOD_ieee_support_inf_noarg;
+ __ieee_arithmetic_MOD_ieee_support_io_4;
+ __ieee_arithmetic_MOD_ieee_support_io_8;
+ __ieee_arithmetic_MOD_ieee_support_io_10;
+ __ieee_arithmetic_MOD_ieee_support_io_16;
+ __ieee_arithmetic_MOD_ieee_support_io_noarg;
+ __ieee_arithmetic_MOD_ieee_support_nan_4;
+ __ieee_arithmetic_MOD_ieee_support_nan_8;
+ __ieee_arithmetic_MOD_ieee_support_nan_10;
+ __ieee_arithmetic_MOD_ieee_support_nan_16;
+ __ieee_arithmetic_MOD_ieee_support_nan_noarg;
+ __ieee_arithmetic_MOD_ieee_support_rounding_4;
+ __ieee_arithmetic_MOD_ieee_support_rounding_8;
+ __ieee_arithmetic_MOD_ieee_support_rounding_10;
+ __ieee_arithmetic_MOD_ieee_support_rounding_16;
+ __ieee_arithmetic_MOD_ieee_support_rounding_noarg;
+ __ieee_arithmetic_MOD_ieee_support_sqrt_4;
+ __ieee_arithmetic_MOD_ieee_support_sqrt_8;
+ __ieee_arithmetic_MOD_ieee_support_sqrt_10;
+ __ieee_arithmetic_MOD_ieee_support_sqrt_16;
+ __ieee_arithmetic_MOD_ieee_support_sqrt_noarg;
+ __ieee_arithmetic_MOD_ieee_support_standard_4;
+ __ieee_arithmetic_MOD_ieee_support_standard_8;
+ __ieee_arithmetic_MOD_ieee_support_standard_10;
+ __ieee_arithmetic_MOD_ieee_support_standard_16;
+ __ieee_arithmetic_MOD_ieee_support_standard_noarg;
+ __ieee_arithmetic_MOD_ieee_support_underflow_control_4;
+ __ieee_arithmetic_MOD_ieee_support_underflow_control_8;
+ __ieee_arithmetic_MOD_ieee_support_underflow_control_10;
+ __ieee_arithmetic_MOD_ieee_support_underflow_control_16;
+ __ieee_arithmetic_MOD_ieee_support_underflow_control_noarg;
+ __ieee_arithmetic_MOD_ieee_value_4;
+ __ieee_arithmetic_MOD_ieee_value_8;
+ __ieee_exceptions_MOD_ieee_all;
+ __ieee_exceptions_MOD_ieee_get_flag;
+ __ieee_exceptions_MOD_ieee_get_halting_mode;
+ __ieee_exceptions_MOD_ieee_get_status;
+ __ieee_exceptions_MOD_ieee_set_flag;
+ __ieee_exceptions_MOD_ieee_set_halting_mode;
+ __ieee_exceptions_MOD_ieee_set_status;
+ __ieee_exceptions_MOD_ieee_support_flag_4;
+ __ieee_exceptions_MOD_ieee_support_flag_8;
+ __ieee_exceptions_MOD_ieee_support_flag_noarg;
+ __ieee_exceptions_MOD_ieee_support_halting;
+ __ieee_exceptions_MOD_ieee_usual;
+} GFORTRAN_1.5;
+
F2C_1.0 {
global:
_gfortran_f2c_specific__abs_c4;
diff --git a/libgfortran/ieee/ieee_arithmetic.F90 b/libgfortran/ieee/ieee_arithmetic.F90
new file mode 100644
index 0000000000..f81a4f89e1
--- /dev/null
+++ b/libgfortran/ieee/ieee_arithmetic.F90
@@ -0,0 +1,872 @@
+! Implementation of the IEEE_ARITHMETIC standard intrinsic module
+! Copyright (C) 2013-2015 Free Software Foundation, Inc.
+! Contributed by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+!
+! This file is part of the GNU Fortran runtime library (libgfortran).
+!
+! Libgfortran is free software; you can redistribute it and/or
+! modify it under the terms of the GNU General Public
+! License as published by the Free Software Foundation; either
+! version 3 of the License, or (at your option) any later version.
+!
+! Libgfortran is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+! GNU General Public License for more details.
+!
+! Under Section 7 of GPL version 3, you are granted additional
+! permissions described in the GCC Runtime Library Exception, version
+! 3.1, as published by the Free Software Foundation.
+!
+! You should have received a copy of the GNU General Public License and
+! a copy of the GCC Runtime Library Exception along with this program;
+! see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+! <http://www.gnu.org/licenses/>. */
+
+#include "config.h"
+#include "kinds.inc"
+#include "c99_protos.inc"
+#include "fpu-target.inc"
+
+module IEEE_ARITHMETIC
+
+ use IEEE_EXCEPTIONS
+ implicit none
+ private
+
+ ! Every public symbol from IEEE_EXCEPTIONS must be made public here
+ public :: IEEE_FLAG_TYPE, IEEE_INVALID, IEEE_OVERFLOW, &
+ IEEE_DIVIDE_BY_ZERO, IEEE_UNDERFLOW, IEEE_INEXACT, IEEE_USUAL, &
+ IEEE_ALL, IEEE_STATUS_TYPE, IEEE_GET_FLAG, IEEE_GET_HALTING_MODE, &
+ IEEE_GET_STATUS, IEEE_SET_FLAG, IEEE_SET_HALTING_MODE, &
+ IEEE_SET_STATUS, IEEE_SUPPORT_FLAG, IEEE_SUPPORT_HALTING
+
+ ! Derived types and named constants
+
+ type, public :: IEEE_CLASS_TYPE
+ private
+ integer :: hidden
+ end type
+
+ type(IEEE_CLASS_TYPE), parameter, public :: &
+ IEEE_OTHER_VALUE = IEEE_CLASS_TYPE(0), &
+ IEEE_SIGNALING_NAN = IEEE_CLASS_TYPE(1), &
+ IEEE_QUIET_NAN = IEEE_CLASS_TYPE(2), &
+ IEEE_NEGATIVE_INF = IEEE_CLASS_TYPE(3), &
+ IEEE_NEGATIVE_NORMAL = IEEE_CLASS_TYPE(4), &
+ IEEE_NEGATIVE_DENORMAL = IEEE_CLASS_TYPE(5), &
+ IEEE_NEGATIVE_ZERO = IEEE_CLASS_TYPE(6), &
+ IEEE_POSITIVE_ZERO = IEEE_CLASS_TYPE(7), &
+ IEEE_POSITIVE_DENORMAL = IEEE_CLASS_TYPE(8), &
+ IEEE_POSITIVE_NORMAL = IEEE_CLASS_TYPE(9), &
+ IEEE_POSITIVE_INF = IEEE_CLASS_TYPE(10)
+
+ type, public :: IEEE_ROUND_TYPE
+ private
+ integer :: hidden
+ end type
+
+ type(IEEE_ROUND_TYPE), parameter, public :: &
+ IEEE_NEAREST = IEEE_ROUND_TYPE(GFC_FPE_TONEAREST), &
+ IEEE_TO_ZERO = IEEE_ROUND_TYPE(GFC_FPE_TOWARDZERO), &
+ IEEE_UP = IEEE_ROUND_TYPE(GFC_FPE_UPWARD), &
+ IEEE_DOWN = IEEE_ROUND_TYPE(GFC_FPE_DOWNWARD), &
+ IEEE_OTHER = IEEE_ROUND_TYPE(0)
+
+
+ ! Equality operators on the derived types
+ interface operator (==)
+ module procedure IEEE_CLASS_TYPE_EQ, IEEE_ROUND_TYPE_EQ
+ end interface
+ public :: operator(==)
+
+ interface operator (/=)
+ module procedure IEEE_CLASS_TYPE_NE, IEEE_ROUND_TYPE_NE
+ end interface
+ public :: operator (/=)
+
+
+ ! IEEE_IS_FINITE
+
+ interface
+ elemental logical function _gfortran_ieee_is_finite_4(X)
+ real(kind=4), intent(in) :: X
+ end function
+ elemental logical function _gfortran_ieee_is_finite_8(X)
+ real(kind=8), intent(in) :: X
+ end function
+ end interface
+
+ interface IEEE_IS_FINITE
+ procedure _gfortran_ieee_is_finite_4, _gfortran_ieee_is_finite_8
+ end interface
+ public :: IEEE_IS_FINITE
+
+ ! IEEE_IS_NAN
+
+ interface
+ elemental logical function _gfortran_ieee_is_nan_4(X)
+ real(kind=4), intent(in) :: X
+ end function
+ elemental logical function _gfortran_ieee_is_nan_8(X)
+ real(kind=8), intent(in) :: X
+ end function
+ end interface
+
+ interface IEEE_IS_NAN
+ procedure _gfortran_ieee_is_nan_4, _gfortran_ieee_is_nan_8
+ end interface
+ public :: IEEE_IS_NAN
+
+ ! IEEE_IS_NEGATIVE
+
+ interface
+ elemental logical function _gfortran_ieee_is_negative_4(X)
+ real(kind=4), intent(in) :: X
+ end function
+ elemental logical function _gfortran_ieee_is_negative_8(X)
+ real(kind=8), intent(in) :: X
+ end function
+ end interface
+
+ interface IEEE_IS_NEGATIVE
+ procedure _gfortran_ieee_is_negative_4, _gfortran_ieee_is_negative_8
+ end interface
+ public :: IEEE_IS_NEGATIVE
+
+ ! IEEE_IS_NORMAL
+
+ interface
+ elemental logical function _gfortran_ieee_is_normal_4(X)
+ real(kind=4), intent(in) :: X
+ end function
+ elemental logical function _gfortran_ieee_is_normal_8(X)
+ real(kind=8), intent(in) :: X
+ end function
+ end interface
+
+ interface IEEE_IS_NORMAL
+ procedure _gfortran_ieee_is_normal_4, _gfortran_ieee_is_normal_8
+ end interface
+ public :: IEEE_IS_NORMAL
+
+ ! IEEE_COPY_SIGN
+
+ interface
+ elemental real(kind=4) function _gfortran_ieee_copy_sign_4_4 (X,Y)
+ real(kind=4), intent(in) :: X
+ real(kind=4), intent(in) :: Y
+ end function
+ elemental real(kind=4) function _gfortran_ieee_copy_sign_4_8 (X,Y)
+ real(kind=4), intent(in) :: X
+ real(kind=8), intent(in) :: Y
+ end function
+ elemental real(kind=8) function _gfortran_ieee_copy_sign_8_4 (X,Y)
+ real(kind=8), intent(in) :: X
+ real(kind=4), intent(in) :: Y
+ end function
+ elemental real(kind=8) function _gfortran_ieee_copy_sign_8_8 (X,Y)
+ real(kind=8), intent(in) :: X
+ real(kind=8), intent(in) :: Y
+ end function
+ end interface
+
+ interface IEEE_COPY_SIGN
+ procedure _gfortran_ieee_copy_sign_4_4, _gfortran_ieee_copy_sign_4_8, &
+ _gfortran_ieee_copy_sign_8_4, _gfortran_ieee_copy_sign_8_8
+ end interface
+ public :: IEEE_COPY_SIGN
+
+ ! IEEE_UNORDERED
+
+ interface
+ elemental logical function _gfortran_ieee_unordered_4_4 (X,Y)
+ real(kind=4), intent(in) :: X
+ real(kind=4), intent(in) :: Y
+ end function
+ elemental logical function _gfortran_ieee_unordered_4_8 (X,Y)
+ real(kind=4), intent(in) :: X
+ real(kind=8), intent(in) :: Y
+ end function
+ elemental logical function _gfortran_ieee_unordered_8_4 (X,Y)
+ real(kind=8), intent(in) :: X
+ real(kind=4), intent(in) :: Y
+ end function
+ elemental logical function _gfortran_ieee_unordered_8_8 (X,Y)
+ real(kind=8), intent(in) :: X
+ real(kind=8), intent(in) :: Y
+ end function
+ end interface
+
+ interface IEEE_UNORDERED
+ procedure _gfortran_ieee_unordered_4_4, _gfortran_ieee_unordered_4_8, &
+ _gfortran_ieee_unordered_8_4, _gfortran_ieee_unordered_8_8
+ end interface
+ public :: IEEE_UNORDERED
+
+ ! IEEE_LOGB
+
+ interface
+ elemental real(kind=4) function _gfortran_ieee_logb_4 (X)
+ real(kind=4), intent(in) :: X
+ end function
+ elemental real(kind=8) function _gfortran_ieee_logb_8 (X)
+ real(kind=8), intent(in) :: X
+ end function
+ end interface
+
+ interface IEEE_LOGB
+ procedure _gfortran_ieee_logb_4, _gfortran_ieee_logb_8
+ end interface
+ public :: IEEE_LOGB
+
+ ! IEEE_NEXT_AFTER
+
+ interface
+ elemental real(kind=4) function _gfortran_ieee_next_after_4_4 (X, Y)
+ real(kind=4), intent(in) :: X
+ real(kind=4), intent(in) :: Y
+ end function
+ elemental real(kind=4) function _gfortran_ieee_next_after_4_8 (X, Y)
+ real(kind=4), intent(in) :: X
+ real(kind=8), intent(in) :: Y
+ end function
+ elemental real(kind=8) function _gfortran_ieee_next_after_8_4 (X, Y)
+ real(kind=8), intent(in) :: X
+ real(kind=4), intent(in) :: Y
+ end function
+ elemental real(kind=8) function _gfortran_ieee_next_after_8_8 (X, Y)
+ real(kind=8), intent(in) :: X
+ real(kind=8), intent(in) :: Y
+ end function
+ end interface
+
+ interface IEEE_NEXT_AFTER
+ procedure _gfortran_ieee_next_after_4_4, _gfortran_ieee_next_after_4_8, &
+ _gfortran_ieee_next_after_8_4, _gfortran_ieee_next_after_8_8
+ end interface
+ public :: IEEE_NEXT_AFTER
+
+ ! IEEE_REM
+
+ interface
+ elemental real(kind=4) function _gfortran_ieee_rem_4_4 (X, Y)
+ real(kind=4), intent(in) :: X
+ real(kind=4), intent(in) :: Y
+ end function
+ elemental real(kind=8) function _gfortran_ieee_rem_4_8 (X, Y)
+ real(kind=4), intent(in) :: X
+ real(kind=8), intent(in) :: Y
+ end function
+ elemental real(kind=8) function _gfortran_ieee_rem_8_4 (X, Y)
+ real(kind=8), intent(in) :: X
+ real(kind=4), intent(in) :: Y
+ end function
+ elemental real(kind=8) function _gfortran_ieee_rem_8_8 (X, Y)
+ real(kind=8), intent(in) :: X
+ real(kind=8), intent(in) :: Y
+ end function
+ end interface
+
+ interface IEEE_REM
+ procedure _gfortran_ieee_rem_4_4, _gfortran_ieee_rem_4_8, &
+ _gfortran_ieee_rem_8_4, _gfortran_ieee_rem_8_8
+ end interface
+ public :: IEEE_REM
+
+ ! IEEE_RINT
+
+ interface
+ elemental real(kind=4) function _gfortran_ieee_rint_4 (X)
+ real(kind=4), intent(in) :: X
+ end function
+ elemental real(kind=8) function _gfortran_ieee_rint_8 (X)
+ real(kind=8), intent(in) :: X
+ end function
+ end interface
+
+ interface IEEE_RINT
+ procedure _gfortran_ieee_rint_4, _gfortran_ieee_rint_8
+ end interface
+ public :: IEEE_RINT
+
+ ! IEEE_SCALB
+
+ interface
+ elemental real(kind=4) function _gfortran_ieee_scalb_4 (X, I)
+ real(kind=4), intent(in) :: X
+ integer, intent(in) :: I
+ end function
+ elemental real(kind=8) function _gfortran_ieee_scalb_8 (X, I)
+ real(kind=8), intent(in) :: X
+ integer, intent(in) :: I
+ end function
+ end interface
+
+ interface IEEE_SCALB
+ procedure _gfortran_ieee_scalb_4, _gfortran_ieee_scalb_8
+ end interface
+ public :: IEEE_SCALB
+
+ ! IEEE_VALUE
+
+ interface IEEE_VALUE
+ module procedure IEEE_VALUE_4, IEEE_VALUE_8
+ end interface
+ public :: IEEE_VALUE
+
+ ! IEEE_CLASS
+
+ interface IEEE_CLASS
+ module procedure IEEE_CLASS_4, IEEE_CLASS_8
+ end interface
+ public :: IEEE_CLASS
+
+ ! Public declarations for contained procedures
+ public :: IEEE_GET_ROUNDING_MODE, IEEE_SET_ROUNDING_MODE
+ public :: IEEE_GET_UNDERFLOW_MODE, IEEE_SET_UNDERFLOW_MODE
+ public :: IEEE_SELECTED_REAL_KIND
+
+ ! IEEE_SUPPORT_ROUNDING
+
+ interface IEEE_SUPPORT_ROUNDING
+ module procedure IEEE_SUPPORT_ROUNDING_4, IEEE_SUPPORT_ROUNDING_8, &
+#ifdef HAVE_GFC_REAL_10
+ IEEE_SUPPORT_ROUNDING_10, &
+#endif
+#ifdef HAVE_GFC_REAL_16
+ IEEE_SUPPORT_ROUNDING_16, &
+#endif
+ IEEE_SUPPORT_ROUNDING_NOARG
+ end interface
+ public :: IEEE_SUPPORT_ROUNDING
+
+ ! Interface to the FPU-specific function
+ interface
+ pure integer function support_rounding_helper(flag) &
+ bind(c, name="_gfortrani_support_fpu_rounding_mode")
+ integer, intent(in), value :: flag
+ end function
+ end interface
+
+ ! IEEE_SUPPORT_UNDERFLOW_CONTROL
+
+ interface IEEE_SUPPORT_UNDERFLOW_CONTROL
+ module procedure IEEE_SUPPORT_UNDERFLOW_CONTROL_4, &
+ IEEE_SUPPORT_UNDERFLOW_CONTROL_8, &
+#ifdef HAVE_GFC_REAL_10
+ IEEE_SUPPORT_UNDERFLOW_CONTROL_10, &
+#endif
+#ifdef HAVE_GFC_REAL_16
+ IEEE_SUPPORT_UNDERFLOW_CONTROL_16, &
+#endif
+ IEEE_SUPPORT_UNDERFLOW_CONTROL_NOARG
+ end interface
+ public :: IEEE_SUPPORT_UNDERFLOW_CONTROL
+
+ ! Interface to the FPU-specific function
+ interface
+ pure integer function support_underflow_control_helper(kind) &
+ bind(c, name="_gfortrani_support_fpu_underflow_control")
+ integer, intent(in), value :: kind
+ end function
+ end interface
+
+! IEEE_SUPPORT_* generic functions
+
+#if defined(HAVE_GFC_REAL_10) && defined(HAVE_GFC_REAL_16)
+# define MACRO1(NAME) NAME/**/_4, NAME/**/_8, NAME/**/_10, NAME/**/_16, NAME/**/_NOARG
+#elif defined(HAVE_GFC_REAL_10)
+# define MACRO1(NAME) NAME/**/_4, NAME/**/_8, NAME/**/_10, NAME/**/_NOARG
+#elif defined(HAVE_GFC_REAL_16)
+# define MACRO1(NAME) NAME/**/_4, NAME/**/_8, NAME/**/_16, NAME/**/_NOARG
+#else
+# define MACRO1(NAME) NAME/**/_4, NAME/**/_8, NAME/**/_NOARG
+#endif
+
+#define SUPPORTGENERIC(NAME) \
+ interface NAME ; module procedure MACRO1(NAME) ; end interface ; \
+ public :: NAME
+
+SUPPORTGENERIC(IEEE_SUPPORT_DATATYPE)
+SUPPORTGENERIC(IEEE_SUPPORT_DENORMAL)
+SUPPORTGENERIC(IEEE_SUPPORT_DIVIDE)
+SUPPORTGENERIC(IEEE_SUPPORT_INF)
+SUPPORTGENERIC(IEEE_SUPPORT_IO)
+SUPPORTGENERIC(IEEE_SUPPORT_NAN)
+SUPPORTGENERIC(IEEE_SUPPORT_SQRT)
+SUPPORTGENERIC(IEEE_SUPPORT_STANDARD)
+
+contains
+
+ ! Equality operators for IEEE_CLASS_TYPE and IEEE_ROUNDING_MODE
+ elemental logical function IEEE_CLASS_TYPE_EQ (X, Y) result(res)
+ implicit none
+ type(IEEE_CLASS_TYPE), intent(in) :: X, Y
+ res = (X%hidden == Y%hidden)
+ end function
+
+ elemental logical function IEEE_CLASS_TYPE_NE (X, Y) result(res)
+ implicit none
+ type(IEEE_CLASS_TYPE), intent(in) :: X, Y
+ res = (X%hidden /= Y%hidden)
+ end function
+
+ elemental logical function IEEE_ROUND_TYPE_EQ (X, Y) result(res)
+ implicit none
+ type(IEEE_ROUND_TYPE), intent(in) :: X, Y
+ res = (X%hidden == Y%hidden)
+ end function
+
+ elemental logical function IEEE_ROUND_TYPE_NE (X, Y) result(res)
+ implicit none
+ type(IEEE_ROUND_TYPE), intent(in) :: X, Y
+ res = (X%hidden /= Y%hidden)
+ end function
+
+ ! IEEE_SELECTED_REAL_KIND
+ integer function IEEE_SELECTED_REAL_KIND (P, R, RADIX) result(res)
+ implicit none
+ integer, intent(in), optional :: P, R, RADIX
+ integer :: p2, r2
+
+ p2 = 0 ; r2 = 0
+ if (present(p)) p2 = p
+ if (present(r)) r2 = r
+
+ ! The only IEEE types we support right now are binary
+ if (present(radix)) then
+ if (radix /= 2) then
+ res = -5
+ return
+ endif
+ endif
+
+ ! Does IEEE float fit?
+ if (precision(0.) >= p2 .and. range(0.) >= r2) then
+ res = kind(0.)
+ return
+ endif
+
+ ! Does IEEE double fit?
+ if (precision(0.d0) >= p2 .and. range(0.d0) >= r2) then
+ res = kind(0.d0)
+ return
+ endif
+
+ if (precision(0.d0) < p2 .and. range(0.d0) < r2) then
+ res = -3
+ return
+ endif
+
+ if (precision(0.d0) < p2) then
+ res = -1
+ return
+ endif
+
+ res = -2
+ end function
+
+
+ ! IEEE_CLASS
+
+ elemental function IEEE_CLASS_4 (X) result(res)
+ implicit none
+ real(kind=4), intent(in) :: X
+ type(IEEE_CLASS_TYPE) :: res
+
+ interface
+ pure integer function _gfortrani_ieee_class_helper_4(val)
+ real(kind=4), intent(in) :: val
+ end function
+ end interface
+
+ res = IEEE_CLASS_TYPE(_gfortrani_ieee_class_helper_4(X))
+ end function
+
+ elemental function IEEE_CLASS_8 (X) result(res)
+ implicit none
+ real(kind=8), intent(in) :: X
+ type(IEEE_CLASS_TYPE) :: res
+
+ interface
+ pure integer function _gfortrani_ieee_class_helper_8(val)
+ real(kind=8), intent(in) :: val
+ end function
+ end interface
+
+ res = IEEE_CLASS_TYPE(_gfortrani_ieee_class_helper_8(X))
+ end function
+
+ ! IEEE_VALUE
+
+ elemental real(kind=4) function IEEE_VALUE_4(X, C) result(res)
+ implicit none
+ real(kind=4), intent(in) :: X
+ type(IEEE_CLASS_TYPE), intent(in) :: C
+
+ select case (C%hidden)
+ case (1) ! IEEE_SIGNALING_NAN
+ res = -1
+ res = sqrt(res)
+ case (2) ! IEEE_QUIET_NAN
+ res = -1
+ res = sqrt(res)
+ case (3) ! IEEE_NEGATIVE_INF
+ res = huge(res)
+ res = (-res) * res
+ case (4) ! IEEE_NEGATIVE_NORMAL
+ res = -42
+ case (5) ! IEEE_NEGATIVE_DENORMAL
+ res = -tiny(res)
+ res = res / 2
+ case (6) ! IEEE_NEGATIVE_ZERO
+ res = 0
+ res = -res
+ case (7) ! IEEE_POSITIVE_ZERO
+ res = 0
+ case (8) ! IEEE_POSITIVE_DENORMAL
+ res = tiny(res)
+ res = res / 2
+ case (9) ! IEEE_POSITIVE_NORMAL
+ res = 42
+ case (10) ! IEEE_POSITIVE_INF
+ res = huge(res)
+ res = res * res
+ case default ! IEEE_OTHER_VALUE, should not happen
+ res = 0
+ end select
+ end function
+
+ elemental real(kind=8) function IEEE_VALUE_8(X, C) result(res)
+ implicit none
+ real(kind=8), intent(in) :: X
+ type(IEEE_CLASS_TYPE), intent(in) :: C
+
+ select case (C%hidden)
+ case (1) ! IEEE_SIGNALING_NAN
+ res = -1
+ res = sqrt(res)
+ case (2) ! IEEE_QUIET_NAN
+ res = -1
+ res = sqrt(res)
+ case (3) ! IEEE_NEGATIVE_INF
+ res = huge(res)
+ res = (-res) * res
+ case (4) ! IEEE_NEGATIVE_NORMAL
+ res = -42
+ case (5) ! IEEE_NEGATIVE_DENORMAL
+ res = -tiny(res)
+ res = res / 2
+ case (6) ! IEEE_NEGATIVE_ZERO
+ res = 0
+ res = -res
+ case (7) ! IEEE_POSITIVE_ZERO
+ res = 0
+ case (8) ! IEEE_POSITIVE_DENORMAL
+ res = tiny(res)
+ res = res / 2
+ case (9) ! IEEE_POSITIVE_NORMAL
+ res = 42
+ case (10) ! IEEE_POSITIVE_INF
+ res = huge(res)
+ res = res * res
+ case default ! IEEE_OTHER_VALUE, should not happen
+ res = 0
+ end select
+ end function
+
+
+ ! IEEE_GET_ROUNDING_MODE
+
+ subroutine IEEE_GET_ROUNDING_MODE (ROUND_VALUE)
+ implicit none
+ type(IEEE_ROUND_TYPE), intent(out) :: ROUND_VALUE
+
+ interface
+ integer function helper() &
+ bind(c, name="_gfortrani_get_fpu_rounding_mode")
+ end function
+ end interface
+
+ ROUND_VALUE = IEEE_ROUND_TYPE(helper())
+ end subroutine
+
+
+ ! IEEE_SET_ROUNDING_MODE
+
+ subroutine IEEE_SET_ROUNDING_MODE (ROUND_VALUE)
+ implicit none
+ type(IEEE_ROUND_TYPE), intent(in) :: ROUND_VALUE
+
+ interface
+ subroutine helper(val) &
+ bind(c, name="_gfortrani_set_fpu_rounding_mode")
+ integer, value :: val
+ end subroutine
+ end interface
+
+ call helper(ROUND_VALUE%hidden)
+ end subroutine
+
+
+ ! IEEE_GET_UNDERFLOW_MODE
+
+ subroutine IEEE_GET_UNDERFLOW_MODE (GRADUAL)
+ implicit none
+ logical, intent(out) :: GRADUAL
+
+ interface
+ integer function helper() &
+ bind(c, name="_gfortrani_get_fpu_underflow_mode")
+ end function
+ end interface
+
+ GRADUAL = (helper() /= 0)
+ end subroutine
+
+
+ ! IEEE_SET_UNDERFLOW_MODE
+
+ subroutine IEEE_SET_UNDERFLOW_MODE (GRADUAL)
+ implicit none
+ logical, intent(in) :: GRADUAL
+
+ interface
+ subroutine helper(val) &
+ bind(c, name="_gfortrani_set_fpu_underflow_mode")
+ integer, value :: val
+ end subroutine
+ end interface
+
+ call helper(merge(1, 0, GRADUAL))
+ end subroutine
+
+! IEEE_SUPPORT_ROUNDING
+
+ pure logical function IEEE_SUPPORT_ROUNDING_4 (ROUND_VALUE, X) result(res)
+ implicit none
+ real(kind=4), intent(in) :: X
+ type(IEEE_ROUND_TYPE), intent(in) :: ROUND_VALUE
+ res = (support_rounding_helper(ROUND_VALUE%hidden) /= 0)
+ end function
+
+ pure logical function IEEE_SUPPORT_ROUNDING_8 (ROUND_VALUE, X) result(res)
+ implicit none
+ real(kind=8), intent(in) :: X
+ type(IEEE_ROUND_TYPE), intent(in) :: ROUND_VALUE
+ res = (support_rounding_helper(ROUND_VALUE%hidden) /= 0)
+ end function
+
+#ifdef HAVE_GFC_REAL_10
+ pure logical function IEEE_SUPPORT_ROUNDING_10 (ROUND_VALUE, X) result(res)
+ implicit none
+ real(kind=10), intent(in) :: X
+ type(IEEE_ROUND_TYPE), intent(in) :: ROUND_VALUE
+ res = .false.
+ end function
+#endif
+
+#ifdef HAVE_GFC_REAL_16
+ pure logical function IEEE_SUPPORT_ROUNDING_16 (ROUND_VALUE, X) result(res)
+ implicit none
+ real(kind=16), intent(in) :: X
+ type(IEEE_ROUND_TYPE), intent(in) :: ROUND_VALUE
+ res = .false.
+ end function
+#endif
+
+ pure logical function IEEE_SUPPORT_ROUNDING_NOARG (ROUND_VALUE) result(res)
+ implicit none
+ type(IEEE_ROUND_TYPE), intent(in) :: ROUND_VALUE
+#if defined(HAVE_GFC_REAL_10) || defined(HAVE_GFC_REAL_16)
+ res = .false.
+#else
+ res = (support_rounding_helper(ROUND_VALUE%hidden) /= 0)
+#endif
+ end function
+
+! IEEE_SUPPORT_UNDERFLOW_CONTROL
+
+ pure logical function IEEE_SUPPORT_UNDERFLOW_CONTROL_4 (X) result(res)
+ implicit none
+ real(kind=4), intent(in) :: X
+ res = (support_underflow_control_helper(4) /= 0)
+ end function
+
+ pure logical function IEEE_SUPPORT_UNDERFLOW_CONTROL_8 (X) result(res)
+ implicit none
+ real(kind=8), intent(in) :: X
+ res = (support_underflow_control_helper(8) /= 0)
+ end function
+
+#ifdef HAVE_GFC_REAL_10
+ pure logical function IEEE_SUPPORT_UNDERFLOW_CONTROL_10 (X) result(res)
+ implicit none
+ real(kind=10), intent(in) :: X
+ res = .false.
+ end function
+#endif
+
+#ifdef HAVE_GFC_REAL_16
+ pure logical function IEEE_SUPPORT_UNDERFLOW_CONTROL_16 (X) result(res)
+ implicit none
+ real(kind=16), intent(in) :: X
+ res = .false.
+ end function
+#endif
+
+ pure logical function IEEE_SUPPORT_UNDERFLOW_CONTROL_NOARG () result(res)
+ implicit none
+#if defined(HAVE_GFC_REAL_10) || defined(HAVE_GFC_REAL_16)
+ res = .false.
+#else
+ res = (support_underflow_control_helper(4) /= 0 &
+ .and. support_underflow_control_helper(8) /= 0)
+#endif
+ end function
+
+! IEEE_SUPPORT_* functions
+
+#define SUPPORTMACRO(NAME, INTKIND, VALUE) \
+ pure logical function NAME/**/_/**/INTKIND (X) result(res) ; \
+ implicit none ; \
+ real(INTKIND), intent(in) :: X(..) ; \
+ res = VALUE ; \
+ end function
+
+#define SUPPORTMACRO_NOARG(NAME, VALUE) \
+ pure logical function NAME/**/_NOARG () result(res) ; \
+ implicit none ; \
+ res = VALUE ; \
+ end function
+
+! IEEE_SUPPORT_DATATYPE
+
+SUPPORTMACRO(IEEE_SUPPORT_DATATYPE,4,.true.)
+SUPPORTMACRO(IEEE_SUPPORT_DATATYPE,8,.true.)
+#ifdef HAVE_GFC_REAL_10
+SUPPORTMACRO(IEEE_SUPPORT_DATATYPE,10,.false.)
+#endif
+#ifdef HAVE_GFC_REAL_16
+SUPPORTMACRO(IEEE_SUPPORT_DATATYPE,16,.false.)
+#endif
+#if defined(HAVE_GFC_REAL_10) || defined(HAVE_GFC_REAL_16)
+SUPPORTMACRO_NOARG(IEEE_SUPPORT_DATATYPE,.false.)
+#else
+SUPPORTMACRO_NOARG(IEEE_SUPPORT_DATATYPE,.true.)
+#endif
+
+! IEEE_SUPPORT_DENORMAL
+
+SUPPORTMACRO(IEEE_SUPPORT_DENORMAL,4,.true.)
+SUPPORTMACRO(IEEE_SUPPORT_DENORMAL,8,.true.)
+#ifdef HAVE_GFC_REAL_10
+SUPPORTMACRO(IEEE_SUPPORT_DENORMAL,10,.false.)
+#endif
+#ifdef HAVE_GFC_REAL_16
+SUPPORTMACRO(IEEE_SUPPORT_DENORMAL,16,.false.)
+#endif
+#if defined(HAVE_GFC_REAL_10) || defined(HAVE_GFC_REAL_16)
+SUPPORTMACRO_NOARG(IEEE_SUPPORT_DENORMAL,.false.)
+#else
+SUPPORTMACRO_NOARG(IEEE_SUPPORT_DENORMAL,.true.)
+#endif
+
+! IEEE_SUPPORT_DIVIDE
+
+SUPPORTMACRO(IEEE_SUPPORT_DIVIDE,4,.true.)
+SUPPORTMACRO(IEEE_SUPPORT_DIVIDE,8,.true.)
+#ifdef HAVE_GFC_REAL_10
+SUPPORTMACRO(IEEE_SUPPORT_DIVIDE,10,.false.)
+#endif
+#ifdef HAVE_GFC_REAL_16
+SUPPORTMACRO(IEEE_SUPPORT_DIVIDE,16,.false.)
+#endif
+#if defined(HAVE_GFC_REAL_10) || defined(HAVE_GFC_REAL_16)
+SUPPORTMACRO_NOARG(IEEE_SUPPORT_DIVIDE,.false.)
+#else
+SUPPORTMACRO_NOARG(IEEE_SUPPORT_DIVIDE,.true.)
+#endif
+
+! IEEE_SUPPORT_INF
+
+SUPPORTMACRO(IEEE_SUPPORT_INF,4,.true.)
+SUPPORTMACRO(IEEE_SUPPORT_INF,8,.true.)
+#ifdef HAVE_GFC_REAL_10
+SUPPORTMACRO(IEEE_SUPPORT_INF,10,.false.)
+#endif
+#ifdef HAVE_GFC_REAL_16
+SUPPORTMACRO(IEEE_SUPPORT_INF,16,.false.)
+#endif
+#if defined(HAVE_GFC_REAL_10) || defined(HAVE_GFC_REAL_16)
+SUPPORTMACRO_NOARG(IEEE_SUPPORT_INF,.false.)
+#else
+SUPPORTMACRO_NOARG(IEEE_SUPPORT_INF,.true.)
+#endif
+
+! IEEE_SUPPORT_IO
+
+SUPPORTMACRO(IEEE_SUPPORT_IO,4,.true.)
+SUPPORTMACRO(IEEE_SUPPORT_IO,8,.true.)
+#ifdef HAVE_GFC_REAL_10
+SUPPORTMACRO(IEEE_SUPPORT_IO,10,.false.)
+#endif
+#ifdef HAVE_GFC_REAL_16
+SUPPORTMACRO(IEEE_SUPPORT_IO,16,.false.)
+#endif
+#if defined(HAVE_GFC_REAL_10) || defined(HAVE_GFC_REAL_16)
+SUPPORTMACRO_NOARG(IEEE_SUPPORT_IO,.false.)
+#else
+SUPPORTMACRO_NOARG(IEEE_SUPPORT_IO,.true.)
+#endif
+
+! IEEE_SUPPORT_NAN
+
+SUPPORTMACRO(IEEE_SUPPORT_NAN,4,.true.)
+SUPPORTMACRO(IEEE_SUPPORT_NAN,8,.true.)
+#ifdef HAVE_GFC_REAL_10
+SUPPORTMACRO(IEEE_SUPPORT_NAN,10,.false.)
+#endif
+#ifdef HAVE_GFC_REAL_16
+SUPPORTMACRO(IEEE_SUPPORT_NAN,16,.false.)
+#endif
+#if defined(HAVE_GFC_REAL_10) || defined(HAVE_GFC_REAL_16)
+SUPPORTMACRO_NOARG(IEEE_SUPPORT_NAN,.false.)
+#else
+SUPPORTMACRO_NOARG(IEEE_SUPPORT_NAN,.true.)
+#endif
+
+! IEEE_SUPPORT_SQRT
+
+SUPPORTMACRO(IEEE_SUPPORT_SQRT,4,.true.)
+SUPPORTMACRO(IEEE_SUPPORT_SQRT,8,.true.)
+#ifdef HAVE_GFC_REAL_10
+SUPPORTMACRO(IEEE_SUPPORT_SQRT,10,.false.)
+#endif
+#ifdef HAVE_GFC_REAL_16
+SUPPORTMACRO(IEEE_SUPPORT_SQRT,16,.false.)
+#endif
+#if defined(HAVE_GFC_REAL_10) || defined(HAVE_GFC_REAL_16)
+SUPPORTMACRO_NOARG(IEEE_SUPPORT_SQRT,.false.)
+#else
+SUPPORTMACRO_NOARG(IEEE_SUPPORT_SQRT,.true.)
+#endif
+
+! IEEE_SUPPORT_STANDARD
+
+SUPPORTMACRO(IEEE_SUPPORT_STANDARD,4,.true.)
+SUPPORTMACRO(IEEE_SUPPORT_STANDARD,8,.true.)
+#ifdef HAVE_GFC_REAL_10
+SUPPORTMACRO(IEEE_SUPPORT_STANDARD,10,.false.)
+#endif
+#ifdef HAVE_GFC_REAL_16
+SUPPORTMACRO(IEEE_SUPPORT_STANDARD,16,.false.)
+#endif
+#if defined(HAVE_GFC_REAL_10) || defined(HAVE_GFC_REAL_16)
+SUPPORTMACRO_NOARG(IEEE_SUPPORT_STANDARD,.false.)
+#else
+SUPPORTMACRO_NOARG(IEEE_SUPPORT_STANDARD,.true.)
+#endif
+
+end module IEEE_ARITHMETIC
diff --git a/libgfortran/ieee/ieee_exceptions.F90 b/libgfortran/ieee/ieee_exceptions.F90
new file mode 100644
index 0000000000..4283906eb2
--- /dev/null
+++ b/libgfortran/ieee/ieee_exceptions.F90
@@ -0,0 +1,218 @@
+! Implementation of the IEEE_EXCEPTIONS standard intrinsic module
+! Copyright (C) 2013-2015 Free Software Foundation, Inc.
+! Contributed by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+!
+! This file is part of the GNU Fortran runtime library (libgfortran).
+!
+! Libgfortran is free software; you can redistribute it and/or
+! modify it under the terms of the GNU General Public
+! License as published by the Free Software Foundation; either
+! version 3 of the License, or (at your option) any later version.
+!
+! Libgfortran is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+! GNU General Public License for more details.
+!
+! Under Section 7 of GPL version 3, you are granted additional
+! permissions described in the GCC Runtime Library Exception, version
+! 3.1, as published by the Free Software Foundation.
+!
+! You should have received a copy of the GNU General Public License and
+! a copy of the GCC Runtime Library Exception along with this program;
+! see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+! <http://www.gnu.org/licenses/>. */
+
+#include "config.h"
+#include "kinds.inc"
+#include "c99_protos.inc"
+#include "fpu-target.inc"
+
+module IEEE_EXCEPTIONS
+
+ implicit none
+ private
+
+! Derived types and named constants
+
+ type, public :: IEEE_FLAG_TYPE
+ private
+ integer :: hidden
+ end type
+
+ type(IEEE_FLAG_TYPE), parameter, public :: &
+ IEEE_INVALID = IEEE_FLAG_TYPE(GFC_FPE_INVALID), &
+ IEEE_OVERFLOW = IEEE_FLAG_TYPE(GFC_FPE_OVERFLOW), &
+ IEEE_DIVIDE_BY_ZERO = IEEE_FLAG_TYPE(GFC_FPE_ZERO), &
+ IEEE_UNDERFLOW = IEEE_FLAG_TYPE(GFC_FPE_UNDERFLOW), &
+ IEEE_INEXACT = IEEE_FLAG_TYPE(GFC_FPE_INEXACT)
+
+ type(IEEE_FLAG_TYPE), parameter, public :: &
+ IEEE_USUAL(3) = [ IEEE_OVERFLOW, IEEE_DIVIDE_BY_ZERO, IEEE_INVALID ], &
+ IEEE_ALL(5) = [ IEEE_USUAL, IEEE_UNDERFLOW, IEEE_INEXACT ]
+
+ type, public :: IEEE_STATUS_TYPE
+ private
+ character(len=GFC_FPE_STATE_BUFFER_SIZE) :: hidden
+ end type
+
+ interface IEEE_SUPPORT_FLAG
+ module procedure IEEE_SUPPORT_FLAG_NOARG, &
+ IEEE_SUPPORT_FLAG_4, &
+ IEEE_SUPPORT_FLAG_8
+ end interface IEEE_SUPPORT_FLAG
+
+ public :: IEEE_SUPPORT_FLAG, IEEE_SUPPORT_HALTING
+ public :: IEEE_SET_HALTING_MODE, IEEE_GET_HALTING_MODE
+ public :: IEEE_SET_FLAG, IEEE_GET_FLAG
+ public :: IEEE_SET_STATUS, IEEE_GET_STATUS
+
+contains
+
+! Saving and restoring floating-point status
+
+ subroutine IEEE_GET_STATUS (STATUS_VALUE)
+ implicit none
+ type(IEEE_STATUS_TYPE), intent(out) :: STATUS_VALUE
+
+ interface
+ subroutine helper(ptr) &
+ bind(c, name="_gfortrani_get_fpu_state")
+ use, intrinsic :: iso_c_binding, only : c_char
+ character(kind=c_char) :: ptr(*)
+ end subroutine
+ end interface
+
+ call helper(STATUS_VALUE%hidden)
+ end subroutine
+
+ subroutine IEEE_SET_STATUS (STATUS_VALUE)
+ implicit none
+ type(IEEE_STATUS_TYPE), intent(in) :: STATUS_VALUE
+
+ interface
+ subroutine helper(ptr) &
+ bind(c, name="_gfortrani_set_fpu_state")
+ use, intrinsic :: iso_c_binding, only : c_char
+ character(kind=c_char) :: ptr(*)
+ end subroutine
+ end interface
+
+ call helper(STATUS_VALUE%hidden)
+ end subroutine
+
+! Getting and setting flags
+
+ elemental subroutine IEEE_GET_FLAG (FLAG, FLAG_VALUE)
+ implicit none
+ type(IEEE_FLAG_TYPE), intent(in) :: FLAG
+ logical, intent(out) :: FLAG_VALUE
+
+ interface
+ pure integer function helper() &
+ bind(c, name="_gfortrani_get_fpu_except_flags")
+ end function
+ end interface
+
+ FLAG_VALUE = (IAND(helper(), FLAG%hidden) /= 0)
+ end subroutine
+
+ elemental subroutine IEEE_SET_FLAG (FLAG, FLAG_VALUE)
+ implicit none
+ type(IEEE_FLAG_TYPE), intent(in) :: FLAG
+ logical, intent(in) :: FLAG_VALUE
+
+ interface
+ pure subroutine helper(set, clear) &
+ bind(c, name="_gfortrani_set_fpu_except_flags")
+ integer, intent(in), value :: set, clear
+ end subroutine
+ end interface
+
+ if (FLAG_VALUE) then
+ call helper(FLAG%hidden, 0)
+ else
+ call helper(0, FLAG%hidden)
+ end if
+ end subroutine
+
+! Querying and changing the halting mode
+
+ elemental subroutine IEEE_GET_HALTING_MODE (FLAG, HALTING)
+ implicit none
+ type(IEEE_FLAG_TYPE), intent(in) :: FLAG
+ logical, intent(out) :: HALTING
+
+ interface
+ pure integer function helper() &
+ bind(c, name="_gfortrani_get_fpu_trap_exceptions")
+ end function
+ end interface
+
+ HALTING = (IAND(helper(), FLAG%hidden) /= 0)
+ end subroutine
+
+ elemental subroutine IEEE_SET_HALTING_MODE (FLAG, HALTING)
+ implicit none
+ type(IEEE_FLAG_TYPE), intent(in) :: FLAG
+ logical, intent(in) :: HALTING
+
+ interface
+ pure subroutine helper(trap, notrap) &
+ bind(c, name="_gfortrani_set_fpu_trap_exceptions")
+ integer, intent(in), value :: trap, notrap
+ end subroutine
+ end interface
+
+ if (HALTING) then
+ call helper(FLAG%hidden, 0)
+ else
+ call helper(0, FLAG%hidden)
+ end if
+ end subroutine
+
+! Querying support
+
+ pure logical function IEEE_SUPPORT_HALTING (FLAG)
+ implicit none
+ type(IEEE_FLAG_TYPE), intent(in) :: FLAG
+
+ interface
+ pure integer function helper(flag) &
+ bind(c, name="_gfortrani_support_fpu_trap")
+ integer, intent(in), value :: flag
+ end function
+ end interface
+
+ IEEE_SUPPORT_HALTING = (helper(FLAG%hidden) /= 0)
+ end function
+
+ pure logical function IEEE_SUPPORT_FLAG_NOARG (FLAG)
+ implicit none
+ type(IEEE_FLAG_TYPE), intent(in) :: FLAG
+
+ interface
+ pure integer function helper(flag) &
+ bind(c, name="_gfortrani_support_fpu_flag")
+ integer, intent(in), value :: flag
+ end function
+ end interface
+
+ IEEE_SUPPORT_FLAG_NOARG = (helper(FLAG%hidden) /= 0)
+ end function
+
+ pure logical function IEEE_SUPPORT_FLAG_4 (FLAG, X) result(res)
+ implicit none
+ type(IEEE_FLAG_TYPE), intent(in) :: FLAG
+ real(kind=4), intent(in) :: X
+ res = IEEE_SUPPORT_FLAG_NOARG(FLAG)
+ end function
+
+ pure logical function IEEE_SUPPORT_FLAG_8 (FLAG, X) result(res)
+ implicit none
+ type(IEEE_FLAG_TYPE), intent(in) :: FLAG
+ real(kind=8), intent(in) :: X
+ res = IEEE_SUPPORT_FLAG_NOARG(FLAG)
+ end function
+
+end module IEEE_EXCEPTIONS
diff --git a/libgfortran/ieee/ieee_features.F90 b/libgfortran/ieee/ieee_features.F90
new file mode 100644
index 0000000000..2697fde356
--- /dev/null
+++ b/libgfortran/ieee/ieee_features.F90
@@ -0,0 +1,49 @@
+! Implementation of the IEEE_FEATURES standard intrinsic module
+! Copyright (C) 2013-2015 Free Software Foundation, Inc.
+! Contributed by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+!
+! This file is part of the GNU Fortran runtime library (libgfortran).
+!
+! Libgfortran is free software; you can redistribute it and/or
+! modify it under the terms of the GNU General Public
+! License as published by the Free Software Foundation; either
+! version 3 of the License, or (at your option) any later version.
+!
+! Libgfortran is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+! GNU General Public License for more details.
+!
+! Under Section 7 of GPL version 3, you are granted additional
+! permissions described in the GCC Runtime Library Exception, version
+! 3.1, as published by the Free Software Foundation.
+!
+! You should have received a copy of the GNU General Public License and
+! a copy of the GCC Runtime Library Exception along with this program;
+! see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+! <http://www.gnu.org/licenses/>. */
+
+module IEEE_FEATURES
+
+ implicit none
+ private
+
+ type, public :: IEEE_FEATURES_TYPE
+ private
+ integer :: hidden
+ end type
+
+ type(IEEE_FEATURES_TYPE), parameter, public :: &
+ IEEE_DATATYPE = IEEE_FEATURES_TYPE(0), &
+ IEEE_DENORMAL = IEEE_FEATURES_TYPE(1), &
+ IEEE_DIVIDE = IEEE_FEATURES_TYPE(2), &
+ IEEE_HALTING = IEEE_FEATURES_TYPE(3), &
+ IEEE_INEXACT_FLAG = IEEE_FEATURES_TYPE(4), &
+ IEEE_INF = IEEE_FEATURES_TYPE(5), &
+ IEEE_INVALID_FLAG = IEEE_FEATURES_TYPE(6), &
+ IEEE_NAN = IEEE_FEATURES_TYPE(7), &
+ IEEE_ROUNDING = IEEE_FEATURES_TYPE(8), &
+ IEEE_SQRT = IEEE_FEATURES_TYPE(9), &
+ IEEE_UNDERFLOW_FLAG = IEEE_FEATURES_TYPE(10)
+
+end module IEEE_FEATURES
diff --git a/libgfortran/ieee/ieee_helper.c b/libgfortran/ieee/ieee_helper.c
new file mode 100644
index 0000000000..c8ed77b15f
--- /dev/null
+++ b/libgfortran/ieee/ieee_helper.c
@@ -0,0 +1,116 @@
+/* Helper functions in C for IEEE modules
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ Contributed by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+This file is part of the GNU Fortran runtime library (libgfortran).
+
+Libgfortran is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public
+License as published by the Free Software Foundation; either
+version 3 of the License, or (at your option) any later version.
+
+Libgfortran is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+Under Section 7 of GPL version 3, you are granted additional
+permissions described in the GCC Runtime Library Exception, version
+3.1, as published by the Free Software Foundation.
+
+You should have received a copy of the GNU General Public License and
+a copy of the GCC Runtime Library Exception along with this program;
+see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+<http://www.gnu.org/licenses/>. */
+
+#include "libgfortran.h"
+
+/* Prototypes. */
+
+extern int ieee_class_helper_4 (GFC_REAL_4 *);
+internal_proto(ieee_class_helper_4);
+
+extern int ieee_class_helper_8 (GFC_REAL_8 *);
+internal_proto(ieee_class_helper_8);
+
+/* Enumeration of the possible floating-point types. These values
+ correspond to the hidden arguments of the IEEE_CLASS_TYPE
+ derived-type of IEEE_ARITHMETIC. */
+
+enum { IEEE_OTHER_VALUE = 0, IEEE_SIGNALING_NAN, IEEE_QUIET_NAN,
+ IEEE_NEGATIVE_INF, IEEE_NEGATIVE_NORMAL, IEEE_NEGATIVE_DENORMAL,
+ IEEE_NEGATIVE_ZERO, IEEE_POSITIVE_ZERO, IEEE_POSITIVE_DENORMAL,
+ IEEE_POSITIVE_NORMAL, IEEE_POSITIVE_INF };
+
+#define CLASSMACRO(TYPE) \
+ int ieee_class_helper_ ## TYPE (GFC_REAL_ ## TYPE *value) \
+ { \
+ int res = __builtin_fpclassify (IEEE_QUIET_NAN, IEEE_POSITIVE_INF, \
+ IEEE_POSITIVE_NORMAL, \
+ IEEE_POSITIVE_DENORMAL, \
+ IEEE_POSITIVE_ZERO, *value); \
+ \
+ if (__builtin_signbit (*value)) \
+ { \
+ if (res == IEEE_POSITIVE_NORMAL) \
+ return IEEE_NEGATIVE_NORMAL; \
+ else if (res == IEEE_POSITIVE_DENORMAL) \
+ return IEEE_NEGATIVE_DENORMAL; \
+ else if (res == IEEE_POSITIVE_ZERO) \
+ return IEEE_NEGATIVE_ZERO; \
+ else if (res == IEEE_POSITIVE_INF) \
+ return IEEE_NEGATIVE_INF; \
+ } \
+ \
+ if (res == IEEE_QUIET_NAN) \
+ { \
+ /* TODO: Handle signaling NaNs */ \
+ return res; \
+ } \
+ \
+ return res; \
+ }
+
+CLASSMACRO(4)
+CLASSMACRO(8)
+
+
+#define GFC_FPE_ALL (GFC_FPE_INVALID | GFC_FPE_DENORMAL | \
+ GFC_FPE_ZERO | GFC_FPE_OVERFLOW | \
+ GFC_FPE_UNDERFLOW | GFC_FPE_INEXACT)
+
+/* Functions to save and restore floating-point state, clear and restore
+ exceptions on procedure entry/exit. The rules we follow are set
+ in Fortran 2008's 14.3 paragraph 3, note 14.4, 14.4 paragraph 4,
+ 14.5 paragraph 2, and 14.6 paragraph 1. */
+
+void ieee_procedure_entry (void *);
+export_proto(ieee_procedure_entry);
+
+void
+ieee_procedure_entry (void *state)
+{
+ /* Save the floating-point state in the space provided by the caller. */
+ get_fpu_state (state);
+
+ /* Clear the floating-point exceptions. */
+ set_fpu_except_flags (0, GFC_FPE_ALL);
+}
+
+
+void ieee_procedure_exit (void *);
+export_proto(ieee_procedure_exit);
+
+void
+ieee_procedure_exit (void *state)
+{
+ /* Get the flags currently signaling. */
+ int flags = get_fpu_except_flags ();
+
+ /* Restore the floating-point state we had on entry. */
+ set_fpu_state (state);
+
+ /* And re-raised the flags that were raised since entry. */
+ set_fpu_except_flags (flags, 0);
+}
+
diff --git a/libgfortran/intrinsics/abort.c b/libgfortran/intrinsics/abort.c
index e3cb0f3859..a41f15c630 100644
--- a/libgfortran/intrinsics/abort.c
+++ b/libgfortran/intrinsics/abort.c
@@ -1,5 +1,5 @@
/* Implementation of the ABORT intrinsic.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/access.c b/libgfortran/intrinsics/access.c
index a418d6703c..e6a42bf3b5 100644
--- a/libgfortran/intrinsics/access.c
+++ b/libgfortran/intrinsics/access.c
@@ -1,8 +1,8 @@
/* Implementation of the ACCESS intrinsic.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
-This file is part of the GNU Fortran 95 runtime library (libgfortran).
+This file is part of the GNU Fortran runtime library (libgfortran).
Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
@@ -26,6 +26,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h"
#include <errno.h>
+#include <stdlib.h>
#include <string.h>
#ifdef HAVE_UNISTD_H
@@ -43,7 +44,6 @@ int
access_func (char *name, char *mode, gfc_charlen_type name_len,
gfc_charlen_type mode_len)
{
- char * file;
gfc_charlen_type i;
int m;
@@ -75,16 +75,12 @@ access_func (char *name, char *mode, gfc_charlen_type name_len,
break;
}
- /* Trim trailing spaces from NAME argument. */
- while (name_len > 0 && name[name_len - 1] == ' ')
- name_len--;
-
- /* Make a null terminated copy of the string. */
- file = gfc_alloca (name_len + 1);
- memcpy (file, name, name_len);
- file[name_len] = '\0';
+ char *path = fc_strdup (name, name_len);
/* And make the call to access(). */
- return (access (file, m) == 0 ? 0 : errno);
+ int res = (access (path, m) == 0 ? 0 : errno);
+
+ free (path);
+ return res;
}
#endif
diff --git a/libgfortran/intrinsics/args.c b/libgfortran/intrinsics/args.c
index 501550c397..6aea4019a5 100644
--- a/libgfortran/intrinsics/args.c
+++ b/libgfortran/intrinsics/args.c
@@ -1,6 +1,6 @@
/* Implementation of the GETARG and IARGC g77, and
corresponding F2003, intrinsics.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Bud Davis and Janne Blomqvist.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/associated.c b/libgfortran/intrinsics/associated.c
index 3bef047478..24ca5071a0 100644
--- a/libgfortran/intrinsics/associated.c
+++ b/libgfortran/intrinsics/associated.c
@@ -1,5 +1,5 @@
/* Implementation of the ASSOCIATED intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by kejia Zhao (CCRG) <kejia_zh@yahoo.com.cn>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/bit_intrinsics.c b/libgfortran/intrinsics/bit_intrinsics.c
index e85ee1e56a..d83157514e 100644
--- a/libgfortran/intrinsics/bit_intrinsics.c
+++ b/libgfortran/intrinsics/bit_intrinsics.c
@@ -1,5 +1,5 @@
/* Implementation of the bit intrinsics not implemented as GCC builtins.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/c99_functions.c b/libgfortran/intrinsics/c99_functions.c
index 0e4589ae30..7bfd16ab0d 100644
--- a/libgfortran/intrinsics/c99_functions.c
+++ b/libgfortran/intrinsics/c99_functions.c
@@ -1,5 +1,5 @@
/* Implementation of various C99 functions
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
@@ -39,6 +39,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
# endif
#endif
+/* Macros to get real and imaginary parts of a complex, and set
+ a complex value. */
+#define REALPART(z) (__real__(z))
+#define IMAGPART(z) (__imag__(z))
+#define COMPLEX_ASSIGN(z_, r_, i_) {__real__(z_) = (r_); __imag__(z_) = (i_);}
+
+
/* Prototypes are included to silence -Wstrict-prototypes
-Wmissing-prototypes. */
diff --git a/libgfortran/intrinsics/chdir.c b/libgfortran/intrinsics/chdir.c
index c4933a3d5f..14e246d410 100644
--- a/libgfortran/intrinsics/chdir.c
+++ b/libgfortran/intrinsics/chdir.c
@@ -1,5 +1,5 @@
/* Implementation of the CHDIR intrinsic.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
@@ -26,6 +26,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h"
#include <errno.h>
+#include <stdlib.h>
#include <string.h>
#ifdef HAVE_UNISTD_H
@@ -44,18 +45,10 @@ void
chdir_i4_sub (char *dir, GFC_INTEGER_4 *status, gfc_charlen_type dir_len)
{
int val;
- char *str;
-
- /* Trim trailing spaces from paths. */
- while (dir_len > 0 && dir[dir_len - 1] == ' ')
- dir_len--;
-
- /* Make a null terminated copy of the strings. */
- str = gfc_alloca (dir_len + 1);
- memcpy (str, dir, dir_len);
- str[dir_len] = '\0';
+ char *str = fc_strdup (dir, dir_len);
val = chdir (str);
+ free (str);
if (status != NULL)
*status = (val == 0) ? 0 : errno;
@@ -69,18 +62,10 @@ void
chdir_i8_sub (char *dir, GFC_INTEGER_8 *status, gfc_charlen_type dir_len)
{
int val;
- char *str;
-
- /* Trim trailing spaces from paths. */
- while (dir_len > 0 && dir[dir_len - 1] == ' ')
- dir_len--;
-
- /* Make a null terminated copy of the strings. */
- str = gfc_alloca (dir_len + 1);
- memcpy (str, dir, dir_len);
- str[dir_len] = '\0';
+ char *str = fc_strdup (dir, dir_len);
val = chdir (str);
+ free (str);
if (status != NULL)
*status = (val == 0) ? 0 : errno;
diff --git a/libgfortran/intrinsics/chmod.c b/libgfortran/intrinsics/chmod.c
index acef433d92..1fffa3d925 100644
--- a/libgfortran/intrinsics/chmod.c
+++ b/libgfortran/intrinsics/chmod.c
@@ -1,5 +1,5 @@
/* Implementation of the CHMOD intrinsic.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -28,6 +28,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#if defined(HAVE_SYS_STAT_H)
#include <string.h> /* For memcpy. */
+#include <stdlib.h> /* For free. */
#include <sys/stat.h> /* For stat, chmod and umask. */
@@ -61,14 +62,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
A return value of 0 indicates success, -1 an error of chmod() while 1
indicates a mode parsing error. */
-extern int chmod_func (char *, char *, gfc_charlen_type, gfc_charlen_type);
-export_proto(chmod_func);
-int
-chmod_func (char *name, char *mode, gfc_charlen_type name_len,
- gfc_charlen_type mode_len)
+static int
+chmod_internal (char *file, char *mode, gfc_charlen_type mode_len)
{
- char * file;
int i;
bool ugo[3];
bool rwxXstugo[9];
@@ -80,15 +77,6 @@ chmod_func (char *name, char *mode, gfc_charlen_type name_len,
mode_t mode_mask, file_mode, new_mode;
struct stat stat_buf;
- /* Trim trailing spaces of the file name. */
- while (name_len > 0 && name[name_len - 1] == ' ')
- name_len--;
-
- /* Make a null terminated copy of the file name. */
- file = gfc_alloca (name_len + 1);
- memcpy (file, name, name_len);
- file[name_len] = '\0';
-
if (mode_len == 0)
return 1;
@@ -496,6 +484,20 @@ clause_done:
}
+extern int chmod_func (char *, char *, gfc_charlen_type, gfc_charlen_type);
+export_proto(chmod_func);
+
+int
+chmod_func (char *name, char *mode, gfc_charlen_type name_len,
+ gfc_charlen_type mode_len)
+{
+ char *cname = fc_strdup (name, name_len);
+ int ret = chmod_internal (cname, mode, mode_len);
+ free (cname);
+ return ret;
+}
+
+
extern void chmod_i4_sub (char *, char *, GFC_INTEGER_4 *,
gfc_charlen_type, gfc_charlen_type);
export_proto(chmod_i4_sub);
diff --git a/libgfortran/intrinsics/clock.c b/libgfortran/intrinsics/clock.c
index c834126877..2a2a677b03 100644
--- a/libgfortran/intrinsics/clock.c
+++ b/libgfortran/intrinsics/clock.c
@@ -1,5 +1,5 @@
/* Implementation of the MCLOCK and MCLOCK8 g77 intrinsics.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/cpu_time.c b/libgfortran/intrinsics/cpu_time.c
index 876ef4784a..9e7f7b0b31 100644
--- a/libgfortran/intrinsics/cpu_time.c
+++ b/libgfortran/intrinsics/cpu_time.c
@@ -1,5 +1,5 @@
/* Implementation of the CPU_TIME intrinsic.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/cshift0.c b/libgfortran/intrinsics/cshift0.c
index f983754f16..deb5611e75 100644
--- a/libgfortran/intrinsics/cshift0.c
+++ b/libgfortran/intrinsics/cshift0.c
@@ -1,5 +1,5 @@
/* Generic implementation of the CSHIFT intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Feng Wang <wf_cs@yahoo.com>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/ctime.c b/libgfortran/intrinsics/ctime.c
index 9cda39b0e9..3fdf76530b 100644
--- a/libgfortran/intrinsics/ctime.c
+++ b/libgfortran/intrinsics/ctime.c
@@ -1,5 +1,5 @@
/* Implementation of the CTIME and FDATE g77 intrinsics.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/date_and_time.c b/libgfortran/intrinsics/date_and_time.c
index c9e4b9615c..f1d0a2bd7a 100644
--- a/libgfortran/intrinsics/date_and_time.c
+++ b/libgfortran/intrinsics/date_and_time.c
@@ -1,5 +1,5 @@
/* Implementation of the DATE_AND_TIME intrinsic.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Steven Bosscher.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/dprod_r8.f90 b/libgfortran/intrinsics/dprod_r8.f90
index 268eda9213..613fa81628 100644
--- a/libgfortran/intrinsics/dprod_r8.f90
+++ b/libgfortran/intrinsics/dprod_r8.f90
@@ -1,4 +1,4 @@
-! Copyright (C) 2003-2014 Free Software Foundation, Inc.
+! Copyright (C) 2003-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/dtime.c b/libgfortran/intrinsics/dtime.c
index 91fa248b12..42986c3d1b 100644
--- a/libgfortran/intrinsics/dtime.c
+++ b/libgfortran/intrinsics/dtime.c
@@ -1,5 +1,5 @@
/* Implementation of the dtime intrinsic.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/env.c b/libgfortran/intrinsics/env.c
index 9f4507305c..e81924c690 100644
--- a/libgfortran/intrinsics/env.c
+++ b/libgfortran/intrinsics/env.c
@@ -1,6 +1,6 @@
/* Implementation of the GETENV g77, and
GET_ENVIRONMENT_VARIABLE F2003, intrinsics.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Janne Blomqvist.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
@@ -42,7 +42,6 @@ PREFIX(getenv) (char * name, char * value, gfc_charlen_type name_len,
{
char *name_nt;
char *res = NULL;
- int res_len;
if (name == NULL || value == NULL)
runtime_error ("Both arguments to getenv are mandatory.");
@@ -52,27 +51,19 @@ PREFIX(getenv) (char * name, char * value, gfc_charlen_type name_len,
else
memset (value, ' ', value_len); /* Blank the string. */
- /* Trim trailing spaces from name. */
- while (name_len > 0 && name[name_len - 1] == ' ')
- name_len--;
-
/* Make a null terminated copy of the string. */
- name_nt = gfc_alloca (name_len + 1);
- memcpy (name_nt, name, name_len);
- name_nt[name_len] = '\0';
+ name_nt = fc_strdup (name, name_len);
res = getenv(name_nt);
+ free (name_nt);
+
/* If res is NULL, it means that the environment variable didn't
exist, so just return. */
if (res == NULL)
return;
- res_len = strlen(res);
- if (value_len < res_len)
- memcpy (value, res, value_len);
- else
- memcpy (value, res, res_len);
+ cf_strcpy (value, value_len, res);
}
@@ -127,18 +118,14 @@ get_environment_variable_i4 (char *name, char *value, GFC_INTEGER_4 *length,
}
if ((!trim_name) || *trim_name)
- {
- /* Trim trailing spaces from name. */
- while (name_len > 0 && name[name_len - 1] == ' ')
- name_len--;
- }
- /* Make a null terminated copy of the name. */
- name_nt = gfc_alloca (name_len + 1);
- memcpy (name_nt, name, name_len);
- name_nt[name_len] = '\0';
+ name_nt = fc_strdup (name, name_len);
+ else
+ name_nt = fc_strdup_notrim (name, name_len);
res = getenv(name_nt);
+ free (name_nt);
+
if (res == NULL)
stat = GFC_NAME_DOES_NOT_EXIST;
else
diff --git a/libgfortran/intrinsics/eoshift0.c b/libgfortran/intrinsics/eoshift0.c
index 7d37213201..84723ae9b4 100644
--- a/libgfortran/intrinsics/eoshift0.c
+++ b/libgfortran/intrinsics/eoshift0.c
@@ -1,5 +1,5 @@
/* Generic implementation of the EOSHIFT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/eoshift2.c b/libgfortran/intrinsics/eoshift2.c
index c7ec5cf9f8..74f2a478e8 100644
--- a/libgfortran/intrinsics/eoshift2.c
+++ b/libgfortran/intrinsics/eoshift2.c
@@ -1,5 +1,5 @@
/* Generic implementation of the EOSHIFT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/erfc_scaled.c b/libgfortran/intrinsics/erfc_scaled.c
index d82f765936..7a08d5193d 100644
--- a/libgfortran/intrinsics/erfc_scaled.c
+++ b/libgfortran/intrinsics/erfc_scaled.c
@@ -1,5 +1,5 @@
/* Implementation of the ERFC_SCALED intrinsic.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/erfc_scaled_inc.c b/libgfortran/intrinsics/erfc_scaled_inc.c
index 75d1f95bd5..c945828bf1 100644
--- a/libgfortran/intrinsics/erfc_scaled_inc.c
+++ b/libgfortran/intrinsics/erfc_scaled_inc.c
@@ -1,5 +1,5 @@
/* Implementation of the ERFC_SCALED intrinsic, to be included by erfc_scaled.c
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/etime.c b/libgfortran/intrinsics/etime.c
index 34759a812d..6c67a864c4 100644
--- a/libgfortran/intrinsics/etime.c
+++ b/libgfortran/intrinsics/etime.c
@@ -1,5 +1,5 @@
/* Implementation of the ETIME intrinsic.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargls@comcast.net>.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/execute_command_line.c b/libgfortran/intrinsics/execute_command_line.c
index 19cc29b3c4..404314b095 100644
--- a/libgfortran/intrinsics/execute_command_line.c
+++ b/libgfortran/intrinsics/execute_command_line.c
@@ -1,5 +1,5 @@
/* Implementation of the EXECUTE_COMMAND_LINE intrinsic.
- Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert.
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -61,9 +61,7 @@ execute_command_line (const char *command, bool wait, int *exitstat,
gfc_charlen_type cmdmsg_len)
{
/* Transform the Fortran string to a C string. */
- char cmd[command_len + 1];
- memcpy (cmd, command, command_len);
- cmd[command_len] = '\0';
+ char *cmd = fc_strdup (command, command_len);
/* Flush all I/O units before executing the command. */
flush_all_units();
@@ -110,6 +108,8 @@ execute_command_line (const char *command, bool wait, int *exitstat,
}
}
+ free (cmd);
+
/* Now copy back to the Fortran string if needed. */
if (cmdstat && *cmdstat > EXEC_NOERROR)
{
diff --git a/libgfortran/intrinsics/exit.c b/libgfortran/intrinsics/exit.c
index 095b1c2bf2..ac33a08b56 100644
--- a/libgfortran/intrinsics/exit.c
+++ b/libgfortran/intrinsics/exit.c
@@ -1,5 +1,5 @@
/* Implementation of the EXIT intrinsic.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargls@comcast.net>.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/extends_type_of.c b/libgfortran/intrinsics/extends_type_of.c
index a4a88ea3a0..4840e52016 100644
--- a/libgfortran/intrinsics/extends_type_of.c
+++ b/libgfortran/intrinsics/extends_type_of.c
@@ -1,5 +1,5 @@
/* Implementation of the EXTENDS_TYPE_OF intrinsic.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Janus Weil <janus@gcc.gnu.org>.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/f2c_specifics.F90 b/libgfortran/intrinsics/f2c_specifics.F90
index d93c6ee011..eb1211920e 100644
--- a/libgfortran/intrinsics/f2c_specifics.F90
+++ b/libgfortran/intrinsics/f2c_specifics.F90
@@ -1,4 +1,4 @@
-! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Tobias Schl"uter
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/fnum.c b/libgfortran/intrinsics/fnum.c
index 901f56cb7c..97f58f2fa9 100644
--- a/libgfortran/intrinsics/fnum.c
+++ b/libgfortran/intrinsics/fnum.c
@@ -1,5 +1,5 @@
/* Implementation of the FNUM intrinsics.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargls@comcast.net>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/gerror.c b/libgfortran/intrinsics/gerror.c
index a482b92d9a..561b9cd015 100644
--- a/libgfortran/intrinsics/gerror.c
+++ b/libgfortran/intrinsics/gerror.c
@@ -1,5 +1,5 @@
/* Implementation of the GERROR g77 intrinsic.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/getXid.c b/libgfortran/intrinsics/getXid.c
index c163d1b9c9..1c670d7a64 100644
--- a/libgfortran/intrinsics/getXid.c
+++ b/libgfortran/intrinsics/getXid.c
@@ -1,5 +1,5 @@
/* Wrapper for the unix get{g,p,u}id functions.
-Copyright (C) 2004-2014 Free Software Foundation, Inc.
+Copyright (C) 2004-2015 Free Software Foundation, Inc.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/getcwd.c b/libgfortran/intrinsics/getcwd.c
index 161a288f17..098a891407 100644
--- a/libgfortran/intrinsics/getcwd.c
+++ b/libgfortran/intrinsics/getcwd.c
@@ -1,8 +1,8 @@
/* Implementation of the GETCWD intrinsic.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargls@comcast.net>.
-This file is part of the GNU Fortran 95 runtime library (libgfortran).
+This file is part of the GNU Fortran runtime library (libgfortran).
Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
@@ -25,6 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h"
+#include <stdlib.h>
#include <string.h>
#include <errno.h>
@@ -40,20 +41,35 @@ iexport_proto(getcwd_i4_sub);
void
getcwd_i4_sub (char *cwd, GFC_INTEGER_4 *status, gfc_charlen_type cwd_len)
{
- char str[cwd_len + 1];
- GFC_INTEGER_4 stat;
+ int err;
- memset(cwd, ' ', (size_t) cwd_len);
-
- if (!getcwd (str, (size_t) cwd_len + 1))
- stat = errno;
- else
+ if (getcwd (cwd, cwd_len))
{
- stat = 0;
- memcpy (cwd, str, strlen (str));
+ size_t len = strlen (cwd);
+ memset (cwd + len, ' ', cwd_len - len);
+ err = 0;
}
+ else if (errno == ERANGE)
+ {
+ /* There is a possibility that the previous attempt failed due
+ to not enough space for the terminating null byte. Try again
+ with a buffer one char longer. */
+ char *buf = xmalloc (cwd_len + 1);
+ if (getcwd (buf, cwd_len + 1))
+ {
+ memcpy (cwd, buf, cwd_len);
+ err = 0;
+ }
+ else
+ err = errno;
+ free (buf);
+ }
+ else
+ err = errno;
+ if (err)
+ memset (cwd, ' ', cwd_len);
if (status != NULL)
- *status = stat;
+ *status = err;
}
iexport(getcwd_i4_sub);
diff --git a/libgfortran/intrinsics/getlog.c b/libgfortran/intrinsics/getlog.c
index 151e9d6991..a9c2027c03 100644
--- a/libgfortran/intrinsics/getlog.c
+++ b/libgfortran/intrinsics/getlog.c
@@ -1,5 +1,5 @@
/* Implementation of the GETLOG g77 intrinsic.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/hostnm.c b/libgfortran/intrinsics/hostnm.c
index 856625826e..9a2423bea7 100644
--- a/libgfortran/intrinsics/hostnm.c
+++ b/libgfortran/intrinsics/hostnm.c
@@ -1,8 +1,8 @@
/* Implementation of the HOSTNM intrinsic.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
-This file is part of the GNU Fortran 95 runtime library (libgfortran).
+This file is part of the GNU Fortran runtime library (libgfortran).
Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
@@ -32,6 +32,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include <unistd.h>
#endif
+#include <limits.h>
+
+#ifndef HOST_NAME_MAX
+#define HOST_NAME_MAX 255
+#endif
+
/* Windows32 version */
#if defined __MINGW32__ && !defined HAVE_GETHOSTNAME
@@ -79,19 +85,17 @@ w32_gethostname (char *name, size_t len)
INTEGER, INTENT(OUT), OPTIONAL :: STATUS */
#ifdef HAVE_GETHOSTNAME
-extern void hostnm_i4_sub (char *, GFC_INTEGER_4 *, gfc_charlen_type);
-iexport_proto(hostnm_i4_sub);
-
-void
-hostnm_i4_sub (char *name, GFC_INTEGER_4 *status, gfc_charlen_type name_len)
+static int
+hostnm_0 (char *name, gfc_charlen_type name_len)
{
int val, i;
- char *p;
+ char p[HOST_NAME_MAX + 1];
memset (name, ' ', name_len);
- p = gfc_alloca (name_len + 1);
- val = gethostname (p, name_len);
+ size_t reqlen = sizeof (p) > (size_t) name_len + 1
+ ? (size_t) name_len + 1: sizeof (p);
+ val = gethostname (p, reqlen);
if (val == 0)
{
@@ -100,8 +104,18 @@ hostnm_i4_sub (char *name, GFC_INTEGER_4 *status, gfc_charlen_type name_len)
name[i] = p[i];
}
+ return ((val == 0) ? 0 : errno);
+}
+
+extern void hostnm_i4_sub (char *, GFC_INTEGER_4 *, gfc_charlen_type);
+iexport_proto(hostnm_i4_sub);
+
+void
+hostnm_i4_sub (char *name, GFC_INTEGER_4 *status, gfc_charlen_type name_len)
+{
+ int val = hostnm_0 (name, name_len);
if (status != NULL)
- *status = (val == 0) ? 0 : errno;
+ *status = val;
}
iexport(hostnm_i4_sub);
@@ -111,23 +125,9 @@ iexport_proto(hostnm_i8_sub);
void
hostnm_i8_sub (char *name, GFC_INTEGER_8 *status, gfc_charlen_type name_len)
{
- int val, i;
- char *p;
-
- memset (name, ' ', name_len);
- p = gfc_alloca (name_len + 1);
-
- val = gethostname (p, name_len);
-
- if (val == 0)
- {
- i = -1;
- while (i < name_len && p[++i] != '\0')
- name[i] = p[i];
- }
-
+ int val = hostnm_0 (name, name_len);
if (status != NULL)
- *status = (val == 0) ? 0 : errno;
+ *status = val;
}
iexport(hostnm_i8_sub);
@@ -137,8 +137,6 @@ export_proto(hostnm);
GFC_INTEGER_4
hostnm (char *name, gfc_charlen_type name_len)
{
- GFC_INTEGER_4 val;
- hostnm_i4_sub (name, &val, name_len);
- return val;
+ return hostnm_0 (name, name_len);
}
#endif
diff --git a/libgfortran/intrinsics/ierrno.c b/libgfortran/intrinsics/ierrno.c
index 144204bc15..a11442cef5 100644
--- a/libgfortran/intrinsics/ierrno.c
+++ b/libgfortran/intrinsics/ierrno.c
@@ -1,5 +1,5 @@
/* Implementation of the IERRNO intrinsic.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/ishftc.c b/libgfortran/intrinsics/ishftc.c
index 9ce0196a21..96517a9664 100644
--- a/libgfortran/intrinsics/ishftc.c
+++ b/libgfortran/intrinsics/ishftc.c
@@ -1,5 +1,5 @@
/* Implementation of ishftc intrinsic.
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/iso_c_binding.c b/libgfortran/intrinsics/iso_c_binding.c
index ebed2e6a3d..7ef02066c5 100644
--- a/libgfortran/intrinsics/iso_c_binding.c
+++ b/libgfortran/intrinsics/iso_c_binding.c
@@ -1,5 +1,5 @@
/* Implementation of the ISO_C_BINDING library helper functions.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
Contributed by Christopher Rickett.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/iso_c_binding.h b/libgfortran/intrinsics/iso_c_binding.h
index a4f5a39430..389ebd220d 100644
--- a/libgfortran/intrinsics/iso_c_binding.h
+++ b/libgfortran/intrinsics/iso_c_binding.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
Contributed by Christopher Rickett.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/iso_c_generated_procs.c b/libgfortran/intrinsics/iso_c_generated_procs.c
index 6845b98a2b..8b1cb38e03 100644
--- a/libgfortran/intrinsics/iso_c_generated_procs.c
+++ b/libgfortran/intrinsics/iso_c_generated_procs.c
@@ -1,5 +1,5 @@
/* Implementation of the ISO_C_BINDING library helper generated functions.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
Contributed by Christopher Rickett.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/kill.c b/libgfortran/intrinsics/kill.c
index 557a601e7b..bb986030f9 100644
--- a/libgfortran/intrinsics/kill.c
+++ b/libgfortran/intrinsics/kill.c
@@ -1,5 +1,5 @@
/* Implementation of the KILL g77 intrinsic.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/link.c b/libgfortran/intrinsics/link.c
index 2018c628a0..f8ce3a840d 100644
--- a/libgfortran/intrinsics/link.c
+++ b/libgfortran/intrinsics/link.c
@@ -1,8 +1,8 @@
/* Implementation of the LINK intrinsic.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
-This file is part of the GNU Fortran 95 runtime library (libgfortran).
+This file is part of the GNU Fortran runtime library (libgfortran).
Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
@@ -26,6 +26,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h"
#include <errno.h>
+#include <stdlib.h>
#include <string.h>
#ifdef HAVE_UNISTD_H
@@ -37,36 +38,39 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
INTEGER, INTENT(OUT), OPTIONAL :: STATUS */
#ifdef HAVE_LINK
-extern void link_i4_sub (char *, char *, GFC_INTEGER_4 *, gfc_charlen_type,
- gfc_charlen_type);
-iexport_proto(link_i4_sub);
-void
-link_i4_sub (char *path1, char *path2, GFC_INTEGER_4 *status,
- gfc_charlen_type path1_len, gfc_charlen_type path2_len)
+static int
+link_internal (char *path1, char *path2, gfc_charlen_type path1_len,
+ gfc_charlen_type path2_len)
{
int val;
char *str1, *str2;
- /* Trim trailing spaces from paths. */
- while (path1_len > 0 && path1[path1_len - 1] == ' ')
- path1_len--;
- while (path2_len > 0 && path2[path2_len - 1] == ' ')
- path2_len--;
-
/* Make a null terminated copy of the strings. */
- str1 = gfc_alloca (path1_len + 1);
- memcpy (str1, path1, path1_len);
- str1[path1_len] = '\0';
-
- str2 = gfc_alloca (path2_len + 1);
- memcpy (str2, path2, path2_len);
- str2[path2_len] = '\0';
+ str1 = fc_strdup (path1, path1_len);
+ str2 = fc_strdup (path2, path2_len);
val = link (str1, str2);
+ free (str1);
+ free (str2);
+
+ return ((val == 0) ? 0 : errno);
+}
+
+
+extern void link_i4_sub (char *, char *, GFC_INTEGER_4 *, gfc_charlen_type,
+ gfc_charlen_type);
+iexport_proto(link_i4_sub);
+
+void
+link_i4_sub (char *path1, char *path2, GFC_INTEGER_4 *status,
+ gfc_charlen_type path1_len, gfc_charlen_type path2_len)
+{
+ int val = link_internal (path1, path2, path1_len, path2_len);
+
if (status != NULL)
- *status = (val == 0) ? 0 : errno;
+ *status = val;
}
iexport(link_i4_sub);
@@ -78,28 +82,10 @@ void
link_i8_sub (char *path1, char *path2, GFC_INTEGER_8 *status,
gfc_charlen_type path1_len, gfc_charlen_type path2_len)
{
- int val;
- char *str1, *str2;
-
- /* Trim trailing spaces from paths. */
- while (path1_len > 0 && path1[path1_len - 1] == ' ')
- path1_len--;
- while (path2_len > 0 && path2[path2_len - 1] == ' ')
- path2_len--;
-
- /* Make a null terminated copy of the strings. */
- str1 = gfc_alloca (path1_len + 1);
- memcpy (str1, path1, path1_len);
- str1[path1_len] = '\0';
-
- str2 = gfc_alloca (path2_len + 1);
- memcpy (str2, path2, path2_len);
- str2[path2_len] = '\0';
-
- val = link (str1, str2);
+ int val = link_internal (path1, path2, path1_len, path2_len);
if (status != NULL)
- *status = (val == 0) ? 0 : errno;
+ *status = val;
}
iexport(link_i8_sub);
@@ -111,9 +97,7 @@ GFC_INTEGER_4
link_i4 (char *path1, char *path2, gfc_charlen_type path1_len,
gfc_charlen_type path2_len)
{
- GFC_INTEGER_4 val;
- link_i4_sub (path1, path2, &val, path1_len, path2_len);
- return val;
+ return link_internal (path1, path2, path1_len, path2_len);
}
extern GFC_INTEGER_8 link_i8 (char *, char *, gfc_charlen_type,
@@ -124,8 +108,6 @@ GFC_INTEGER_8
link_i8 (char *path1, char *path2, gfc_charlen_type path1_len,
gfc_charlen_type path2_len)
{
- GFC_INTEGER_8 val;
- link_i8_sub (path1, path2, &val, path1_len, path2_len);
- return val;
+ return link_internal (path1, path2, path1_len, path2_len);
}
#endif
diff --git a/libgfortran/intrinsics/malloc.c b/libgfortran/intrinsics/malloc.c
index 0ab3c7d965..b3fdad7494 100644
--- a/libgfortran/intrinsics/malloc.c
+++ b/libgfortran/intrinsics/malloc.c
@@ -1,5 +1,5 @@
/* Implementation of the MALLOC and FREE intrinsics
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/move_alloc.c b/libgfortran/intrinsics/move_alloc.c
index 28b2895fe3..f63e5afc25 100644
--- a/libgfortran/intrinsics/move_alloc.c
+++ b/libgfortran/intrinsics/move_alloc.c
@@ -1,5 +1,5 @@
/* Generic implementation of the MOVE_ALLOC intrinsic
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Contributed by Paul Thomas
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/mvbits.c b/libgfortran/intrinsics/mvbits.c
index 329d39f6a3..19b8fc9f6e 100644
--- a/libgfortran/intrinsics/mvbits.c
+++ b/libgfortran/intrinsics/mvbits.c
@@ -1,5 +1,5 @@
/* Implementation of the MVBITS intrinsic
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/pack_generic.c b/libgfortran/intrinsics/pack_generic.c
index 3fbfa0aaa0..99cba94389 100644
--- a/libgfortran/intrinsics/pack_generic.c
+++ b/libgfortran/intrinsics/pack_generic.c
@@ -1,5 +1,5 @@
/* Generic implementation of the PACK intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -463,6 +463,9 @@ pack_s_internal (gfc_array_char *ret, const gfc_array_char *array,
index_type total;
dim = GFC_DESCRIPTOR_RANK (array);
+ /* Initialize sstride[0] to avoid -Wmaybe-uninitialized
+ complaints. */
+ sstride[0] = size;
ssize = 1;
for (n = 0; n < dim; n++)
{
diff --git a/libgfortran/intrinsics/perror.c b/libgfortran/intrinsics/perror.c
index 9a2851f550..6574f64158 100644
--- a/libgfortran/intrinsics/perror.c
+++ b/libgfortran/intrinsics/perror.c
@@ -1,5 +1,5 @@
/* Implementation of the PERROR intrinsic.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -27,6 +27,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include <errno.h>
#include <string.h>
+#include <stdlib.h>
/* SUBROUTINE PERROR(STRING)
CHARACTER(len=*), INTENT(IN) :: STRING */
@@ -37,17 +38,8 @@ iexport_proto(perror_sub);
void
perror_sub (char *string, gfc_charlen_type string_len)
{
- char * str;
-
- /* Trim trailing spaces from paths. */
- while (string_len > 0 && string[string_len - 1] == ' ')
- string_len--;
-
- /* Make a null terminated copy of the strings. */
- str = gfc_alloca (string_len + 1);
- memcpy (str, string, string_len);
- str[string_len] = '\0';
-
+ char *str = fc_strdup (string, string_len);
perror (str);
+ free (str);
}
iexport(perror_sub);
diff --git a/libgfortran/intrinsics/rand.c b/libgfortran/intrinsics/rand.c
index 2fe725fe03..84ad7c9d32 100644
--- a/libgfortran/intrinsics/rand.c
+++ b/libgfortran/intrinsics/rand.c
@@ -1,5 +1,5 @@
/* Implementation of the IRAND, RAND, and SRAND intrinsics.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargls@comcast.net>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/random.c b/libgfortran/intrinsics/random.c
index 593a6518ca..9c8a9a5c16 100644
--- a/libgfortran/intrinsics/random.c
+++ b/libgfortran/intrinsics/random.c
@@ -1,5 +1,5 @@
/* Implementation of the RANDOM intrinsics
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Lars Segerlund <seger@linuxmail.org>
and Steve Kargl.
@@ -224,7 +224,7 @@ KISS algorithm. */
z=0,c=0 and z=2^32-1,c=698769068
should be avoided. */
-/* Any modifications to the seeds that change kiss_size below need to be
+/* Any modifications to the seeds that change KISS_SIZE below need to be
reflected in check.c (gfc_check_random_seed) to enable correct
compile-time checking of PUT size for the RANDOM_SEED intrinsic. */
@@ -250,7 +250,7 @@ static GFC_UINTEGER_4 kiss_default_seed[] = {
#endif
};
-static const GFC_INTEGER_4 kiss_size = sizeof(kiss_seed)/sizeof(kiss_seed[0]);
+#define KISS_SIZE (sizeof(kiss_seed)/sizeof(kiss_seed[0]))
static GFC_UINTEGER_4 * const kiss_seed_1 = kiss_seed;
static GFC_UINTEGER_4 * const kiss_seed_2 = kiss_seed + 4;
@@ -665,8 +665,7 @@ unscramble_seed (unsigned char *dest, unsigned char *src, int size)
void
random_seed_i4 (GFC_INTEGER_4 *size, gfc_array_i4 *put, gfc_array_i4 *get)
{
- int i;
- unsigned char seed[4*kiss_size];
+ unsigned char seed[4 * KISS_SIZE];
__gthread_mutex_lock (&random_lock);
@@ -677,11 +676,11 @@ random_seed_i4 (GFC_INTEGER_4 *size, gfc_array_i4 *put, gfc_array_i4 *get)
/* From the standard: "If no argument is present, the processor assigns
a processor-dependent value to the seed." */
if (size == NULL && put == NULL && get == NULL)
- for (i = 0; i < kiss_size; i++)
+ for (size_t i = 0; i < KISS_SIZE; i++)
kiss_seed[i] = kiss_default_seed[i];
if (size != NULL)
- *size = kiss_size;
+ *size = KISS_SIZE;
if (put != NULL)
{
@@ -690,18 +689,18 @@ random_seed_i4 (GFC_INTEGER_4 *size, gfc_array_i4 *put, gfc_array_i4 *get)
runtime_error ("Array rank of PUT is not 1.");
/* If the array is too small, abort. */
- if (GFC_DESCRIPTOR_EXTENT(put,0) < kiss_size)
+ if (GFC_DESCRIPTOR_EXTENT(put,0) < (index_type) KISS_SIZE)
runtime_error ("Array size of PUT is too small.");
/* We copy the seed given by the user. */
- for (i = 0; i < kiss_size; i++)
+ for (size_t i = 0; i < KISS_SIZE; i++)
memcpy (seed + i * sizeof(GFC_UINTEGER_4),
- &(put->base_addr[(kiss_size - 1 - i) * GFC_DESCRIPTOR_STRIDE(put,0)]),
+ &(put->base_addr[(KISS_SIZE - 1 - i) * GFC_DESCRIPTOR_STRIDE(put,0)]),
sizeof(GFC_UINTEGER_4));
/* We put it after scrambling the bytes, to paper around users who
provide seeds with quality only in the lower or upper part. */
- scramble_seed ((unsigned char *) kiss_seed, seed, 4*kiss_size);
+ scramble_seed ((unsigned char *) kiss_seed, seed, 4 * KISS_SIZE);
}
/* Return the seed to GET data. */
@@ -712,15 +711,15 @@ random_seed_i4 (GFC_INTEGER_4 *size, gfc_array_i4 *put, gfc_array_i4 *get)
runtime_error ("Array rank of GET is not 1.");
/* If the array is too small, abort. */
- if (GFC_DESCRIPTOR_EXTENT(get,0) < kiss_size)
+ if (GFC_DESCRIPTOR_EXTENT(get,0) < (index_type) KISS_SIZE)
runtime_error ("Array size of GET is too small.");
/* Unscramble the seed. */
- unscramble_seed (seed, (unsigned char *) kiss_seed, 4*kiss_size);
+ unscramble_seed (seed, (unsigned char *) kiss_seed, 4 * KISS_SIZE);
/* Then copy it back to the user variable. */
- for (i = 0; i < kiss_size; i++)
- memcpy (&(get->base_addr[(kiss_size - 1 - i) * GFC_DESCRIPTOR_STRIDE(get,0)]),
+ for (size_t i = 0; i < KISS_SIZE; i++)
+ memcpy (&(get->base_addr[(KISS_SIZE - 1 - i) * GFC_DESCRIPTOR_STRIDE(get,0)]),
seed + i * sizeof(GFC_UINTEGER_4),
sizeof(GFC_UINTEGER_4));
}
@@ -733,8 +732,6 @@ iexport(random_seed_i4);
void
random_seed_i8 (GFC_INTEGER_8 *size, gfc_array_i8 *put, gfc_array_i8 *get)
{
- int i;
-
__gthread_mutex_lock (&random_lock);
/* Check that we only have one argument present. */
@@ -744,11 +741,11 @@ random_seed_i8 (GFC_INTEGER_8 *size, gfc_array_i8 *put, gfc_array_i8 *get)
/* From the standard: "If no argument is present, the processor assigns
a processor-dependent value to the seed." */
if (size == NULL && put == NULL && get == NULL)
- for (i = 0; i < kiss_size; i++)
+ for (size_t i = 0; i < KISS_SIZE; i++)
kiss_seed[i] = kiss_default_seed[i];
if (size != NULL)
- *size = kiss_size / 2;
+ *size = KISS_SIZE / 2;
if (put != NULL)
{
@@ -757,11 +754,11 @@ random_seed_i8 (GFC_INTEGER_8 *size, gfc_array_i8 *put, gfc_array_i8 *get)
runtime_error ("Array rank of PUT is not 1.");
/* If the array is too small, abort. */
- if (GFC_DESCRIPTOR_EXTENT(put,0) < kiss_size / 2)
+ if (GFC_DESCRIPTOR_EXTENT(put,0) < (index_type) KISS_SIZE / 2)
runtime_error ("Array size of PUT is too small.");
/* This code now should do correct strides. */
- for (i = 0; i < kiss_size / 2; i++)
+ for (size_t i = 0; i < KISS_SIZE / 2; i++)
memcpy (&kiss_seed[2*i], &(put->base_addr[i * GFC_DESCRIPTOR_STRIDE(put,0)]),
sizeof (GFC_UINTEGER_8));
}
@@ -774,11 +771,11 @@ random_seed_i8 (GFC_INTEGER_8 *size, gfc_array_i8 *put, gfc_array_i8 *get)
runtime_error ("Array rank of GET is not 1.");
/* If the array is too small, abort. */
- if (GFC_DESCRIPTOR_EXTENT(get,0) < kiss_size / 2)
+ if (GFC_DESCRIPTOR_EXTENT(get,0) < (index_type) KISS_SIZE / 2)
runtime_error ("Array size of GET is too small.");
/* This code now should do correct strides. */
- for (i = 0; i < kiss_size / 2; i++)
+ for (size_t i = 0; i < KISS_SIZE / 2; i++)
memcpy (&(get->base_addr[i * GFC_DESCRIPTOR_STRIDE(get,0)]), &kiss_seed[2*i],
sizeof (GFC_UINTEGER_8));
}
diff --git a/libgfortran/intrinsics/rename.c b/libgfortran/intrinsics/rename.c
index 63901df439..13c8cb632e 100644
--- a/libgfortran/intrinsics/rename.c
+++ b/libgfortran/intrinsics/rename.c
@@ -1,8 +1,8 @@
/* Implementation of the RENAME intrinsic.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
-This file is part of the GNU Fortran 95 runtime library (libgfortran).
+This file is part of the GNU Fortran runtime library (libgfortran).
Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
@@ -26,8 +26,23 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h"
#include <errno.h>
+#include <stdlib.h>
#include <string.h>
+
+static int
+rename_internal (char *path1, char *path2, gfc_charlen_type path1_len,
+ gfc_charlen_type path2_len)
+{
+ char *str1 = fc_strdup (path1, path1_len);
+ char *str2 = fc_strdup (path2, path2_len);
+ int val = rename (str1, str2);
+ free (str1);
+ free (str2);
+ return ((val == 0) ? 0 : errno);
+}
+
+
/* SUBROUTINE RENAME(PATH1, PATH2, STATUS)
CHARACTER(len=*), INTENT(IN) :: PATH1, PATH2
INTEGER, INTENT(OUT), OPTIONAL :: STATUS */
@@ -40,28 +55,9 @@ void
rename_i4_sub (char *path1, char *path2, GFC_INTEGER_4 *status,
gfc_charlen_type path1_len, gfc_charlen_type path2_len)
{
- int val;
- char *str1, *str2;
-
- /* Trim trailing spaces from paths. */
- while (path1_len > 0 && path1[path1_len - 1] == ' ')
- path1_len--;
- while (path2_len > 0 && path2[path2_len - 1] == ' ')
- path2_len--;
-
- /* Make a null terminated copy of the strings. */
- str1 = gfc_alloca (path1_len + 1);
- memcpy (str1, path1, path1_len);
- str1[path1_len] = '\0';
-
- str2 = gfc_alloca (path2_len + 1);
- memcpy (str2, path2, path2_len);
- str2[path2_len] = '\0';
-
- val = rename (str1, str2);
-
+ int val = rename_internal (path1, path2, path1_len, path2_len);
if (status != NULL)
- *status = (val == 0) ? 0 : errno;
+ *status = val;
}
iexport(rename_i4_sub);
@@ -73,28 +69,9 @@ void
rename_i8_sub (char *path1, char *path2, GFC_INTEGER_8 *status,
gfc_charlen_type path1_len, gfc_charlen_type path2_len)
{
- int val;
- char *str1, *str2;
-
- /* Trim trailing spaces from paths. */
- while (path1_len > 0 && path1[path1_len - 1] == ' ')
- path1_len--;
- while (path2_len > 0 && path2[path2_len - 1] == ' ')
- path2_len--;
-
- /* Make a null terminated copy of the strings. */
- str1 = gfc_alloca (path1_len + 1);
- memcpy (str1, path1, path1_len);
- str1[path1_len] = '\0';
-
- str2 = gfc_alloca (path2_len + 1);
- memcpy (str2, path2, path2_len);
- str2[path2_len] = '\0';
-
- val = rename (str1, str2);
-
+ int val = rename_internal (path1, path2, path1_len, path2_len);
if (status != NULL)
- *status = (val == 0) ? 0 : errno;
+ *status = val;
}
iexport(rename_i8_sub);
@@ -106,9 +83,7 @@ GFC_INTEGER_4
rename_i4 (char *path1, char *path2, gfc_charlen_type path1_len,
gfc_charlen_type path2_len)
{
- GFC_INTEGER_4 val;
- rename_i4_sub (path1, path2, &val, path1_len, path2_len);
- return val;
+ return rename_internal (path1, path2, path1_len, path2_len);
}
extern GFC_INTEGER_8 rename_i8 (char *, char *, gfc_charlen_type,
@@ -119,7 +94,5 @@ GFC_INTEGER_8
rename_i8 (char *path1, char *path2, gfc_charlen_type path1_len,
gfc_charlen_type path2_len)
{
- GFC_INTEGER_8 val;
- rename_i8_sub (path1, path2, &val, path1_len, path2_len);
- return val;
+ return rename_internal (path1, path2, path1_len, path2_len);
}
diff --git a/libgfortran/intrinsics/reshape_generic.c b/libgfortran/intrinsics/reshape_generic.c
index f742051b5c..a6e1b704cc 100644
--- a/libgfortran/intrinsics/reshape_generic.c
+++ b/libgfortran/intrinsics/reshape_generic.c
@@ -1,5 +1,5 @@
/* Generic implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/reshape_packed.c b/libgfortran/intrinsics/reshape_packed.c
index 4d5bc50029..1239aea4b2 100644
--- a/libgfortran/intrinsics/reshape_packed.c
+++ b/libgfortran/intrinsics/reshape_packed.c
@@ -1,5 +1,5 @@
/* Implementation of the RESHAPE intrinsic for packed arrays
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/selected_char_kind.c b/libgfortran/intrinsics/selected_char_kind.c
index 1255f4ceb5..71540fc9c1 100644
--- a/libgfortran/intrinsics/selected_char_kind.c
+++ b/libgfortran/intrinsics/selected_char_kind.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/selected_int_kind.f90 b/libgfortran/intrinsics/selected_int_kind.f90
index 94f0fca91e..2b297f3dad 100644
--- a/libgfortran/intrinsics/selected_int_kind.f90
+++ b/libgfortran/intrinsics/selected_int_kind.f90
@@ -1,4 +1,4 @@
-! Copyright (C) 2003-2014 Free Software Foundation, Inc.
+! Copyright (C) 2003-2015 Free Software Foundation, Inc.
! Contributed by Kejia Zhao <kejia_zh@yahoo.com.cn>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/selected_real_kind.f90 b/libgfortran/intrinsics/selected_real_kind.f90
index 37a8914aa5..c5448cc916 100644
--- a/libgfortran/intrinsics/selected_real_kind.f90
+++ b/libgfortran/intrinsics/selected_real_kind.f90
@@ -1,4 +1,4 @@
-! Copyright (C) 2003-2014 Free Software Foundation, Inc.
+! Copyright (C) 2003-2015 Free Software Foundation, Inc.
! Contributed by Kejia Zhao <kejia_zh@yahoo.com.cn>
!
!This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/signal.c b/libgfortran/intrinsics/signal.c
index a37f892400..66361cf58b 100644
--- a/libgfortran/intrinsics/signal.c
+++ b/libgfortran/intrinsics/signal.c
@@ -1,5 +1,5 @@
/* Implementation of the SIGNAL and ALARM g77 intrinsics
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/size.c b/libgfortran/intrinsics/size.c
index e083962a64..33869afa76 100644
--- a/libgfortran/intrinsics/size.c
+++ b/libgfortran/intrinsics/size.c
@@ -1,5 +1,5 @@
/* Implementation of the size intrinsic.
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/sleep.c b/libgfortran/intrinsics/sleep.c
index 512ca56f69..26db91242a 100644
--- a/libgfortran/intrinsics/sleep.c
+++ b/libgfortran/intrinsics/sleep.c
@@ -1,5 +1,5 @@
/* Implementation of the SLEEP intrinsic.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/spread_generic.c b/libgfortran/intrinsics/spread_generic.c
index f3f23b8ce3..dc73a9c3f3 100644
--- a/libgfortran/intrinsics/spread_generic.c
+++ b/libgfortran/intrinsics/spread_generic.c
@@ -1,5 +1,5 @@
/* Generic implementation of the SPREAD intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/stat.c b/libgfortran/intrinsics/stat.c
index 1bd8b4b5a7..8361226638 100644
--- a/libgfortran/intrinsics/stat.c
+++ b/libgfortran/intrinsics/stat.c
@@ -1,5 +1,5 @@
/* Implementation of the STAT and FSTAT intrinsics.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargls@comcast.net>.
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -67,14 +67,8 @@ stat_i4_sub_0 (char *name, gfc_array_i4 *sarray, GFC_INTEGER_4 *status,
if (GFC_DESCRIPTOR_EXTENT(sarray,0) < 13)
runtime_error ("Array size of SARRAY is too small.");
- /* Trim trailing spaces from name. */
- while (name_len > 0 && name[name_len - 1] == ' ')
- name_len--;
-
/* Make a null terminated copy of the string. */
- str = gfc_alloca (name_len + 1);
- memcpy (str, name, name_len);
- str[name_len] = '\0';
+ str = fc_strdup (name, name_len);
/* On platforms that don't provide lstat(), we use stat() instead. */
#ifdef HAVE_LSTAT
@@ -84,6 +78,8 @@ stat_i4_sub_0 (char *name, gfc_array_i4 *sarray, GFC_INTEGER_4 *status,
#endif
val = stat(str, &sb);
+ free (str);
+
if (val == 0)
{
index_type stride = GFC_DESCRIPTOR_STRIDE(sarray,0);
@@ -188,14 +184,8 @@ stat_i8_sub_0 (char *name, gfc_array_i8 *sarray, GFC_INTEGER_8 *status,
if (GFC_DESCRIPTOR_EXTENT(sarray,0) < 13)
runtime_error ("Array size of SARRAY is too small.");
- /* Trim trailing spaces from name. */
- while (name_len > 0 && name[name_len - 1] == ' ')
- name_len--;
-
/* Make a null terminated copy of the string. */
- str = gfc_alloca (name_len + 1);
- memcpy (str, name, name_len);
- str[name_len] = '\0';
+ str = fc_strdup (name, name_len);
/* On platforms that don't provide lstat(), we use stat() instead. */
#ifdef HAVE_LSTAT
@@ -205,6 +195,8 @@ stat_i8_sub_0 (char *name, gfc_array_i8 *sarray, GFC_INTEGER_8 *status,
#endif
val = stat(str, &sb);
+ free (str);
+
if (val == 0)
{
index_type stride = GFC_DESCRIPTOR_STRIDE(sarray,0);
diff --git a/libgfortran/intrinsics/string_intrinsics.c b/libgfortran/intrinsics/string_intrinsics.c
index 5832336902..877413efd6 100644
--- a/libgfortran/intrinsics/string_intrinsics.c
+++ b/libgfortran/intrinsics/string_intrinsics.c
@@ -1,5 +1,5 @@
/* String intrinsics helper functions.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/string_intrinsics_inc.c b/libgfortran/intrinsics/string_intrinsics_inc.c
index 5c50366f35..bab5f8951c 100644
--- a/libgfortran/intrinsics/string_intrinsics_inc.c
+++ b/libgfortran/intrinsics/string_intrinsics_inc.c
@@ -1,5 +1,5 @@
/* String intrinsics helper functions.
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/symlnk.c b/libgfortran/intrinsics/symlnk.c
index 3c3d2fbba7..b30f685803 100644
--- a/libgfortran/intrinsics/symlnk.c
+++ b/libgfortran/intrinsics/symlnk.c
@@ -1,8 +1,8 @@
/* Implementation of the SYMLNK intrinsic.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
-This file is part of the GNU Fortran 95 runtime library (libgfortran).
+This file is part of the GNU Fortran runtime library (libgfortran).
Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
@@ -26,6 +26,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h"
#include <errno.h>
+#include <stdlib.h>
#include <string.h>
#ifdef HAVE_UNISTD_H
@@ -37,6 +38,18 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
INTEGER, INTENT(OUT), OPTIONAL :: STATUS */
#ifdef HAVE_SYMLINK
+static int
+symlnk_internal (char *path1, char *path2, gfc_charlen_type path1_len,
+ gfc_charlen_type path2_len)
+{
+ char *str1 = fc_strdup (path1, path1_len);
+ char *str2 = fc_strdup (path2, path2_len);
+ int val = symlink (str1, str2);
+ free (str1);
+ free (str2);
+ return ((val == 0) ? 0 : errno);
+}
+
extern void symlnk_i4_sub (char *, char *, GFC_INTEGER_4 *, gfc_charlen_type,
gfc_charlen_type);
iexport_proto(symlnk_i4_sub);
@@ -45,28 +58,9 @@ void
symlnk_i4_sub (char *path1, char *path2, GFC_INTEGER_4 *status,
gfc_charlen_type path1_len, gfc_charlen_type path2_len)
{
- int val;
- char *str1, *str2;
-
- /* Trim trailing spaces from paths. */
- while (path1_len > 0 && path1[path1_len - 1] == ' ')
- path1_len--;
- while (path2_len > 0 && path2[path2_len - 1] == ' ')
- path2_len--;
-
- /* Make a null terminated copy of the strings. */
- str1 = gfc_alloca (path1_len + 1);
- memcpy (str1, path1, path1_len);
- str1[path1_len] = '\0';
-
- str2 = gfc_alloca (path2_len + 1);
- memcpy (str2, path2, path2_len);
- str2[path2_len] = '\0';
-
- val = symlink (str1, str2);
-
+ int val = symlnk_internal (path1, path2, path1_len, path2_len);
if (status != NULL)
- *status = (val == 0) ? 0 : errno;
+ *status = val;
}
iexport(symlnk_i4_sub);
@@ -78,28 +72,9 @@ void
symlnk_i8_sub (char *path1, char *path2, GFC_INTEGER_8 *status,
gfc_charlen_type path1_len, gfc_charlen_type path2_len)
{
- int val;
- char *str1, *str2;
-
- /* Trim trailing spaces from paths. */
- while (path1_len > 0 && path1[path1_len - 1] == ' ')
- path1_len--;
- while (path2_len > 0 && path2[path2_len - 1] == ' ')
- path2_len--;
-
- /* Make a null terminated copy of the strings. */
- str1 = gfc_alloca (path1_len + 1);
- memcpy (str1, path1, path1_len);
- str1[path1_len] = '\0';
-
- str2 = gfc_alloca (path2_len + 1);
- memcpy (str2, path2, path2_len);
- str2[path2_len] = '\0';
-
- val = symlink (str1, str2);
-
+ int val = symlnk_internal (path1, path2, path1_len, path2_len);
if (status != NULL)
- *status = (val == 0) ? 0 : errno;
+ *status = val;
}
iexport(symlnk_i8_sub);
@@ -111,9 +86,7 @@ GFC_INTEGER_4
symlnk_i4 (char *path1, char *path2, gfc_charlen_type path1_len,
gfc_charlen_type path2_len)
{
- GFC_INTEGER_4 val;
- symlnk_i4_sub (path1, path2, &val, path1_len, path2_len);
- return val;
+ return symlnk_internal (path1, path2, path1_len, path2_len);
}
extern GFC_INTEGER_8 symlnk_i8 (char *, char *, gfc_charlen_type,
@@ -124,8 +97,6 @@ GFC_INTEGER_8
symlnk_i8 (char *path1, char *path2, gfc_charlen_type path1_len,
gfc_charlen_type path2_len)
{
- GFC_INTEGER_8 val;
- symlnk_i8_sub (path1, path2, &val, path1_len, path2_len);
- return val;
+ return symlnk_internal (path1, path2, path1_len, path2_len);
}
#endif
diff --git a/libgfortran/intrinsics/system.c b/libgfortran/intrinsics/system.c
index d0a131d60e..f291030f0f 100644
--- a/libgfortran/intrinsics/system.c
+++ b/libgfortran/intrinsics/system.c
@@ -1,5 +1,5 @@
/* Implementation of the SYSTEM intrinsic.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Tobias Schlüter.
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -34,16 +34,14 @@ iexport_proto(system_sub);
void
system_sub (const char *fcmd, GFC_INTEGER_4 *status, gfc_charlen_type cmd_len)
{
- char cmd[cmd_len + 1];
+ char *cmd = fc_strdup (fcmd, cmd_len);
int stat;
/* Flush all I/O units before executing the command. */
flush_all_units();
- memcpy (cmd, fcmd, cmd_len);
- cmd[cmd_len] = '\0';
-
stat = system (cmd);
+ free (cmd);
if (status)
*status = stat;
}
diff --git a/libgfortran/intrinsics/system_clock.c b/libgfortran/intrinsics/system_clock.c
index ac60162567..ba0bdfe68c 100644
--- a/libgfortran/intrinsics/system_clock.c
+++ b/libgfortran/intrinsics/system_clock.c
@@ -1,5 +1,5 @@
/* Implementation of the SYSTEM_CLOCK intrinsic.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -109,10 +109,14 @@ gf_gettime_mono (time_t * secs, long * fracsecs, long * tck)
#endif /* !__MINGW32 && !__CYGWIN__ */
-extern void system_clock_4 (GFC_INTEGER_4 *, GFC_INTEGER_4 *, GFC_INTEGER_4 *);
+extern void
+system_clock_4 (GFC_INTEGER_4 *count, GFC_INTEGER_4 *count_rate,
+ GFC_INTEGER_4 *count_max);
export_proto(system_clock_4);
-extern void system_clock_8 (GFC_INTEGER_8 *, GFC_INTEGER_8 *, GFC_INTEGER_8 *);
+extern void
+system_clock_8 (GFC_INTEGER_8 *count, GFC_INTEGER_8 *count_rate,
+ GFC_INTEGER_8 *count_max);
export_proto(system_clock_8);
@@ -122,10 +126,10 @@ export_proto(system_clock_8);
for COUNT. */
void
-system_clock_4(GFC_INTEGER_4 *count, GFC_INTEGER_4 *count_rate,
+system_clock_4 (GFC_INTEGER_4 *count, GFC_INTEGER_4 *count_rate,
GFC_INTEGER_4 *count_max)
{
-#if defined(__MINGW32__) || defined(__CYGWIN__)
+#if defined(__MINGW32__) || defined(__CYGWIN__)
if (count)
{
/* Use GetTickCount here as the resolution and range is
@@ -176,7 +180,7 @@ system_clock_4(GFC_INTEGER_4 *count, GFC_INTEGER_4 *count_rate,
void
system_clock_8 (GFC_INTEGER_8 *count, GFC_INTEGER_8 *count_rate,
- GFC_INTEGER_8 *count_max)
+ GFC_INTEGER_8 *count_max)
{
#if defined(__MINGW32__) || defined(__CYGWIN__)
LARGE_INTEGER cnt;
diff --git a/libgfortran/intrinsics/time.c b/libgfortran/intrinsics/time.c
index fd584ec9ea..0c96268863 100644
--- a/libgfortran/intrinsics/time.c
+++ b/libgfortran/intrinsics/time.c
@@ -1,5 +1,5 @@
/* Implementation of the TIME and TIME8 g77 intrinsics.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/time_1.h b/libgfortran/intrinsics/time_1.h
index 3a0ffbad1e..185ab5873e 100644
--- a/libgfortran/intrinsics/time_1.h
+++ b/libgfortran/intrinsics/time_1.h
@@ -1,5 +1,5 @@
/* Wrappers for platform timing functions.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/transpose_generic.c b/libgfortran/intrinsics/transpose_generic.c
index a5e2947a6c..c9977b1bd4 100644
--- a/libgfortran/intrinsics/transpose_generic.c
+++ b/libgfortran/intrinsics/transpose_generic.c
@@ -1,5 +1,5 @@
/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/umask.c b/libgfortran/intrinsics/umask.c
index b8d5717cb0..4c3ef2e499 100644
--- a/libgfortran/intrinsics/umask.c
+++ b/libgfortran/intrinsics/umask.c
@@ -1,5 +1,5 @@
/* Implementation of the UMASK intrinsic.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargls@comcast.net>.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/intrinsics/unlink.c b/libgfortran/intrinsics/unlink.c
index b4de6e65cb..f7ab5174be 100644
--- a/libgfortran/intrinsics/unlink.c
+++ b/libgfortran/intrinsics/unlink.c
@@ -1,8 +1,8 @@
/* Implementation of the UNLINK intrinsic.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargls@comcast.net>.
-This file is part of the GNU Fortran 95 runtime library (libgfortran).
+This file is part of the GNU Fortran runtime library (libgfortran).
Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
@@ -25,6 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h"
+#include <stdlib.h>
#include <string.h>
#include <errno.h>
@@ -46,17 +47,13 @@ unlink_i4_sub (char *name, GFC_INTEGER_4 *status, gfc_charlen_type name_len)
char *str;
GFC_INTEGER_4 stat;
- /* Trim trailing spaces from name. */
- while (name_len > 0 && name[name_len - 1] == ' ')
- name_len--;
-
/* Make a null terminated copy of the string. */
- str = gfc_alloca (name_len + 1);
- memcpy (str, name, name_len);
- str[name_len] = '\0';
+ str = fc_strdup (name, name_len);
stat = unlink (str);
+ free (str);
+
if (status != NULL)
*status = (stat == 0) ? stat : errno;
}
diff --git a/libgfortran/intrinsics/unpack_generic.c b/libgfortran/intrinsics/unpack_generic.c
index 4bd99278ed..ee6bc26872 100644
--- a/libgfortran/intrinsics/unpack_generic.c
+++ b/libgfortran/intrinsics/unpack_generic.c
@@ -1,5 +1,5 @@
/* Generic implementation of the UNPACK intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/io/close.c b/libgfortran/io/close.c
index 63da0c420c..38855ee983 100644
--- a/libgfortran/io/close.c
+++ b/libgfortran/io/close.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of the GNU Fortran 95 runtime library (libgfortran).
@@ -72,8 +72,7 @@ st_close (st_parameter_close *clp)
generate_error (&clp->common, LIBERROR_BAD_OPTION,
"Can't KEEP a scratch file on CLOSE");
#if !HAVE_UNLINK_OPEN_FILE
- path = (char *) gfc_alloca (u->file_len + 1);
- unpack_filename (path, u->file, u->file_len);
+ path = strdup (u->filename);
#endif
}
else
@@ -83,8 +82,7 @@ st_close (st_parameter_close *clp)
#if HAVE_UNLINK_OPEN_FILE
delete_file (u);
#else
- path = (char *) gfc_alloca (u->file_len + 1);
- unpack_filename (path, u->file, u->file_len);
+ path = strdup (u->filename);
#endif
}
}
@@ -93,7 +91,10 @@ st_close (st_parameter_close *clp)
#if !HAVE_UNLINK_OPEN_FILE
if (path != NULL)
- unlink (path);
+ {
+ unlink (path);
+ free (path);
+ }
#endif
}
diff --git a/libgfortran/io/fbuf.c b/libgfortran/io/fbuf.c
index 170ce9754c..b3750d21a3 100644
--- a/libgfortran/io/fbuf.c
+++ b/libgfortran/io/fbuf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Janne Blomqvist
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -121,10 +121,7 @@ fbuf_alloc (gfc_unit * u, int len)
{
/* Round up to nearest multiple of the current buffer length. */
newlen = ((u->fbuf->pos + len) / u->fbuf->len + 1) * u->fbuf->len;
- dest = realloc (u->fbuf->buf, newlen);
- if (dest == NULL)
- return NULL;
- u->fbuf->buf = dest;
+ u->fbuf->buf = xrealloc (u->fbuf->buf, newlen);
u->fbuf->len = newlen;
}
@@ -174,6 +171,42 @@ fbuf_flush (gfc_unit * u, unit_mode mode)
}
+/* The mode argument is LIST_WRITING for write mode and LIST_READING for
+ read. This should only be used for list directed I/O.
+ Return value is 0 for success, -1 on failure. */
+
+int
+fbuf_flush_list (gfc_unit * u, unit_mode mode)
+{
+ int nwritten;
+
+ if (!u->fbuf)
+ return 0;
+
+ if (u->fbuf->pos < 524288) /* Upper limit for list writing. */
+ return 0;
+
+ fbuf_debug (u, "fbuf_flush_list with mode %d: ", mode);
+
+ if (mode == LIST_WRITING)
+ {
+ nwritten = swrite (u->s, u->fbuf->buf, u->fbuf->pos);
+ if (nwritten < 0)
+ return -1;
+ }
+
+ /* Salvage remaining bytes for both reading and writing. */
+ if (u->fbuf->act > u->fbuf->pos)
+ memmove (u->fbuf->buf, u->fbuf->buf + u->fbuf->pos,
+ u->fbuf->act - u->fbuf->pos);
+
+ u->fbuf->act -= u->fbuf->pos;
+ u->fbuf->pos = 0;
+
+ return 0;
+}
+
+
int
fbuf_seek (gfc_unit * u, int off, int whence)
{
diff --git a/libgfortran/io/fbuf.h b/libgfortran/io/fbuf.h
index 253b2adcf8..220c8d7b56 100644
--- a/libgfortran/io/fbuf.h
+++ b/libgfortran/io/fbuf.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
Contributed by Janne Blomqvist
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -59,6 +59,9 @@ internal_proto(fbuf_alloc);
extern int fbuf_flush (gfc_unit *, unit_mode);
internal_proto(fbuf_flush);
+extern int fbuf_flush_list (gfc_unit *, unit_mode);
+internal_proto(fbuf_flush_list);
+
extern int fbuf_seek (gfc_unit *, int, int);
internal_proto(fbuf_seek);
diff --git a/libgfortran/io/file_pos.c b/libgfortran/io/file_pos.c
index 85183a6632..cb3bf5303e 100644
--- a/libgfortran/io/file_pos.c
+++ b/libgfortran/io/file_pos.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Andy Vaught and Janne Blomqvist
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -36,7 +36,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
record, and we have to sift backwards to find the newline before
that or the start of the file, whichever comes first. */
-static const int READ_CHUNK = 4096;
+#define READ_CHUNK 4096
static void
formatted_backspace (st_parameter_filepos *fpp, gfc_unit *u)
diff --git a/libgfortran/io/format.c b/libgfortran/io/format.c
index 83f291ec2d..fa81d9b87f 100644
--- a/libgfortran/io/format.c
+++ b/libgfortran/io/format.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Andy Vaught
F2003 I/O support contributed by Jerry DeLisle
@@ -1117,25 +1117,26 @@ parse_format_list (st_parameter_dt *dtp, bool *seen_dd)
void
format_error (st_parameter_dt *dtp, const fnode *f, const char *message)
{
- int width, i, j, offset;
+ int width, i, offset;
#define BUFLEN 300
char *p, buffer[BUFLEN];
format_data *fmt = dtp->u.p.fmt;
if (f != NULL)
- fmt->format_string = f->source;
+ p = f->source;
+ else /* This should not happen. */
+ p = dtp->format;
if (message == unexpected_element)
snprintf (buffer, BUFLEN, message, fmt->error_element);
else
snprintf (buffer, BUFLEN, "%s\n", message);
- j = fmt->format_string - dtp->format;
+ /* Get the offset into the format string where the error occurred. */
+ offset = dtp->format_len - (fmt->reversion_ok ?
+ (int) strlen(p) : fmt->format_string_len);
- offset = (j > 60) ? j - 40 : 0;
-
- j -= offset;
- width = dtp->format_len - offset;
+ width = dtp->format_len;
if (width > 80)
width = 80;
@@ -1144,14 +1145,14 @@ format_error (st_parameter_dt *dtp, const fnode *f, const char *message)
p = strchr (buffer, '\0');
- memcpy (p, dtp->format + offset, width);
+ memcpy (p, dtp->format, width);
p += width;
*p++ = '\n';
/* Show where the problem is */
- for (i = 1; i < j; i++)
+ for (i = 1; i < offset; i++)
*p++ = ' ';
*p++ = '^';
@@ -1219,9 +1220,10 @@ parse_format (st_parameter_dt *dtp)
if (format_cache_ok)
{
- char *fmt_string = xmalloc (dtp->format_len);
+ char *fmt_string = xmalloc (dtp->format_len + 1);
memcpy (fmt_string, dtp->format, dtp->format_len);
dtp->format = fmt_string;
+ dtp->format[dtp->format_len] = '\0';
}
dtp->u.p.fmt = fmt = xmalloc (sizeof (format_data));
diff --git a/libgfortran/io/format.h b/libgfortran/io/format.h
index 2f2231f359..de5cdf9ee8 100644
--- a/libgfortran/io/format.h
+++ b/libgfortran/io/format.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
Contributed by Janne Blomqvist
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/io/inquire.c b/libgfortran/io/inquire.c
index c41237c3ec..a5f362e0f2 100644
--- a/libgfortran/io/inquire.c
+++ b/libgfortran/io/inquire.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -41,19 +41,11 @@ inquire_via_unit (st_parameter_inquire *iqp, gfc_unit * u)
const char *p;
GFC_INTEGER_4 cf = iqp->common.flags;
- if ((cf & IOPARM_INQUIRE_HAS_EXIST) != 0)
- {
- *iqp->exist = (iqp->common.unit >= 0
- && iqp->common.unit <= GFC_INTEGER_4_HUGE);
+ if (iqp->common.unit == GFC_INTERNAL_UNIT)
+ generate_error (&iqp->common, LIBERROR_INQUIRE_INTERNAL_UNIT, NULL);
- if ((cf & IOPARM_INQUIRE_HAS_FILE) == 0)
- {
- if (!(*iqp->exist))
- *iqp->common.iostat = LIBERROR_BAD_UNIT;
- *iqp->exist = *iqp->exist
- && (*iqp->common.iostat != LIBERROR_BAD_UNIT);
- }
- }
+ if ((cf & IOPARM_INQUIRE_HAS_EXIST) != 0)
+ *iqp->exist = (u != NULL) || (iqp->common.unit >= 0);
if ((cf & IOPARM_INQUIRE_HAS_OPENED) != 0)
*iqp->opened = (u != NULL);
@@ -80,10 +72,10 @@ inquire_via_unit (st_parameter_inquire *iqp, gfc_unit * u)
memset (&iqp->name[tmplen], ' ', iqp->name_len - tmplen);
}
else /* If ttyname does not work, go with the default. */
- fstrcpy (iqp->name, iqp->name_len, u->file, u->file_len);
+ cf_strcpy (iqp->name, iqp->name_len, u->filename);
}
else
- fstrcpy (iqp->name, iqp->name_len, u->file, u->file_len);
+ cf_strcpy (iqp->name, iqp->name_len, u->filename);
#elif defined __MINGW32__
if (u->unit_number == options.stdin_unit)
fstrcpy (iqp->name, iqp->name_len, "CONIN$", sizeof("CONIN$"));
@@ -92,9 +84,9 @@ inquire_via_unit (st_parameter_inquire *iqp, gfc_unit * u)
else if (u->unit_number == options.stderr_unit)
fstrcpy (iqp->name, iqp->name_len, "CONERR$", sizeof("CONERR$"));
else
- fstrcpy (iqp->name, iqp->name_len, u->file, u->file_len);
+ cf_strcpy (iqp->name, iqp->name_len, u->filename);
#else
- fstrcpy (iqp->name, iqp->name_len, u->file, u->file_len);
+ cf_strcpy (iqp->name, iqp->name_len, u->filename);
#endif
}
diff --git a/libgfortran/io/intrinsics.c b/libgfortran/io/intrinsics.c
index 5c07ca39ed..cbafed2227 100644
--- a/libgfortran/io/intrinsics.c
+++ b/libgfortran/io/intrinsics.c
@@ -1,6 +1,6 @@
/* Implementation of the FGET, FGETC, FPUT, FPUTC, FLUSH
FTELL, TTYNAM and ISATTY intrinsics.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/io/io.h b/libgfortran/io/io.h
index 3481c83d79..f34d0c34cf 100644
--- a/libgfortran/io/io.h
+++ b/libgfortran/io/io.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Andy Vaught
F2003 I/O support contributed by Jerry DeLisle
@@ -32,6 +32,17 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include <gthr.h>
+
+/* POSIX 2008 specifies that the extended locale stuff is found in
+ locale.h, but some systems have them in xlocale.h. */
+
+#include <locale.h>
+
+#ifdef HAVE_XLOCALE_H
+#include <xlocale.h>
+#endif
+
+
/* Forward declarations. */
struct st_parameter_dt;
typedef struct stream stream;
@@ -40,6 +51,19 @@ struct format_data;
typedef struct fnode fnode;
struct gfc_unit;
+#ifdef HAVE_NEWLOCALE
+/* We have POSIX 2008 extended locale stuff. */
+extern locale_t c_locale;
+internal_proto(c_locale);
+#else
+extern char* old_locale;
+internal_proto(old_locale);
+extern int old_locale_ctr;
+internal_proto(old_locale_ctr);
+extern __gthread_mutex_t old_locale_lock;
+internal_proto(old_locale_lock);
+#endif
+
/* Macros for testing what kinds of I/O we are doing. */
@@ -207,7 +231,7 @@ typedef enum
unit_advance;
typedef enum
-{READING, WRITING}
+{READING, WRITING, LIST_READING, LIST_WRITING}
unit_mode;
typedef enum
@@ -450,6 +474,9 @@ typedef struct st_parameter_dt
char *line_buffer;
struct format_data *fmt;
namelist_info *ionml;
+#ifdef HAVE_NEWLOCALE
+ locale_t old_locale;
+#endif
/* Current position within the look-ahead line buffer. */
int line_buffer_pos;
/* Storage area for values except for strings. Must be
@@ -567,14 +594,19 @@ typedef struct gfc_unit
array_loop_spec *ls;
int rank;
- int file_len;
- char *file;
+ /* Name of the file at the time OPEN was executed, as a
+ null-terminated C string. */
+ char *filename;
/* The format hash table. */
struct format_hash_entry format_hash_table[FORMAT_HASH_SIZE];
/* Formatting buffer. */
struct fbuf *fbuf;
+
+ /* Function pointer, points to list_read worker functions. */
+ int (*next_char_fn_ptr) (st_parameter_dt *);
+ void (*push_char_fn_ptr) (st_parameter_dt *, int);
}
gfc_unit;
diff --git a/libgfortran/io/list_read.c b/libgfortran/io/list_read.c
index b64189afe1..45243ed9f3 100644
--- a/libgfortran/io/list_read.c
+++ b/libgfortran/io/list_read.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Andy Vaught
Namelist input contributed by Paul Thomas
F2003 I/O support contributed by Jerry DeLisle
@@ -32,6 +32,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include <stdlib.h>
#include <ctype.h>
+typedef unsigned char uchar;
+
/* List directed input. Several parsing subroutines are practically
reimplemented from formatted input, the reason being that there are
@@ -65,12 +67,19 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define MSGLEN 100
-/* Save a character to a string buffer, enlarging it as necessary. */
+/* Wrappers for calling the current worker functions. */
+
+#define next_char(dtp) ((dtp)->u.p.current_unit->next_char_fn_ptr (dtp))
+#define push_char(dtp, c) ((dtp)->u.p.current_unit->push_char_fn_ptr (dtp, c))
+
+/* Worker function to save a default KIND=1 character to a string
+ buffer, enlarging it as necessary. */
+
static void
-push_char (st_parameter_dt *dtp, char c)
+push_char_default (st_parameter_dt *dtp, int c)
{
- char *new;
+
if (dtp->u.p.saved_string == NULL)
{
@@ -83,18 +92,45 @@ push_char (st_parameter_dt *dtp, char c)
if (dtp->u.p.saved_used >= dtp->u.p.saved_length)
{
dtp->u.p.saved_length = 2 * dtp->u.p.saved_length;
- new = realloc (dtp->u.p.saved_string, dtp->u.p.saved_length);
- if (new == NULL)
- generate_error (&dtp->common, LIBERROR_OS, NULL);
- dtp->u.p.saved_string = new;
+ dtp->u.p.saved_string =
+ xrealloc (dtp->u.p.saved_string, dtp->u.p.saved_length);
// Also this should not be necessary.
- memset (new + dtp->u.p.saved_used, 0,
+ memset (dtp->u.p.saved_string + dtp->u.p.saved_used, 0,
dtp->u.p.saved_length - dtp->u.p.saved_used);
}
- dtp->u.p.saved_string[dtp->u.p.saved_used++] = c;
+ dtp->u.p.saved_string[dtp->u.p.saved_used++] = (char) c;
+}
+
+
+/* Worker function to save a KIND=4 character to a string buffer,
+ enlarging the buffer as necessary. */
+
+static void
+push_char4 (st_parameter_dt *dtp, int c)
+{
+ gfc_char4_t *new, *p = (gfc_char4_t *) dtp->u.p.saved_string;
+
+ if (p == NULL)
+ {
+ dtp->u.p.saved_string = xcalloc (SCRATCH_SIZE, sizeof (gfc_char4_t));
+ dtp->u.p.saved_length = SCRATCH_SIZE;
+ dtp->u.p.saved_used = 0;
+ p = (gfc_char4_t *) dtp->u.p.saved_string;
+ }
+
+ if (dtp->u.p.saved_used >= dtp->u.p.saved_length)
+ {
+ dtp->u.p.saved_length = 2 * dtp->u.p.saved_length;
+ p = xrealloc (p, dtp->u.p.saved_length * sizeof (gfc_char4_t));
+
+ memset4 (new + dtp->u.p.saved_used, 0,
+ dtp->u.p.saved_length - dtp->u.p.saved_used);
+ }
+
+ p[dtp->u.p.saved_used++] = c;
}
@@ -129,13 +165,16 @@ free_line (st_parameter_dt *dtp)
}
+/* Unget saves the last character so when reading the next character,
+ we need to check to see if there is a character waiting. Similar,
+ if the line buffer is being used to read_logical, check it too. */
+
static int
-next_char (st_parameter_dt *dtp)
+check_buffers (st_parameter_dt *dtp)
{
- ssize_t length;
- gfc_offset record;
int c;
+ c = '\0';
if (dtp->u.p.last_char != EOF - 1)
{
dtp->u.p.at_eol = 0;
@@ -161,6 +200,43 @@ next_char (st_parameter_dt *dtp)
dtp->u.p.line_buffer_pos = 0;
dtp->u.p.line_buffer_enabled = 0;
}
+
+done:
+ dtp->u.p.at_eol = (c == '\n' || c == EOF);
+ return c;
+}
+
+
+/* Worker function for default character encoded file. */
+static int
+next_char_default (st_parameter_dt *dtp)
+{
+ int c;
+
+ /* Always check the unget and line buffer first. */
+ if ((c = check_buffers (dtp)))
+ return c;
+
+ c = fbuf_getc (dtp->u.p.current_unit);
+ if (c != EOF && is_stream_io (dtp))
+ dtp->u.p.current_unit->strm_pos++;
+
+ dtp->u.p.at_eol = (c == '\n' || c == EOF);
+ return c;
+}
+
+
+/* Worker function for internal and array I/O units. */
+static int
+next_char_internal (st_parameter_dt *dtp)
+{
+ ssize_t length;
+ gfc_offset record;
+ int c;
+
+ /* Always check the unget and line buffer first. */
+ if ((c = check_buffers (dtp)))
+ return c;
/* Handle the end-of-record and end-of-file conditions for
internal array unit. */
@@ -196,57 +272,103 @@ next_char (st_parameter_dt *dtp)
/* Get the next character and handle end-of-record conditions. */
- if (is_internal_unit (dtp))
+ if (dtp->common.unit) /* Check for kind=4 internal unit. */
+ length = sread (dtp->u.p.current_unit->s, &c, 1);
+ else
+ {
+ char cc;
+ length = sread (dtp->u.p.current_unit->s, &cc, 1);
+ c = cc;
+ }
+
+ if (unlikely (length < 0))
{
- /* Check for kind=4 internal unit. */
- if (dtp->common.unit)
- length = sread (dtp->u.p.current_unit->s, &c, 1);
- else
- {
- char cc;
- length = sread (dtp->u.p.current_unit->s, &cc, 1);
- c = cc;
- }
+ generate_error (&dtp->common, LIBERROR_OS, NULL);
+ return '\0';
+ }
- if (unlikely (length < 0))
+ if (is_array_io (dtp))
+ {
+ /* Check whether we hit EOF. */
+ if (unlikely (length == 0))
{
- generate_error (&dtp->common, LIBERROR_OS, NULL);
+ generate_error (&dtp->common, LIBERROR_INTERNAL_UNIT, NULL);
return '\0';
- }
-
- if (is_array_io (dtp))
- {
- /* Check whether we hit EOF. */
- if (unlikely (length == 0))
- {
- generate_error (&dtp->common, LIBERROR_INTERNAL_UNIT, NULL);
- return '\0';
- }
- dtp->u.p.current_unit->bytes_left--;
- }
- else
- {
- if (dtp->u.p.at_eof)
- return EOF;
- if (length == 0)
- {
- c = '\n';
- dtp->u.p.at_eof = 1;
- }
- }
+ }
+ dtp->u.p.current_unit->bytes_left--;
}
else
{
- c = fbuf_getc (dtp->u.p.current_unit);
- if (c != EOF && is_stream_io (dtp))
- dtp->u.p.current_unit->strm_pos++;
+ if (dtp->u.p.at_eof)
+ return EOF;
+ if (length == 0)
+ {
+ c = '\n';
+ dtp->u.p.at_eof = 1;
+ }
}
+
done:
dtp->u.p.at_eol = (c == '\n' || c == EOF);
return c;
}
+/* Worker function for UTF encoded files. */
+static int
+next_char_utf8 (st_parameter_dt *dtp)
+{
+ static const uchar masks[6] = { 0x7F, 0x1F, 0x0F, 0x07, 0x02, 0x01 };
+ static const uchar patns[6] = { 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC };
+ int i, nb;
+ gfc_char4_t c;
+
+ /* Always check the unget and line buffer first. */
+ if (!(c = check_buffers (dtp)))
+ c = fbuf_getc (dtp->u.p.current_unit);
+
+ if (c < 0x80)
+ goto utf_done;
+
+ /* The number of leading 1-bits in the first byte indicates how many
+ bytes follow. */
+ for (nb = 2; nb < 7; nb++)
+ if ((c & ~masks[nb-1]) == patns[nb-1])
+ goto found;
+ goto invalid;
+
+ found:
+ c = (c & masks[nb-1]);
+
+ /* Decode the bytes read. */
+ for (i = 1; i < nb; i++)
+ {
+ gfc_char4_t n = fbuf_getc (dtp->u.p.current_unit);
+ if ((n & 0xC0) != 0x80)
+ goto invalid;
+ c = ((c << 6) + (n & 0x3F));
+ }
+
+ /* Make sure the shortest possible encoding was used. */
+ if (c <= 0x7F && nb > 1) goto invalid;
+ if (c <= 0x7FF && nb > 2) goto invalid;
+ if (c <= 0xFFFF && nb > 3) goto invalid;
+ if (c <= 0x1FFFFF && nb > 4) goto invalid;
+ if (c <= 0x3FFFFFF && nb > 5) goto invalid;
+
+ /* Make sure the character is valid. */
+ if (c > 0x7FFFFFFF || (c >= 0xD800 && c <= 0xDFFF))
+ goto invalid;
+
+utf_done:
+ dtp->u.p.at_eol = (c == '\n' || c == (gfc_char4_t) EOF);
+ return (int) c;
+
+ invalid:
+ generate_error (&dtp->common, LIBERROR_READ_VALUE, "Invalid UTF-8 encoding");
+ return (gfc_char4_t) '?';
+}
+
/* Push a character back onto the input. */
static void
@@ -1080,6 +1202,7 @@ read_character (st_parameter_dt *dtp, int length __attribute__ ((unused)))
}
get_string:
+
for (;;)
{
if ((c = next_char (dtp)) == EOF)
@@ -1093,10 +1216,10 @@ read_character (st_parameter_dt *dtp, int length __attribute__ ((unused)))
push_char (dtp, c);
break;
}
-
+
/* See if we have a doubled quote character or the end of
the string. */
-
+
if ((c = next_char (dtp)) == EOF)
goto done_eof;
if (c == quote)
@@ -1104,21 +1227,21 @@ read_character (st_parameter_dt *dtp, int length __attribute__ ((unused)))
push_char (dtp, quote);
break;
}
-
+
unget_char (dtp, c);
goto done;
-
+
CASE_SEPARATORS:
if (quote == ' ')
{
unget_char (dtp, c);
goto done;
}
-
+
if (c != '\n' && c != '\r')
push_char (dtp, c);
break;
-
+
default:
push_char (dtp, c);
break;
@@ -1887,6 +2010,30 @@ check_type (st_parameter_dt *dtp, bt type, int kind)
}
+/* Initialize the function pointers to select the correct versions of
+ next_char and push_char depending on what we are doing. */
+
+static void
+set_workers (st_parameter_dt *dtp)
+{
+ if (dtp->u.p.current_unit->flags.encoding == ENCODING_UTF8)
+ {
+ dtp->u.p.current_unit->next_char_fn_ptr = &next_char_utf8;
+ dtp->u.p.current_unit->push_char_fn_ptr = &push_char4;
+ }
+ else if (is_internal_unit (dtp))
+ {
+ dtp->u.p.current_unit->next_char_fn_ptr = &next_char_internal;
+ dtp->u.p.current_unit->push_char_fn_ptr = &push_char_default;
+ }
+ else
+ {
+ dtp->u.p.current_unit->next_char_fn_ptr = &next_char_default;
+ dtp->u.p.current_unit->push_char_fn_ptr = &push_char_default;
+ }
+
+}
+
/* Top level data transfer subroutine for list reads. Because we have
to deal with repeat counts, the data item is always saved after
reading, usually in the dtp->u.p.value[] array. If a repeat count is
@@ -1896,12 +2043,15 @@ static int
list_formatted_read_scalar (st_parameter_dt *dtp, bt type, void *p,
int kind, size_t size)
{
- gfc_char4_t *q;
+ gfc_char4_t *q, *r;
int c, i, m;
int err = 0;
dtp->u.p.namelist_mode = 0;
+ /* Set the next_char and push_char worker functions. */
+ set_workers (dtp);
+
if (dtp->u.p.first_item)
{
dtp->u.p.first_item = 0;
@@ -2012,13 +2162,19 @@ list_formatted_read_scalar (st_parameter_dt *dtp, bt type, void *p,
{
m = ((int) size < dtp->u.p.saved_used)
? (int) size : dtp->u.p.saved_used;
- if (kind == 1)
- memcpy (p, dtp->u.p.saved_string, m);
+
+ q = (gfc_char4_t *) p;
+ r = (gfc_char4_t *) dtp->u.p.saved_string;
+ if (dtp->u.p.current_unit->flags.encoding == ENCODING_UTF8)
+ for (i = 0; i < m; i++)
+ *q++ = *r++;
else
{
- q = (gfc_char4_t *) p;
- for (i = 0; i < m; i++)
- q[i] = (unsigned char) dtp->u.p.saved_string[i];
+ if (kind == 1)
+ memcpy (p, dtp->u.p.saved_string, m);
+ else
+ for (i = 0; i < m; i++)
+ *q++ = *r++;
}
}
else
@@ -2054,6 +2210,7 @@ cleanup:
free_line (dtp);
hit_eof (dtp);
}
+ fbuf_flush_list (dtp->u.p.current_unit, LIST_READING);
return err;
}
@@ -2100,6 +2257,10 @@ finish_list_read (st_parameter_dt *dtp)
if (!is_internal_unit (dtp))
{
int c;
+
+ /* Set the next_char and push_char worker functions. */
+ set_workers (dtp);
+
c = next_char (dtp);
if (c == EOF)
{
@@ -2381,6 +2542,38 @@ err_ret:
return false;
}
+
+static bool
+extended_look_ahead (char *p, char *q)
+{
+ char *r, *s;
+
+ /* Scan ahead to find a '%' in the p string. */
+ for(r = p, s = q; *r && *s; s++)
+ if ((*s == '%' || *s == '+') && strcmp (r + 1, s + 1) == 0)
+ return true;
+ return false;
+}
+
+
+static bool
+strcmp_extended_type (char *p, char *q)
+{
+ char *r, *s;
+
+ for (r = p, s = q; *r && *s; r++, s++)
+ {
+ if (*r != *s)
+ {
+ if (*r == '%' && *s == '+' && extended_look_ahead (r, s))
+ return true;
+ break;
+ }
+ }
+ return false;
+}
+
+
static namelist_info *
find_nml_node (st_parameter_dt *dtp, char * var_name)
{
@@ -2392,6 +2585,11 @@ find_nml_node (st_parameter_dt *dtp, char * var_name)
t->touched = 1;
return t;
}
+ if (strcmp_extended_type (var_name, t->var_name))
+ {
+ t->touched = 1;
+ return t;
+ }
t = t->next;
}
return NULL;
@@ -2752,10 +2950,27 @@ nml_read_obj (st_parameter_dt *dtp, namelist_info * nl, index_type offset,
}
else
m = dtp->u.p.saved_used;
- pdata = (void*)( pdata + clow - 1 );
- memcpy (pdata, dtp->u.p.saved_string, m);
- if (m < dlen)
- memset ((void*)( pdata + m ), ' ', dlen - m);
+
+ if (dtp->u.p.current_unit->flags.encoding == ENCODING_UTF8)
+ {
+ gfc_char4_t *q4, *p4 = pdata;
+ int i;
+
+ q4 = (gfc_char4_t *) dtp->u.p.saved_string;
+ p4 += clow -1;
+ for (i = 0; i < m; i++)
+ *p4++ = *q4++;
+ if (m < dlen)
+ for (i = 0; i < dlen - m; i++)
+ *p4++ = (gfc_char4_t) ' ';
+ }
+ else
+ {
+ pdata = (void*)( pdata + clow - 1 );
+ memcpy (pdata, dtp->u.p.saved_string, m);
+ if (m < dlen)
+ memset ((void*)( pdata + m ), ' ', dlen - m);
+ }
break;
default:
@@ -2899,7 +3114,7 @@ get_name:
do
{
if (!is_separator (c))
- push_char (dtp, tolower(c));
+ push_char_default (dtp, tolower(c));
if ((c = next_char (dtp)) == EOF)
goto nml_err_ret;
}
@@ -2914,20 +3129,31 @@ get_name:
are present for an object. (iii) gives the same error message
as (i) */
- push_char (dtp, '\0');
+ push_char_default (dtp, '\0');
if (component_flag)
{
+#define EXT_STACK_SZ 100
+ char ext_stack[EXT_STACK_SZ];
+ char *ext_name;
size_t var_len = strlen (root_nl->var_name);
size_t saved_len
= dtp->u.p.saved_string ? strlen (dtp->u.p.saved_string) : 0;
- char ext_name[var_len + saved_len + 1];
+ size_t ext_size = var_len + saved_len + 1;
+
+ if (ext_size > EXT_STACK_SZ)
+ ext_name = xmalloc (ext_size);
+ else
+ ext_name = ext_stack;
memcpy (ext_name, root_nl->var_name, var_len);
if (dtp->u.p.saved_string)
memcpy (ext_name + var_len, dtp->u.p.saved_string, saved_len);
ext_name[var_len + saved_len] = '\0';
nl = find_nml_node (dtp, ext_name);
+
+ if (ext_size > EXT_STACK_SZ)
+ free (ext_name);
}
else
nl = find_nml_node (dtp, dtp->u.p.saved_string);
@@ -3153,6 +3379,9 @@ namelist_read (st_parameter_dt *dtp)
dtp->u.p.namelist_mode = 1;
dtp->u.p.input_complete = 0;
dtp->u.p.expanded_read = 0;
+
+ /* Set the next_char and push_char worker functions. */
+ set_workers (dtp);
/* Look for &namelist_name . Skip all characters, testing for $nmlname.
Exit on success or EOF. If '?' or '=?' encountered in stdin, print
diff --git a/libgfortran/io/lock.c b/libgfortran/io/lock.c
index 2208abdcdd..c224cabe5f 100644
--- a/libgfortran/io/lock.c
+++ b/libgfortran/io/lock.c
@@ -1,5 +1,5 @@
/* Thread/recursion locking
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org> and Andy Vaught
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/io/open.c b/libgfortran/io/open.c
index 06fd59415f..4654de27bd 100644
--- a/libgfortran/io/open.c
+++ b/libgfortran/io/open.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Andy Vaught
F2003 I/O support contributed by Jerry DeLisle
@@ -502,37 +502,15 @@ new_unit (st_parameter_open *opp, gfc_unit *u, unit_flags * flags)
s = open_external (opp, flags);
if (s == NULL)
{
- char *path, *msg;
- size_t msglen;
- path = (char *) gfc_alloca (opp->file_len + 1);
- msglen = opp->file_len + 51;
- msg = (char *) gfc_alloca (msglen);
- unpack_filename (path, opp->file, opp->file_len);
-
- switch (errno)
- {
- case ENOENT:
- snprintf (msg, msglen, "File '%s' does not exist", path);
- break;
-
- case EEXIST:
- snprintf (msg, msglen, "File '%s' already exists", path);
- break;
-
- case EACCES:
- snprintf (msg, msglen,
- "Permission denied trying to open file '%s'", path);
- break;
-
- case EISDIR:
- snprintf (msg, msglen, "'%s' is a directory", path);
- break;
-
- default:
- msg = NULL;
- }
-
+ char errbuf[256];
+ char *path = fc_strdup (opp->file, opp->file_len);
+ size_t msglen = opp->file_len + 22 + sizeof (errbuf);
+ char *msg = xmalloc (msglen);
+ snprintf (msg, msglen, "Cannot open file '%s': %s", path,
+ gf_strerror (errno, errbuf, sizeof (errbuf)));
generate_error (&opp->common, LIBERROR_OS, msg);
+ free (msg);
+ free (path);
goto cleanup;
}
@@ -541,7 +519,6 @@ new_unit (st_parameter_open *opp, gfc_unit *u, unit_flags * flags)
/* Create the unit structure. */
- u->file = xmalloc (opp->file_len);
if (u->unit_number != opp->common.unit)
internal_error (&opp->common, "Unit number changed");
u->s = s;
@@ -618,8 +595,7 @@ new_unit (st_parameter_open *opp, gfc_unit *u, unit_flags * flags)
u->strm_pos = stell (u->s) + 1;
}
- memmove (u->file, opp->file, opp->file_len);
- u->file_len = opp->file_len;
+ u->filename = fc_strdup (opp->file, opp->file_len);
/* Curiously, the standard requires that the
position specifier be ignored for new files so a newly connected
@@ -676,15 +652,6 @@ already_open (st_parameter_open *opp, gfc_unit * u, unit_flags * flags)
if (!compare_file_filename (u, opp->file, opp->file_len))
{
-#if !HAVE_UNLINK_OPEN_FILE
- char *path = NULL;
- if (u->file && u->flags.status == STATUS_SCRATCH)
- {
- path = (char *) gfc_alloca (u->file_len + 1);
- unpack_filename (path, u->file, u->file_len);
- }
-#endif
-
if (sclose (u->s) == -1)
{
unlock_unit (u);
@@ -694,14 +661,13 @@ already_open (st_parameter_open *opp, gfc_unit * u, unit_flags * flags)
}
u->s = NULL;
- free (u->file);
- u->file = NULL;
- u->file_len = 0;
-
+
#if !HAVE_UNLINK_OPEN_FILE
- if (path != NULL)
- unlink (path);
+ if (u->filename && u->flags.status == STATUS_SCRATCH)
+ unlink (u->filename);
#endif
+ free (u->filename);
+ u->filename = NULL;
u = new_unit (opp, u, flags);
if (u != NULL)
diff --git a/libgfortran/io/read.c b/libgfortran/io/read.c
index 64f2ddf49a..6b9e77d66d 100644
--- a/libgfortran/io/read.c
+++ b/libgfortran/io/read.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Andy Vaught
F2003 I/O support contributed by Jerry DeLisle
@@ -881,6 +881,9 @@ read_radix (st_parameter_dt *dtp, const fnode *f, char *dest, int length,
void
read_f (st_parameter_dt *dtp, const fnode *f, char *dest, int length)
{
+#define READF_TMP 50
+ char tmp[READF_TMP];
+ size_t buf_size = 0;
int w, seen_dp, exponent;
int exponent_sign;
const char *p;
@@ -895,6 +898,7 @@ read_f (st_parameter_dt *dtp, const fnode *f, char *dest, int length)
exponent_sign = 1;
exponent = 0;
w = f->u.w;
+ buffer = tmp;
/* Read in the next block. */
p = read_block_form (dtp, &w);
@@ -911,7 +915,10 @@ read_f (st_parameter_dt *dtp, const fnode *f, char *dest, int length)
exponent because of an implicit decimal point or the like. Thus allocating
strlen ("+0.0e-1000") == 10 characters plus one for NUL more than the
original buffer had should be enough. */
- buffer = gfc_alloca (w + 11);
+ buf_size = w + 11;
+ if (buf_size > READF_TMP)
+ buffer = xmalloc (buf_size);
+
out = buffer;
/* Optional sign */
@@ -984,6 +991,8 @@ read_f (st_parameter_dt *dtp, const fnode *f, char *dest, int length)
goto bad_float;
convert_infnan (dtp, dest, buffer, length);
+ if (buf_size > READF_TMP)
+ free (buffer);
return;
}
@@ -1170,7 +1179,8 @@ done:
/* Do the actual conversion. */
convert_real (dtp, dest, buffer, length);
-
+ if (buf_size > READF_TMP)
+ free (buffer);
return;
/* The value read is zero. */
@@ -1203,6 +1213,8 @@ zero:
return;
bad_float:
+ if (buf_size > READF_TMP)
+ free (buffer);
generate_error (&dtp->common, LIBERROR_READ_VALUE,
"Bad value during floating point read");
next_record (dtp, 1);
diff --git a/libgfortran/io/size_from_kind.c b/libgfortran/io/size_from_kind.c
index 5768c91e5f..459aebb4c9 100644
--- a/libgfortran/io/size_from_kind.c
+++ b/libgfortran/io/size_from_kind.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
Contributed by Janne Blomqvist
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/io/transfer.c b/libgfortran/io/transfer.c
index 60b6012c78..7bbee2131d 100644
--- a/libgfortran/io/transfer.c
+++ b/libgfortran/io/transfer.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Andy Vaught
Namelist transfer functions contributed by Paul Thomas
F2003 I/O support contributed by Jerry DeLisle
@@ -475,7 +475,7 @@ read_block_form (st_parameter_dt *dtp, int * nbytes)
if (norig != *nbytes)
{
/* Short read, this shouldn't happen. */
- if (!dtp->u.p.current_unit->pad_status == PAD_YES)
+ if (dtp->u.p.current_unit->pad_status == PAD_NO)
{
generate_error (&dtp->common, LIBERROR_EOR, NULL);
source = NULL;
@@ -2533,7 +2533,8 @@ data_transfer_init (st_parameter_dt *dtp, int read_flag)
return;
}
- if (dtp->u.p.current_unit->endfile == AFTER_ENDFILE)
+ if (compile_options.warn_std &&
+ dtp->u.p.current_unit->endfile == AFTER_ENDFILE)
{
generate_error (&dtp->common, LIBERROR_OPTION_CONFLICT,
"Sequential READ or WRITE not allowed after "
@@ -2674,8 +2675,7 @@ data_transfer_init (st_parameter_dt *dtp, int read_flag)
if (dtp->u.p.current_unit->delim_status == DELIM_UNSPECIFIED)
{
if (ionml && dtp->u.p.current_unit->flags.delim == DELIM_UNSPECIFIED)
- dtp->u.p.current_unit->delim_status =
- compile_options.allow_std & GFC_STD_GNU ? DELIM_QUOTE : DELIM_NONE;
+ dtp->u.p.current_unit->delim_status = DELIM_QUOTE;
else
dtp->u.p.current_unit->delim_status = dtp->u.p.current_unit->flags.delim;
}
@@ -2870,13 +2870,27 @@ data_transfer_init (st_parameter_dt *dtp, int read_flag)
dtp->u.p.current_unit->read_bad = 1;
}
- /* Start the data transfer if we are doing a formatted transfer. */
- if (dtp->u.p.current_unit->flags.form == FORM_FORMATTED
- && ((cf & (IOPARM_DT_LIST_FORMAT | IOPARM_DT_HAS_NAMELIST_NAME)) == 0)
- && dtp->u.p.ionml == NULL)
- formatted_transfer (dtp, 0, NULL, 0, 0, 1);
+ if (dtp->u.p.current_unit->flags.form == FORM_FORMATTED)
+ {
+#ifdef HAVE_USELOCALE
+ dtp->u.p.old_locale = uselocale (c_locale);
+#else
+ __gthread_mutex_lock (&old_locale_lock);
+ if (!old_locale_ctr++)
+ {
+ old_locale = setlocale (LC_NUMERIC, NULL);
+ setlocale (LC_NUMERIC, "C");
+ }
+ __gthread_mutex_unlock (&old_locale_lock);
+#endif
+ /* Start the data transfer if we are doing a formatted transfer. */
+ if ((cf & (IOPARM_DT_LIST_FORMAT | IOPARM_DT_HAS_NAMELIST_NAME)) == 0
+ && dtp->u.p.ionml == NULL)
+ formatted_transfer (dtp, 0, NULL, 0, 0, 1);
+ }
}
+
/* Initialize an array_loop_spec given the array descriptor. The function
returns the index of the last element of the array, and also returns
starting record, where the first I/O goes to (necessary in case of
@@ -2968,7 +2982,7 @@ static void
skip_record (st_parameter_dt *dtp, ssize_t bytes)
{
ssize_t rlength, readb;
- static const ssize_t MAX_READ = 4096;
+#define MAX_READ 4096
char p[MAX_READ];
dtp->u.p.current_unit->bytes_left_subrecord += bytes;
@@ -3268,7 +3282,7 @@ next_record_w_unf (st_parameter_dt *dtp, int next_subrecord)
static ssize_t
sset (stream * s, int c, ssize_t nbyte)
{
- static const int WRITE_CHUNK = 256;
+#define WRITE_CHUNK 256
char p[WRITE_CHUNK];
ssize_t bytes_left, trans;
@@ -3512,7 +3526,7 @@ next_record (st_parameter_dt *dtp, int done)
pre_position (dtp);
fbuf_flush (dtp->u.p.current_unit, dtp->u.p.mode);
- flush_if_unbuffered (dtp->u.p.current_unit->s);
+ smarkeor (dtp->u.p.current_unit->s);
}
@@ -3531,14 +3545,14 @@ finalize_transfer (st_parameter_dt *dtp)
if (dtp->u.p.eor_condition)
{
generate_error (&dtp->common, LIBERROR_EOR, NULL);
- return;
+ goto done;
}
if ((dtp->common.flags & IOPARM_LIBRETURN_MASK) != IOPARM_LIBRETURN_OK)
{
if (dtp->u.p.current_unit && current_mode (dtp) == UNFORMATTED_SEQUENTIAL)
dtp->u.p.current_unit->current_record = 0;
- return;
+ goto done;
}
if ((dtp->u.p.ionml != NULL)
@@ -3552,12 +3566,12 @@ finalize_transfer (st_parameter_dt *dtp)
dtp->u.p.transfer = NULL;
if (dtp->u.p.current_unit == NULL)
- return;
+ goto done;
if ((cf & IOPARM_DT_LIST_FORMAT) != 0 && dtp->u.p.mode == READING)
{
finish_list_read (dtp);
- return;
+ goto done;
}
if (dtp->u.p.mode == WRITING)
@@ -3570,7 +3584,7 @@ finalize_transfer (st_parameter_dt *dtp)
&& dtp->u.p.advance_status != ADVANCE_NO)
next_record (dtp, 1);
- return;
+ goto done;
}
dtp->u.p.current_unit->current_record = 0;
@@ -3579,7 +3593,7 @@ finalize_transfer (st_parameter_dt *dtp)
{
fbuf_flush (dtp->u.p.current_unit, dtp->u.p.mode);
dtp->u.p.seen_dollar = 0;
- return;
+ goto done;
}
/* For non-advancing I/O, save the current maximum position for use in the
@@ -3591,7 +3605,7 @@ finalize_transfer (st_parameter_dt *dtp)
dtp->u.p.current_unit->saved_pos =
dtp->u.p.max_pos > 0 ? dtp->u.p.max_pos - bytes_written : 0;
fbuf_flush (dtp->u.p.current_unit, dtp->u.p.mode);
- return;
+ goto done;
}
else if (dtp->u.p.current_unit->flags.form == FORM_FORMATTED
&& dtp->u.p.mode == WRITING && !is_internal_unit (dtp))
@@ -3600,6 +3614,23 @@ finalize_transfer (st_parameter_dt *dtp)
dtp->u.p.current_unit->saved_pos = 0;
next_record (dtp, 1);
+
+ done:
+#ifdef HAVE_USELOCALE
+ if (dtp->u.p.old_locale != (locale_t) 0)
+ {
+ uselocale (dtp->u.p.old_locale);
+ dtp->u.p.old_locale = (locale_t) 0;
+ }
+#else
+ __gthread_mutex_lock (&old_locale_lock);
+ if (!--old_locale_ctr)
+ {
+ setlocale (LC_NUMERIC, old_locale);
+ old_locale = NULL;
+ }
+ __gthread_mutex_unlock (&old_locale_lock);
+#endif
}
/* Transfer function for IOLENGTH. It doesn't actually do any
diff --git a/libgfortran/io/transfer128.c b/libgfortran/io/transfer128.c
index 6735ca51cb..31bf22f1b7 100644
--- a/libgfortran/io/transfer128.c
+++ b/libgfortran/io/transfer128.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/io/unit.c b/libgfortran/io/unit.c
index f8bd5d327f..d7e6deacaf 100644
--- a/libgfortran/io/unit.c
+++ b/libgfortran/io/unit.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Andy Vaught
F2003 I/O support contributed by Jerry DeLisle
@@ -90,6 +90,26 @@ static char stdin_name[] = "stdin";
static char stdout_name[] = "stdout";
static char stderr_name[] = "stderr";
+
+#ifdef HAVE_NEWLOCALE
+locale_t c_locale;
+#else
+/* If we don't have POSIX 2008 per-thread locales, we need to use the
+ traditional setlocale(). To prevent multiple concurrent threads
+ doing formatted I/O from messing up the locale, we need to store a
+ global old_locale, and a counter keeping track of how many threads
+ are currently doing formatted I/O. The first thread saves the old
+ locale, and the last one restores it. */
+char *old_locale;
+int old_locale_ctr;
+#ifdef __GTHREAD_MUTEX_INIT
+__gthread_mutex_t old_locale_lock = __GTHREAD_MUTEX_INIT;
+#else
+__gthread_mutex_t old_locale_lock;
+#endif
+#endif
+
+
/* This implementation is based on Stefan Nilsson's article in the
* July 1997 Doctor Dobb's Journal, "Treaps in Java". */
@@ -561,6 +581,14 @@ init_units (void)
gfc_unit *u;
unsigned int i;
+#ifdef HAVE_NEWLOCALE
+ c_locale = newlocale (0, "C", 0);
+#else
+#ifndef __GTHREAD_MUTEX_INIT
+ __GTHREAD_MUTEX_INIT_FUNCTION (&old_locale_lock);
+#endif
+#endif
+
#ifndef __GTHREAD_MUTEX_INIT
__GTHREAD_MUTEX_INIT_FUNCTION (&unit_lock);
#endif
@@ -588,9 +616,7 @@ init_units (void)
u->recl = options.default_recl;
u->endfile = NO_ENDFILE;
- u->file_len = strlen (stdin_name);
- u->file = xmalloc (u->file_len);
- memmove (u->file, stdin_name, u->file_len);
+ u->filename = strdup (stdin_name);
fbuf_init (u, 0);
@@ -619,9 +645,7 @@ init_units (void)
u->recl = options.default_recl;
u->endfile = AT_ENDFILE;
- u->file_len = strlen (stdout_name);
- u->file = xmalloc (u->file_len);
- memmove (u->file, stdout_name, u->file_len);
+ u->filename = strdup (stdout_name);
fbuf_init (u, 0);
@@ -649,9 +673,7 @@ init_units (void)
u->recl = options.default_recl;
u->endfile = AT_ENDFILE;
- u->file_len = strlen (stderr_name);
- u->file = xmalloc (u->file_len);
- memmove (u->file, stderr_name, u->file_len);
+ u->filename = strdup (stderr_name);
fbuf_init (u, 256); /* 256 bytes should be enough, probably not doing
any kind of exotic formatting to stderr. */
@@ -690,9 +712,8 @@ close_unit_1 (gfc_unit *u, int locked)
delete_unit (u);
- free (u->file);
- u->file = NULL;
- u->file_len = 0;
+ free (u->filename);
+ u->filename = NULL;
free_format_hash_table (u);
fbuf_destroy (u);
@@ -743,6 +764,10 @@ close_units (void)
while (unit_root != NULL)
close_unit_1 (unit_root, 1);
__gthread_mutex_unlock (&unit_lock);
+
+#ifdef HAVE_FREELOCALE
+ freelocale (c_locale);
+#endif
}
@@ -787,7 +812,6 @@ unit_truncate (gfc_unit * u, gfc_offset pos, st_parameter_common * common)
char *
filename_from_unit (int n)
{
- char *filename;
gfc_unit *u;
int c;
@@ -805,12 +829,8 @@ filename_from_unit (int n)
}
/* Get the filename. */
- if (u != NULL)
- {
- filename = (char *) xmalloc (u->file_len + 1);
- unpack_filename (filename, u->file, u->file_len);
- return filename;
- }
+ if (u != NULL && u->filename != NULL)
+ return strdup (u->filename);
else
return (char *) NULL;
}
diff --git a/libgfortran/io/unix.c b/libgfortran/io/unix.c
index a2df440e28..e5fc6e1981 100644
--- a/libgfortran/io/unix.c
+++ b/libgfortran/io/unix.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Andy Vaught
F2003 I/O support contributed by Jerry DeLisle
@@ -114,9 +114,6 @@ id_from_fd (const int fd)
typeof (b) _b = (b); \
_a < _b ? _a : _b; })
-#ifndef PATH_MAX
-#define PATH_MAX 1024
-#endif
/* These flags aren't defined on all targets (mingw32), so provide them
here. */
@@ -424,6 +421,12 @@ raw_close (unix_stream * s)
return retval;
}
+static int
+raw_markeor (unix_stream * s __attribute__ ((unused)))
+{
+ return 0;
+}
+
static const struct stream_vtable raw_vtable = {
.read = (void *) raw_read,
.write = (void *) raw_write,
@@ -432,7 +435,8 @@ static const struct stream_vtable raw_vtable = {
.size = (void *) raw_size,
.trunc = (void *) raw_truncate,
.close = (void *) raw_close,
- .flush = (void *) raw_flush
+ .flush = (void *) raw_flush,
+ .markeor = (void *) raw_markeor
};
static int
@@ -587,6 +591,23 @@ buf_write (unix_stream * s, const void * buf, ssize_t nbyte)
return nbyte;
}
+
+/* "Unbuffered" really means I/O statement buffering. For formatted
+ I/O, the fbuf manages this, and then uses raw I/O. For unformatted
+ I/O, buffered I/O is used, and the buffer is flushed at the end of
+ each I/O statement, where this function is called. Alternatively,
+ the buffer is flushed at the end of the record if the buffer is
+ more than half full; this prevents needless seeking back and forth
+ when writing sequential unformatted. */
+
+static int
+buf_markeor (unix_stream * s)
+{
+ if (s->unbuffered || s->ndirty >= BUFFER_SIZE / 2)
+ return buf_flush (s);
+ return 0;
+}
+
static gfc_offset
buf_seek (unix_stream * s, gfc_offset offset, int whence)
{
@@ -654,7 +675,8 @@ static const struct stream_vtable buf_vtable = {
.size = (void *) buf_size,
.trunc = (void *) buf_truncate,
.close = (void *) buf_close,
- .flush = (void *) buf_flush
+ .flush = (void *) buf_flush,
+ .markeor = (void *) buf_markeor
};
static int
@@ -913,7 +935,8 @@ static const struct stream_vtable mem_vtable = {
.size = (void *) buf_size,
.trunc = (void *) mem_truncate,
.close = (void *) mem_close,
- .flush = (void *) mem_flush
+ .flush = (void *) mem_flush,
+ .markeor = (void *) raw_markeor
};
static const struct stream_vtable mem4_vtable = {
@@ -926,7 +949,8 @@ static const struct stream_vtable mem4_vtable = {
.size = (void *) buf_size,
.trunc = (void *) mem_truncate,
.close = (void *) mem_close,
- .flush = (void *) mem_flush
+ .flush = (void *) mem_flush,
+ .markeor = (void *) raw_markeor
};
/*********************************************************************
@@ -975,21 +999,6 @@ open_internal4 (char *base, int length, gfc_offset offset)
}
-/* "Unbuffered" really means I/O statement buffering. For formatted
- I/O, the fbuf manages this, and then uses raw I/O. For unformatted
- I/O, buffered I/O is used, and the buffer is flushed at the end of
- each I/O statement, where this function is called. */
-
-int
-flush_if_unbuffered (stream* s)
-{
- unix_stream* us = (unix_stream*) s;
- if (us->unbuffered)
- return sflush (s);
- return 0;
-}
-
-
/* fd_to_stream()-- Given an open file descriptor, build a stream
* around it. */
@@ -1060,26 +1069,6 @@ unit_to_fd (int unit)
}
-/* unpack_filename()-- Given a fortran string and a pointer to a
- * buffer that is PATH_MAX characters, convert the fortran string to a
- * C string in the buffer. Returns nonzero if this is not possible. */
-
-int
-unpack_filename (char *cstring, const char *fstring, int len)
-{
- if (fstring == NULL)
- return EFAULT;
- len = fstrlen (fstring, len);
- if (len >= PATH_MAX)
- return ENAMETOOLONG;
-
- memmove (cstring, fstring, len);
- cstring[len] = '\0';
-
- return 0;
-}
-
-
/* Set the close-on-exec flag for an existing fd, if the system
supports such. */
@@ -1244,27 +1233,18 @@ tempfile (st_parameter_open *opp)
}
-/* regular_file()-- Open a regular file.
+/* regular_file2()-- Open a regular file.
* Change flags->action if it is ACTION_UNSPECIFIED on entry,
* unless an error occurs.
* Returns the descriptor, which is less than zero on error. */
static int
-regular_file (st_parameter_open *opp, unit_flags *flags)
+regular_file2 (const char *path, st_parameter_open *opp, unit_flags *flags)
{
- char path[min(PATH_MAX, opp->file_len + 1)];
int mode;
int rwflag;
int crflag, crflag2;
int fd;
- int err;
-
- err = unpack_filename (path, opp->file, opp->file_len);
- if (err)
- {
- errno = err; /* Fake an OS error */
- return -1;
- }
#ifdef __CYGWIN__
if (opp->file_len == 7)
@@ -1373,7 +1353,7 @@ regular_file (st_parameter_open *opp, unit_flags *flags)
flags->action = ACTION_READWRITE;
return fd;
}
- if (errno != EACCES && errno != EROFS)
+ if (errno != EACCES && errno != EPERM && errno != EROFS)
return fd;
/* retry for read-only access */
@@ -1389,7 +1369,7 @@ regular_file (st_parameter_open *opp, unit_flags *flags)
return fd; /* success */
}
- if (errno != EACCES && errno != ENOENT)
+ if (errno != EACCES && errno != EPERM && errno != ENOENT)
return fd; /* failure */
/* retry for write-only access */
@@ -1404,6 +1384,18 @@ regular_file (st_parameter_open *opp, unit_flags *flags)
}
+/* Wrapper around regular_file2, to make sure we free the path after
+ we're done. */
+
+static int
+regular_file (st_parameter_open *opp, unit_flags *flags)
+{
+ char *path = fc_strdup (opp->file, opp->file_len);
+ int fd = regular_file2 (path, opp, flags);
+ free (path);
+ return fd;
+}
+
/* open_external()-- Open an external file, unix specific version.
* Change flags->action if it is ACTION_UNSPECIFIED on entry.
* Returns NULL on operating system error. */
@@ -1494,8 +1486,8 @@ error_stream (void)
int
compare_file_filename (gfc_unit *u, const char *name, int len)
{
- char path[min(PATH_MAX, len + 1)];
struct stat st;
+ int ret;
#ifdef HAVE_WORKING_STAT
unix_stream *s;
#else
@@ -1504,18 +1496,21 @@ compare_file_filename (gfc_unit *u, const char *name, int len)
# endif
#endif
- if (unpack_filename (path, name, len))
- return 0; /* Can't be the same */
+ char *path = fc_strdup (name, len);
/* If the filename doesn't exist, then there is no match with the
* existing file. */
if (stat (path, &st) < 0)
- return 0;
+ {
+ ret = 0;
+ goto done;
+ }
#ifdef HAVE_WORKING_STAT
s = (unix_stream *) (u->s);
- return (st.st_dev == s->st_dev) && (st.st_ino == s->st_ino);
+ ret = (st.st_dev == s->st_dev) && (st.st_ino == s->st_ino);
+ goto done;
#else
# ifdef __MINGW32__
@@ -1525,13 +1520,16 @@ compare_file_filename (gfc_unit *u, const char *name, int len)
id1 = id_from_path (path);
id2 = id_from_fd (((unix_stream *) (u->s))->fd);
if (id1 || id2)
- return (id1 == id2);
+ {
+ ret = (id1 == id2);
+ goto done;
+ }
# endif
-
- if (len != u->file_len)
- return 0;
- return (memcmp(path, u->file, len) == 0);
+ ret = (strcmp(path, u->filename) == 0);
#endif
+ done:
+ free (path);
+ return ret;
}
@@ -1539,8 +1537,8 @@ compare_file_filename (gfc_unit *u, const char *name, int len)
# define FIND_FILE0_DECL struct stat *st
# define FIND_FILE0_ARGS st
#else
-# define FIND_FILE0_DECL uint64_t id, const char *file, gfc_charlen_type file_len
-# define FIND_FILE0_ARGS id, file, file_len
+# define FIND_FILE0_DECL uint64_t id, const char *path
+# define FIND_FILE0_ARGS id, path
#endif
/* find_file0()-- Recursive work function for find_file() */
@@ -1572,7 +1570,7 @@ find_file0 (gfc_unit *u, FIND_FILE0_DECL)
}
else
# endif
- if (compare_string (u->file_len, u->file, file_len, file) == 0)
+ if (strcmp (u->filename, path) == 0)
return u;
#endif
@@ -1594,18 +1592,19 @@ find_file0 (gfc_unit *u, FIND_FILE0_DECL)
gfc_unit *
find_file (const char *file, gfc_charlen_type file_len)
{
- char path[min(PATH_MAX, file_len + 1)];
struct stat st[1];
gfc_unit *u;
#if defined(__MINGW32__) && !HAVE_WORKING_STAT
uint64_t id = 0ULL;
#endif
- if (unpack_filename (path, file, file_len))
- return NULL;
+ char *path = fc_strdup (file, file_len);
if (stat (path, &st[0]) < 0)
- return NULL;
+ {
+ u = NULL;
+ goto done;
+ }
#if defined(__MINGW32__) && !HAVE_WORKING_STAT
id = id_from_path (path);
@@ -1621,7 +1620,7 @@ retry:
{
/* assert (u->closed == 0); */
__gthread_mutex_unlock (&unit_lock);
- return u;
+ goto done;
}
inc_waiting_locked (u);
@@ -1641,6 +1640,8 @@ retry:
dec_waiting_unlocked (u);
}
+ done:
+ free (path);
return u;
}
@@ -1713,16 +1714,7 @@ flush_all_units (void)
int
delete_file (gfc_unit * u)
{
- char path[min(PATH_MAX, u->file_len + 1)];
- int err = unpack_filename (path, u->file, u->file_len);
-
- if (err)
- { /* Shouldn't be possible */
- errno = err;
- return 1;
- }
-
- return unlink (path);
+ return unlink (u->filename);
}
@@ -1732,12 +1724,10 @@ delete_file (gfc_unit * u)
int
file_exists (const char *file, gfc_charlen_type file_len)
{
- char path[min(PATH_MAX, file_len + 1)];
-
- if (unpack_filename (path, file, file_len))
- return 0;
-
- return !(access (path, F_OK));
+ char *path = fc_strdup (file, file_len);
+ int res = !(access (path, F_OK));
+ free (path);
+ return res;
}
@@ -1746,15 +1736,12 @@ file_exists (const char *file, gfc_charlen_type file_len)
GFC_IO_INT
file_size (const char *file, gfc_charlen_type file_len)
{
- char path[min(PATH_MAX, file_len + 1)];
+ char *path = fc_strdup (file, file_len);
struct stat statbuf;
-
- if (unpack_filename (path, file, file_len))
- return -1;
-
- if (stat (path, &statbuf) < 0)
+ int err = stat (path, &statbuf);
+ free (path);
+ if (err == -1)
return -1;
-
return (GFC_IO_INT) statbuf.st_size;
}
@@ -1767,11 +1754,15 @@ static const char yes[] = "YES", no[] = "NO", unknown[] = "UNKNOWN";
const char *
inquire_sequential (const char *string, int len)
{
- char path[min(PATH_MAX, len + 1)];
struct stat statbuf;
- if (string == NULL ||
- unpack_filename (path, string, len) || stat (path, &statbuf) < 0)
+ if (string == NULL)
+ return unknown;
+
+ char *path = fc_strdup (string, len);
+ int err = stat (path, &statbuf);
+ free (path);
+ if (err == -1)
return unknown;
if (S_ISREG (statbuf.st_mode) ||
@@ -1791,11 +1782,15 @@ inquire_sequential (const char *string, int len)
const char *
inquire_direct (const char *string, int len)
{
- char path[min(PATH_MAX, len + 1)];
struct stat statbuf;
- if (string == NULL ||
- unpack_filename (path, string, len) || stat (path, &statbuf) < 0)
+ if (string == NULL)
+ return unknown;
+
+ char *path = fc_strdup (string, len);
+ int err = stat (path, &statbuf);
+ free (path);
+ if (err == -1)
return unknown;
if (S_ISREG (statbuf.st_mode) || S_ISBLK (statbuf.st_mode))
@@ -1815,11 +1810,15 @@ inquire_direct (const char *string, int len)
const char *
inquire_formatted (const char *string, int len)
{
- char path[min(PATH_MAX, len + 1)];
struct stat statbuf;
- if (string == NULL ||
- unpack_filename (path, string, len) || stat (path, &statbuf) < 0)
+ if (string == NULL)
+ return unknown;
+
+ char *path = fc_strdup (string, len);
+ int err = stat (path, &statbuf);
+ free (path);
+ if (err == -1)
return unknown;
if (S_ISREG (statbuf.st_mode) ||
@@ -1850,10 +1849,12 @@ inquire_unformatted (const char *string, int len)
static const char *
inquire_access (const char *string, int len, int mode)
{
- char path[min(PATH_MAX, len + 1)];
-
- if (string == NULL || unpack_filename (path, string, len) ||
- access (path, mode) < 0)
+ if (string == NULL)
+ return no;
+ char *path = fc_strdup (string, len);
+ int res = access (path, mode);
+ free (path);
+ if (res == -1)
return no;
return yes;
diff --git a/libgfortran/io/unix.h b/libgfortran/io/unix.h
index 37561108c8..78a41f79f4 100644
--- a/libgfortran/io/unix.h
+++ b/libgfortran/io/unix.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
Contributed by Janne Blomqvist
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -38,6 +38,7 @@ struct stream_vtable
int (* const trunc) (struct stream *, gfc_offset);
int (* const flush) (struct stream *);
int (* const close) (struct stream *);
+ int (* const markeor) (struct stream *);
};
struct stream
@@ -94,6 +95,12 @@ sclose (stream * s)
return s->vptr->close (s);
}
+static inline int
+smarkeor (stream * s)
+{
+ return s->vptr->markeor (s);
+}
+
extern int compare_files (stream *, stream *);
internal_proto(compare_files);
@@ -167,9 +174,6 @@ internal_proto(inquire_readwrite);
extern void flush_if_preconnected (stream *);
internal_proto(flush_if_preconnected);
-extern int flush_if_unbuffered (stream*);
-internal_proto(flush_if_unbuffered);
-
extern int stream_isatty (stream *);
internal_proto(stream_isatty);
@@ -185,8 +189,4 @@ internal_proto(stream_isatty);
extern int stream_ttyname (stream *, char *, size_t);
internal_proto(stream_ttyname);
-extern int unpack_filename (char *, const char *, int);
-internal_proto(unpack_filename);
-
-
#endif
diff --git a/libgfortran/io/write.c b/libgfortran/io/write.c
index f76ec673b3..75996598d0 100644
--- a/libgfortran/io/write.c
+++ b/libgfortran/io/write.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Andy Vaught
Namelist output contributed by Paul Thomas
F2003 I/O support contributed by Jerry DeLisle
@@ -25,6 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
#include "io.h"
+#include "fbuf.h"
#include "format.h"
#include "unix.h"
#include <assert.h>
@@ -1585,6 +1586,7 @@ list_formatted_write_scalar (st_parameter_dt *dtp, bt type, void *p, int kind,
internal_error (&dtp->common, "list_formatted_write(): Bad type");
}
+ fbuf_flush_list (dtp->u.p.current_unit, LIST_WRITING);
dtp->u.p.char_flag = (type == BT_CHARACTER);
}
@@ -1702,10 +1704,11 @@ nml_write_obj (st_parameter_dt *dtp, namelist_info * obj, index_type offset,
size_t clen;
index_type elem_ctr;
size_t obj_name_len;
- void * p ;
+ void * p;
char cup;
char * obj_name;
char * ext_name;
+ char * q;
size_t ext_name_len;
char rep_buff[NML_DIGITS];
namelist_info * cmp;
@@ -1743,6 +1746,8 @@ nml_write_obj (st_parameter_dt *dtp, namelist_info * obj, index_type offset,
for (dim_i = len; dim_i < clen; dim_i++)
{
cup = toupper ((int) obj->var_name[dim_i]);
+ if (cup == '+')
+ cup = '%';
write_character (dtp, &cup, 1, 1, NODELIM);
}
write_character (dtp, "=", 1, 1, NODELIM);
@@ -1835,7 +1840,10 @@ nml_write_obj (st_parameter_dt *dtp, namelist_info * obj, index_type offset,
break;
case BT_CHARACTER:
- write_character (dtp, p, 1, obj->string_length, DELIM);
+ if (dtp->u.p.current_unit->flags.encoding == ENCODING_UTF8)
+ write_character (dtp, p, 4, obj->string_length, DELIM);
+ else
+ write_character (dtp, p, 1, obj->string_length, DELIM);
break;
case BT_REAL:
@@ -1889,6 +1897,9 @@ nml_write_obj (st_parameter_dt *dtp, namelist_info * obj, index_type offset,
}
ext_name[tot_len] = '\0';
+ for (q = ext_name; *q; q++)
+ if (*q == '+')
+ *q = '%';
/* Now obj_name. */
diff --git a/libgfortran/io/write_float.def b/libgfortran/io/write_float.def
index 99f6ff8e83..1bbe016061 100644
--- a/libgfortran/io/write_float.def
+++ b/libgfortran/io/write_float.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
Contributed by Andy Vaught
Write float code factoring to this file by Jerry DeLisle
F2003 I/O support contributed by Jerry DeLisle
@@ -446,7 +446,7 @@ output_float (st_parameter_dt *dtp, const fnode *f, char *buffer, size_t size,
skip:
/* Calculate the format of the exponent field. */
- if (expchar)
+ if (expchar && !(dtp->u.p.g0_no_blanks && e == 0))
{
edigits = 1;
for (i = abs (e); i >= 10; i /= 10)
@@ -632,7 +632,7 @@ output_float (st_parameter_dt *dtp, const fnode *f, char *buffer, size_t size,
}
/* Output the exponent. */
- if (expchar)
+ if (expchar && !(dtp->u.p.g0_no_blanks && e == 0))
{
if (expchar != ' ')
{
@@ -724,7 +724,7 @@ output_float (st_parameter_dt *dtp, const fnode *f, char *buffer, size_t size,
}
/* Output the exponent. */
- if (expchar)
+ if (expchar && !(dtp->u.p.g0_no_blanks && e == 0))
{
if (expchar != ' ')
{
@@ -1277,7 +1277,13 @@ write_float (st_parameter_dt *dtp, const fnode *f, const char *source, \
trailing null, and finally some extra digits depending on the
requested precision. */
const size_t size = 4932 + 3 + precision;
- char buffer[size];
+#define BUF_STACK_SZ 5000
+ char buf_stack[BUF_STACK_SZ];
+ char *buffer;
+ if (size > BUF_STACK_SZ)
+ buffer = xmalloc (size);
+ else
+ buffer = buf_stack;
switch (len)
{
@@ -1306,4 +1312,6 @@ write_float (st_parameter_dt *dtp, const fnode *f, const char *source, \
default:
internal_error (NULL, "bad real kind");
}
+ if (size > BUF_STACK_SZ)
+ free (buffer);
}
diff --git a/libgfortran/kinds-override.h b/libgfortran/kinds-override.h
index 2823e74b62..69bb32117c 100644
--- a/libgfortran/kinds-override.h
+++ b/libgfortran/kinds-override.h
@@ -1,5 +1,5 @@
/* Header used to override things detected by the mk-kinds-h.sh script.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/libgfortran.h b/libgfortran/libgfortran.h
index e01d215ddd..8962154aae 100644
--- a/libgfortran/libgfortran.h
+++ b/libgfortran/libgfortran.h
@@ -1,5 +1,5 @@
/* Common declarations for all of libgfortran.
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>, and
Andy Vaught <andy@xena.eas.asu.edu>
@@ -107,14 +107,8 @@ typedef off_t gfc_offset;
heuristic will mark this branch as much less likely as unlikely() would
do. */
-#ifndef __GNUC__
-#define __attribute__(x)
-#define likely(x) (x)
-#define unlikely(x) (x)
-#else
#define likely(x) __builtin_expect(!!(x), 1)
#define unlikely(x) __builtin_expect(!!(x), 0)
-#endif
/* Make sure we have ptrdiff_t. */
@@ -235,11 +229,6 @@ extern int __mingw_snprintf (char *, size_t, const char *, ...)
#undef signbit
#define signbit(x) __builtin_signbit(x)
-/* TODO: find the C99 version of these an move into above ifdef. */
-#define REALPART(z) (__real__(z))
-#define IMAGPART(z) (__imag__(z))
-#define COMPLEX_ASSIGN(z_, r_, i_) {__real__(z_) = (r_); __imag__(z_) = (i_);}
-
#include "kinds.h"
/* Define the type used for the current record number for large file I/O.
@@ -584,10 +573,6 @@ iexport_data_proto(line);
extern char *filename;
iexport_data_proto(filename);
-/* Avoid conflicting prototypes of alloca() in system headers by using
- GCC's builtin alloca(). */
-#define gfc_alloca(x) __builtin_alloca(x)
-
/* The default value of record length for preconnected units is defined
here. This value can be overriden by an environment variable.
@@ -693,7 +678,7 @@ iexport_proto(backtrace);
#define GFC_OTOA_BUF_SIZE (GFC_LARGEST_BUF * 3 + 1)
#define GFC_BTOA_BUF_SIZE (GFC_LARGEST_BUF * 8 + 1)
-extern void sys_abort (void) __attribute__ ((noreturn));
+extern _Noreturn void sys_abort (void);
internal_proto(sys_abort);
extern ssize_t estr_write (const char *);
@@ -709,26 +694,25 @@ internal_proto(st_printf);
extern const char *gfc_xtoa (GFC_UINTEGER_LARGEST, char *, size_t);
internal_proto(gfc_xtoa);
-extern void os_error (const char *) __attribute__ ((noreturn));
+extern _Noreturn void os_error (const char *);
iexport_proto(os_error);
extern void show_locus (st_parameter_common *);
internal_proto(show_locus);
-extern void runtime_error (const char *, ...)
- __attribute__ ((noreturn, format (gfc_printf, 1, 2)));
+extern _Noreturn void runtime_error (const char *, ...)
+ __attribute__ ((format (gfc_printf, 1, 2)));
iexport_proto(runtime_error);
-extern void runtime_error_at (const char *, const char *, ...)
- __attribute__ ((noreturn, format (gfc_printf, 2, 3)));
+extern _Noreturn void runtime_error_at (const char *, const char *, ...)
+ __attribute__ ((format (gfc_printf, 2, 3)));
iexport_proto(runtime_error_at);
extern void runtime_warning_at (const char *, const char *, ...)
__attribute__ ((format (gfc_printf, 2, 3)));
iexport_proto(runtime_warning_at);
-extern void internal_error (st_parameter_common *, const char *)
- __attribute__ ((noreturn));
+extern _Noreturn void internal_error (st_parameter_common *, const char *);
internal_proto(internal_error);
extern const char *translate_error (int);
@@ -754,15 +738,48 @@ internal_proto(gf_strerror);
extern void set_fpu (void);
internal_proto(set_fpu);
+extern int get_fpu_trap_exceptions (void);
+internal_proto(get_fpu_trap_exceptions);
+
+extern void set_fpu_trap_exceptions (int, int);
+internal_proto(set_fpu_trap_exceptions);
+
+extern int support_fpu_trap (int);
+internal_proto(support_fpu_trap);
+
extern int get_fpu_except_flags (void);
internal_proto(get_fpu_except_flags);
-extern void set_fpu_rounding_mode (int round);
+extern void set_fpu_except_flags (int, int);
+internal_proto(set_fpu_except_flags);
+
+extern int support_fpu_flag (int);
+internal_proto(support_fpu_flag);
+
+extern void set_fpu_rounding_mode (int);
internal_proto(set_fpu_rounding_mode);
extern int get_fpu_rounding_mode (void);
internal_proto(get_fpu_rounding_mode);
+extern int support_fpu_rounding_mode (int);
+internal_proto(support_fpu_rounding_mode);
+
+extern void get_fpu_state (void *);
+internal_proto(get_fpu_state);
+
+extern void set_fpu_state (void *);
+internal_proto(set_fpu_state);
+
+extern int get_fpu_underflow_mode (void);
+internal_proto(get_fpu_underflow_mode);
+
+extern void set_fpu_underflow_mode (int);
+internal_proto(set_fpu_underflow_mode);
+
+extern int support_fpu_underflow_control (int);
+internal_proto(support_fpu_underflow_control);
+
/* memory.c */
extern void *xmalloc (size_t) __attribute__ ((malloc));
@@ -774,6 +791,8 @@ internal_proto(xmallocarray);
extern void *xcalloc (size_t, size_t) __attribute__ ((malloc));
internal_proto(xcalloc);
+extern void *xrealloc (void *, size_t);
+internal_proto(xrealloc);
/* environ.c */
@@ -825,6 +844,12 @@ extern gfc_charlen_type string_len_trim_char4 (gfc_charlen_type,
const gfc_char4_t *);
export_proto(string_len_trim_char4);
+extern char *fc_strdup(const char *, gfc_charlen_type);
+internal_proto(fc_strdup);
+
+extern char *fc_strdup_notrim(const char *, gfc_charlen_type);
+internal_proto(fc_strdup_notrim);
+
/* io/intrinsics.c */
extern void flush_all_units (void);
@@ -846,8 +871,7 @@ internal_proto(filename_from_unit);
/* stop.c */
-extern void stop_string (const char *, GFC_INTEGER_4)
- __attribute__ ((noreturn));
+extern _Noreturn void stop_string (const char *, GFC_INTEGER_4);
export_proto(stop_string);
/* reshape_packed.c */
diff --git a/libgfortran/m4/all.m4 b/libgfortran/m4/all.m4
index 505903a92d..50ee390c92 100644
--- a/libgfortran/m4/all.m4
+++ b/libgfortran/m4/all.m4
@@ -1,5 +1,5 @@
`/* Implementation of the ALL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/any.m4 b/libgfortran/m4/any.m4
index f54f2757bb..4e363c5667 100644
--- a/libgfortran/m4/any.m4
+++ b/libgfortran/m4/any.m4
@@ -1,5 +1,5 @@
`/* Implementation of the ANY intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/bessel.m4 b/libgfortran/m4/bessel.m4
index 6a865448e6..2f01e4e48b 100644
--- a/libgfortran/m4/bessel.m4
+++ b/libgfortran/m4/bessel.m4
@@ -1,6 +1,6 @@
`/* Implementation of the BESSEL_JN and BESSEL_YN transformational
function using a recurrence algorithm.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/count.m4 b/libgfortran/m4/count.m4
index a9b0e38724..d60f640fe3 100644
--- a/libgfortran/m4/count.m4
+++ b/libgfortran/m4/count.m4
@@ -1,5 +1,5 @@
`/* Implementation of the COUNT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/cshift0.m4 b/libgfortran/m4/cshift0.m4
index e81acb8c90..ea5dd98c5b 100644
--- a/libgfortran/m4/cshift0.m4
+++ b/libgfortran/m4/cshift0.m4
@@ -1,5 +1,5 @@
`/* Helper function for cshift functions.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/cshift1.m4 b/libgfortran/m4/cshift1.m4
index e743e9e90d..722d985949 100644
--- a/libgfortran/m4/cshift1.m4
+++ b/libgfortran/m4/cshift1.m4
@@ -1,5 +1,5 @@
`/* Implementation of the CSHIFT intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Feng Wang <wf_cs@yahoo.com>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/eoshift1.m4 b/libgfortran/m4/eoshift1.m4
index df785ecdc2..0e5e4ad694 100644
--- a/libgfortran/m4/eoshift1.m4
+++ b/libgfortran/m4/eoshift1.m4
@@ -1,5 +1,5 @@
`/* Implementation of the EOSHIFT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/eoshift3.m4 b/libgfortran/m4/eoshift3.m4
index 1a257d98f3..0c20940c4d 100644
--- a/libgfortran/m4/eoshift3.m4
+++ b/libgfortran/m4/eoshift3.m4
@@ -1,5 +1,5 @@
`/* Implementation of the EOSHIFT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/exponent.m4 b/libgfortran/m4/exponent.m4
index cfc98cb03d..53ed8db4f4 100644
--- a/libgfortran/m4/exponent.m4
+++ b/libgfortran/m4/exponent.m4
@@ -1,5 +1,5 @@
`/* Implementation of the EXPONENT intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/m4/fraction.m4 b/libgfortran/m4/fraction.m4
index 2e12e09795..1b07645def 100644
--- a/libgfortran/m4/fraction.m4
+++ b/libgfortran/m4/fraction.m4
@@ -1,5 +1,5 @@
`/* Implementation of the FRACTION intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/m4/head.m4 b/libgfortran/m4/head.m4
index 992f3912be..682be326ab 100644
--- a/libgfortran/m4/head.m4
+++ b/libgfortran/m4/head.m4
@@ -1,4 +1,4 @@
-`! Copyright (C) 2002-2014 Free Software Foundation, Inc.
+`! Copyright (C) 2002-2015 Free Software Foundation, Inc.
! Contributed by Paul Brook <paul@nowt.org>
!
!This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/m4/iall.m4 b/libgfortran/m4/iall.m4
index c9a25347e2..69a2df2faf 100644
--- a/libgfortran/m4/iall.m4
+++ b/libgfortran/m4/iall.m4
@@ -1,5 +1,5 @@
`/* Implementation of the IALL intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/iany.m4 b/libgfortran/m4/iany.m4
index 585eeb72a4..39e8bfd51e 100644
--- a/libgfortran/m4/iany.m4
+++ b/libgfortran/m4/iany.m4
@@ -1,5 +1,5 @@
`/* Implementation of the IANY intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/in_pack.m4 b/libgfortran/m4/in_pack.m4
index a807e71e5a..7cdcbbc881 100644
--- a/libgfortran/m4/in_pack.m4
+++ b/libgfortran/m4/in_pack.m4
@@ -1,5 +1,5 @@
`/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/in_unpack.m4 b/libgfortran/m4/in_unpack.m4
index c3fa09e901..f1482f6c04 100644
--- a/libgfortran/m4/in_unpack.m4
+++ b/libgfortran/m4/in_unpack.m4
@@ -1,5 +1,5 @@
`/* Helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/iparity.m4 b/libgfortran/m4/iparity.m4
index e4cbbed4d4..4ce21cc434 100644
--- a/libgfortran/m4/iparity.m4
+++ b/libgfortran/m4/iparity.m4
@@ -1,5 +1,5 @@
`/* Implementation of the IPARITY intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/matmul.m4 b/libgfortran/m4/matmul.m4
index e5f43e2d64..fae6c38d47 100644
--- a/libgfortran/m4/matmul.m4
+++ b/libgfortran/m4/matmul.m4
@@ -1,5 +1,5 @@
`/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/matmull.m4 b/libgfortran/m4/matmull.m4
index 4be37d5a86..86f27b1bd3 100644
--- a/libgfortran/m4/matmull.m4
+++ b/libgfortran/m4/matmull.m4
@@ -1,5 +1,5 @@
`/* Implementation of the MATMUL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/maxloc0.m4 b/libgfortran/m4/maxloc0.m4
index e9dcce1540..8a187ae2ad 100644
--- a/libgfortran/m4/maxloc0.m4
+++ b/libgfortran/m4/maxloc0.m4
@@ -1,5 +1,5 @@
`/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/m4/maxloc1.m4 b/libgfortran/m4/maxloc1.m4
index 8672ae5f3f..b609e88021 100644
--- a/libgfortran/m4/maxloc1.m4
+++ b/libgfortran/m4/maxloc1.m4
@@ -1,5 +1,5 @@
`/* Implementation of the MAXLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/maxval.m4 b/libgfortran/m4/maxval.m4
index 17824bff5e..7bb181d8ef 100644
--- a/libgfortran/m4/maxval.m4
+++ b/libgfortran/m4/maxval.m4
@@ -1,5 +1,5 @@
`/* Implementation of the MAXVAL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/minloc0.m4 b/libgfortran/m4/minloc0.m4
index 0cef7ba9ac..71e5194282 100644
--- a/libgfortran/m4/minloc0.m4
+++ b/libgfortran/m4/minloc0.m4
@@ -1,5 +1,5 @@
`/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/m4/minloc1.m4 b/libgfortran/m4/minloc1.m4
index 6f54e29f55..3062d0a96e 100644
--- a/libgfortran/m4/minloc1.m4
+++ b/libgfortran/m4/minloc1.m4
@@ -1,5 +1,5 @@
`/* Implementation of the MINLOC intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/minval.m4 b/libgfortran/m4/minval.m4
index 3d434e57a5..d8851b5679 100644
--- a/libgfortran/m4/minval.m4
+++ b/libgfortran/m4/minval.m4
@@ -1,5 +1,5 @@
`/* Implementation of the MINVAL intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/nearest.m4 b/libgfortran/m4/nearest.m4
index 349d41ca12..0870983bf7 100644
--- a/libgfortran/m4/nearest.m4
+++ b/libgfortran/m4/nearest.m4
@@ -1,5 +1,5 @@
`/* Implementation of the NEAREST intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/m4/norm2.m4 b/libgfortran/m4/norm2.m4
index 7ae3228dc1..9c068ead1f 100644
--- a/libgfortran/m4/norm2.m4
+++ b/libgfortran/m4/norm2.m4
@@ -1,5 +1,5 @@
`/* Implementation of the NORM2 intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/pack.m4 b/libgfortran/m4/pack.m4
index a5517d07b3..abfd1e7e51 100644
--- a/libgfortran/m4/pack.m4
+++ b/libgfortran/m4/pack.m4
@@ -1,5 +1,5 @@
`/* Specific implementation of the PACK intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/parity.m4 b/libgfortran/m4/parity.m4
index 40b0c157a7..61b557e6a8 100644
--- a/libgfortran/m4/parity.m4
+++ b/libgfortran/m4/parity.m4
@@ -1,5 +1,5 @@
`/* Implementation of the PARITY intrinsic
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by Tobias Burnus <burnus@net-b.de>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/pow.m4 b/libgfortran/m4/pow.m4
index a3dc1315ff..bab30b2322 100644
--- a/libgfortran/m4/pow.m4
+++ b/libgfortran/m4/pow.m4
@@ -1,5 +1,5 @@
`/* Support routines for the intrinsic power (**) operator.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/m4/product.m4 b/libgfortran/m4/product.m4
index ba17282a2c..735ee0f6aa 100644
--- a/libgfortran/m4/product.m4
+++ b/libgfortran/m4/product.m4
@@ -1,5 +1,5 @@
`/* Implementation of the PRODUCT intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/reshape.m4 b/libgfortran/m4/reshape.m4
index 6341b6e9a2..11ad120454 100644
--- a/libgfortran/m4/reshape.m4
+++ b/libgfortran/m4/reshape.m4
@@ -1,5 +1,5 @@
`/* Implementation of the RESHAPE intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/rrspacing.m4 b/libgfortran/m4/rrspacing.m4
index baf942c642..42849fce56 100644
--- a/libgfortran/m4/rrspacing.m4
+++ b/libgfortran/m4/rrspacing.m4
@@ -1,5 +1,5 @@
`/* Implementation of the RRSPACING intrinsic
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargl@gcc.gnu.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/m4/set_exponent.m4 b/libgfortran/m4/set_exponent.m4
index 979617e49c..62d98e0d03 100644
--- a/libgfortran/m4/set_exponent.m4
+++ b/libgfortran/m4/set_exponent.m4
@@ -1,5 +1,5 @@
`/* Implementation of the SET_EXPONENT intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>.
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/m4/shape.m4 b/libgfortran/m4/shape.m4
index 9d02c6c402..ffdcebe8d8 100644
--- a/libgfortran/m4/shape.m4
+++ b/libgfortran/m4/shape.m4
@@ -1,5 +1,5 @@
`/* Implementation of the SHAPE intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/spacing.m4 b/libgfortran/m4/spacing.m4
index 52074764dd..097357dcf4 100644
--- a/libgfortran/m4/spacing.m4
+++ b/libgfortran/m4/spacing.m4
@@ -1,5 +1,5 @@
`/* Implementation of the SPACING intrinsic
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
Contributed by Steven G. Kargl <kargl@gcc.gnu.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/m4/spread.m4 b/libgfortran/m4/spread.m4
index 62cfd81dea..fc3ae15834 100644
--- a/libgfortran/m4/spread.m4
+++ b/libgfortran/m4/spread.m4
@@ -1,5 +1,5 @@
`/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
diff --git a/libgfortran/m4/sum.m4 b/libgfortran/m4/sum.m4
index 9a3017f435..2bc343ec9e 100644
--- a/libgfortran/m4/sum.m4
+++ b/libgfortran/m4/sum.m4
@@ -1,5 +1,5 @@
`/* Implementation of the SUM intrinsic
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran 95 runtime library (libgfortran).
diff --git a/libgfortran/m4/transpose.m4 b/libgfortran/m4/transpose.m4
index 6d9f4764c3..e5793f7c5b 100644
--- a/libgfortran/m4/transpose.m4
+++ b/libgfortran/m4/transpose.m4
@@ -1,5 +1,5 @@
`/* Implementation of the TRANSPOSE intrinsic
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Tobias Schlüter
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/m4/unpack.m4 b/libgfortran/m4/unpack.m4
index e945446d80..f22fb060a0 100644
--- a/libgfortran/m4/unpack.m4
+++ b/libgfortran/m4/unpack.m4
@@ -1,5 +1,5 @@
`/* Specific implementation of the UNPACK intrinsic
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
unpack_generic.c by Paul Brook <paul@nowt.org>.
@@ -105,6 +105,8 @@ unpack0_'rtype_code` ('rtype` *ret, const 'rtype` *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
@@ -250,6 +252,8 @@ unpack1_'rtype_code` ('rtype` *ret, const 'rtype` *vector,
else
{
dim = GFC_DESCRIPTOR_RANK (ret);
+ /* Initialize to avoid -Wmaybe-uninitialized complaints. */
+ rstride[0] = 1;
for (n = 0; n < dim; n++)
{
count[n] = 0;
diff --git a/libgfortran/runtime/backtrace.c b/libgfortran/runtime/backtrace.c
index 9cc6974ee1..317da1f493 100644
--- a/libgfortran/runtime/backtrace.c
+++ b/libgfortran/runtime/backtrace.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
Contributed by François-Xavier Coudert
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/bounds.c b/libgfortran/runtime/bounds.c
index 2544cb6620..c324d44367 100644
--- a/libgfortran/runtime/bounds.c
+++ b/libgfortran/runtime/bounds.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
Contributed by Thomas Koenig
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/compile_options.c b/libgfortran/runtime/compile_options.c
index 748ac23354..98f67f0705 100644
--- a/libgfortran/runtime/compile_options.c
+++ b/libgfortran/runtime/compile_options.c
@@ -1,5 +1,5 @@
/* Handling of compile-time options that influence the library.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -29,7 +29,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
/* Useful compile-time options will be stored in here. */
compile_options_t compile_options;
-
+#ifndef LIBGFOR_MINIMAL
volatile sig_atomic_t fatal_error_in_progress = 0;
@@ -146,6 +146,7 @@ maybe_find_addr2line (void)
if (options.backtrace == -1)
find_addr2line ();
}
+#endif
/* Set the usual compile-time options. */
extern void set_options (int , int []);
@@ -176,6 +177,7 @@ set_options (int num, int options[])
if (num >= 9)
compile_options.fpe_summary = options[8];
+#ifndef LIBGFOR_MINIMAL
/* If backtrace is required, we set signal handlers on the POSIX
2001 signals with core action. */
if (compile_options.backtrace)
@@ -212,6 +214,7 @@ set_options (int num, int options[])
maybe_find_addr2line ();
}
+#endif
}
diff --git a/libgfortran/runtime/convert_char.c b/libgfortran/runtime/convert_char.c
index c3cd1c28c1..0c5db3cf19 100644
--- a/libgfortran/runtime/convert_char.c
+++ b/libgfortran/runtime/convert_char.c
@@ -1,5 +1,5 @@
/* Runtime conversion of strings from one character kind to another.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/environ.c b/libgfortran/runtime/environ.c
index 1095f443a5..4f6408f8ef 100644
--- a/libgfortran/runtime/environ.c
+++ b/libgfortran/runtime/environ.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/error.c b/libgfortran/runtime/error.c
index 4bde33ba72..098231916a 100644
--- a/libgfortran/runtime/error.c
+++ b/libgfortran/runtime/error.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -46,6 +46,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#endif
+#include <locale.h>
+
+#ifdef HAVE_XLOCALE_H
+#include <xlocale.h>
+#endif
+
+
#ifdef __MINGW32__
#define HAVE_GETPID 1
#include <process.h>
@@ -204,14 +211,26 @@ gfc_xtoa (GFC_UINTEGER_LARGEST n, char *buffer, size_t len)
}
-/* Hopefully thread-safe wrapper for a strerror_r() style function. */
+/* Hopefully thread-safe wrapper for a strerror() style function. */
char *
gf_strerror (int errnum,
char * buf __attribute__((unused)),
size_t buflen __attribute__((unused)))
{
-#ifdef HAVE_STRERROR_R
+#ifdef HAVE_STRERROR_L
+ locale_t myloc = newlocale (LC_CTYPE_MASK | LC_MESSAGES_MASK, "",
+ (locale_t) 0);
+ char *p = strerror_l (errnum, myloc);
+ freelocale (myloc);
+ return p;
+#elif defined(HAVE_STRERROR_R)
+#ifdef HAVE_USELOCALE
+ /* Some targets (Darwin at least) have the POSIX 2008 extended
+ locale functions, but not strerror_l. So reset the per-thread
+ locale here. */
+ uselocale (LC_GLOBAL_LOCALE);
+#endif
/* POSIX returns an "int", GNU a "char*". */
return
__builtin_choose_expr (__builtin_classify_type (strerror_r (0, buf, 0))
@@ -469,6 +488,10 @@ translate_error (int code)
p = "Unformatted file structure has been corrupted";
break;
+ case LIBERROR_INQUIRE_INTERNAL_UNIT:
+ p = "Inquire statement identifies an internal file";
+ break;
+
default:
p = "Unknown error code";
break;
diff --git a/libgfortran/runtime/fpu.c b/libgfortran/runtime/fpu.c
index ecef0be3cd..79079ff693 100644
--- a/libgfortran/runtime/fpu.c
+++ b/libgfortran/runtime/fpu.c
@@ -1,5 +1,5 @@
/* Set FPU mask.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
Contributed by Francois-Xavier Coudert <coudert@clipper.ens.fr>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/in_pack_generic.c b/libgfortran/runtime/in_pack_generic.c
index aab155df68..b121a70b74 100644
--- a/libgfortran/runtime/in_pack_generic.c
+++ b/libgfortran/runtime/in_pack_generic.c
@@ -1,5 +1,5 @@
/* Generic helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/in_unpack_generic.c b/libgfortran/runtime/in_unpack_generic.c
index 18855e1b68..179d6ff56a 100644
--- a/libgfortran/runtime/in_unpack_generic.c
+++ b/libgfortran/runtime/in_unpack_generic.c
@@ -1,5 +1,5 @@
/* Generic helper function for repacking arrays.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/main.c b/libgfortran/runtime/main.c
index a103c554be..3c66a30fff 100644
--- a/libgfortran/runtime/main.c
+++ b/libgfortran/runtime/main.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Andy Vaught and Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -26,6 +26,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include <stdlib.h>
#include <string.h>
#include <limits.h>
+#include <errno.h>
#ifdef HAVE_UNISTD_H
@@ -70,23 +71,18 @@ static int argc_save;
static char **argv_save;
static const char *exe_path;
-static int please_free_exe_path_when_done;
+static bool please_free_exe_path_when_done;
/* Save the path under which the program was called, for use in the
backtrace routines. */
void
store_exe_path (const char * argv0)
{
-#ifndef PATH_MAX
-#define PATH_MAX 1024
-#endif
-
#ifndef DIR_SEPARATOR
#define DIR_SEPARATOR '/'
#endif
- char buf[PATH_MAX], *path;
- const char *cwd;
+ char *cwd, *path;
/* This can only happen if store_exe_path is called multiple times. */
if (please_free_exe_path_when_done)
@@ -95,13 +91,27 @@ store_exe_path (const char * argv0)
/* Reading the /proc/self/exe symlink is Linux-specific(?), but if
it works it gives the correct answer. */
#ifdef HAVE_READLINK
- int len;
- if ((len = readlink ("/proc/self/exe", buf, sizeof (buf) - 1)) != -1)
+ ssize_t len, psize = 256;
+ while (1)
{
- buf[len] = '\0';
- exe_path = strdup (buf);
- please_free_exe_path_when_done = 1;
- return;
+ path = xmalloc (psize);
+ len = readlink ("/proc/self/exe", path, psize);
+ if (len < 0)
+ {
+ free (path);
+ break;
+ }
+ else if (len < psize)
+ {
+ path[len] = '\0';
+ exe_path = strdup (path);
+ free (path);
+ please_free_exe_path_when_done = true;
+ return;
+ }
+ /* The remaining option is len == psize. */
+ free (path);
+ psize *= 4;
}
#endif
@@ -117,12 +127,29 @@ store_exe_path (const char * argv0)
#endif
{
exe_path = argv0;
- please_free_exe_path_when_done = 0;
+ please_free_exe_path_when_done = false;
return;
}
#ifdef HAVE_GETCWD
- cwd = getcwd (buf, sizeof (buf));
+ size_t cwdsize = 256;
+ while (1)
+ {
+ cwd = xmalloc (cwdsize);
+ if (getcwd (cwd, cwdsize))
+ break;
+ else if (errno == ERANGE)
+ {
+ free (cwd);
+ cwdsize *= 4;
+ }
+ else
+ {
+ free (cwd);
+ cwd = NULL;
+ break;
+ }
+ }
#else
cwd = NULL;
#endif
@@ -130,7 +157,7 @@ store_exe_path (const char * argv0)
if (!cwd)
{
exe_path = argv0;
- please_free_exe_path_when_done = 0;
+ please_free_exe_path_when_done = false;
return;
}
@@ -138,10 +165,11 @@ store_exe_path (const char * argv0)
if the executable is not in the cwd, but at this point we're out
of better ideas. */
size_t pathlen = strlen (cwd) + 1 + strlen (argv0) + 1;
- path = malloc (pathlen);
+ path = xmalloc (pathlen);
snprintf (path, pathlen, "%s%c%s", cwd, DIR_SEPARATOR, argv0);
+ free (cwd);
exe_path = path;
- please_free_exe_path_when_done = 1;
+ please_free_exe_path_when_done = true;
}
diff --git a/libgfortran/runtime/memory.c b/libgfortran/runtime/memory.c
index d3b77de4b8..94a9c2af50 100644
--- a/libgfortran/runtime/memory.c
+++ b/libgfortran/runtime/memory.c
@@ -1,5 +1,5 @@
/* Memory management routines.
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -87,3 +87,17 @@ xcalloc (size_t nmemb, size_t size)
return p;
}
+
+
+void *
+xrealloc (void *ptr, size_t size)
+{
+ if (size == 0)
+ size = 1;
+
+ void *newp = realloc (ptr, size);
+ if (!newp)
+ os_error ("Memory allocation failure in xrealloc");
+
+ return newp;
+}
diff --git a/libgfortran/runtime/minimal.c b/libgfortran/runtime/minimal.c
new file mode 100644
index 0000000000..72a134a48d
--- /dev/null
+++ b/libgfortran/runtime/minimal.c
@@ -0,0 +1,210 @@
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Contributed by Andy Vaught and Paul Brook <paul@nowt.org>
+
+This file is part of the GNU Fortran runtime library (libgfortran).
+
+Libgfortran is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3, or (at your option)
+any later version.
+
+Libgfortran is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+Under Section 7 of GPL version 3, you are granted additional
+permissions described in the GCC Runtime Library Exception, version
+3.1, as published by the Free Software Foundation.
+
+You should have received a copy of the GNU General Public License and
+a copy of the GCC Runtime Library Exception along with this program;
+see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+<http://www.gnu.org/licenses/>. */
+
+#include "libgfortran.h"
+#include <stdlib.h>
+#include <string.h>
+#include <limits.h>
+#include <errno.h>
+
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+/* Stupid function to be sure the constructor is always linked in, even
+ in the case of static linking. See PR libfortran/22298 for details. */
+void
+stupid_function_name_for_static_linking (void)
+{
+ return;
+}
+
+options_t options;
+
+/* This will be 0 for little-endian
+ machines and 1 for big-endian machines.
+
+ Currently minimal libgfortran only runs on little-endian devices
+ which don't support constructors so this is just a constant. */
+int big_endian = 0;
+
+static int argc_save;
+static char **argv_save;
+
+static const char *exe_path;
+
+/* recursion_check()-- It's possible for additional errors to occur
+ * during fatal error processing. We detect this condition here and
+ * exit with code 4 immediately. */
+
+#define MAGIC 0x20DE8101
+
+static void
+recursion_check (void)
+{
+ static int magic = 0;
+
+ /* Don't even try to print something at this point */
+ if (magic == MAGIC)
+ sys_abort ();
+
+ magic = MAGIC;
+}
+
+
+/* os_error()-- Operating system error. We get a message from the
+ * operating system, show it and leave. Some operating system errors
+ * are caught and processed by the library. If not, we come here. */
+
+void
+os_error (const char *message)
+{
+ recursion_check ();
+ printf ("Operating system error: ");
+ printf ("%s\n", message);
+ exit (1);
+}
+iexport(os_error);
+
+
+/* void runtime_error()-- These are errors associated with an
+ * invalid fortran program. */
+
+void
+runtime_error (const char *message, ...)
+{
+ va_list ap;
+
+ recursion_check ();
+ printf ("Fortran runtime error: ");
+ va_start (ap, message);
+ vprintf (message, ap);
+ va_end (ap);
+ printf ("\n");
+ exit (2);
+}
+iexport(runtime_error);
+
+/* void runtime_error_at()-- These are errors associated with a
+ * run time error generated by the front end compiler. */
+
+void
+runtime_error_at (const char *where, const char *message, ...)
+{
+ va_list ap;
+
+ recursion_check ();
+ printf ("%s", where);
+ printf ("\nFortran runtime error: ");
+ va_start (ap, message);
+ vprintf (message, ap);
+ va_end (ap);
+ printf ("\n");
+ exit (2);
+}
+iexport(runtime_error_at);
+
+
+void
+runtime_warning_at (const char *where, const char *message, ...)
+{
+ va_list ap;
+
+ printf ("%s", where);
+ printf ("\nFortran runtime warning: ");
+ va_start (ap, message);
+ vprintf (message, ap);
+ va_end (ap);
+ printf ("\n");
+}
+iexport(runtime_warning_at);
+
+
+/* void internal_error()-- These are this-can't-happen errors
+ * that indicate something deeply wrong. */
+
+void
+internal_error (st_parameter_common *cmp, const char *message)
+{
+ recursion_check ();
+ printf ("Internal Error: ");
+ printf ("%s", message);
+ printf ("\n");
+
+ /* This function call is here to get the main.o object file included
+ when linking statically. This works because error.o is supposed to
+ be always linked in (and the function call is in internal_error
+ because hopefully it doesn't happen too often). */
+ stupid_function_name_for_static_linking();
+
+ exit (3);
+}
+
+
+/* Return the full path of the executable. */
+char *
+full_exe_path (void)
+{
+ return (char *) exe_path;
+}
+
+
+/* Set the saved values of the command line arguments. */
+
+void
+set_args (int argc, char **argv)
+{
+ argc_save = argc;
+ argv_save = argv;
+ exe_path = argv[0];
+}
+iexport(set_args);
+
+
+/* Retrieve the saved values of the command line arguments. */
+
+void
+get_args (int *argc, char ***argv)
+{
+ *argc = argc_save;
+ *argv = argv_save;
+}
+
+/* sys_abort()-- Terminate the program showing backtrace and dumping
+ core. */
+
+void
+sys_abort (void)
+{
+ /* If backtracing is enabled, print backtrace and disable signal
+ handler for ABRT. */
+ if (options.backtrace == 1
+ || (options.backtrace == -1 && compile_options.backtrace == 1))
+ {
+ printf ("\nProgram aborted.\n");
+ }
+
+ abort();
+}
diff --git a/libgfortran/runtime/pause.c b/libgfortran/runtime/pause.c
index ffc6192210..89473aeb57 100644
--- a/libgfortran/runtime/pause.c
+++ b/libgfortran/runtime/pause.c
@@ -1,5 +1,5 @@
/* Implementation of the PAUSE statement.
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/select.c b/libgfortran/runtime/select.c
index eeb418ae79..0d68393d08 100644
--- a/libgfortran/runtime/select.c
+++ b/libgfortran/runtime/select.c
@@ -1,5 +1,5 @@
/* Implement the SELECT statement for character variables.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/select_inc.c b/libgfortran/runtime/select_inc.c
index 6ce80b05e3..76966ec742 100644
--- a/libgfortran/runtime/select_inc.c
+++ b/libgfortran/runtime/select_inc.c
@@ -1,5 +1,5 @@
/* Implement the SELECT statement for character variables.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
This file is part of the GNU Fortran runtime library (libgfortran).
diff --git a/libgfortran/runtime/stop.c b/libgfortran/runtime/stop.c
index 7832ef883d..5c5483bd53 100644
--- a/libgfortran/runtime/stop.c
+++ b/libgfortran/runtime/stop.c
@@ -1,5 +1,5 @@
/* Implementation of the STOP statement.
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of the GNU Fortran runtime library (libgfortran).
@@ -83,8 +83,7 @@ report_exception (void)
/* A numeric STOP statement. */
-extern void stop_numeric (GFC_INTEGER_4)
- __attribute__ ((noreturn));
+extern _Noreturn void stop_numeric (GFC_INTEGER_4);
export_proto(stop_numeric);
void
@@ -102,8 +101,7 @@ stop_numeric (GFC_INTEGER_4 code)
/* A Fortran 2008 numeric STOP statement. */
-extern void stop_numeric_f08 (GFC_INTEGER_4)
- __attribute__ ((noreturn));
+extern _Noreturn void stop_numeric_f08 (GFC_INTEGER_4);
export_proto(stop_numeric_f08);
void
@@ -136,8 +134,7 @@ stop_string (const char *string, GFC_INTEGER_4 len)
initiates error termination of execution." Thus, error_stop_string returns
a nonzero exit status code. */
-extern void error_stop_string (const char *, GFC_INTEGER_4)
- __attribute__ ((noreturn));
+extern _Noreturn void error_stop_string (const char *, GFC_INTEGER_4);
export_proto(error_stop_string);
void
@@ -154,8 +151,7 @@ error_stop_string (const char *string, GFC_INTEGER_4 len)
/* A numeric ERROR STOP statement. */
-extern void error_stop_numeric (GFC_INTEGER_4)
- __attribute__ ((noreturn));
+extern _Noreturn void error_stop_numeric (GFC_INTEGER_4);
export_proto(error_stop_numeric);
void
diff --git a/libgfortran/runtime/string.c b/libgfortran/runtime/string.c
index a7f68bf5aa..3c339da22a 100644
--- a/libgfortran/runtime/string.c
+++ b/libgfortran/runtime/string.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of the GNU Fortran 95 runtime library (libgfortran).
@@ -24,6 +24,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h"
#include <string.h>
+#include <stdlib.h>
/* Given a fortran string, return its length exclusive of the trailing
@@ -90,6 +91,63 @@ cf_strcpy (char *dest, gfc_charlen_type dest_len, const char *src)
}
+#ifndef HAVE_STRNLEN
+static size_t
+strnlen (const char *s, size_t maxlen)
+{
+ for (size_t ii = 0; ii < maxlen; ii++)
+ {
+ if (s[ii] == '\0')
+ return ii;
+ }
+ return maxlen;
+}
+#endif
+
+
+#ifndef HAVE_STRNDUP
+static char *
+strndup (const char *s, size_t n)
+{
+ size_t len = strnlen (s, n);
+ char *p = malloc (len + 1);
+ if (!p)
+ return NULL;
+ memcpy (p, s, len);
+ p[len] = '\0';
+ return p;
+}
+#endif
+
+
+/* Duplicate a non-null-terminated Fortran string to a malloced
+ null-terminated C string. */
+
+char *
+fc_strdup (const char *src, gfc_charlen_type src_len)
+{
+ gfc_charlen_type n = fstrlen (src, src_len);
+ char *p = strndup (src, n);
+ if (!p)
+ os_error ("Memory allocation failed in fc_strdup");
+ return p;
+}
+
+
+/* Duplicate a non-null-terminated Fortran string to a malloced
+ null-terminated C string, without getting rid of trailing
+ blanks. */
+
+char *
+fc_strdup_notrim (const char *src, gfc_charlen_type src_len)
+{
+ char *p = strndup (src, src_len);
+ if (!p)
+ os_error ("Memory allocation failed in fc_strdup");
+ return p;
+}
+
+
/* Given a fortran string and an array of st_option structures, search through
the array to find a match. If the option is not found, we generate an error
if no default is provided. */