summaryrefslogtreecommitdiff
path: root/libgfortran/generated
diff options
context:
space:
mode:
Diffstat (limited to 'libgfortran/generated')
-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
122 files changed, 2085 insertions, 200 deletions
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;
}
}