summaryrefslogtreecommitdiffstats
path: root/libgfortran
diff options
context:
space:
mode:
authorburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>2010-08-27 19:17:45 +0000
committerburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>2010-08-27 19:17:45 +0000
commitb4ba8232424872ee601bff03530aece46a6ddeb1 (patch)
treedef889db72c25844667547e301395013df023b00 /libgfortran
parentdb5fa5d348e135f40f3872c552c52d394138c9a7 (diff)
downloadppe42-gcc-b4ba8232424872ee601bff03530aece46a6ddeb1.tar.gz
ppe42-gcc-b4ba8232424872ee601bff03530aece46a6ddeb1.zip
gcc/fortran/
2010-08-27 Tobias Burnus <burnus@net-b.de> PR fortran/33197 * gcc/fortran/intrinsic.c (add_functions): Add norm2 and parity. * gcc/fortran/intrinsic.h (gfc_check_norm2, gfc_check_parity): gfc_simplify_norm2, gfc_simplify_parity, gfc_resolve_norm2, gfc_resolve_parity): New prototypes. * gcc/fortran/gfortran.h (gfc_isym_id): New enum items GFC_ISYM_NORM2 and GFC_ISYM_PARITY. * gcc/fortran/iresolve.c (gfc_resolve_norm2, gfc_resolve_parity): New functions. * gcc/fortran/check.c (gfc_check_norm2, gfc_check_parity): New functions. * gcc/fortran/trans-intrinsic.c (gfc_conv_intrinsic_arith, gfc_conv_intrinsic_function): Handle NORM2 and PARITY. * gcc/fortran/intrinsic.texi (NORM2, PARITY): Add. * gcc/fortran/simplify.c (simplify_transformation_to_array): Add post-processing opterator. (gfc_simplify_all, gfc_simplify_any, gfc_simplify_count, gfc_simplify_product, gfc_simplify_sum): Update call. (add_squared, do_sqrt, gfc_simplify_norm2, do_xor, gfc_simplify_parity): New functions. gcc/testsuite/ 2010-08-27 Tobias Burnus <burnus@net-b.de> PR fortran/33197 * gcc/testsuite/gfortran.dg/norm2_1.f90: New. * gcc/testsuite/gfortran.dg/norm2_2.f90: New. * gcc/testsuite/gfortran.dg/norm2_3.f90: New. * gcc/testsuite/gfortran.dg/norm2_4.f90: New. * gcc/testsuite/gfortran.dg/parity_1.f90: New. * gcc/testsuite/gfortran.dg/parity_2.f90: New. * gcc/testsuite/gfortran.dg/parity_3.f90: New. libgfortran/ 2010-08-27 Tobias Burnus <burnus@net-b.de> PR fortran/33197 * libgfortran/m4/ifunction.m4 (FINISH_ARRAY_FUNCTION, ARRAY_FUNCTION): Allow expression after loop. * libgfortran/m4/norm2.m4: New for _gfortran_norm2_r{4,8,10,16}. * libgfortran/m4/parity.m4: New for * _gfortran_parity_l{1,2,4,8,16}. * libgfortran/gfortran.map: Add new functions. * libgfortran/Makefile.am: Ditto. * libgfortran/m4/minloc1.m4: Add empty argument for * ARRAY_FUNCTION. * libgfortran/m4/maxloc1.m4: Ditto. * libgfortran/m4/all.m4: Ditto. * libgfortran/m4/minval.m4: Ditto. * libgfortran/m4/maxval.m4: Ditto. * libgfortran/m4/count.m4: Ditto. * libgfortran/m4/product.m4: Ditto. * libgfortran/m4/any.m4: Ditto. * Makefile.in: Regenerated. * generated/minval_r8.c: Regenerated. * generated/maxloc1_4_r8.c: Regenerated. * generated/minloc1_16_r16.c: Regenerated. * generated/norm2_r4.c: Regenerated. * generated/sum_i8.c: Regenerated. * generated/parity_l2.c: Regenerated. * generated/any_l16.c: Regenerated. * generated/maxval_i2.c: Regenerated. * generated/any_l2.c: Regenerated. * generated/product_r4.c: Regenerated. * generated/maxloc1_8_i4.c: Regenerated. * generated/parity_l16.c: Regenerated. * generated/all_l1.c: Regenerated. * generated/product_i2.c: Regenerated. * generated/minloc1_8_r16.c: Regenerated. * generated/maxloc1_8_r16.c: Regenerated. * generated/sum_r16.c: Regenerated. * generated/sum_i1.c: Regenerated. * generated/minloc1_4_r8.c: Regenerated. * generated/maxloc1_16_r16.c: Regenerated. * generated/minloc1_16_i4.c: Regenerated. * generated/maxloc1_16_i4.c: Regenerated. * generated/maxval_r16.c: Regenerated. * generated/product_c10.c: Regenerated. * generated/minloc1_8_i4.c: Regenerated. * generated/all_l2.c: Regenerated. * generated/product_c4.c: Regenerated. * generated/sum_r4.c: Regenerated. * generated/all_l16.c: Regenerated. * generated/minloc1_16_r10.c: Regenerated. * generated/sum_i2.c: Regenerated. * generated/maxloc1_8_r8.c: Regenerated. * generated/minval_i16.c: Regenerated. * generated/parity_l4.c: Regenerated. * generated/maxval_i4.c: Regenerated. * generated/any_l4.c: Regenerated. * generated/minval_i8.c: Regenerated. * generated/maxloc1_4_i8.c: Regenerated. * generated/minloc1_4_i16.c: Regenerated. * generated/maxloc1_4_i16.c: Regenerated. * generated/minloc1_8_r10.c: Regenerated. * generated/product_i4.c: Regenerated. * generated/maxloc1_8_r10.c: Regenerated. * generated/sum_c16.c: Regenerated. * generated/minloc1_16_r8.c: Regenerated. * generated/maxloc1_16_r8.c: Regenerated. * generated/count_4_l.c: Regenerated. * generated/sum_r10.c: Regenerated. * generated/count_8_l.c: Regenerated. * generated/sum_c4.c: Regenerated. * generated/maxloc1_16_r10.c: Regenerated. * generated/minloc1_8_r8.c: Regenerated. * generated/maxval_r10.c: Regenerated. * generated/minval_i1.c: Regenerated. * generated/maxloc1_4_i1.c: Regenerated. * generated/minloc1_4_i8.c: Regenerated. * generated/product_i16.c: Regenerated. * generated/all_l4.c: Regenerated. * generated/norm2_r16.c: Regenerated. * generated/minval_r4.c: Regenerated. * generated/maxloc1_4_r4.c: Regenerated. * generated/sum_i4.c: Regenerated. * generated/maxval_r8.c: Regenerated. * generated/norm2_r8.c: Regenerated. * generated/minloc1_4_i1.c: Regenerated. * generated/minval_r16.c: Regenerated. * generated/minval_i2.c: Regenerated. * generated/maxloc1_4_i2.c: Regenerated. * generated/product_r8.c: Regenerated. * generated/maxloc1_8_i8.c: Regenerated. * generated/sum_c10.c: Regenerated. * generated/minloc1_4_r16.c: Regenerated. * generated/maxloc1_4_r16.c: Regenerated. * generated/count_1_l.c: Regenerated. * generated/minloc1_4_r4.c: Regenerated. * generated/minloc1_16_i8.c: Regenerated. * generated/maxloc1_16_i8.c: Regenerated. * generated/minloc1_4_i2.c: Regenerated. * generated/maxloc1_8_i1.c: Regenerated. * generated/minloc1_8_i8.c: Regenerated. * generated/product_r16.c: Regenerated. * generated/product_c8.c: Regenerated. * generated/sum_r8.c: Regenerated. * generated/norm2_r10.c: Regenerated. * generated/minloc1_16_i16.c: Regenerated. * generated/maxloc1_8_r4.c: Regenerated. * generated/minloc1_16_i1.c: Regenerated. * generated/maxloc1_16_i1.c: Regenerated. * generated/minval_r10.c: Regenerated. * generated/count_16_l.c: Regenerated. * generated/parity_l8.c: Regenerated. * generated/minloc1_8_i1.c: Regenerated. * generated/minval_i4.c: Regenerated. * generated/maxloc1_4_i4.c: Regenerated. * generated/maxloc1_8_i2.c: Regenerated. * generated/maxval_i8.c: Regenerated. * generated/any_l8.c: Regenerated. * generated/minloc1_4_r10.c: Regenerated. * generated/minloc1_8_i16.c: Regenerated. * generated/maxloc1_4_r10.c: Regenerated. * generated/maxloc1_8_i16.c: Regenerated. * generated/minloc1_16_r4.c: Regenerated. * generated/maxloc1_16_r4.c: Regenerated. * generated/product_i8.c: Regenerated. * generated/sum_i16.c: Regenerated. * generated/count_2_l.c: Regenerated. * generated/maxloc1_16_i16.c: Regenerated. * generated/minloc1_8_r4.c: Regenerated. * generated/sum_c8.c: Regenerated. * generated/minloc1_16_i2.c: Regenerated. * generated/maxloc1_16_i2.c: Regenerated. * generated/parity_l1.c: Regenerated. * generated/maxval_i16.c: Regenerated. * generated/maxval_i1.c: Regenerated. * generated/minloc1_4_i4.c: Regenerated. * generated/any_l1.c: Regenerated. * generated/minloc1_8_i2.c: Regenerated. * generated/product_c16.c: Regenerated. * generated/product_r10.c: Regenerated. * generated/product_i1.c: Regenerated. * generated/all_l8.c: Regenerated. * generated/maxval_r4.c: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163595 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran')
-rw-r--r--libgfortran/ChangeLog141
-rw-r--r--libgfortran/Makefile.am23
-rw-r--r--libgfortran/Makefile.in165
-rw-r--r--libgfortran/generated/all_l1.c4
-rw-r--r--libgfortran/generated/all_l16.c4
-rw-r--r--libgfortran/generated/all_l2.c4
-rw-r--r--libgfortran/generated/all_l4.c4
-rw-r--r--libgfortran/generated/all_l8.c4
-rw-r--r--libgfortran/generated/any_l1.c4
-rw-r--r--libgfortran/generated/any_l16.c4
-rw-r--r--libgfortran/generated/any_l2.c4
-rw-r--r--libgfortran/generated/any_l4.c4
-rw-r--r--libgfortran/generated/any_l8.c4
-rw-r--r--libgfortran/generated/count_16_l.c4
-rw-r--r--libgfortran/generated/count_1_l.c4
-rw-r--r--libgfortran/generated/count_2_l.c4
-rw-r--r--libgfortran/generated/count_4_l.c4
-rw-r--r--libgfortran/generated/count_8_l.c4
-rw-r--r--libgfortran/generated/maxloc1_16_i1.c5
-rw-r--r--libgfortran/generated/maxloc1_16_i16.c5
-rw-r--r--libgfortran/generated/maxloc1_16_i2.c5
-rw-r--r--libgfortran/generated/maxloc1_16_i4.c5
-rw-r--r--libgfortran/generated/maxloc1_16_i8.c5
-rw-r--r--libgfortran/generated/maxloc1_16_r10.c5
-rw-r--r--libgfortran/generated/maxloc1_16_r16.c5
-rw-r--r--libgfortran/generated/maxloc1_16_r4.c5
-rw-r--r--libgfortran/generated/maxloc1_16_r8.c5
-rw-r--r--libgfortran/generated/maxloc1_4_i1.c5
-rw-r--r--libgfortran/generated/maxloc1_4_i16.c5
-rw-r--r--libgfortran/generated/maxloc1_4_i2.c5
-rw-r--r--libgfortran/generated/maxloc1_4_i4.c5
-rw-r--r--libgfortran/generated/maxloc1_4_i8.c5
-rw-r--r--libgfortran/generated/maxloc1_4_r10.c5
-rw-r--r--libgfortran/generated/maxloc1_4_r16.c5
-rw-r--r--libgfortran/generated/maxloc1_4_r4.c5
-rw-r--r--libgfortran/generated/maxloc1_4_r8.c5
-rw-r--r--libgfortran/generated/maxloc1_8_i1.c5
-rw-r--r--libgfortran/generated/maxloc1_8_i16.c5
-rw-r--r--libgfortran/generated/maxloc1_8_i2.c5
-rw-r--r--libgfortran/generated/maxloc1_8_i4.c5
-rw-r--r--libgfortran/generated/maxloc1_8_i8.c5
-rw-r--r--libgfortran/generated/maxloc1_8_r10.c5
-rw-r--r--libgfortran/generated/maxloc1_8_r16.c5
-rw-r--r--libgfortran/generated/maxloc1_8_r4.c5
-rw-r--r--libgfortran/generated/maxloc1_8_r8.c5
-rw-r--r--libgfortran/generated/maxval_i1.c5
-rw-r--r--libgfortran/generated/maxval_i16.c5
-rw-r--r--libgfortran/generated/maxval_i2.c5
-rw-r--r--libgfortran/generated/maxval_i4.c5
-rw-r--r--libgfortran/generated/maxval_i8.c5
-rw-r--r--libgfortran/generated/maxval_r10.c5
-rw-r--r--libgfortran/generated/maxval_r16.c5
-rw-r--r--libgfortran/generated/maxval_r4.c5
-rw-r--r--libgfortran/generated/maxval_r8.c5
-rw-r--r--libgfortran/generated/minloc1_16_i1.c5
-rw-r--r--libgfortran/generated/minloc1_16_i16.c5
-rw-r--r--libgfortran/generated/minloc1_16_i2.c5
-rw-r--r--libgfortran/generated/minloc1_16_i4.c5
-rw-r--r--libgfortran/generated/minloc1_16_i8.c5
-rw-r--r--libgfortran/generated/minloc1_16_r10.c5
-rw-r--r--libgfortran/generated/minloc1_16_r16.c5
-rw-r--r--libgfortran/generated/minloc1_16_r4.c5
-rw-r--r--libgfortran/generated/minloc1_16_r8.c5
-rw-r--r--libgfortran/generated/minloc1_4_i1.c5
-rw-r--r--libgfortran/generated/minloc1_4_i16.c5
-rw-r--r--libgfortran/generated/minloc1_4_i2.c5
-rw-r--r--libgfortran/generated/minloc1_4_i4.c5
-rw-r--r--libgfortran/generated/minloc1_4_i8.c5
-rw-r--r--libgfortran/generated/minloc1_4_r10.c5
-rw-r--r--libgfortran/generated/minloc1_4_r16.c5
-rw-r--r--libgfortran/generated/minloc1_4_r4.c5
-rw-r--r--libgfortran/generated/minloc1_4_r8.c5
-rw-r--r--libgfortran/generated/minloc1_8_i1.c5
-rw-r--r--libgfortran/generated/minloc1_8_i16.c5
-rw-r--r--libgfortran/generated/minloc1_8_i2.c5
-rw-r--r--libgfortran/generated/minloc1_8_i4.c5
-rw-r--r--libgfortran/generated/minloc1_8_i8.c5
-rw-r--r--libgfortran/generated/minloc1_8_r10.c5
-rw-r--r--libgfortran/generated/minloc1_8_r16.c5
-rw-r--r--libgfortran/generated/minloc1_8_r4.c5
-rw-r--r--libgfortran/generated/minloc1_8_r8.c5
-rw-r--r--libgfortran/generated/minval_i1.c5
-rw-r--r--libgfortran/generated/minval_i16.c5
-rw-r--r--libgfortran/generated/minval_i2.c5
-rw-r--r--libgfortran/generated/minval_i4.c5
-rw-r--r--libgfortran/generated/minval_i8.c5
-rw-r--r--libgfortran/generated/minval_r10.c5
-rw-r--r--libgfortran/generated/minval_r16.c5
-rw-r--r--libgfortran/generated/minval_r4.c5
-rw-r--r--libgfortran/generated/minval_r8.c5
-rw-r--r--libgfortran/generated/norm2_r10.c208
-rw-r--r--libgfortran/generated/norm2_r16.c208
-rw-r--r--libgfortran/generated/norm2_r4.c208
-rw-r--r--libgfortran/generated/norm2_r8.c208
-rw-r--r--libgfortran/generated/parity_l1.c191
-rw-r--r--libgfortran/generated/parity_l16.c191
-rw-r--r--libgfortran/generated/parity_l2.c191
-rw-r--r--libgfortran/generated/parity_l4.c191
-rw-r--r--libgfortran/generated/parity_l8.c191
-rw-r--r--libgfortran/generated/product_c10.c5
-rw-r--r--libgfortran/generated/product_c16.c5
-rw-r--r--libgfortran/generated/product_c4.c5
-rw-r--r--libgfortran/generated/product_c8.c5
-rw-r--r--libgfortran/generated/product_i1.c5
-rw-r--r--libgfortran/generated/product_i16.c5
-rw-r--r--libgfortran/generated/product_i2.c5
-rw-r--r--libgfortran/generated/product_i4.c5
-rw-r--r--libgfortran/generated/product_i8.c5
-rw-r--r--libgfortran/generated/product_r10.c5
-rw-r--r--libgfortran/generated/product_r16.c5
-rw-r--r--libgfortran/generated/product_r4.c5
-rw-r--r--libgfortran/generated/product_r8.c5
-rw-r--r--libgfortran/generated/sum_c10.c1
-rw-r--r--libgfortran/generated/sum_c16.c1
-rw-r--r--libgfortran/generated/sum_c4.c1
-rw-r--r--libgfortran/generated/sum_c8.c1
-rw-r--r--libgfortran/generated/sum_i1.c1
-rw-r--r--libgfortran/generated/sum_i16.c1
-rw-r--r--libgfortran/generated/sum_i2.c1
-rw-r--r--libgfortran/generated/sum_i4.c1
-rw-r--r--libgfortran/generated/sum_i8.c1
-rw-r--r--libgfortran/generated/sum_r10.c1
-rw-r--r--libgfortran/generated/sum_r16.c1
-rw-r--r--libgfortran/generated/sum_r4.c1
-rw-r--r--libgfortran/generated/sum_r8.c1
-rw-r--r--libgfortran/gfortran.map9
-rw-r--r--libgfortran/m4/all.m46
-rw-r--r--libgfortran/m4/any.m46
-rw-r--r--libgfortran/m4/count.m46
-rw-r--r--libgfortran/m4/ifunction.m45
-rw-r--r--libgfortran/m4/maxloc1.m46
-rw-r--r--libgfortran/m4/maxval.m46
-rw-r--r--libgfortran/m4/minloc1.m46
-rw-r--r--libgfortran/m4/minval.m46
-rw-r--r--libgfortran/m4/norm2.m459
-rw-r--r--libgfortran/m4/parity.m440
-rw-r--r--libgfortran/m4/product.m46
137 files changed, 2512 insertions, 263 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 0e5da98f17d..121d471c3dc 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,144 @@
+2010-08-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/33197
+ * libgfortran/m4/ifunction.m4 (FINISH_ARRAY_FUNCTION,
+ ARRAY_FUNCTION): Allow expression after loop.
+ * libgfortran/m4/norm2.m4: New for _gfortran_norm2_r{4,8,10,16}.
+ * libgfortran/m4/parity.m4: New for _gfortran_parity_l{1,2,4,8,16}.
+ * libgfortran/gfortran.map: Add new functions.
+ * libgfortran/Makefile.am: Ditto.
+ * libgfortran/m4/minloc1.m4: Add empty argument for ARRAY_FUNCTION.
+ * libgfortran/m4/maxloc1.m4: Ditto.
+ * libgfortran/m4/all.m4: Ditto.
+ * libgfortran/m4/minval.m4: Ditto.
+ * libgfortran/m4/maxval.m4: Ditto.
+ * libgfortran/m4/count.m4: Ditto.
+ * libgfortran/m4/product.m4: Ditto.
+ * libgfortran/m4/any.m4: Ditto.
+ * Makefile.in: Regenerated.
+ * generated/minval_r8.c: Regenerated.
+ * generated/maxloc1_4_r8.c: Regenerated.
+ * generated/minloc1_16_r16.c: Regenerated.
+ * generated/norm2_r4.c: Regenerated.
+ * generated/sum_i8.c: Regenerated.
+ * generated/parity_l2.c: Regenerated.
+ * generated/any_l16.c: Regenerated.
+ * generated/maxval_i2.c: Regenerated.
+ * generated/any_l2.c: Regenerated.
+ * generated/product_r4.c: Regenerated.
+ * generated/maxloc1_8_i4.c: Regenerated.
+ * generated/parity_l16.c: Regenerated.
+ * generated/all_l1.c: Regenerated.
+ * generated/product_i2.c: Regenerated.
+ * generated/minloc1_8_r16.c: Regenerated.
+ * generated/maxloc1_8_r16.c: Regenerated.
+ * generated/sum_r16.c: Regenerated.
+ * generated/sum_i1.c: Regenerated.
+ * generated/minloc1_4_r8.c: Regenerated.
+ * generated/maxloc1_16_r16.c: Regenerated.
+ * generated/minloc1_16_i4.c: Regenerated.
+ * generated/maxloc1_16_i4.c: Regenerated.
+ * generated/maxval_r16.c: Regenerated.
+ * generated/product_c10.c: Regenerated.
+ * generated/minloc1_8_i4.c: Regenerated.
+ * generated/all_l2.c: Regenerated.
+ * generated/product_c4.c: Regenerated.
+ * generated/sum_r4.c: Regenerated.
+ * generated/all_l16.c: Regenerated.
+ * generated/minloc1_16_r10.c: Regenerated.
+ * generated/sum_i2.c: Regenerated.
+ * generated/maxloc1_8_r8.c: Regenerated.
+ * generated/minval_i16.c: Regenerated.
+ * generated/parity_l4.c: Regenerated.
+ * generated/maxval_i4.c: Regenerated.
+ * generated/any_l4.c: Regenerated.
+ * generated/minval_i8.c: Regenerated.
+ * generated/maxloc1_4_i8.c: Regenerated.
+ * generated/minloc1_4_i16.c: Regenerated.
+ * generated/maxloc1_4_i16.c: Regenerated.
+ * generated/minloc1_8_r10.c: Regenerated.
+ * generated/product_i4.c: Regenerated.
+ * generated/maxloc1_8_r10.c: Regenerated.
+ * generated/sum_c16.c: Regenerated.
+ * generated/minloc1_16_r8.c: Regenerated.
+ * generated/maxloc1_16_r8.c: Regenerated.
+ * generated/count_4_l.c: Regenerated.
+ * generated/sum_r10.c: Regenerated.
+ * generated/count_8_l.c: Regenerated.
+ * generated/sum_c4.c: Regenerated.
+ * generated/maxloc1_16_r10.c: Regenerated.
+ * generated/minloc1_8_r8.c: Regenerated.
+ * generated/maxval_r10.c: Regenerated.
+ * generated/minval_i1.c: Regenerated.
+ * generated/maxloc1_4_i1.c: Regenerated.
+ * generated/minloc1_4_i8.c: Regenerated.
+ * generated/product_i16.c: Regenerated.
+ * generated/all_l4.c: Regenerated.
+ * generated/norm2_r16.c: Regenerated.
+ * generated/minval_r4.c: Regenerated.
+ * generated/maxloc1_4_r4.c: Regenerated.
+ * generated/sum_i4.c: Regenerated.
+ * generated/maxval_r8.c: Regenerated.
+ * generated/norm2_r8.c: Regenerated.
+ * generated/minloc1_4_i1.c: Regenerated.
+ * generated/minval_r16.c: Regenerated.
+ * generated/minval_i2.c: Regenerated.
+ * generated/maxloc1_4_i2.c: Regenerated.
+ * generated/product_r8.c: Regenerated.
+ * generated/maxloc1_8_i8.c: Regenerated.
+ * generated/sum_c10.c: Regenerated.
+ * generated/minloc1_4_r16.c: Regenerated.
+ * generated/maxloc1_4_r16.c: Regenerated.
+ * generated/count_1_l.c: Regenerated.
+ * generated/minloc1_4_r4.c: Regenerated.
+ * generated/minloc1_16_i8.c: Regenerated.
+ * generated/maxloc1_16_i8.c: Regenerated.
+ * generated/minloc1_4_i2.c: Regenerated.
+ * generated/maxloc1_8_i1.c: Regenerated.
+ * generated/minloc1_8_i8.c: Regenerated.
+ * generated/product_r16.c: Regenerated.
+ * generated/product_c8.c: Regenerated.
+ * generated/sum_r8.c: Regenerated.
+ * generated/norm2_r10.c: Regenerated.
+ * generated/minloc1_16_i16.c: Regenerated.
+ * generated/maxloc1_8_r4.c: Regenerated.
+ * generated/minloc1_16_i1.c: Regenerated.
+ * generated/maxloc1_16_i1.c: Regenerated.
+ * generated/minval_r10.c: Regenerated.
+ * generated/count_16_l.c: Regenerated.
+ * generated/parity_l8.c: Regenerated.
+ * generated/minloc1_8_i1.c: Regenerated.
+ * generated/minval_i4.c: Regenerated.
+ * generated/maxloc1_4_i4.c: Regenerated.
+ * generated/maxloc1_8_i2.c: Regenerated.
+ * generated/maxval_i8.c: Regenerated.
+ * generated/any_l8.c: Regenerated.
+ * generated/minloc1_4_r10.c: Regenerated.
+ * generated/minloc1_8_i16.c: Regenerated.
+ * generated/maxloc1_4_r10.c: Regenerated.
+ * generated/maxloc1_8_i16.c: Regenerated.
+ * generated/minloc1_16_r4.c: Regenerated.
+ * generated/maxloc1_16_r4.c: Regenerated.
+ * generated/product_i8.c: Regenerated.
+ * generated/sum_i16.c: Regenerated.
+ * generated/count_2_l.c: Regenerated.
+ * generated/maxloc1_16_i16.c: Regenerated.
+ * generated/minloc1_8_r4.c: Regenerated.
+ * generated/sum_c8.c: Regenerated.
+ * generated/minloc1_16_i2.c: Regenerated.
+ * generated/maxloc1_16_i2.c: Regenerated.
+ * generated/parity_l1.c: Regenerated.
+ * generated/maxval_i16.c: Regenerated.
+ * generated/maxval_i1.c: Regenerated.
+ * generated/minloc1_4_i4.c: Regenerated.
+ * generated/any_l1.c: Regenerated.
+ * generated/minloc1_8_i2.c: Regenerated.
+ * generated/product_c16.c: Regenerated.
+ * generated/product_r10.c: Regenerated.
+ * generated/product_i1.c: Regenerated.
+ * generated/all_l8.c: Regenerated.
+ * generated/maxval_r4.c: Regenerated.
+
2010-08-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config/fpu-387.h (has_sse): Remove cw_sse, unused.
diff --git a/libgfortran/Makefile.am b/libgfortran/Makefile.am
index 8d470b79c40..d59c6887d7f 100644
--- a/libgfortran/Makefile.am
+++ b/libgfortran/Makefile.am
@@ -326,6 +326,19 @@ $(srcdir)/generated/minval_r8.c \
$(srcdir)/generated/minval_r10.c \
$(srcdir)/generated/minval_r16.c
+i_norm2_c= \
+$(srcdir)/generated/norm2_r4.c \
+$(srcdir)/generated/norm2_r8.c \
+$(srcdir)/generated/norm2_r10.c \
+$(srcdir)/generated/norm2_r16.c
+
+i_parity_c = \
+$(srcdir)/generated/parity_l1.c \
+$(srcdir)/generated/parity_l2.c \
+$(srcdir)/generated/parity_l4.c \
+$(srcdir)/generated/parity_l8.c \
+$(srcdir)/generated/parity_l16.c
+
i_sum_c= \
$(srcdir)/generated/sum_i1.c \
$(srcdir)/generated/sum_i2.c \
@@ -589,11 +602,11 @@ m4_files= m4/iparm.m4 m4/ifunction.m4 m4/iforeach.m4 m4/all.m4 \
m4/transpose.m4 m4/eoshift1.m4 m4/eoshift3.m4 m4/exponent.m4 \
m4/fraction.m4 m4/nearest.m4 m4/set_exponent.m4 m4/pow.m4 \
m4/misc_specifics.m4 m4/rrspacing.m4 m4/spacing.m4 m4/pack.m4 \
- m4/unpack.m4 m4/spread.m4 m4/bessel.m4
+ m4/unpack.m4 m4/spread.m4 m4/bessel.m4 m4/norm2.m4 m4/parity.m4
gfor_built_src= $(i_all_c) $(i_any_c) $(i_count_c) $(i_maxloc0_c) \
$(i_maxloc1_c) $(i_maxval_c) $(i_minloc0_c) $(i_minloc1_c) $(i_minval_c) \
- $(i_product_c) $(i_sum_c) $(i_bessel_c) \
+ $(i_product_c) $(i_sum_c) $(i_bessel_c) $(i_norm2_c) $(i_parity_c) \
$(i_matmul_c) $(i_matmull_c) $(i_transpose_c) $(i_shape_c) $(i_eoshift1_c) \
$(i_eoshift3_c) $(i_cshift1_c) $(i_reshape_c) $(in_pack_c) $(in_unpack_c) \
$(i_exponent_c) $(i_fraction_c) $(i_nearest_c) $(i_set_exponent_c) \
@@ -866,6 +879,12 @@ $(i_matmul_c): m4/matmul.m4 $(I_M4_DEPS)
$(i_matmull_c): m4/matmull.m4 $(I_M4_DEPS)
$(M4) -Dfile=$@ -I$(srcdir)/m4 matmull.m4 > $@
+$(i_norm2_c): m4/norm2.m4 $(I_M4_DEPS)
+ $(M4) -Dfile=$@ -I$(srcdir)/m4 norm2.m4 > $@
+
+$(i_parity_c): m4/parity.m4 $(I_M4_DEPS)
+ $(M4) -Dfile=$@ -I$(srcdir)/m4 parity.m4 > $@
+
$(i_transpose_c): m4/transpose.m4 $(I_M4_DEPS)
$(M4) -Dfile=$@ -I$(srcdir)/m4 transpose.m4 > $@
diff --git a/libgfortran/Makefile.in b/libgfortran/Makefile.in
index d4b5146f168..c6f92260d2c 100644
--- a/libgfortran/Makefile.in
+++ b/libgfortran/Makefile.in
@@ -144,40 +144,43 @@ am__objects_12 = 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 = matmul_i1.lo matmul_i2.lo matmul_i4.lo matmul_i8.lo \
+am__objects_14 = norm2_r4.lo norm2_r8.lo norm2_r10.lo norm2_r16.lo
+am__objects_15 = parity_l1.lo parity_l2.lo parity_l4.lo parity_l8.lo \
+ parity_l16.lo
+am__objects_16 = 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_15 = matmul_l4.lo matmul_l8.lo matmul_l16.lo
-am__objects_16 = transpose_i4.lo transpose_i8.lo transpose_i16.lo \
+am__objects_17 = matmul_l4.lo matmul_l8.lo matmul_l16.lo
+am__objects_18 = 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_17 = shape_i4.lo shape_i8.lo shape_i16.lo
-am__objects_18 = eoshift1_4.lo eoshift1_8.lo eoshift1_16.lo
-am__objects_19 = eoshift3_4.lo eoshift3_8.lo eoshift3_16.lo
-am__objects_20 = cshift1_4.lo cshift1_8.lo cshift1_16.lo
-am__objects_21 = reshape_i4.lo reshape_i8.lo reshape_i16.lo \
+am__objects_19 = shape_i4.lo shape_i8.lo shape_i16.lo
+am__objects_20 = eoshift1_4.lo eoshift1_8.lo eoshift1_16.lo
+am__objects_21 = eoshift3_4.lo eoshift3_8.lo eoshift3_16.lo
+am__objects_22 = cshift1_4.lo cshift1_8.lo cshift1_16.lo
+am__objects_23 = 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_22 = in_pack_i1.lo in_pack_i2.lo in_pack_i4.lo \
+am__objects_24 = 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_23 = in_unpack_i1.lo in_unpack_i2.lo in_unpack_i4.lo \
+am__objects_25 = 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_24 = exponent_r4.lo exponent_r8.lo exponent_r10.lo \
+am__objects_26 = exponent_r4.lo exponent_r8.lo exponent_r10.lo \
exponent_r16.lo
-am__objects_25 = fraction_r4.lo fraction_r8.lo fraction_r10.lo \
+am__objects_27 = fraction_r4.lo fraction_r8.lo fraction_r10.lo \
fraction_r16.lo
-am__objects_26 = nearest_r4.lo nearest_r8.lo nearest_r10.lo \
+am__objects_28 = nearest_r4.lo nearest_r8.lo nearest_r10.lo \
nearest_r16.lo
-am__objects_27 = set_exponent_r4.lo set_exponent_r8.lo \
+am__objects_29 = set_exponent_r4.lo set_exponent_r8.lo \
set_exponent_r10.lo set_exponent_r16.lo
-am__objects_28 = pow_i4_i4.lo pow_i8_i4.lo pow_i16_i4.lo pow_c4_i4.lo \
+am__objects_30 = pow_i4_i4.lo pow_i8_i4.lo pow_i16_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 pow_c8_i8.lo \
@@ -185,26 +188,26 @@ am__objects_28 = pow_i4_i4.lo pow_i8_i4.lo pow_i16_i4.lo pow_c4_i4.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_29 = rrspacing_r4.lo rrspacing_r8.lo rrspacing_r10.lo \
+am__objects_31 = rrspacing_r4.lo rrspacing_r8.lo rrspacing_r10.lo \
rrspacing_r16.lo
-am__objects_30 = spacing_r4.lo spacing_r8.lo spacing_r10.lo \
+am__objects_32 = spacing_r4.lo spacing_r8.lo spacing_r10.lo \
spacing_r16.lo
-am__objects_31 = pack_i1.lo pack_i2.lo pack_i4.lo pack_i8.lo \
+am__objects_33 = 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_32 = unpack_i1.lo unpack_i2.lo unpack_i4.lo unpack_i8.lo \
+am__objects_34 = 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_33 = spread_i1.lo spread_i2.lo spread_i4.lo spread_i8.lo \
+am__objects_35 = 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_34 = cshift0_i1.lo cshift0_i2.lo cshift0_i4.lo \
+am__objects_36 = 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_35 = $(am__objects_2) $(am__objects_3) $(am__objects_4) \
+am__objects_37 = $(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) \
@@ -214,11 +217,12 @@ am__objects_35 = $(am__objects_2) $(am__objects_3) $(am__objects_4) \
$(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_36 = close.lo file_pos.lo format.lo inquire.lo \
+ $(am__objects_32) $(am__objects_33) $(am__objects_34) \
+ $(am__objects_35) $(am__objects_36)
+am__objects_38 = 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 unit.lo unix.lo write.lo fbuf.lo
-am__objects_37 = associated.lo abort.lo access.lo args.lo \
+am__objects_39 = 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 exit.lo \
@@ -233,8 +237,8 @@ am__objects_37 = associated.lo abort.lo access.lo args.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_38 =
-am__objects_39 = _abs_c4.lo _abs_c8.lo _abs_c10.lo _abs_c16.lo \
+am__objects_40 =
+am__objects_41 = _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 \
@@ -258,18 +262,18 @@ am__objects_39 = _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_40 = _sign_i4.lo _sign_i8.lo _sign_i16.lo _sign_r4.lo \
+am__objects_42 = _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_41 = misc_specifics.lo
-am__objects_42 = $(am__objects_39) $(am__objects_40) $(am__objects_41) \
+am__objects_43 = misc_specifics.lo
+am__objects_44 = $(am__objects_41) $(am__objects_42) $(am__objects_43) \
dprod_r8.lo f2c_specifics.lo
-am__objects_43 = $(am__objects_1) $(am__objects_35) $(am__objects_36) \
- $(am__objects_37) $(am__objects_38) $(am__objects_42)
-@onestep_FALSE@am_libgfortran_la_OBJECTS = $(am__objects_43)
+am__objects_45 = $(am__objects_1) $(am__objects_37) $(am__objects_38) \
+ $(am__objects_39) $(am__objects_40) $(am__objects_44)
+@onestep_FALSE@am_libgfortran_la_OBJECTS = $(am__objects_45)
@onestep_TRUE@am_libgfortran_la_OBJECTS = libgfortran_c.lo
libgfortran_la_OBJECTS = $(am_libgfortran_la_OBJECTS)
libgfortranbegin_la_LIBADD =
@@ -742,6 +746,19 @@ $(srcdir)/generated/minval_r8.c \
$(srcdir)/generated/minval_r10.c \
$(srcdir)/generated/minval_r16.c
+i_norm2_c = \
+$(srcdir)/generated/norm2_r4.c \
+$(srcdir)/generated/norm2_r8.c \
+$(srcdir)/generated/norm2_r10.c \
+$(srcdir)/generated/norm2_r16.c
+
+i_parity_c = \
+$(srcdir)/generated/parity_l1.c \
+$(srcdir)/generated/parity_l2.c \
+$(srcdir)/generated/parity_l4.c \
+$(srcdir)/generated/parity_l8.c \
+$(srcdir)/generated/parity_l16.c
+
i_sum_c = \
$(srcdir)/generated/sum_i1.c \
$(srcdir)/generated/sum_i2.c \
@@ -1004,11 +1021,11 @@ m4_files = m4/iparm.m4 m4/ifunction.m4 m4/iforeach.m4 m4/all.m4 \
m4/transpose.m4 m4/eoshift1.m4 m4/eoshift3.m4 m4/exponent.m4 \
m4/fraction.m4 m4/nearest.m4 m4/set_exponent.m4 m4/pow.m4 \
m4/misc_specifics.m4 m4/rrspacing.m4 m4/spacing.m4 m4/pack.m4 \
- m4/unpack.m4 m4/spread.m4 m4/bessel.m4
+ m4/unpack.m4 m4/spread.m4 m4/bessel.m4 m4/norm2.m4 m4/parity.m4
gfor_built_src = $(i_all_c) $(i_any_c) $(i_count_c) $(i_maxloc0_c) \
$(i_maxloc1_c) $(i_maxval_c) $(i_minloc0_c) $(i_minloc1_c) $(i_minval_c) \
- $(i_product_c) $(i_sum_c) $(i_bessel_c) \
+ $(i_product_c) $(i_sum_c) $(i_bessel_c) $(i_norm2_c) $(i_parity_c) \
$(i_matmul_c) $(i_matmull_c) $(i_transpose_c) $(i_shape_c) $(i_eoshift1_c) \
$(i_eoshift3_c) $(i_cshift1_c) $(i_reshape_c) $(in_pack_c) $(in_unpack_c) \
$(i_exponent_c) $(i_fraction_c) $(i_nearest_c) $(i_set_exponent_c) \
@@ -1598,6 +1615,10 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nearest_r16.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nearest_r4.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nearest_r8.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/norm2_r10.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/norm2_r16.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/norm2_r4.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/norm2_r8.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pack_c10.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pack_c16.Plo@am__quote@
@@ -1613,6 +1634,11 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pack_r16.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pack_r4.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pack_r8.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parity_l1.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parity_l16.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parity_l2.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parity_l4.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parity_l8.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pause.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/perror.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pow_c10_i16.Plo@am__quote@
@@ -3495,6 +3521,69 @@ bessel_r16.lo: $(srcdir)/generated/bessel_r16.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 bessel_r16.lo `test -f '$(srcdir)/generated/bessel_r16.c' || echo '$(srcdir)/'`$(srcdir)/generated/bessel_r16.c
+norm2_r4.lo: $(srcdir)/generated/norm2_r4.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT norm2_r4.lo -MD -MP -MF $(DEPDIR)/norm2_r4.Tpo -c -o norm2_r4.lo `test -f '$(srcdir)/generated/norm2_r4.c' || echo '$(srcdir)/'`$(srcdir)/generated/norm2_r4.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/norm2_r4.Tpo $(DEPDIR)/norm2_r4.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/generated/norm2_r4.c' object='norm2_r4.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 norm2_r4.lo `test -f '$(srcdir)/generated/norm2_r4.c' || echo '$(srcdir)/'`$(srcdir)/generated/norm2_r4.c
+
+norm2_r8.lo: $(srcdir)/generated/norm2_r8.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT norm2_r8.lo -MD -MP -MF $(DEPDIR)/norm2_r8.Tpo -c -o norm2_r8.lo `test -f '$(srcdir)/generated/norm2_r8.c' || echo '$(srcdir)/'`$(srcdir)/generated/norm2_r8.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/norm2_r8.Tpo $(DEPDIR)/norm2_r8.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/generated/norm2_r8.c' object='norm2_r8.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 norm2_r8.lo `test -f '$(srcdir)/generated/norm2_r8.c' || echo '$(srcdir)/'`$(srcdir)/generated/norm2_r8.c
+
+norm2_r10.lo: $(srcdir)/generated/norm2_r10.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT norm2_r10.lo -MD -MP -MF $(DEPDIR)/norm2_r10.Tpo -c -o norm2_r10.lo `test -f '$(srcdir)/generated/norm2_r10.c' || echo '$(srcdir)/'`$(srcdir)/generated/norm2_r10.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/norm2_r10.Tpo $(DEPDIR)/norm2_r10.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/generated/norm2_r10.c' object='norm2_r10.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 norm2_r10.lo `test -f '$(srcdir)/generated/norm2_r10.c' || echo '$(srcdir)/'`$(srcdir)/generated/norm2_r10.c
+
+norm2_r16.lo: $(srcdir)/generated/norm2_r16.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT norm2_r16.lo -MD -MP -MF $(DEPDIR)/norm2_r16.Tpo -c -o norm2_r16.lo `test -f '$(srcdir)/generated/norm2_r16.c' || echo '$(srcdir)/'`$(srcdir)/generated/norm2_r16.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/norm2_r16.Tpo $(DEPDIR)/norm2_r16.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/generated/norm2_r16.c' object='norm2_r16.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 norm2_r16.lo `test -f '$(srcdir)/generated/norm2_r16.c' || echo '$(srcdir)/'`$(srcdir)/generated/norm2_r16.c
+
+parity_l1.lo: $(srcdir)/generated/parity_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 parity_l1.lo -MD -MP -MF $(DEPDIR)/parity_l1.Tpo -c -o parity_l1.lo `test -f '$(srcdir)/generated/parity_l1.c' || echo '$(srcdir)/'`$(srcdir)/generated/parity_l1.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/parity_l1.Tpo $(DEPDIR)/parity_l1.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/generated/parity_l1.c' object='parity_l1.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 parity_l1.lo `test -f '$(srcdir)/generated/parity_l1.c' || echo '$(srcdir)/'`$(srcdir)/generated/parity_l1.c
+
+parity_l2.lo: $(srcdir)/generated/parity_l2.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT parity_l2.lo -MD -MP -MF $(DEPDIR)/parity_l2.Tpo -c -o parity_l2.lo `test -f '$(srcdir)/generated/parity_l2.c' || echo '$(srcdir)/'`$(srcdir)/generated/parity_l2.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/parity_l2.Tpo $(DEPDIR)/parity_l2.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/generated/parity_l2.c' object='parity_l2.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 parity_l2.lo `test -f '$(srcdir)/generated/parity_l2.c' || echo '$(srcdir)/'`$(srcdir)/generated/parity_l2.c
+
+parity_l4.lo: $(srcdir)/generated/parity_l4.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT parity_l4.lo -MD -MP -MF $(DEPDIR)/parity_l4.Tpo -c -o parity_l4.lo `test -f '$(srcdir)/generated/parity_l4.c' || echo '$(srcdir)/'`$(srcdir)/generated/parity_l4.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/parity_l4.Tpo $(DEPDIR)/parity_l4.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/generated/parity_l4.c' object='parity_l4.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 parity_l4.lo `test -f '$(srcdir)/generated/parity_l4.c' || echo '$(srcdir)/'`$(srcdir)/generated/parity_l4.c
+
+parity_l8.lo: $(srcdir)/generated/parity_l8.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT parity_l8.lo -MD -MP -MF $(DEPDIR)/parity_l8.Tpo -c -o parity_l8.lo `test -f '$(srcdir)/generated/parity_l8.c' || echo '$(srcdir)/'`$(srcdir)/generated/parity_l8.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/parity_l8.Tpo $(DEPDIR)/parity_l8.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/generated/parity_l8.c' object='parity_l8.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 parity_l8.lo `test -f '$(srcdir)/generated/parity_l8.c' || echo '$(srcdir)/'`$(srcdir)/generated/parity_l8.c
+
+parity_l16.lo: $(srcdir)/generated/parity_l16.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT parity_l16.lo -MD -MP -MF $(DEPDIR)/parity_l16.Tpo -c -o parity_l16.lo `test -f '$(srcdir)/generated/parity_l16.c' || echo '$(srcdir)/'`$(srcdir)/generated/parity_l16.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/parity_l16.Tpo $(DEPDIR)/parity_l16.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/generated/parity_l16.c' object='parity_l16.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 parity_l16.lo `test -f '$(srcdir)/generated/parity_l16.c' || echo '$(srcdir)/'`$(srcdir)/generated/parity_l16.c
+
matmul_i1.lo: $(srcdir)/generated/matmul_i1.c
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT matmul_i1.lo -MD -MP -MF $(DEPDIR)/matmul_i1.Tpo -c -o matmul_i1.lo `test -f '$(srcdir)/generated/matmul_i1.c' || echo '$(srcdir)/'`$(srcdir)/generated/matmul_i1.c
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/matmul_i1.Tpo $(DEPDIR)/matmul_i1.Plo
@@ -5603,6 +5692,12 @@ fpu-target.h: $(srcdir)/$(FPU_HOST_HEADER)
@MAINTAINER_MODE_TRUE@$(i_matmull_c): m4/matmull.m4 $(I_M4_DEPS)
@MAINTAINER_MODE_TRUE@ $(M4) -Dfile=$@ -I$(srcdir)/m4 matmull.m4 > $@
+@MAINTAINER_MODE_TRUE@$(i_norm2_c): m4/norm2.m4 $(I_M4_DEPS)
+@MAINTAINER_MODE_TRUE@ $(M4) -Dfile=$@ -I$(srcdir)/m4 norm2.m4 > $@
+
+@MAINTAINER_MODE_TRUE@$(i_parity_c): m4/parity.m4 $(I_M4_DEPS)
+@MAINTAINER_MODE_TRUE@ $(M4) -Dfile=$@ -I$(srcdir)/m4 parity.m4 > $@
+
@MAINTAINER_MODE_TRUE@$(i_transpose_c): m4/transpose.m4 $(I_M4_DEPS)
@MAINTAINER_MODE_TRUE@ $(M4) -Dfile=$@ -I$(srcdir)/m4 transpose.m4 > $@
diff --git a/libgfortran/generated/all_l1.c b/libgfortran/generated/all_l1.c
index 486bab2e436..400cfd90115 100644
--- a/libgfortran/generated/all_l1.c
+++ b/libgfortran/generated/all_l1.c
@@ -1,8 +1,8 @@
/* Implementation of the ALL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
diff --git a/libgfortran/generated/all_l16.c b/libgfortran/generated/all_l16.c
index 35f8a9621b4..abe10d7b388 100644
--- a/libgfortran/generated/all_l16.c
+++ b/libgfortran/generated/all_l16.c
@@ -1,8 +1,8 @@
/* Implementation of the ALL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
diff --git a/libgfortran/generated/all_l2.c b/libgfortran/generated/all_l2.c
index 81532ea431b..2cbd1266b74 100644
--- a/libgfortran/generated/all_l2.c
+++ b/libgfortran/generated/all_l2.c
@@ -1,8 +1,8 @@
/* Implementation of the ALL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
diff --git a/libgfortran/generated/all_l4.c b/libgfortran/generated/all_l4.c
index 6657e15cd89..14b63034949 100644
--- a/libgfortran/generated/all_l4.c
+++ b/libgfortran/generated/all_l4.c
@@ -1,8 +1,8 @@
/* Implementation of the ALL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
diff --git a/libgfortran/generated/all_l8.c b/libgfortran/generated/all_l8.c
index 4c3d5563f83..ae5e6faf3c3 100644
--- a/libgfortran/generated/all_l8.c
+++ b/libgfortran/generated/all_l8.c
@@ -1,8 +1,8 @@
/* Implementation of the ALL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
diff --git a/libgfortran/generated/any_l1.c b/libgfortran/generated/any_l1.c
index a69f22e6f82..f8af5447a40 100644
--- a/libgfortran/generated/any_l1.c
+++ b/libgfortran/generated/any_l1.c
@@ -1,8 +1,8 @@
/* Implementation of the ANY intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
diff --git a/libgfortran/generated/any_l16.c b/libgfortran/generated/any_l16.c
index b5ab5b214ac..f92d7152b12 100644
--- a/libgfortran/generated/any_l16.c
+++ b/libgfortran/generated/any_l16.c
@@ -1,8 +1,8 @@
/* Implementation of the ANY intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
diff --git a/libgfortran/generated/any_l2.c b/libgfortran/generated/any_l2.c
index 05673e8daba..9c5e90a03b8 100644
--- a/libgfortran/generated/any_l2.c
+++ b/libgfortran/generated/any_l2.c
@@ -1,8 +1,8 @@
/* Implementation of the ANY intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
diff --git a/libgfortran/generated/any_l4.c b/libgfortran/generated/any_l4.c
index 8f82741701f..44d5ed97e6b 100644
--- a/libgfortran/generated/any_l4.c
+++ b/libgfortran/generated/any_l4.c
@@ -1,8 +1,8 @@
/* Implementation of the ANY intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
diff --git a/libgfortran/generated/any_l8.c b/libgfortran/generated/any_l8.c
index 2a094f0a5fe..eabf8300dcb 100644
--- a/libgfortran/generated/any_l8.c
+++ b/libgfortran/generated/any_l8.c
@@ -1,8 +1,8 @@
/* Implementation of the ANY intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
diff --git a/libgfortran/generated/count_16_l.c b/libgfortran/generated/count_16_l.c
index 8c3fc7d9a16..d65999aff5a 100644
--- a/libgfortran/generated/count_16_l.c
+++ b/libgfortran/generated/count_16_l.c
@@ -1,8 +1,8 @@
/* Implementation of the COUNT intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
diff --git a/libgfortran/generated/count_1_l.c b/libgfortran/generated/count_1_l.c
index faf9176943c..b2d89f4af37 100644
--- a/libgfortran/generated/count_1_l.c
+++ b/libgfortran/generated/count_1_l.c
@@ -1,8 +1,8 @@
/* Implementation of the COUNT intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
diff --git a/libgfortran/generated/count_2_l.c b/libgfortran/generated/count_2_l.c
index 0d1a22339e9..8369a94feb8 100644
--- a/libgfortran/generated/count_2_l.c
+++ b/libgfortran/generated/count_2_l.c
@@ -1,8 +1,8 @@
/* Implementation of the COUNT intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
diff --git a/libgfortran/generated/count_4_l.c b/libgfortran/generated/count_4_l.c
index d4bfbd47ef3..8b5cbb0faa3 100644
--- a/libgfortran/generated/count_4_l.c
+++ b/libgfortran/generated/count_4_l.c
@@ -1,8 +1,8 @@
/* Implementation of the COUNT intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
diff --git a/libgfortran/generated/count_8_l.c b/libgfortran/generated/count_8_l.c
index 2a62ea87bd4..9cb6a26f2f1 100644
--- a/libgfortran/generated/count_8_l.c
+++ b/libgfortran/generated/count_8_l.c
@@ -1,8 +1,8 @@
/* Implementation of the COUNT intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
diff --git a/libgfortran/generated/maxloc1_16_i1.c b/libgfortran/generated/maxloc1_16_i1.c
index 7319f57beb4..a3aafcf6f80 100644
--- a/libgfortran/generated/maxloc1_16_i1.c
+++ b/libgfortran/generated/maxloc1_16_i1.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_16_i1 (gfc_array_i16 * const restrict retarray,
result = (GFC_INTEGER_16)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_16_i16.c b/libgfortran/generated/maxloc1_16_i16.c
index 4d9b57be989..8dc8ef79d23 100644
--- a/libgfortran/generated/maxloc1_16_i16.c
+++ b/libgfortran/generated/maxloc1_16_i16.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_16_i16 (gfc_array_i16 * const restrict retarray,
result = (GFC_INTEGER_16)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_16_i2.c b/libgfortran/generated/maxloc1_16_i2.c
index fcca4b791d9..d1325729996 100644
--- a/libgfortran/generated/maxloc1_16_i2.c
+++ b/libgfortran/generated/maxloc1_16_i2.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_16_i2 (gfc_array_i16 * const restrict retarray,
result = (GFC_INTEGER_16)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_16_i4.c b/libgfortran/generated/maxloc1_16_i4.c
index 714869760a2..995b1e44f03 100644
--- a/libgfortran/generated/maxloc1_16_i4.c
+++ b/libgfortran/generated/maxloc1_16_i4.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_16_i4 (gfc_array_i16 * const restrict retarray,
result = (GFC_INTEGER_16)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_16_i8.c b/libgfortran/generated/maxloc1_16_i8.c
index 48c0bd040ad..5376bcb3213 100644
--- a/libgfortran/generated/maxloc1_16_i8.c
+++ b/libgfortran/generated/maxloc1_16_i8.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_16_i8 (gfc_array_i16 * const restrict retarray,
result = (GFC_INTEGER_16)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_16_r10.c b/libgfortran/generated/maxloc1_16_r10.c
index 991830bebd8..a23655da947 100644
--- a/libgfortran/generated/maxloc1_16_r10.c
+++ b/libgfortran/generated/maxloc1_16_r10.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_16_r10 (gfc_array_i16 * const restrict retarray,
result = (GFC_INTEGER_16)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_16_r16.c b/libgfortran/generated/maxloc1_16_r16.c
index eb9dd4d4566..9e47498169f 100644
--- a/libgfortran/generated/maxloc1_16_r16.c
+++ b/libgfortran/generated/maxloc1_16_r16.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_16_r16 (gfc_array_i16 * const restrict retarray,
result = (GFC_INTEGER_16)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_16_r4.c b/libgfortran/generated/maxloc1_16_r4.c
index ced073aeecb..a551aff9945 100644
--- a/libgfortran/generated/maxloc1_16_r4.c
+++ b/libgfortran/generated/maxloc1_16_r4.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_16_r4 (gfc_array_i16 * const restrict retarray,
result = (GFC_INTEGER_16)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_16_r8.c b/libgfortran/generated/maxloc1_16_r8.c
index 7dacbb8a69a..802ea09825f 100644
--- a/libgfortran/generated/maxloc1_16_r8.c
+++ b/libgfortran/generated/maxloc1_16_r8.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_16_r8 (gfc_array_i16 * const restrict retarray,
result = (GFC_INTEGER_16)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_4_i1.c b/libgfortran/generated/maxloc1_4_i1.c
index 2bda8e5a0a1..484cb0d4d45 100644
--- a/libgfortran/generated/maxloc1_4_i1.c
+++ b/libgfortran/generated/maxloc1_4_i1.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_4_i1 (gfc_array_i4 * const restrict retarray,
result = (GFC_INTEGER_4)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_4_i16.c b/libgfortran/generated/maxloc1_4_i16.c
index 0f45cffaeac..353d4975505 100644
--- a/libgfortran/generated/maxloc1_4_i16.c
+++ b/libgfortran/generated/maxloc1_4_i16.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_4_i16 (gfc_array_i4 * const restrict retarray,
result = (GFC_INTEGER_4)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_4_i2.c b/libgfortran/generated/maxloc1_4_i2.c
index b165d30ee6b..7342ac8e1ab 100644
--- a/libgfortran/generated/maxloc1_4_i2.c
+++ b/libgfortran/generated/maxloc1_4_i2.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_4_i2 (gfc_array_i4 * const restrict retarray,
result = (GFC_INTEGER_4)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_4_i4.c b/libgfortran/generated/maxloc1_4_i4.c
index bf855ca3881..12b978f9289 100644
--- a/libgfortran/generated/maxloc1_4_i4.c
+++ b/libgfortran/generated/maxloc1_4_i4.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_4_i4 (gfc_array_i4 * const restrict retarray,
result = (GFC_INTEGER_4)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_4_i8.c b/libgfortran/generated/maxloc1_4_i8.c
index 603e6d65412..4f5c6590bf0 100644
--- a/libgfortran/generated/maxloc1_4_i8.c
+++ b/libgfortran/generated/maxloc1_4_i8.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_4_i8 (gfc_array_i4 * const restrict retarray,
result = (GFC_INTEGER_4)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_4_r10.c b/libgfortran/generated/maxloc1_4_r10.c
index 78044462834..5df2ca36bed 100644
--- a/libgfortran/generated/maxloc1_4_r10.c
+++ b/libgfortran/generated/maxloc1_4_r10.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_4_r10 (gfc_array_i4 * const restrict retarray,
result = (GFC_INTEGER_4)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_4_r16.c b/libgfortran/generated/maxloc1_4_r16.c
index 4b0f3241007..c556452a2fd 100644
--- a/libgfortran/generated/maxloc1_4_r16.c
+++ b/libgfortran/generated/maxloc1_4_r16.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_4_r16 (gfc_array_i4 * const restrict retarray,
result = (GFC_INTEGER_4)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_4_r4.c b/libgfortran/generated/maxloc1_4_r4.c
index 6d02691c55e..fecd072b2e0 100644
--- a/libgfortran/generated/maxloc1_4_r4.c
+++ b/libgfortran/generated/maxloc1_4_r4.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_4_r4 (gfc_array_i4 * const restrict retarray,
result = (GFC_INTEGER_4)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_4_r8.c b/libgfortran/generated/maxloc1_4_r8.c
index 363d93858f3..a63fe367c85 100644
--- a/libgfortran/generated/maxloc1_4_r8.c
+++ b/libgfortran/generated/maxloc1_4_r8.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_4_r8 (gfc_array_i4 * const restrict retarray,
result = (GFC_INTEGER_4)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_8_i1.c b/libgfortran/generated/maxloc1_8_i1.c
index 20a95b86c92..d70c663128c 100644
--- a/libgfortran/generated/maxloc1_8_i1.c
+++ b/libgfortran/generated/maxloc1_8_i1.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_8_i1 (gfc_array_i8 * const restrict retarray,
result = (GFC_INTEGER_8)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_8_i16.c b/libgfortran/generated/maxloc1_8_i16.c
index 2909ee43a81..ce4afb12176 100644
--- a/libgfortran/generated/maxloc1_8_i16.c
+++ b/libgfortran/generated/maxloc1_8_i16.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_8_i16 (gfc_array_i8 * const restrict retarray,
result = (GFC_INTEGER_8)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_8_i2.c b/libgfortran/generated/maxloc1_8_i2.c
index fe29becd60b..1bffde89c9b 100644
--- a/libgfortran/generated/maxloc1_8_i2.c
+++ b/libgfortran/generated/maxloc1_8_i2.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_8_i2 (gfc_array_i8 * const restrict retarray,
result = (GFC_INTEGER_8)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_8_i4.c b/libgfortran/generated/maxloc1_8_i4.c
index b8e2619e1dc..3abd6ab6e13 100644
--- a/libgfortran/generated/maxloc1_8_i4.c
+++ b/libgfortran/generated/maxloc1_8_i4.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_8_i4 (gfc_array_i8 * const restrict retarray,
result = (GFC_INTEGER_8)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_8_i8.c b/libgfortran/generated/maxloc1_8_i8.c
index 4b0a02ae643..57fcae0e48d 100644
--- a/libgfortran/generated/maxloc1_8_i8.c
+++ b/libgfortran/generated/maxloc1_8_i8.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_8_i8 (gfc_array_i8 * const restrict retarray,
result = (GFC_INTEGER_8)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_8_r10.c b/libgfortran/generated/maxloc1_8_r10.c
index 801a3273f7c..ca8047e5cca 100644
--- a/libgfortran/generated/maxloc1_8_r10.c
+++ b/libgfortran/generated/maxloc1_8_r10.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_8_r10 (gfc_array_i8 * const restrict retarray,
result = (GFC_INTEGER_8)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_8_r16.c b/libgfortran/generated/maxloc1_8_r16.c
index 6ec85941a61..12ab6669898 100644
--- a/libgfortran/generated/maxloc1_8_r16.c
+++ b/libgfortran/generated/maxloc1_8_r16.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_8_r16 (gfc_array_i8 * const restrict retarray,
result = (GFC_INTEGER_8)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_8_r4.c b/libgfortran/generated/maxloc1_8_r4.c
index 2696304a774..479660e6e42 100644
--- a/libgfortran/generated/maxloc1_8_r4.c
+++ b/libgfortran/generated/maxloc1_8_r4.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_8_r4 (gfc_array_i8 * const restrict retarray,
result = (GFC_INTEGER_8)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxloc1_8_r8.c b/libgfortran/generated/maxloc1_8_r8.c
index 8bbb68af2ae..6f47a15415d 100644
--- a/libgfortran/generated/maxloc1_8_r8.c
+++ b/libgfortran/generated/maxloc1_8_r8.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ maxloc1_8_r8 (gfc_array_i8 * const restrict retarray,
result = (GFC_INTEGER_8)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxval_i1.c b/libgfortran/generated/maxval_i1.c
index 56bd2e25cfe..cb429016ce4 100644
--- a/libgfortran/generated/maxval_i1.c
+++ b/libgfortran/generated/maxval_i1.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXVAL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -166,6 +166,7 @@ maxval_i1 (gfc_array_i1 * const restrict retarray,
if (*src > result)
result = *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxval_i16.c b/libgfortran/generated/maxval_i16.c
index 5b21ac9295f..4f11635a0f6 100644
--- a/libgfortran/generated/maxval_i16.c
+++ b/libgfortran/generated/maxval_i16.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXVAL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -166,6 +166,7 @@ maxval_i16 (gfc_array_i16 * const restrict retarray,
if (*src > result)
result = *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxval_i2.c b/libgfortran/generated/maxval_i2.c
index cbf4efb8be0..8fb385688d8 100644
--- a/libgfortran/generated/maxval_i2.c
+++ b/libgfortran/generated/maxval_i2.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXVAL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -166,6 +166,7 @@ maxval_i2 (gfc_array_i2 * const restrict retarray,
if (*src > result)
result = *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxval_i4.c b/libgfortran/generated/maxval_i4.c
index d997bde1f7d..c67d0cb6986 100644
--- a/libgfortran/generated/maxval_i4.c
+++ b/libgfortran/generated/maxval_i4.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXVAL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -166,6 +166,7 @@ maxval_i4 (gfc_array_i4 * const restrict retarray,
if (*src > result)
result = *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxval_i8.c b/libgfortran/generated/maxval_i8.c
index 476d1385326..b2f33ddde86 100644
--- a/libgfortran/generated/maxval_i8.c
+++ b/libgfortran/generated/maxval_i8.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXVAL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -166,6 +166,7 @@ maxval_i8 (gfc_array_i8 * const restrict retarray,
if (*src > result)
result = *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxval_r10.c b/libgfortran/generated/maxval_r10.c
index 84daf681f52..75c45f93a5a 100644
--- a/libgfortran/generated/maxval_r10.c
+++ b/libgfortran/generated/maxval_r10.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXVAL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -166,6 +166,7 @@ maxval_r10 (gfc_array_r10 * const restrict retarray,
if (*src > result)
result = *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxval_r16.c b/libgfortran/generated/maxval_r16.c
index 05ea566f956..4ade432b297 100644
--- a/libgfortran/generated/maxval_r16.c
+++ b/libgfortran/generated/maxval_r16.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXVAL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -166,6 +166,7 @@ maxval_r16 (gfc_array_r16 * const restrict retarray,
if (*src > result)
result = *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxval_r4.c b/libgfortran/generated/maxval_r4.c
index 21247979117..567ad3b4008 100644
--- a/libgfortran/generated/maxval_r4.c
+++ b/libgfortran/generated/maxval_r4.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXVAL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -166,6 +166,7 @@ maxval_r4 (gfc_array_r4 * const restrict retarray,
if (*src > result)
result = *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/maxval_r8.c b/libgfortran/generated/maxval_r8.c
index 71758b8644a..196021cf0c2 100644
--- a/libgfortran/generated/maxval_r8.c
+++ b/libgfortran/generated/maxval_r8.c
@@ -1,8 +1,8 @@
/* Implementation of the MAXVAL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -166,6 +166,7 @@ maxval_r8 (gfc_array_r8 * const restrict retarray,
if (*src > result)
result = *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_16_i1.c b/libgfortran/generated/minloc1_16_i1.c
index a81e82108cb..a287fee23c0 100644
--- a/libgfortran/generated/minloc1_16_i1.c
+++ b/libgfortran/generated/minloc1_16_i1.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_16_i1 (gfc_array_i16 * const restrict retarray,
result = (GFC_INTEGER_16)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_16_i16.c b/libgfortran/generated/minloc1_16_i16.c
index 2efb5013ef0..852118813b6 100644
--- a/libgfortran/generated/minloc1_16_i16.c
+++ b/libgfortran/generated/minloc1_16_i16.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_16_i16 (gfc_array_i16 * const restrict retarray,
result = (GFC_INTEGER_16)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_16_i2.c b/libgfortran/generated/minloc1_16_i2.c
index 404338e39b3..f7c951c7b40 100644
--- a/libgfortran/generated/minloc1_16_i2.c
+++ b/libgfortran/generated/minloc1_16_i2.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_16_i2 (gfc_array_i16 * const restrict retarray,
result = (GFC_INTEGER_16)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_16_i4.c b/libgfortran/generated/minloc1_16_i4.c
index be8e99a66ba..98ec8996daf 100644
--- a/libgfortran/generated/minloc1_16_i4.c
+++ b/libgfortran/generated/minloc1_16_i4.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_16_i4 (gfc_array_i16 * const restrict retarray,
result = (GFC_INTEGER_16)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_16_i8.c b/libgfortran/generated/minloc1_16_i8.c
index 53e517ce404..ab0a296b7af 100644
--- a/libgfortran/generated/minloc1_16_i8.c
+++ b/libgfortran/generated/minloc1_16_i8.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_16_i8 (gfc_array_i16 * const restrict retarray,
result = (GFC_INTEGER_16)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_16_r10.c b/libgfortran/generated/minloc1_16_r10.c
index 67ae67bde26..5fe952cebc4 100644
--- a/libgfortran/generated/minloc1_16_r10.c
+++ b/libgfortran/generated/minloc1_16_r10.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_16_r10 (gfc_array_i16 * const restrict retarray,
result = (GFC_INTEGER_16)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_16_r16.c b/libgfortran/generated/minloc1_16_r16.c
index 4ea3c308f36..d68cc7aab36 100644
--- a/libgfortran/generated/minloc1_16_r16.c
+++ b/libgfortran/generated/minloc1_16_r16.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_16_r16 (gfc_array_i16 * const restrict retarray,
result = (GFC_INTEGER_16)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_16_r4.c b/libgfortran/generated/minloc1_16_r4.c
index d786ca2253b..8207441618e 100644
--- a/libgfortran/generated/minloc1_16_r4.c
+++ b/libgfortran/generated/minloc1_16_r4.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_16_r4 (gfc_array_i16 * const restrict retarray,
result = (GFC_INTEGER_16)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_16_r8.c b/libgfortran/generated/minloc1_16_r8.c
index 0dcda10d9d7..72bfcce6488 100644
--- a/libgfortran/generated/minloc1_16_r8.c
+++ b/libgfortran/generated/minloc1_16_r8.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_16_r8 (gfc_array_i16 * const restrict retarray,
result = (GFC_INTEGER_16)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_4_i1.c b/libgfortran/generated/minloc1_4_i1.c
index b71179044f5..631645f6b08 100644
--- a/libgfortran/generated/minloc1_4_i1.c
+++ b/libgfortran/generated/minloc1_4_i1.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_4_i1 (gfc_array_i4 * const restrict retarray,
result = (GFC_INTEGER_4)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_4_i16.c b/libgfortran/generated/minloc1_4_i16.c
index f867804a178..2096589cfec 100644
--- a/libgfortran/generated/minloc1_4_i16.c
+++ b/libgfortran/generated/minloc1_4_i16.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_4_i16 (gfc_array_i4 * const restrict retarray,
result = (GFC_INTEGER_4)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_4_i2.c b/libgfortran/generated/minloc1_4_i2.c
index 8d09ba5fbb9..2bdedd82d3a 100644
--- a/libgfortran/generated/minloc1_4_i2.c
+++ b/libgfortran/generated/minloc1_4_i2.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_4_i2 (gfc_array_i4 * const restrict retarray,
result = (GFC_INTEGER_4)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_4_i4.c b/libgfortran/generated/minloc1_4_i4.c
index 2b8c02b96ef..513b0cf8ec6 100644
--- a/libgfortran/generated/minloc1_4_i4.c
+++ b/libgfortran/generated/minloc1_4_i4.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_4_i4 (gfc_array_i4 * const restrict retarray,
result = (GFC_INTEGER_4)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_4_i8.c b/libgfortran/generated/minloc1_4_i8.c
index ae5049ab1b6..c15914bc7b0 100644
--- a/libgfortran/generated/minloc1_4_i8.c
+++ b/libgfortran/generated/minloc1_4_i8.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_4_i8 (gfc_array_i4 * const restrict retarray,
result = (GFC_INTEGER_4)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_4_r10.c b/libgfortran/generated/minloc1_4_r10.c
index 8d14c2dc871..f60262ac42a 100644
--- a/libgfortran/generated/minloc1_4_r10.c
+++ b/libgfortran/generated/minloc1_4_r10.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_4_r10 (gfc_array_i4 * const restrict retarray,
result = (GFC_INTEGER_4)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_4_r16.c b/libgfortran/generated/minloc1_4_r16.c
index fcb8d0cf72d..e0c1e6b262d 100644
--- a/libgfortran/generated/minloc1_4_r16.c
+++ b/libgfortran/generated/minloc1_4_r16.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_4_r16 (gfc_array_i4 * const restrict retarray,
result = (GFC_INTEGER_4)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_4_r4.c b/libgfortran/generated/minloc1_4_r4.c
index 75d43ffcf4a..31104510b28 100644
--- a/libgfortran/generated/minloc1_4_r4.c
+++ b/libgfortran/generated/minloc1_4_r4.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_4_r4 (gfc_array_i4 * const restrict retarray,
result = (GFC_INTEGER_4)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_4_r8.c b/libgfortran/generated/minloc1_4_r8.c
index 49e03203255..4888dd72f3d 100644
--- a/libgfortran/generated/minloc1_4_r8.c
+++ b/libgfortran/generated/minloc1_4_r8.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_4_r8 (gfc_array_i4 * const restrict retarray,
result = (GFC_INTEGER_4)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_8_i1.c b/libgfortran/generated/minloc1_8_i1.c
index 7104a60506d..953460d33be 100644
--- a/libgfortran/generated/minloc1_8_i1.c
+++ b/libgfortran/generated/minloc1_8_i1.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_8_i1 (gfc_array_i8 * const restrict retarray,
result = (GFC_INTEGER_8)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_8_i16.c b/libgfortran/generated/minloc1_8_i16.c
index ac994015e85..9ac6de055b8 100644
--- a/libgfortran/generated/minloc1_8_i16.c
+++ b/libgfortran/generated/minloc1_8_i16.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_8_i16 (gfc_array_i8 * const restrict retarray,
result = (GFC_INTEGER_8)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_8_i2.c b/libgfortran/generated/minloc1_8_i2.c
index 73042fd95a1..7f4db409831 100644
--- a/libgfortran/generated/minloc1_8_i2.c
+++ b/libgfortran/generated/minloc1_8_i2.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_8_i2 (gfc_array_i8 * const restrict retarray,
result = (GFC_INTEGER_8)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_8_i4.c b/libgfortran/generated/minloc1_8_i4.c
index 2eb44c45a30..cb68b4b78f5 100644
--- a/libgfortran/generated/minloc1_8_i4.c
+++ b/libgfortran/generated/minloc1_8_i4.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_8_i4 (gfc_array_i8 * const restrict retarray,
result = (GFC_INTEGER_8)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_8_i8.c b/libgfortran/generated/minloc1_8_i8.c
index 2a52c29d6bf..e6eb5c3dc03 100644
--- a/libgfortran/generated/minloc1_8_i8.c
+++ b/libgfortran/generated/minloc1_8_i8.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_8_i8 (gfc_array_i8 * const restrict retarray,
result = (GFC_INTEGER_8)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_8_r10.c b/libgfortran/generated/minloc1_8_r10.c
index a84456d7ccd..c78b092d130 100644
--- a/libgfortran/generated/minloc1_8_r10.c
+++ b/libgfortran/generated/minloc1_8_r10.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_8_r10 (gfc_array_i8 * const restrict retarray,
result = (GFC_INTEGER_8)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_8_r16.c b/libgfortran/generated/minloc1_8_r16.c
index 07f1ba530cf..ecd80313ca5 100644
--- a/libgfortran/generated/minloc1_8_r16.c
+++ b/libgfortran/generated/minloc1_8_r16.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_8_r16 (gfc_array_i8 * const restrict retarray,
result = (GFC_INTEGER_8)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_8_r4.c b/libgfortran/generated/minloc1_8_r4.c
index 053642a7159..053ef6f7e9a 100644
--- a/libgfortran/generated/minloc1_8_r4.c
+++ b/libgfortran/generated/minloc1_8_r4.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_8_r4 (gfc_array_i8 * const restrict retarray,
result = (GFC_INTEGER_8)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minloc1_8_r8.c b/libgfortran/generated/minloc1_8_r8.c
index 88f91fd6a4c..ac06ec97933 100644
--- a/libgfortran/generated/minloc1_8_r8.c
+++ b/libgfortran/generated/minloc1_8_r8.c
@@ -1,8 +1,8 @@
/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -174,6 +174,7 @@ minloc1_8_r8 (gfc_array_i8 * const restrict retarray,
result = (GFC_INTEGER_8)n + 1;
}
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minval_i1.c b/libgfortran/generated/minval_i1.c
index 341fbb787df..93276f977e6 100644
--- a/libgfortran/generated/minval_i1.c
+++ b/libgfortran/generated/minval_i1.c
@@ -1,8 +1,8 @@
/* Implementation of the MINVAL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -166,6 +166,7 @@ minval_i1 (gfc_array_i1 * const restrict retarray,
if (*src < result)
result = *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minval_i16.c b/libgfortran/generated/minval_i16.c
index 32554df3e8e..a5ff46e9a38 100644
--- a/libgfortran/generated/minval_i16.c
+++ b/libgfortran/generated/minval_i16.c
@@ -1,8 +1,8 @@
/* Implementation of the MINVAL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -166,6 +166,7 @@ minval_i16 (gfc_array_i16 * const restrict retarray,
if (*src < result)
result = *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minval_i2.c b/libgfortran/generated/minval_i2.c
index d50d9373e24..b4e8dd55667 100644
--- a/libgfortran/generated/minval_i2.c
+++ b/libgfortran/generated/minval_i2.c
@@ -1,8 +1,8 @@
/* Implementation of the MINVAL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -166,6 +166,7 @@ minval_i2 (gfc_array_i2 * const restrict retarray,
if (*src < result)
result = *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minval_i4.c b/libgfortran/generated/minval_i4.c
index bfcf5435f55..3f9e0682b76 100644
--- a/libgfortran/generated/minval_i4.c
+++ b/libgfortran/generated/minval_i4.c
@@ -1,8 +1,8 @@
/* Implementation of the MINVAL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -166,6 +166,7 @@ minval_i4 (gfc_array_i4 * const restrict retarray,
if (*src < result)
result = *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minval_i8.c b/libgfortran/generated/minval_i8.c
index 242c8b74c3f..725093e21ed 100644
--- a/libgfortran/generated/minval_i8.c
+++ b/libgfortran/generated/minval_i8.c
@@ -1,8 +1,8 @@
/* Implementation of the MINVAL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -166,6 +166,7 @@ minval_i8 (gfc_array_i8 * const restrict retarray,
if (*src < result)
result = *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minval_r10.c b/libgfortran/generated/minval_r10.c
index e9976530078..dacbb709400 100644
--- a/libgfortran/generated/minval_r10.c
+++ b/libgfortran/generated/minval_r10.c
@@ -1,8 +1,8 @@
/* Implementation of the MINVAL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -166,6 +166,7 @@ minval_r10 (gfc_array_r10 * const restrict retarray,
if (*src < result)
result = *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minval_r16.c b/libgfortran/generated/minval_r16.c
index 539193f5c3d..93289ba0974 100644
--- a/libgfortran/generated/minval_r16.c
+++ b/libgfortran/generated/minval_r16.c
@@ -1,8 +1,8 @@
/* Implementation of the MINVAL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -166,6 +166,7 @@ minval_r16 (gfc_array_r16 * const restrict retarray,
if (*src < result)
result = *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minval_r4.c b/libgfortran/generated/minval_r4.c
index e782829d0cc..4d5b8b0cfb3 100644
--- a/libgfortran/generated/minval_r4.c
+++ b/libgfortran/generated/minval_r4.c
@@ -1,8 +1,8 @@
/* Implementation of the MINVAL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -166,6 +166,7 @@ minval_r4 (gfc_array_r4 * const restrict retarray,
if (*src < result)
result = *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/minval_r8.c b/libgfortran/generated/minval_r8.c
index 0496a421e56..7b0fdb88fb7 100644
--- a/libgfortran/generated/minval_r8.c
+++ b/libgfortran/generated/minval_r8.c
@@ -1,8 +1,8 @@
/* Implementation of the MINVAL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -166,6 +166,7 @@ minval_r8 (gfc_array_r8 * const restrict retarray,
if (*src < result)
result = *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/norm2_r10.c b/libgfortran/generated/norm2_r10.c
new file mode 100644
index 00000000000..64cf404e0a6
--- /dev/null
+++ b/libgfortran/generated/norm2_r10.c
@@ -0,0 +1,208 @@
+/* Implementation of the NORM2 intrinsic
+ Copyright 2010 Free Software Foundation, Inc.
+ Contributed by Tobias Burnus <burnus@net-b.de>
+
+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"
+#include <stdlib.h>
+#include <math.h>
+#include <assert.h>
+
+
+#if defined (HAVE_GFC_REAL_10) && defined (HAVE_GFC_REAL_10)
+
+
+extern void norm2_r10 (gfc_array_r10 * const restrict,
+ gfc_array_r10 * const restrict, const index_type * const restrict);
+export_proto(norm2_r10);
+
+void
+norm2_r10 (gfc_array_r10 * const restrict retarray,
+ gfc_array_r10 * const restrict array,
+ const index_type * const restrict pdim)
+{
+ index_type count[GFC_MAX_DIMENSIONS];
+ index_type extent[GFC_MAX_DIMENSIONS];
+ index_type sstride[GFC_MAX_DIMENSIONS];
+ index_type dstride[GFC_MAX_DIMENSIONS];
+ const GFC_REAL_10 * restrict base;
+ GFC_REAL_10 * restrict dest;
+ index_type rank;
+ index_type n;
+ index_type len;
+ index_type delta;
+ index_type dim;
+ int continue_loop;
+
+ /* Make dim zero based to avoid confusion. */
+ dim = (*pdim) - 1;
+ rank = GFC_DESCRIPTOR_RANK (array) - 1;
+
+ len = GFC_DESCRIPTOR_EXTENT(array,dim);
+ if (len < 0)
+ len = 0;
+ delta = GFC_DESCRIPTOR_STRIDE(array,dim);
+
+ for (n = 0; n < dim; n++)
+ {
+ sstride[n] = GFC_DESCRIPTOR_STRIDE(array,n);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
+
+ if (extent[n] < 0)
+ extent[n] = 0;
+ }
+ for (n = dim; n < rank; n++)
+ {
+ sstride[n] = GFC_DESCRIPTOR_STRIDE(array, n + 1);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array, n + 1);
+
+ if (extent[n] < 0)
+ extent[n] = 0;
+ }
+
+ if (retarray->data == NULL)
+ {
+ size_t alloc_size, str;
+
+ for (n = 0; n < rank; n++)
+ {
+ if (n == 0)
+ str = 1;
+ else
+ str = GFC_DESCRIPTOR_STRIDE(retarray,n-1) * extent[n-1];
+
+ GFC_DIMENSION_SET(retarray->dim[n], 0, extent[n] - 1, str);
+
+ }
+
+ retarray->offset = 0;
+ retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+
+ alloc_size = sizeof (GFC_REAL_10) * GFC_DESCRIPTOR_STRIDE(retarray,rank-1)
+ * extent[rank-1];
+
+ if (alloc_size == 0)
+ {
+ /* Make sure we have a zero-sized array. */
+ GFC_DIMENSION_SET(retarray->dim[0], 0, -1, 1);
+ return;
+
+ }
+ else
+ retarray->data = internal_malloc_size (alloc_size);
+ }
+ else
+ {
+ if (rank != GFC_DESCRIPTOR_RANK (retarray))
+ runtime_error ("rank of return array incorrect in"
+ " NORM intrinsic: is %ld, should be %ld",
+ (long int) (GFC_DESCRIPTOR_RANK (retarray)),
+ (long int) rank);
+
+ if (unlikely (compile_options.bounds_check))
+ bounds_ifunction_return ((array_t *) retarray, extent,
+ "return value", "NORM");
+ }
+
+ for (n = 0; n < rank; n++)
+ {
+ count[n] = 0;
+ dstride[n] = GFC_DESCRIPTOR_STRIDE(retarray,n);
+ if (extent[n] <= 0)
+ len = 0;
+ }
+
+ base = array->data;
+ dest = retarray->data;
+
+ continue_loop = 1;
+ while (continue_loop)
+ {
+ const GFC_REAL_10 * restrict src;
+ GFC_REAL_10 result;
+ src = base;
+ {
+
+ GFC_REAL_10 scale;
+ result = 0.0L;
+ scale = 1.0L;
+ if (len <= 0)
+ *dest = 0.0L;
+ else
+ {
+ for (n = 0; n < len; n++, src += delta)
+ {
+
+ if (*src != 0.0L)
+ {
+ GFC_REAL_10 absX, val;
+ absX = fabsl (*src);
+ if (scale < absX)
+ {
+ val = scale / absX;
+ result = 1.0L + result * val * val;
+ scale = absX;
+ }
+ else
+ {
+ val = absX / scale;
+ result += val * val;
+ }
+ }
+ }
+ result = scale * sqrtl (result);
+ *dest = result;
+ }
+ }
+ /* Advance to the next element. */
+ count[0]++;
+ base += sstride[0];
+ dest += dstride[0];
+ n = 0;
+ while (count[n] == extent[n])
+ {
+ /* When we get to the end of a dimension, reset it and increment
+ the next dimension. */
+ count[n] = 0;
+ /* We could precalculate these products, but this is a less
+ frequently used path so probably not worth it. */
+ base -= sstride[n] * extent[n];
+ dest -= dstride[n] * extent[n];
+ n++;
+ if (n == rank)
+ {
+ /* Break out of the look. */
+ continue_loop = 0;
+ break;
+ }
+ else
+ {
+ count[n]++;
+ base += sstride[n];
+ dest += dstride[n];
+ }
+ }
+ }
+}
+
+#endif
diff --git a/libgfortran/generated/norm2_r16.c b/libgfortran/generated/norm2_r16.c
new file mode 100644
index 00000000000..1fc79ae278b
--- /dev/null
+++ b/libgfortran/generated/norm2_r16.c
@@ -0,0 +1,208 @@
+/* Implementation of the NORM2 intrinsic
+ Copyright 2010 Free Software Foundation, Inc.
+ Contributed by Tobias Burnus <burnus@net-b.de>
+
+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"
+#include <stdlib.h>
+#include <math.h>
+#include <assert.h>
+
+
+#if defined (HAVE_GFC_REAL_16) && defined (HAVE_GFC_REAL_16)
+
+
+extern void norm2_r16 (gfc_array_r16 * const restrict,
+ gfc_array_r16 * const restrict, const index_type * const restrict);
+export_proto(norm2_r16);
+
+void
+norm2_r16 (gfc_array_r16 * const restrict retarray,
+ gfc_array_r16 * const restrict array,
+ const index_type * const restrict pdim)
+{
+ index_type count[GFC_MAX_DIMENSIONS];
+ index_type extent[GFC_MAX_DIMENSIONS];
+ index_type sstride[GFC_MAX_DIMENSIONS];
+ index_type dstride[GFC_MAX_DIMENSIONS];
+ const GFC_REAL_16 * restrict base;
+ GFC_REAL_16 * restrict dest;
+ index_type rank;
+ index_type n;
+ index_type len;
+ index_type delta;
+ index_type dim;
+ int continue_loop;
+
+ /* Make dim zero based to avoid confusion. */
+ dim = (*pdim) - 1;
+ rank = GFC_DESCRIPTOR_RANK (array) - 1;
+
+ len = GFC_DESCRIPTOR_EXTENT(array,dim);
+ if (len < 0)
+ len = 0;
+ delta = GFC_DESCRIPTOR_STRIDE(array,dim);
+
+ for (n = 0; n < dim; n++)
+ {
+ sstride[n] = GFC_DESCRIPTOR_STRIDE(array,n);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
+
+ if (extent[n] < 0)
+ extent[n] = 0;
+ }
+ for (n = dim; n < rank; n++)
+ {
+ sstride[n] = GFC_DESCRIPTOR_STRIDE(array, n + 1);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array, n + 1);
+
+ if (extent[n] < 0)
+ extent[n] = 0;
+ }
+
+ if (retarray->data == NULL)
+ {
+ size_t alloc_size, str;
+
+ for (n = 0; n < rank; n++)
+ {
+ if (n == 0)
+ str = 1;
+ else
+ str = GFC_DESCRIPTOR_STRIDE(retarray,n-1) * extent[n-1];
+
+ GFC_DIMENSION_SET(retarray->dim[n], 0, extent[n] - 1, str);
+
+ }
+
+ retarray->offset = 0;
+ retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+
+ alloc_size = sizeof (GFC_REAL_16) * GFC_DESCRIPTOR_STRIDE(retarray,rank-1)
+ * extent[rank-1];
+
+ if (alloc_size == 0)
+ {
+ /* Make sure we have a zero-sized array. */
+ GFC_DIMENSION_SET(retarray->dim[0], 0, -1, 1);
+ return;
+
+ }
+ else
+ retarray->data = internal_malloc_size (alloc_size);
+ }
+ else
+ {
+ if (rank != GFC_DESCRIPTOR_RANK (retarray))
+ runtime_error ("rank of return array incorrect in"
+ " NORM intrinsic: is %ld, should be %ld",
+ (long int) (GFC_DESCRIPTOR_RANK (retarray)),
+ (long int) rank);
+
+ if (unlikely (compile_options.bounds_check))
+ bounds_ifunction_return ((array_t *) retarray, extent,
+ "return value", "NORM");
+ }
+
+ for (n = 0; n < rank; n++)
+ {
+ count[n] = 0;
+ dstride[n] = GFC_DESCRIPTOR_STRIDE(retarray,n);
+ if (extent[n] <= 0)
+ len = 0;
+ }
+
+ base = array->data;
+ dest = retarray->data;
+
+ continue_loop = 1;
+ while (continue_loop)
+ {
+ const GFC_REAL_16 * restrict src;
+ GFC_REAL_16 result;
+ src = base;
+ {
+
+ GFC_REAL_16 scale;
+ result = 0.0L;
+ scale = 1.0L;
+ if (len <= 0)
+ *dest = 0.0L;
+ else
+ {
+ for (n = 0; n < len; n++, src += delta)
+ {
+
+ if (*src != 0.0L)
+ {
+ GFC_REAL_16 absX, val;
+ absX = fabsl (*src);
+ if (scale < absX)
+ {
+ val = scale / absX;
+ result = 1.0L + result * val * val;
+ scale = absX;
+ }
+ else
+ {
+ val = absX / scale;
+ result += val * val;
+ }
+ }
+ }
+ result = scale * sqrtl (result);
+ *dest = result;
+ }
+ }
+ /* Advance to the next element. */
+ count[0]++;
+ base += sstride[0];
+ dest += dstride[0];
+ n = 0;
+ while (count[n] == extent[n])
+ {
+ /* When we get to the end of a dimension, reset it and increment
+ the next dimension. */
+ count[n] = 0;
+ /* We could precalculate these products, but this is a less
+ frequently used path so probably not worth it. */
+ base -= sstride[n] * extent[n];
+ dest -= dstride[n] * extent[n];
+ n++;
+ if (n == rank)
+ {
+ /* Break out of the look. */
+ continue_loop = 0;
+ break;
+ }
+ else
+ {
+ count[n]++;
+ base += sstride[n];
+ dest += dstride[n];
+ }
+ }
+ }
+}
+
+#endif
diff --git a/libgfortran/generated/norm2_r4.c b/libgfortran/generated/norm2_r4.c
new file mode 100644
index 00000000000..78f28dc77fd
--- /dev/null
+++ b/libgfortran/generated/norm2_r4.c
@@ -0,0 +1,208 @@
+/* Implementation of the NORM2 intrinsic
+ Copyright 2010 Free Software Foundation, Inc.
+ Contributed by Tobias Burnus <burnus@net-b.de>
+
+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"
+#include <stdlib.h>
+#include <math.h>
+#include <assert.h>
+
+
+#if defined (HAVE_GFC_REAL_4) && defined (HAVE_GFC_REAL_4)
+
+
+extern void norm2_r4 (gfc_array_r4 * const restrict,
+ gfc_array_r4 * const restrict, const index_type * const restrict);
+export_proto(norm2_r4);
+
+void
+norm2_r4 (gfc_array_r4 * const restrict retarray,
+ gfc_array_r4 * const restrict array,
+ const index_type * const restrict pdim)
+{
+ index_type count[GFC_MAX_DIMENSIONS];
+ index_type extent[GFC_MAX_DIMENSIONS];
+ index_type sstride[GFC_MAX_DIMENSIONS];
+ index_type dstride[GFC_MAX_DIMENSIONS];
+ const GFC_REAL_4 * restrict base;
+ GFC_REAL_4 * restrict dest;
+ index_type rank;
+ index_type n;
+ index_type len;
+ index_type delta;
+ index_type dim;
+ int continue_loop;
+
+ /* Make dim zero based to avoid confusion. */
+ dim = (*pdim) - 1;
+ rank = GFC_DESCRIPTOR_RANK (array) - 1;
+
+ len = GFC_DESCRIPTOR_EXTENT(array,dim);
+ if (len < 0)
+ len = 0;
+ delta = GFC_DESCRIPTOR_STRIDE(array,dim);
+
+ for (n = 0; n < dim; n++)
+ {
+ sstride[n] = GFC_DESCRIPTOR_STRIDE(array,n);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
+
+ if (extent[n] < 0)
+ extent[n] = 0;
+ }
+ for (n = dim; n < rank; n++)
+ {
+ sstride[n] = GFC_DESCRIPTOR_STRIDE(array, n + 1);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array, n + 1);
+
+ if (extent[n] < 0)
+ extent[n] = 0;
+ }
+
+ if (retarray->data == NULL)
+ {
+ size_t alloc_size, str;
+
+ for (n = 0; n < rank; n++)
+ {
+ if (n == 0)
+ str = 1;
+ else
+ str = GFC_DESCRIPTOR_STRIDE(retarray,n-1) * extent[n-1];
+
+ GFC_DIMENSION_SET(retarray->dim[n], 0, extent[n] - 1, str);
+
+ }
+
+ retarray->offset = 0;
+ retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+
+ alloc_size = sizeof (GFC_REAL_4) * GFC_DESCRIPTOR_STRIDE(retarray,rank-1)
+ * extent[rank-1];
+
+ if (alloc_size == 0)
+ {
+ /* Make sure we have a zero-sized array. */
+ GFC_DIMENSION_SET(retarray->dim[0], 0, -1, 1);
+ return;
+
+ }
+ else
+ retarray->data = internal_malloc_size (alloc_size);
+ }
+ else
+ {
+ if (rank != GFC_DESCRIPTOR_RANK (retarray))
+ runtime_error ("rank of return array incorrect in"
+ " NORM intrinsic: is %ld, should be %ld",
+ (long int) (GFC_DESCRIPTOR_RANK (retarray)),
+ (long int) rank);
+
+ if (unlikely (compile_options.bounds_check))
+ bounds_ifunction_return ((array_t *) retarray, extent,
+ "return value", "NORM");
+ }
+
+ for (n = 0; n < rank; n++)
+ {
+ count[n] = 0;
+ dstride[n] = GFC_DESCRIPTOR_STRIDE(retarray,n);
+ if (extent[n] <= 0)
+ len = 0;
+ }
+
+ base = array->data;
+ dest = retarray->data;
+
+ continue_loop = 1;
+ while (continue_loop)
+ {
+ const GFC_REAL_4 * restrict src;
+ GFC_REAL_4 result;
+ src = base;
+ {
+
+ GFC_REAL_4 scale;
+ result = 0.0F;
+ scale = 1.0F;
+ if (len <= 0)
+ *dest = 0.0F;
+ else
+ {
+ for (n = 0; n < len; n++, src += delta)
+ {
+
+ if (*src != 0.0F)
+ {
+ GFC_REAL_4 absX, val;
+ absX = fabsf (*src);
+ if (scale < absX)
+ {
+ val = scale / absX;
+ result = 1.0F + result * val * val;
+ scale = absX;
+ }
+ else
+ {
+ val = absX / scale;
+ result += val * val;
+ }
+ }
+ }
+ result = scale * sqrtf (result);
+ *dest = result;
+ }
+ }
+ /* Advance to the next element. */
+ count[0]++;
+ base += sstride[0];
+ dest += dstride[0];
+ n = 0;
+ while (count[n] == extent[n])
+ {
+ /* When we get to the end of a dimension, reset it and increment
+ the next dimension. */
+ count[n] = 0;
+ /* We could precalculate these products, but this is a less
+ frequently used path so probably not worth it. */
+ base -= sstride[n] * extent[n];
+ dest -= dstride[n] * extent[n];
+ n++;
+ if (n == rank)
+ {
+ /* Break out of the look. */
+ continue_loop = 0;
+ break;
+ }
+ else
+ {
+ count[n]++;
+ base += sstride[n];
+ dest += dstride[n];
+ }
+ }
+ }
+}
+
+#endif
diff --git a/libgfortran/generated/norm2_r8.c b/libgfortran/generated/norm2_r8.c
new file mode 100644
index 00000000000..fd9aba7416d
--- /dev/null
+++ b/libgfortran/generated/norm2_r8.c
@@ -0,0 +1,208 @@
+/* Implementation of the NORM2 intrinsic
+ Copyright 2010 Free Software Foundation, Inc.
+ Contributed by Tobias Burnus <burnus@net-b.de>
+
+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"
+#include <stdlib.h>
+#include <math.h>
+#include <assert.h>
+
+
+#if defined (HAVE_GFC_REAL_8) && defined (HAVE_GFC_REAL_8)
+
+
+extern void norm2_r8 (gfc_array_r8 * const restrict,
+ gfc_array_r8 * const restrict, const index_type * const restrict);
+export_proto(norm2_r8);
+
+void
+norm2_r8 (gfc_array_r8 * const restrict retarray,
+ gfc_array_r8 * const restrict array,
+ const index_type * const restrict pdim)
+{
+ index_type count[GFC_MAX_DIMENSIONS];
+ index_type extent[GFC_MAX_DIMENSIONS];
+ index_type sstride[GFC_MAX_DIMENSIONS];
+ index_type dstride[GFC_MAX_DIMENSIONS];
+ const GFC_REAL_8 * restrict base;
+ GFC_REAL_8 * restrict dest;
+ index_type rank;
+ index_type n;
+ index_type len;
+ index_type delta;
+ index_type dim;
+ int continue_loop;
+
+ /* Make dim zero based to avoid confusion. */
+ dim = (*pdim) - 1;
+ rank = GFC_DESCRIPTOR_RANK (array) - 1;
+
+ len = GFC_DESCRIPTOR_EXTENT(array,dim);
+ if (len < 0)
+ len = 0;
+ delta = GFC_DESCRIPTOR_STRIDE(array,dim);
+
+ for (n = 0; n < dim; n++)
+ {
+ sstride[n] = GFC_DESCRIPTOR_STRIDE(array,n);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
+
+ if (extent[n] < 0)
+ extent[n] = 0;
+ }
+ for (n = dim; n < rank; n++)
+ {
+ sstride[n] = GFC_DESCRIPTOR_STRIDE(array, n + 1);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array, n + 1);
+
+ if (extent[n] < 0)
+ extent[n] = 0;
+ }
+
+ if (retarray->data == NULL)
+ {
+ size_t alloc_size, str;
+
+ for (n = 0; n < rank; n++)
+ {
+ if (n == 0)
+ str = 1;
+ else
+ str = GFC_DESCRIPTOR_STRIDE(retarray,n-1) * extent[n-1];
+
+ GFC_DIMENSION_SET(retarray->dim[n], 0, extent[n] - 1, str);
+
+ }
+
+ retarray->offset = 0;
+ retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+
+ alloc_size = sizeof (GFC_REAL_8) * GFC_DESCRIPTOR_STRIDE(retarray,rank-1)
+ * extent[rank-1];
+
+ if (alloc_size == 0)
+ {
+ /* Make sure we have a zero-sized array. */
+ GFC_DIMENSION_SET(retarray->dim[0], 0, -1, 1);
+ return;
+
+ }
+ else
+ retarray->data = internal_malloc_size (alloc_size);
+ }
+ else
+ {
+ if (rank != GFC_DESCRIPTOR_RANK (retarray))
+ runtime_error ("rank of return array incorrect in"
+ " NORM intrinsic: is %ld, should be %ld",
+ (long int) (GFC_DESCRIPTOR_RANK (retarray)),
+ (long int) rank);
+
+ if (unlikely (compile_options.bounds_check))
+ bounds_ifunction_return ((array_t *) retarray, extent,
+ "return value", "NORM");
+ }
+
+ for (n = 0; n < rank; n++)
+ {
+ count[n] = 0;
+ dstride[n] = GFC_DESCRIPTOR_STRIDE(retarray,n);
+ if (extent[n] <= 0)
+ len = 0;
+ }
+
+ base = array->data;
+ dest = retarray->data;
+
+ continue_loop = 1;
+ while (continue_loop)
+ {
+ const GFC_REAL_8 * restrict src;
+ GFC_REAL_8 result;
+ src = base;
+ {
+
+ GFC_REAL_8 scale;
+ result = 0.0;
+ scale = 1.0;
+ if (len <= 0)
+ *dest = 0.0;
+ else
+ {
+ for (n = 0; n < len; n++, src += delta)
+ {
+
+ if (*src != 0.0)
+ {
+ GFC_REAL_8 absX, val;
+ absX = fabs (*src);
+ if (scale < absX)
+ {
+ val = scale / absX;
+ result = 1.0 + result * val * val;
+ scale = absX;
+ }
+ else
+ {
+ val = absX / scale;
+ result += val * val;
+ }
+ }
+ }
+ result = scale * sqrt (result);
+ *dest = result;
+ }
+ }
+ /* Advance to the next element. */
+ count[0]++;
+ base += sstride[0];
+ dest += dstride[0];
+ n = 0;
+ while (count[n] == extent[n])
+ {
+ /* When we get to the end of a dimension, reset it and increment
+ the next dimension. */
+ count[n] = 0;
+ /* We could precalculate these products, but this is a less
+ frequently used path so probably not worth it. */
+ base -= sstride[n] * extent[n];
+ dest -= dstride[n] * extent[n];
+ n++;
+ if (n == rank)
+ {
+ /* Break out of the look. */
+ continue_loop = 0;
+ break;
+ }
+ else
+ {
+ count[n]++;
+ base += sstride[n];
+ dest += dstride[n];
+ }
+ }
+ }
+}
+
+#endif
diff --git a/libgfortran/generated/parity_l1.c b/libgfortran/generated/parity_l1.c
new file mode 100644
index 00000000000..4fef2774495
--- /dev/null
+++ b/libgfortran/generated/parity_l1.c
@@ -0,0 +1,191 @@
+/* Implementation of the NORM2 intrinsic
+ Copyright 2010 Free Software Foundation, Inc.
+ Contributed by Tobias Burnus <burnus@net-b.de>
+
+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"
+#include <stdlib.h>
+#include <math.h>
+#include <assert.h>
+
+
+#if defined (HAVE_GFC_LOGICAL_1) && defined (HAVE_GFC_LOGICAL_1)
+
+
+extern void parity_l1 (gfc_array_l1 * const restrict,
+ gfc_array_l1 * const restrict, const index_type * const restrict);
+export_proto(parity_l1);
+
+void
+parity_l1 (gfc_array_l1 * const restrict retarray,
+ gfc_array_l1 * const restrict array,
+ const index_type * const restrict pdim)
+{
+ index_type count[GFC_MAX_DIMENSIONS];
+ index_type extent[GFC_MAX_DIMENSIONS];
+ index_type sstride[GFC_MAX_DIMENSIONS];
+ index_type dstride[GFC_MAX_DIMENSIONS];
+ const GFC_LOGICAL_1 * restrict base;
+ GFC_LOGICAL_1 * restrict dest;
+ index_type rank;
+ index_type n;
+ index_type len;
+ index_type delta;
+ index_type dim;
+ int continue_loop;
+
+ /* Make dim zero based to avoid confusion. */
+ dim = (*pdim) - 1;
+ rank = GFC_DESCRIPTOR_RANK (array) - 1;
+
+ len = GFC_DESCRIPTOR_EXTENT(array,dim);
+ if (len < 0)
+ len = 0;
+ delta = GFC_DESCRIPTOR_STRIDE(array,dim);
+
+ for (n = 0; n < dim; n++)
+ {
+ sstride[n] = GFC_DESCRIPTOR_STRIDE(array,n);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
+
+ if (extent[n] < 0)
+ extent[n] = 0;
+ }
+ for (n = dim; n < rank; n++)
+ {
+ sstride[n] = GFC_DESCRIPTOR_STRIDE(array, n + 1);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array, n + 1);
+
+ if (extent[n] < 0)
+ extent[n] = 0;
+ }
+
+ if (retarray->data == NULL)
+ {
+ size_t alloc_size, str;
+
+ for (n = 0; n < rank; n++)
+ {
+ if (n == 0)
+ str = 1;
+ else
+ str = GFC_DESCRIPTOR_STRIDE(retarray,n-1) * extent[n-1];
+
+ GFC_DIMENSION_SET(retarray->dim[n], 0, extent[n] - 1, str);
+
+ }
+
+ retarray->offset = 0;
+ retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+
+ alloc_size = sizeof (GFC_LOGICAL_1) * GFC_DESCRIPTOR_STRIDE(retarray,rank-1)
+ * extent[rank-1];
+
+ if (alloc_size == 0)
+ {
+ /* Make sure we have a zero-sized array. */
+ GFC_DIMENSION_SET(retarray->dim[0], 0, -1, 1);
+ return;
+
+ }
+ else
+ retarray->data = internal_malloc_size (alloc_size);
+ }
+ else
+ {
+ if (rank != GFC_DESCRIPTOR_RANK (retarray))
+ runtime_error ("rank of return array incorrect in"
+ " PARITY intrinsic: is %ld, should be %ld",
+ (long int) (GFC_DESCRIPTOR_RANK (retarray)),
+ (long int) rank);
+
+ if (unlikely (compile_options.bounds_check))
+ bounds_ifunction_return ((array_t *) retarray, extent,
+ "return value", "PARITY");
+ }
+
+ for (n = 0; n < rank; n++)
+ {
+ count[n] = 0;
+ dstride[n] = GFC_DESCRIPTOR_STRIDE(retarray,n);
+ if (extent[n] <= 0)
+ len = 0;
+ }
+
+ base = array->data;
+ dest = retarray->data;
+
+ continue_loop = 1;
+ while (continue_loop)
+ {
+ const GFC_LOGICAL_1 * restrict src;
+ GFC_LOGICAL_1 result;
+ src = base;
+ {
+
+ result = 0;
+ if (len <= 0)
+ *dest = 0;
+ else
+ {
+ for (n = 0; n < len; n++, src += delta)
+ {
+
+ result = result != *src;
+ }
+
+ *dest = result;
+ }
+ }
+ /* Advance to the next element. */
+ count[0]++;
+ base += sstride[0];
+ dest += dstride[0];
+ n = 0;
+ while (count[n] == extent[n])
+ {
+ /* When we get to the end of a dimension, reset it and increment
+ the next dimension. */
+ count[n] = 0;
+ /* We could precalculate these products, but this is a less
+ frequently used path so probably not worth it. */
+ base -= sstride[n] * extent[n];
+ dest -= dstride[n] * extent[n];
+ n++;
+ if (n == rank)
+ {
+ /* Break out of the look. */
+ continue_loop = 0;
+ break;
+ }
+ else
+ {
+ count[n]++;
+ base += sstride[n];
+ dest += dstride[n];
+ }
+ }
+ }
+}
+
+#endif
diff --git a/libgfortran/generated/parity_l16.c b/libgfortran/generated/parity_l16.c
new file mode 100644
index 00000000000..45f4457161f
--- /dev/null
+++ b/libgfortran/generated/parity_l16.c
@@ -0,0 +1,191 @@
+/* Implementation of the NORM2 intrinsic
+ Copyright 2010 Free Software Foundation, Inc.
+ Contributed by Tobias Burnus <burnus@net-b.de>
+
+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"
+#include <stdlib.h>
+#include <math.h>
+#include <assert.h>
+
+
+#if defined (HAVE_GFC_LOGICAL_16) && defined (HAVE_GFC_LOGICAL_16)
+
+
+extern void parity_l16 (gfc_array_l16 * const restrict,
+ gfc_array_l16 * const restrict, const index_type * const restrict);
+export_proto(parity_l16);
+
+void
+parity_l16 (gfc_array_l16 * const restrict retarray,
+ gfc_array_l16 * const restrict array,
+ const index_type * const restrict pdim)
+{
+ index_type count[GFC_MAX_DIMENSIONS];
+ index_type extent[GFC_MAX_DIMENSIONS];
+ index_type sstride[GFC_MAX_DIMENSIONS];
+ index_type dstride[GFC_MAX_DIMENSIONS];
+ const GFC_LOGICAL_16 * restrict base;
+ GFC_LOGICAL_16 * restrict dest;
+ index_type rank;
+ index_type n;
+ index_type len;
+ index_type delta;
+ index_type dim;
+ int continue_loop;
+
+ /* Make dim zero based to avoid confusion. */
+ dim = (*pdim) - 1;
+ rank = GFC_DESCRIPTOR_RANK (array) - 1;
+
+ len = GFC_DESCRIPTOR_EXTENT(array,dim);
+ if (len < 0)
+ len = 0;
+ delta = GFC_DESCRIPTOR_STRIDE(array,dim);
+
+ for (n = 0; n < dim; n++)
+ {
+ sstride[n] = GFC_DESCRIPTOR_STRIDE(array,n);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
+
+ if (extent[n] < 0)
+ extent[n] = 0;
+ }
+ for (n = dim; n < rank; n++)
+ {
+ sstride[n] = GFC_DESCRIPTOR_STRIDE(array, n + 1);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array, n + 1);
+
+ if (extent[n] < 0)
+ extent[n] = 0;
+ }
+
+ if (retarray->data == NULL)
+ {
+ size_t alloc_size, str;
+
+ for (n = 0; n < rank; n++)
+ {
+ if (n == 0)
+ str = 1;
+ else
+ str = GFC_DESCRIPTOR_STRIDE(retarray,n-1) * extent[n-1];
+
+ GFC_DIMENSION_SET(retarray->dim[n], 0, extent[n] - 1, str);
+
+ }
+
+ retarray->offset = 0;
+ retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+
+ alloc_size = sizeof (GFC_LOGICAL_16) * GFC_DESCRIPTOR_STRIDE(retarray,rank-1)
+ * extent[rank-1];
+
+ if (alloc_size == 0)
+ {
+ /* Make sure we have a zero-sized array. */
+ GFC_DIMENSION_SET(retarray->dim[0], 0, -1, 1);
+ return;
+
+ }
+ else
+ retarray->data = internal_malloc_size (alloc_size);
+ }
+ else
+ {
+ if (rank != GFC_DESCRIPTOR_RANK (retarray))
+ runtime_error ("rank of return array incorrect in"
+ " PARITY intrinsic: is %ld, should be %ld",
+ (long int) (GFC_DESCRIPTOR_RANK (retarray)),
+ (long int) rank);
+
+ if (unlikely (compile_options.bounds_check))
+ bounds_ifunction_return ((array_t *) retarray, extent,
+ "return value", "PARITY");
+ }
+
+ for (n = 0; n < rank; n++)
+ {
+ count[n] = 0;
+ dstride[n] = GFC_DESCRIPTOR_STRIDE(retarray,n);
+ if (extent[n] <= 0)
+ len = 0;
+ }
+
+ base = array->data;
+ dest = retarray->data;
+
+ continue_loop = 1;
+ while (continue_loop)
+ {
+ const GFC_LOGICAL_16 * restrict src;
+ GFC_LOGICAL_16 result;
+ src = base;
+ {
+
+ result = 0;
+ if (len <= 0)
+ *dest = 0;
+ else
+ {
+ for (n = 0; n < len; n++, src += delta)
+ {
+
+ result = result != *src;
+ }
+
+ *dest = result;
+ }
+ }
+ /* Advance to the next element. */
+ count[0]++;
+ base += sstride[0];
+ dest += dstride[0];
+ n = 0;
+ while (count[n] == extent[n])
+ {
+ /* When we get to the end of a dimension, reset it and increment
+ the next dimension. */
+ count[n] = 0;
+ /* We could precalculate these products, but this is a less
+ frequently used path so probably not worth it. */
+ base -= sstride[n] * extent[n];
+ dest -= dstride[n] * extent[n];
+ n++;
+ if (n == rank)
+ {
+ /* Break out of the look. */
+ continue_loop = 0;
+ break;
+ }
+ else
+ {
+ count[n]++;
+ base += sstride[n];
+ dest += dstride[n];
+ }
+ }
+ }
+}
+
+#endif
diff --git a/libgfortran/generated/parity_l2.c b/libgfortran/generated/parity_l2.c
new file mode 100644
index 00000000000..13e77bd52e0
--- /dev/null
+++ b/libgfortran/generated/parity_l2.c
@@ -0,0 +1,191 @@
+/* Implementation of the NORM2 intrinsic
+ Copyright 2010 Free Software Foundation, Inc.
+ Contributed by Tobias Burnus <burnus@net-b.de>
+
+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"
+#include <stdlib.h>
+#include <math.h>
+#include <assert.h>
+
+
+#if defined (HAVE_GFC_LOGICAL_2) && defined (HAVE_GFC_LOGICAL_2)
+
+
+extern void parity_l2 (gfc_array_l2 * const restrict,
+ gfc_array_l2 * const restrict, const index_type * const restrict);
+export_proto(parity_l2);
+
+void
+parity_l2 (gfc_array_l2 * const restrict retarray,
+ gfc_array_l2 * const restrict array,
+ const index_type * const restrict pdim)
+{
+ index_type count[GFC_MAX_DIMENSIONS];
+ index_type extent[GFC_MAX_DIMENSIONS];
+ index_type sstride[GFC_MAX_DIMENSIONS];
+ index_type dstride[GFC_MAX_DIMENSIONS];
+ const GFC_LOGICAL_2 * restrict base;
+ GFC_LOGICAL_2 * restrict dest;
+ index_type rank;
+ index_type n;
+ index_type len;
+ index_type delta;
+ index_type dim;
+ int continue_loop;
+
+ /* Make dim zero based to avoid confusion. */
+ dim = (*pdim) - 1;
+ rank = GFC_DESCRIPTOR_RANK (array) - 1;
+
+ len = GFC_DESCRIPTOR_EXTENT(array,dim);
+ if (len < 0)
+ len = 0;
+ delta = GFC_DESCRIPTOR_STRIDE(array,dim);
+
+ for (n = 0; n < dim; n++)
+ {
+ sstride[n] = GFC_DESCRIPTOR_STRIDE(array,n);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
+
+ if (extent[n] < 0)
+ extent[n] = 0;
+ }
+ for (n = dim; n < rank; n++)
+ {
+ sstride[n] = GFC_DESCRIPTOR_STRIDE(array, n + 1);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array, n + 1);
+
+ if (extent[n] < 0)
+ extent[n] = 0;
+ }
+
+ if (retarray->data == NULL)
+ {
+ size_t alloc_size, str;
+
+ for (n = 0; n < rank; n++)
+ {
+ if (n == 0)
+ str = 1;
+ else
+ str = GFC_DESCRIPTOR_STRIDE(retarray,n-1) * extent[n-1];
+
+ GFC_DIMENSION_SET(retarray->dim[n], 0, extent[n] - 1, str);
+
+ }
+
+ retarray->offset = 0;
+ retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+
+ alloc_size = sizeof (GFC_LOGICAL_2) * GFC_DESCRIPTOR_STRIDE(retarray,rank-1)
+ * extent[rank-1];
+
+ if (alloc_size == 0)
+ {
+ /* Make sure we have a zero-sized array. */
+ GFC_DIMENSION_SET(retarray->dim[0], 0, -1, 1);
+ return;
+
+ }
+ else
+ retarray->data = internal_malloc_size (alloc_size);
+ }
+ else
+ {
+ if (rank != GFC_DESCRIPTOR_RANK (retarray))
+ runtime_error ("rank of return array incorrect in"
+ " PARITY intrinsic: is %ld, should be %ld",
+ (long int) (GFC_DESCRIPTOR_RANK (retarray)),
+ (long int) rank);
+
+ if (unlikely (compile_options.bounds_check))
+ bounds_ifunction_return ((array_t *) retarray, extent,
+ "return value", "PARITY");
+ }
+
+ for (n = 0; n < rank; n++)
+ {
+ count[n] = 0;
+ dstride[n] = GFC_DESCRIPTOR_STRIDE(retarray,n);
+ if (extent[n] <= 0)
+ len = 0;
+ }
+
+ base = array->data;
+ dest = retarray->data;
+
+ continue_loop = 1;
+ while (continue_loop)
+ {
+ const GFC_LOGICAL_2 * restrict src;
+ GFC_LOGICAL_2 result;
+ src = base;
+ {
+
+ result = 0;
+ if (len <= 0)
+ *dest = 0;
+ else
+ {
+ for (n = 0; n < len; n++, src += delta)
+ {
+
+ result = result != *src;
+ }
+
+ *dest = result;
+ }
+ }
+ /* Advance to the next element. */
+ count[0]++;
+ base += sstride[0];
+ dest += dstride[0];
+ n = 0;
+ while (count[n] == extent[n])
+ {
+ /* When we get to the end of a dimension, reset it and increment
+ the next dimension. */
+ count[n] = 0;
+ /* We could precalculate these products, but this is a less
+ frequently used path so probably not worth it. */
+ base -= sstride[n] * extent[n];
+ dest -= dstride[n] * extent[n];
+ n++;
+ if (n == rank)
+ {
+ /* Break out of the look. */
+ continue_loop = 0;
+ break;
+ }
+ else
+ {
+ count[n]++;
+ base += sstride[n];
+ dest += dstride[n];
+ }
+ }
+ }
+}
+
+#endif
diff --git a/libgfortran/generated/parity_l4.c b/libgfortran/generated/parity_l4.c
new file mode 100644
index 00000000000..5d7fbbef625
--- /dev/null
+++ b/libgfortran/generated/parity_l4.c
@@ -0,0 +1,191 @@
+/* Implementation of the NORM2 intrinsic
+ Copyright 2010 Free Software Foundation, Inc.
+ Contributed by Tobias Burnus <burnus@net-b.de>
+
+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"
+#include <stdlib.h>
+#include <math.h>
+#include <assert.h>
+
+
+#if defined (HAVE_GFC_LOGICAL_4) && defined (HAVE_GFC_LOGICAL_4)
+
+
+extern void parity_l4 (gfc_array_l4 * const restrict,
+ gfc_array_l4 * const restrict, const index_type * const restrict);
+export_proto(parity_l4);
+
+void
+parity_l4 (gfc_array_l4 * const restrict retarray,
+ gfc_array_l4 * const restrict array,
+ const index_type * const restrict pdim)
+{
+ index_type count[GFC_MAX_DIMENSIONS];
+ index_type extent[GFC_MAX_DIMENSIONS];
+ index_type sstride[GFC_MAX_DIMENSIONS];
+ index_type dstride[GFC_MAX_DIMENSIONS];
+ const GFC_LOGICAL_4 * restrict base;
+ GFC_LOGICAL_4 * restrict dest;
+ index_type rank;
+ index_type n;
+ index_type len;
+ index_type delta;
+ index_type dim;
+ int continue_loop;
+
+ /* Make dim zero based to avoid confusion. */
+ dim = (*pdim) - 1;
+ rank = GFC_DESCRIPTOR_RANK (array) - 1;
+
+ len = GFC_DESCRIPTOR_EXTENT(array,dim);
+ if (len < 0)
+ len = 0;
+ delta = GFC_DESCRIPTOR_STRIDE(array,dim);
+
+ for (n = 0; n < dim; n++)
+ {
+ sstride[n] = GFC_DESCRIPTOR_STRIDE(array,n);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
+
+ if (extent[n] < 0)
+ extent[n] = 0;
+ }
+ for (n = dim; n < rank; n++)
+ {
+ sstride[n] = GFC_DESCRIPTOR_STRIDE(array, n + 1);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array, n + 1);
+
+ if (extent[n] < 0)
+ extent[n] = 0;
+ }
+
+ if (retarray->data == NULL)
+ {
+ size_t alloc_size, str;
+
+ for (n = 0; n < rank; n++)
+ {
+ if (n == 0)
+ str = 1;
+ else
+ str = GFC_DESCRIPTOR_STRIDE(retarray,n-1) * extent[n-1];
+
+ GFC_DIMENSION_SET(retarray->dim[n], 0, extent[n] - 1, str);
+
+ }
+
+ retarray->offset = 0;
+ retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+
+ alloc_size = sizeof (GFC_LOGICAL_4) * GFC_DESCRIPTOR_STRIDE(retarray,rank-1)
+ * extent[rank-1];
+
+ if (alloc_size == 0)
+ {
+ /* Make sure we have a zero-sized array. */
+ GFC_DIMENSION_SET(retarray->dim[0], 0, -1, 1);
+ return;
+
+ }
+ else
+ retarray->data = internal_malloc_size (alloc_size);
+ }
+ else
+ {
+ if (rank != GFC_DESCRIPTOR_RANK (retarray))
+ runtime_error ("rank of return array incorrect in"
+ " PARITY intrinsic: is %ld, should be %ld",
+ (long int) (GFC_DESCRIPTOR_RANK (retarray)),
+ (long int) rank);
+
+ if (unlikely (compile_options.bounds_check))
+ bounds_ifunction_return ((array_t *) retarray, extent,
+ "return value", "PARITY");
+ }
+
+ for (n = 0; n < rank; n++)
+ {
+ count[n] = 0;
+ dstride[n] = GFC_DESCRIPTOR_STRIDE(retarray,n);
+ if (extent[n] <= 0)
+ len = 0;
+ }
+
+ base = array->data;
+ dest = retarray->data;
+
+ continue_loop = 1;
+ while (continue_loop)
+ {
+ const GFC_LOGICAL_4 * restrict src;
+ GFC_LOGICAL_4 result;
+ src = base;
+ {
+
+ result = 0;
+ if (len <= 0)
+ *dest = 0;
+ else
+ {
+ for (n = 0; n < len; n++, src += delta)
+ {
+
+ result = result != *src;
+ }
+
+ *dest = result;
+ }
+ }
+ /* Advance to the next element. */
+ count[0]++;
+ base += sstride[0];
+ dest += dstride[0];
+ n = 0;
+ while (count[n] == extent[n])
+ {
+ /* When we get to the end of a dimension, reset it and increment
+ the next dimension. */
+ count[n] = 0;
+ /* We could precalculate these products, but this is a less
+ frequently used path so probably not worth it. */
+ base -= sstride[n] * extent[n];
+ dest -= dstride[n] * extent[n];
+ n++;
+ if (n == rank)
+ {
+ /* Break out of the look. */
+ continue_loop = 0;
+ break;
+ }
+ else
+ {
+ count[n]++;
+ base += sstride[n];
+ dest += dstride[n];
+ }
+ }
+ }
+}
+
+#endif
diff --git a/libgfortran/generated/parity_l8.c b/libgfortran/generated/parity_l8.c
new file mode 100644
index 00000000000..1d9ba82e091
--- /dev/null
+++ b/libgfortran/generated/parity_l8.c
@@ -0,0 +1,191 @@
+/* Implementation of the NORM2 intrinsic
+ Copyright 2010 Free Software Foundation, Inc.
+ Contributed by Tobias Burnus <burnus@net-b.de>
+
+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"
+#include <stdlib.h>
+#include <math.h>
+#include <assert.h>
+
+
+#if defined (HAVE_GFC_LOGICAL_8) && defined (HAVE_GFC_LOGICAL_8)
+
+
+extern void parity_l8 (gfc_array_l8 * const restrict,
+ gfc_array_l8 * const restrict, const index_type * const restrict);
+export_proto(parity_l8);
+
+void
+parity_l8 (gfc_array_l8 * const restrict retarray,
+ gfc_array_l8 * const restrict array,
+ const index_type * const restrict pdim)
+{
+ index_type count[GFC_MAX_DIMENSIONS];
+ index_type extent[GFC_MAX_DIMENSIONS];
+ index_type sstride[GFC_MAX_DIMENSIONS];
+ index_type dstride[GFC_MAX_DIMENSIONS];
+ const GFC_LOGICAL_8 * restrict base;
+ GFC_LOGICAL_8 * restrict dest;
+ index_type rank;
+ index_type n;
+ index_type len;
+ index_type delta;
+ index_type dim;
+ int continue_loop;
+
+ /* Make dim zero based to avoid confusion. */
+ dim = (*pdim) - 1;
+ rank = GFC_DESCRIPTOR_RANK (array) - 1;
+
+ len = GFC_DESCRIPTOR_EXTENT(array,dim);
+ if (len < 0)
+ len = 0;
+ delta = GFC_DESCRIPTOR_STRIDE(array,dim);
+
+ for (n = 0; n < dim; n++)
+ {
+ sstride[n] = GFC_DESCRIPTOR_STRIDE(array,n);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
+
+ if (extent[n] < 0)
+ extent[n] = 0;
+ }
+ for (n = dim; n < rank; n++)
+ {
+ sstride[n] = GFC_DESCRIPTOR_STRIDE(array, n + 1);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array, n + 1);
+
+ if (extent[n] < 0)
+ extent[n] = 0;
+ }
+
+ if (retarray->data == NULL)
+ {
+ size_t alloc_size, str;
+
+ for (n = 0; n < rank; n++)
+ {
+ if (n == 0)
+ str = 1;
+ else
+ str = GFC_DESCRIPTOR_STRIDE(retarray,n-1) * extent[n-1];
+
+ GFC_DIMENSION_SET(retarray->dim[n], 0, extent[n] - 1, str);
+
+ }
+
+ retarray->offset = 0;
+ retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
+
+ alloc_size = sizeof (GFC_LOGICAL_8) * GFC_DESCRIPTOR_STRIDE(retarray,rank-1)
+ * extent[rank-1];
+
+ if (alloc_size == 0)
+ {
+ /* Make sure we have a zero-sized array. */
+ GFC_DIMENSION_SET(retarray->dim[0], 0, -1, 1);
+ return;
+
+ }
+ else
+ retarray->data = internal_malloc_size (alloc_size);
+ }
+ else
+ {
+ if (rank != GFC_DESCRIPTOR_RANK (retarray))
+ runtime_error ("rank of return array incorrect in"
+ " PARITY intrinsic: is %ld, should be %ld",
+ (long int) (GFC_DESCRIPTOR_RANK (retarray)),
+ (long int) rank);
+
+ if (unlikely (compile_options.bounds_check))
+ bounds_ifunction_return ((array_t *) retarray, extent,
+ "return value", "PARITY");
+ }
+
+ for (n = 0; n < rank; n++)
+ {
+ count[n] = 0;
+ dstride[n] = GFC_DESCRIPTOR_STRIDE(retarray,n);
+ if (extent[n] <= 0)
+ len = 0;
+ }
+
+ base = array->data;
+ dest = retarray->data;
+
+ continue_loop = 1;
+ while (continue_loop)
+ {
+ const GFC_LOGICAL_8 * restrict src;
+ GFC_LOGICAL_8 result;
+ src = base;
+ {
+
+ result = 0;
+ if (len <= 0)
+ *dest = 0;
+ else
+ {
+ for (n = 0; n < len; n++, src += delta)
+ {
+
+ result = result != *src;
+ }
+
+ *dest = result;
+ }
+ }
+ /* Advance to the next element. */
+ count[0]++;
+ base += sstride[0];
+ dest += dstride[0];
+ n = 0;
+ while (count[n] == extent[n])
+ {
+ /* When we get to the end of a dimension, reset it and increment
+ the next dimension. */
+ count[n] = 0;
+ /* We could precalculate these products, but this is a less
+ frequently used path so probably not worth it. */
+ base -= sstride[n] * extent[n];
+ dest -= dstride[n] * extent[n];
+ n++;
+ if (n == rank)
+ {
+ /* Break out of the look. */
+ continue_loop = 0;
+ break;
+ }
+ else
+ {
+ count[n]++;
+ base += sstride[n];
+ dest += dstride[n];
+ }
+ }
+ }
+}
+
+#endif
diff --git a/libgfortran/generated/product_c10.c b/libgfortran/generated/product_c10.c
index ee1da3cb90b..125c44d1e0e 100644
--- a/libgfortran/generated/product_c10.c
+++ b/libgfortran/generated/product_c10.c
@@ -1,8 +1,8 @@
/* Implementation of the PRODUCT intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -152,6 +152,7 @@ product_c10 (gfc_array_c10 * const restrict retarray,
result *= *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/product_c16.c b/libgfortran/generated/product_c16.c
index eeeeb66448b..6a64e656209 100644
--- a/libgfortran/generated/product_c16.c
+++ b/libgfortran/generated/product_c16.c
@@ -1,8 +1,8 @@
/* Implementation of the PRODUCT intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -152,6 +152,7 @@ product_c16 (gfc_array_c16 * const restrict retarray,
result *= *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/product_c4.c b/libgfortran/generated/product_c4.c
index 1a44948b8f0..9c092eb4670 100644
--- a/libgfortran/generated/product_c4.c
+++ b/libgfortran/generated/product_c4.c
@@ -1,8 +1,8 @@
/* Implementation of the PRODUCT intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -152,6 +152,7 @@ product_c4 (gfc_array_c4 * const restrict retarray,
result *= *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/product_c8.c b/libgfortran/generated/product_c8.c
index ad3f11155f0..a6b3c3db12b 100644
--- a/libgfortran/generated/product_c8.c
+++ b/libgfortran/generated/product_c8.c
@@ -1,8 +1,8 @@
/* Implementation of the PRODUCT intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -152,6 +152,7 @@ product_c8 (gfc_array_c8 * const restrict retarray,
result *= *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/product_i1.c b/libgfortran/generated/product_i1.c
index 202d0cb4f73..96c4f9c45d6 100644
--- a/libgfortran/generated/product_i1.c
+++ b/libgfortran/generated/product_i1.c
@@ -1,8 +1,8 @@
/* Implementation of the PRODUCT intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -152,6 +152,7 @@ product_i1 (gfc_array_i1 * const restrict retarray,
result *= *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/product_i16.c b/libgfortran/generated/product_i16.c
index 5e471863e83..bae7554a75b 100644
--- a/libgfortran/generated/product_i16.c
+++ b/libgfortran/generated/product_i16.c
@@ -1,8 +1,8 @@
/* Implementation of the PRODUCT intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -152,6 +152,7 @@ product_i16 (gfc_array_i16 * const restrict retarray,
result *= *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/product_i2.c b/libgfortran/generated/product_i2.c
index c5bfc293e55..5546f59e389 100644
--- a/libgfortran/generated/product_i2.c
+++ b/libgfortran/generated/product_i2.c
@@ -1,8 +1,8 @@
/* Implementation of the PRODUCT intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -152,6 +152,7 @@ product_i2 (gfc_array_i2 * const restrict retarray,
result *= *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/product_i4.c b/libgfortran/generated/product_i4.c
index 03414453140..acb2f9780dc 100644
--- a/libgfortran/generated/product_i4.c
+++ b/libgfortran/generated/product_i4.c
@@ -1,8 +1,8 @@
/* Implementation of the PRODUCT intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -152,6 +152,7 @@ product_i4 (gfc_array_i4 * const restrict retarray,
result *= *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/product_i8.c b/libgfortran/generated/product_i8.c
index d0bfb858c1c..bb2e63147fa 100644
--- a/libgfortran/generated/product_i8.c
+++ b/libgfortran/generated/product_i8.c
@@ -1,8 +1,8 @@
/* Implementation of the PRODUCT intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -152,6 +152,7 @@ product_i8 (gfc_array_i8 * const restrict retarray,
result *= *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/product_r10.c b/libgfortran/generated/product_r10.c
index 694cc86dacc..ae86e720497 100644
--- a/libgfortran/generated/product_r10.c
+++ b/libgfortran/generated/product_r10.c
@@ -1,8 +1,8 @@
/* Implementation of the PRODUCT intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -152,6 +152,7 @@ product_r10 (gfc_array_r10 * const restrict retarray,
result *= *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/product_r16.c b/libgfortran/generated/product_r16.c
index dcad0eda649..71bc8cc0fdb 100644
--- a/libgfortran/generated/product_r16.c
+++ b/libgfortran/generated/product_r16.c
@@ -1,8 +1,8 @@
/* Implementation of the PRODUCT intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -152,6 +152,7 @@ product_r16 (gfc_array_r16 * const restrict retarray,
result *= *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/product_r4.c b/libgfortran/generated/product_r4.c
index 26fad0ddb0e..142b7c3ddf8 100644
--- a/libgfortran/generated/product_r4.c
+++ b/libgfortran/generated/product_r4.c
@@ -1,8 +1,8 @@
/* Implementation of the PRODUCT intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -152,6 +152,7 @@ product_r4 (gfc_array_r4 * const restrict retarray,
result *= *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/product_r8.c b/libgfortran/generated/product_r8.c
index 06ee57d1f18..8e50e01d2af 100644
--- a/libgfortran/generated/product_r8.c
+++ b/libgfortran/generated/product_r8.c
@@ -1,8 +1,8 @@
/* Implementation of the PRODUCT intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -152,6 +152,7 @@ product_r8 (gfc_array_r8 * const restrict retarray,
result *= *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/sum_c10.c b/libgfortran/generated/sum_c10.c
index 4008607ea69..f254190d4c0 100644
--- a/libgfortran/generated/sum_c10.c
+++ b/libgfortran/generated/sum_c10.c
@@ -152,6 +152,7 @@ sum_c10 (gfc_array_c10 * const restrict retarray,
result += *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/sum_c16.c b/libgfortran/generated/sum_c16.c
index 426eb108866..5505647ff1f 100644
--- a/libgfortran/generated/sum_c16.c
+++ b/libgfortran/generated/sum_c16.c
@@ -152,6 +152,7 @@ sum_c16 (gfc_array_c16 * const restrict retarray,
result += *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/sum_c4.c b/libgfortran/generated/sum_c4.c
index 1991a3e817b..99a6e35207c 100644
--- a/libgfortran/generated/sum_c4.c
+++ b/libgfortran/generated/sum_c4.c
@@ -152,6 +152,7 @@ sum_c4 (gfc_array_c4 * const restrict retarray,
result += *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/sum_c8.c b/libgfortran/generated/sum_c8.c
index 3272bbc4953..505050761da 100644
--- a/libgfortran/generated/sum_c8.c
+++ b/libgfortran/generated/sum_c8.c
@@ -152,6 +152,7 @@ sum_c8 (gfc_array_c8 * const restrict retarray,
result += *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/sum_i1.c b/libgfortran/generated/sum_i1.c
index df8338d3b87..d839b0fee68 100644
--- a/libgfortran/generated/sum_i1.c
+++ b/libgfortran/generated/sum_i1.c
@@ -152,6 +152,7 @@ sum_i1 (gfc_array_i1 * const restrict retarray,
result += *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/sum_i16.c b/libgfortran/generated/sum_i16.c
index 50ff8aba70a..d02a1714695 100644
--- a/libgfortran/generated/sum_i16.c
+++ b/libgfortran/generated/sum_i16.c
@@ -152,6 +152,7 @@ sum_i16 (gfc_array_i16 * const restrict retarray,
result += *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/sum_i2.c b/libgfortran/generated/sum_i2.c
index 3fb848f2c47..d5b16dd01a9 100644
--- a/libgfortran/generated/sum_i2.c
+++ b/libgfortran/generated/sum_i2.c
@@ -152,6 +152,7 @@ sum_i2 (gfc_array_i2 * const restrict retarray,
result += *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/sum_i4.c b/libgfortran/generated/sum_i4.c
index 7ad317c4846..db0ad0e4a63 100644
--- a/libgfortran/generated/sum_i4.c
+++ b/libgfortran/generated/sum_i4.c
@@ -152,6 +152,7 @@ sum_i4 (gfc_array_i4 * const restrict retarray,
result += *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/sum_i8.c b/libgfortran/generated/sum_i8.c
index 050e596de8a..f872bd4dc3a 100644
--- a/libgfortran/generated/sum_i8.c
+++ b/libgfortran/generated/sum_i8.c
@@ -152,6 +152,7 @@ sum_i8 (gfc_array_i8 * const restrict retarray,
result += *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/sum_r10.c b/libgfortran/generated/sum_r10.c
index 333dbb4404c..a1bf9facf54 100644
--- a/libgfortran/generated/sum_r10.c
+++ b/libgfortran/generated/sum_r10.c
@@ -152,6 +152,7 @@ sum_r10 (gfc_array_r10 * const restrict retarray,
result += *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/sum_r16.c b/libgfortran/generated/sum_r16.c
index a765758559d..d38170230ef 100644
--- a/libgfortran/generated/sum_r16.c
+++ b/libgfortran/generated/sum_r16.c
@@ -152,6 +152,7 @@ sum_r16 (gfc_array_r16 * const restrict retarray,
result += *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/sum_r4.c b/libgfortran/generated/sum_r4.c
index 235195aa885..53787f959df 100644
--- a/libgfortran/generated/sum_r4.c
+++ b/libgfortran/generated/sum_r4.c
@@ -152,6 +152,7 @@ sum_r4 (gfc_array_r4 * const restrict retarray,
result += *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/generated/sum_r8.c b/libgfortran/generated/sum_r8.c
index d5c5bbbcac7..c4ab3ca8adf 100644
--- a/libgfortran/generated/sum_r8.c
+++ b/libgfortran/generated/sum_r8.c
@@ -152,6 +152,7 @@ sum_r8 (gfc_array_r8 * const restrict retarray,
result += *src;
}
+
*dest = result;
}
}
diff --git a/libgfortran/gfortran.map b/libgfortran/gfortran.map
index 8c0978d3eb3..f33167b1a30 100644
--- a/libgfortran/gfortran.map
+++ b/libgfortran/gfortran.map
@@ -1115,6 +1115,15 @@ GFORTRAN_1.4 {
_gfortran_bessel_yn_r8;
_gfortran_bessel_yn_r10;
_gfortran_bessel_yn_r16;
+ _gfortran_norm2_r4;
+ _gfortran_norm2_r8;
+ _gfortran_norm2_r10;
+ _gfortran_norm2_r16;
+ _gfortran_parity_l1;
+ _gfortran_parity_l2;
+ _gfortran_parity_l4;
+ _gfortran_parity_l8;
+ _gfortran_parity_l16;
} GFORTRAN_1.3;
F2C_1.0 {
diff --git a/libgfortran/m4/all.m4 b/libgfortran/m4/all.m4
index 4dc4d1dc2a1..cc174207817 100644
--- a/libgfortran/m4/all.m4
+++ b/libgfortran/m4/all.m4
@@ -1,8 +1,8 @@
`/* Implementation of the ALL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -39,6 +39,6 @@ ARRAY_FUNCTION(1,
{
result = 0;
break;
- }')`
+ }', `')`
#endif'
diff --git a/libgfortran/m4/any.m4 b/libgfortran/m4/any.m4
index e2a22705faf..81ec31046f5 100644
--- a/libgfortran/m4/any.m4
+++ b/libgfortran/m4/any.m4
@@ -1,8 +1,8 @@
`/* Implementation of the ANY intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -39,6 +39,6 @@ ARRAY_FUNCTION(0,
{
result = 1;
break;
- }')`
+ }', `')`
#endif'
diff --git a/libgfortran/m4/count.m4 b/libgfortran/m4/count.m4
index 5a669954c50..5998c20e685 100644
--- a/libgfortran/m4/count.m4
+++ b/libgfortran/m4/count.m4
@@ -1,8 +1,8 @@
`/* Implementation of the COUNT intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -35,6 +35,6 @@ include(ifunction_logical.m4)dnl
ARRAY_FUNCTION(0,
` result = 0;',
` if (*src)
- result++;')`
+ result++;', `')`
#endif'
diff --git a/libgfortran/m4/ifunction.m4 b/libgfortran/m4/ifunction.m4
index 6c34eb9d7ae..3d425e0108e 100644
--- a/libgfortran/m4/ifunction.m4
+++ b/libgfortran/m4/ifunction.m4
@@ -1,6 +1,6 @@
dnl Support macro file for intrinsic functions.
dnl Contains the generic sections of the array functions.
-dnl This file is part of the GNU Fortran 95 Runtime Library (libgfortran)
+dnl This file is part of the GNU Fortran Runtime Library (libgfortran)
dnl Distributed under the GNU GPL with exception. See COPYING for details.
dnl
dnl Pass the implementation for a single section as the parameter to
@@ -140,6 +140,7 @@ define(START_ARRAY_BLOCK,
')dnl
define(FINISH_ARRAY_FUNCTION,
` }
+ '$1`
*dest = result;
}
}
@@ -496,7 +497,7 @@ define(ARRAY_FUNCTION,
$2
START_ARRAY_BLOCK($1)
$3
-FINISH_ARRAY_FUNCTION')dnl
+FINISH_ARRAY_FUNCTION($4)')dnl
define(MASKED_ARRAY_FUNCTION,
`START_MASKED_ARRAY_FUNCTION
$2
diff --git a/libgfortran/m4/maxloc1.m4 b/libgfortran/m4/maxloc1.m4
index 84b5a35c5c4..44872ee61a0 100644
--- a/libgfortran/m4/maxloc1.m4
+++ b/libgfortran/m4/maxloc1.m4
@@ -1,8 +1,8 @@
`/* Implementation of the MAXLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -56,7 +56,7 @@ ARRAY_FUNCTION(0,
{
maxval = *src;
result = (rtype_name)n + 1;
- }')
+ }', `')
MASKED_ARRAY_FUNCTION(0,
` atype_name maxval;
diff --git a/libgfortran/m4/maxval.m4 b/libgfortran/m4/maxval.m4
index 7557eb130a1..15390688056 100644
--- a/libgfortran/m4/maxval.m4
+++ b/libgfortran/m4/maxval.m4
@@ -1,8 +1,8 @@
`/* Implementation of the MAXVAL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -48,7 +48,7 @@ ARRAY_FUNCTION(atype_min,
{
#endif
if (*src > result)
- result = *src;')
+ result = *src;', `')
MASKED_ARRAY_FUNCTION(atype_min,
`#if defined ('atype_inf`)
diff --git a/libgfortran/m4/minloc1.m4 b/libgfortran/m4/minloc1.m4
index 6fa5e69ccc7..e0bd3cd88ce 100644
--- a/libgfortran/m4/minloc1.m4
+++ b/libgfortran/m4/minloc1.m4
@@ -1,8 +1,8 @@
`/* Implementation of the MINLOC intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -94,7 +94,7 @@ MASKED_ARRAY_FUNCTION(0,
{
minval = *src;
result = (rtype_name)n + 1;
- }')
+ }', `')
SCALAR_ARRAY_FUNCTION(0)
diff --git a/libgfortran/m4/minval.m4 b/libgfortran/m4/minval.m4
index 3acae2eaa88..037dd672595 100644
--- a/libgfortran/m4/minval.m4
+++ b/libgfortran/m4/minval.m4
@@ -1,8 +1,8 @@
`/* Implementation of the MINVAL intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -81,7 +81,7 @@ MASKED_ARRAY_FUNCTION(atype_max,
{
#endif
if (*msrc && *src < result)
- result = *src;')
+ result = *src;', `')
SCALAR_ARRAY_FUNCTION(atype_max)
diff --git a/libgfortran/m4/norm2.m4 b/libgfortran/m4/norm2.m4
new file mode 100644
index 00000000000..e1d6b972df4
--- /dev/null
+++ b/libgfortran/m4/norm2.m4
@@ -0,0 +1,59 @@
+`/* Implementation of the NORM2 intrinsic
+ Copyright 2010 Free Software Foundation, Inc.
+ Contributed by Tobias Burnus <burnus@net-b.de>
+
+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"
+#include <stdlib.h>
+#include <math.h>
+#include <assert.h>'
+
+include(iparm.m4)dnl
+include(ifunction.m4)dnl
+include(`mtype.m4')dnl
+
+`#if defined (HAVE_'atype_name`) && defined (HAVE_'rtype_name`)'
+
+ARRAY_FUNCTION(`0.0'Q,
+` 'rtype_name` scale;
+ result = 0.0'Q`;
+ scale = 1.0'Q`;',
+` if (*src != 0.0'Q`)
+ {
+ 'rtype_name` absX, val;
+ absX = fabs'q` (*src);
+ if (scale < absX)
+ {
+ val = scale / absX;
+ result = 1.0'Q` + result * val * val;
+ scale = absX;
+ }
+ else
+ {
+ val = absX / scale;
+ result += val * val;
+ }
+ }',
+` result = scale * sqrt'q` (result);')
+
+#endif
diff --git a/libgfortran/m4/parity.m4 b/libgfortran/m4/parity.m4
new file mode 100644
index 00000000000..037e96db913
--- /dev/null
+++ b/libgfortran/m4/parity.m4
@@ -0,0 +1,40 @@
+`/* Implementation of the NORM2 intrinsic
+ Copyright 2010 Free Software Foundation, Inc.
+ Contributed by Tobias Burnus <burnus@net-b.de>
+
+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"
+#include <stdlib.h>
+#include <math.h>
+#include <assert.h>'
+
+include(iparm.m4)dnl
+include(ifunction.m4)dnl
+
+`#if defined (HAVE_'atype_name`) && defined (HAVE_'rtype_name`)'
+
+ARRAY_FUNCTION(0,
+` result = 0;',
+` result = result != *src;', `')
+
+#endif
diff --git a/libgfortran/m4/product.m4 b/libgfortran/m4/product.m4
index 669b106e0c2..6f6f2c01184 100644
--- a/libgfortran/m4/product.m4
+++ b/libgfortran/m4/product.m4
@@ -1,8 +1,8 @@
`/* Implementation of the PRODUCT intrinsic
- Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
+ Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-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
@@ -34,7 +34,7 @@ include(ifunction.m4)dnl
ARRAY_FUNCTION(1,
` result = 1;',
-` result *= *src;')
+` result *= *src;', `')
MASKED_ARRAY_FUNCTION(1,
` result = 1;',
OpenPOWER on IntegriCloud