diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2017-11-22 18:08:07 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2017-11-22 18:08:07 +0000 |
commit | ddc9995b13d71d00b97cb2c4c7d5e9ef1dcbe5ea (patch) | |
tree | a56711799c15dbdca3426f951fa31ef645b06e75 /libgfortran/gfortran.map | |
parent | 824a2b3d8cb18e80ed11231ed57b4bf67134fcd0 (diff) | |
download | gcc-ddc9995b13d71d00b97cb2c4c7d5e9ef1dcbe5ea.zip gcc-ddc9995b13d71d00b97cb2c4c7d5e9ef1dcbe5ea.tar.gz gcc-ddc9995b13d71d00b97cb2c4c7d5e9ef1dcbe5ea.tar.bz2 |
re PR fortran/36313 ([F03] {MIN,MAX}{LOC,VAL} should accept character arguments)
2017-11-22 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/36313
* Makefile.am: Add i_maxloc0s_c, i_maxloc1s_c, i_maxloc2s_c,
i_minloc0s_c, i_minloc1s_c and i_minloc2s_c.
* Makefile.in: Regenerated.
* generated/maxloc0_16_s1.c: New file.
* generated/maxloc0_16_s4.c: New file.
* generated/maxloc0_4_s1.c: New file.
* generated/maxloc0_4_s4.c: New file.
* generated/maxloc0_8_s1.c: New file.
* generated/maxloc0_8_s4.c: New file.
* generated/maxloc1_16_s1.c: New file.
* generated/maxloc1_16_s4.c: New file.
* generated/maxloc1_4_s1.c: New file.
* generated/maxloc1_4_s4.c: New file.
* generated/maxloc1_8_s1.c: New file.
* generated/maxloc1_8_s4.c: New file.
* generated/maxloc2_16_s1.c: New file.
* generated/maxloc2_16_s4.c: New file.
* generated/maxloc2_4_s1.c: New file.
* generated/maxloc2_4_s4.c: New file.
* generated/maxloc2_8_s1.c: New file.
* generated/maxloc2_8_s4.c: New file.
* generated/minloc0_16_s1.c: New file.
* generated/minloc0_16_s4.c: New file.
* generated/minloc0_4_s1.c: New file.
* generated/minloc0_4_s4.c: New file.
* generated/minloc0_8_s1.c: New file.
* generated/minloc0_8_s4.c: New file.
* generated/minloc1_16_s1.c: New file.
* generated/minloc1_16_s4.c: New file.
* generated/minloc1_4_s1.c: New file.
* generated/minloc1_4_s4.c: New file.
* generated/minloc1_8_s1.c: New file.
* generated/minloc1_8_s4.c: New file.
* generated/minloc2_16_s1.c: New file.
* generated/minloc2_16_s4.c: New file.
* generated/minloc2_4_s1.c: New file.
* generated/minloc2_4_s4.c: New file.
* generated/minloc2_8_s1.c: New file.
* generated/minloc2_8_s4.c: New file.
* m4/iforeach-s.m4: New file.
* m4/ifunction-s.m4: New file.
* m4/maxloc0s.m4: New file.
* m4/maxloc1s.m4: New file.
* m4/maxloc2s.m4: New file.
* m4/minloc0s.m4: New file.
* m4/minloc1s.m4: New file.
* m4/minloc2s.m4: New file.
* gfortran.map: Add new functions.
* libgfortran.h: Add gfc_array_s1 and gfc_array_s4.
2017-11-22 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/36313
* check.c (int_or_real_or_char_check_f2003): New function.
* iresolve.c (gfc_resolve_maxloc): Add number "2" for
character arguments and rank-zero return value.
(gfc_resolve_minloc): Likewise.
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Handle case of
character arguments and rank-zero return value by removing
unneeded arguments and calling the library function.
2017-11-22 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/36313
* gfortran.dg/maxloc_string_1.f90: New test.
* gfortran.dg/minloc_string_1.f90: New test.
From-SVN: r255070
Diffstat (limited to 'libgfortran/gfortran.map')
-rw-r--r-- | libgfortran/gfortran.map | 114 |
1 files changed, 111 insertions, 3 deletions
diff --git a/libgfortran/gfortran.map b/libgfortran/gfortran.map index 460bfe4..4f8b4f3 100644 --- a/libgfortran/gfortran.map +++ b/libgfortran/gfortran.map @@ -1,4 +1,4 @@ -GFORTRAN_7 { +GFORTRAN_8 { global: __ieee_arithmetic_MOD_ieee_class_10; __ieee_arithmetic_MOD_ieee_class_16; @@ -357,6 +357,8 @@ GFORTRAN_7 { _gfortran_maxloc0_16_r16; _gfortran_maxloc0_16_r4; _gfortran_maxloc0_16_r8; + _gfortran_maxloc0_16_s1; + _gfortran_maxloc0_16_s4; _gfortran_maxloc0_4_i16; _gfortran_maxloc0_4_i1; _gfortran_maxloc0_4_i2; @@ -366,6 +368,8 @@ GFORTRAN_7 { _gfortran_maxloc0_4_r16; _gfortran_maxloc0_4_r4; _gfortran_maxloc0_4_r8; + _gfortran_maxloc0_4_s1; + _gfortran_maxloc0_4_s4; _gfortran_maxloc0_8_i16; _gfortran_maxloc0_8_i1; _gfortran_maxloc0_8_i2; @@ -375,6 +379,8 @@ GFORTRAN_7 { _gfortran_maxloc0_8_r16; _gfortran_maxloc0_8_r4; _gfortran_maxloc0_8_r8; + _gfortran_maxloc0_8_s1; + _gfortran_maxloc0_8_s4; _gfortran_maxloc1_16_i16; _gfortran_maxloc1_16_i1; _gfortran_maxloc1_16_i2; @@ -384,6 +390,8 @@ GFORTRAN_7 { _gfortran_maxloc1_16_r16; _gfortran_maxloc1_16_r4; _gfortran_maxloc1_16_r8; + _gfortran_maxloc1_16_s1; + _gfortran_maxloc1_16_s4; _gfortran_maxloc1_4_i16; _gfortran_maxloc1_4_i1; _gfortran_maxloc1_4_i2; @@ -393,6 +401,8 @@ GFORTRAN_7 { _gfortran_maxloc1_4_r16; _gfortran_maxloc1_4_r4; _gfortran_maxloc1_4_r8; + _gfortran_maxloc1_4_s1; + _gfortran_maxloc1_4_s4; _gfortran_maxloc1_8_i16; _gfortran_maxloc1_8_i1; _gfortran_maxloc1_8_i2; @@ -402,6 +412,14 @@ GFORTRAN_7 { _gfortran_maxloc1_8_r16; _gfortran_maxloc1_8_r4; _gfortran_maxloc1_8_r8; + _gfortran_maxloc1_8_s1; + _gfortran_maxloc1_8_s4; + _gfortran_maxloc2_16_s1; + _gfortran_maxloc2_16_s4; + _gfortran_maxloc2_4_s1; + _gfortran_maxloc2_4_s4; + _gfortran_maxloc2_8_s1; + _gfortran_maxloc2_8_s4; _gfortran_maxval_i16; _gfortran_maxval_i1; _gfortran_maxval_i2; @@ -432,6 +450,8 @@ GFORTRAN_7 { _gfortran_minloc0_16_r16; _gfortran_minloc0_16_r4; _gfortran_minloc0_16_r8; + _gfortran_minloc0_16_s1; + _gfortran_minloc0_16_s4; _gfortran_minloc0_4_i16; _gfortran_minloc0_4_i1; _gfortran_minloc0_4_i2; @@ -441,6 +461,8 @@ GFORTRAN_7 { _gfortran_minloc0_4_r16; _gfortran_minloc0_4_r4; _gfortran_minloc0_4_r8; + _gfortran_minloc0_4_s1; + _gfortran_minloc0_4_s4; _gfortran_minloc0_8_i16; _gfortran_minloc0_8_i1; _gfortran_minloc0_8_i2; @@ -450,6 +472,8 @@ GFORTRAN_7 { _gfortran_minloc0_8_r16; _gfortran_minloc0_8_r4; _gfortran_minloc0_8_r8; + _gfortran_minloc0_8_s1; + _gfortran_minloc0_8_s4; _gfortran_minloc1_16_i16; _gfortran_minloc1_16_i1; _gfortran_minloc1_16_i2; @@ -459,6 +483,8 @@ GFORTRAN_7 { _gfortran_minloc1_16_r16; _gfortran_minloc1_16_r4; _gfortran_minloc1_16_r8; + _gfortran_minloc1_16_s1; + _gfortran_minloc1_16_s4; _gfortran_minloc1_4_i16; _gfortran_minloc1_4_i1; _gfortran_minloc1_4_i2; @@ -468,6 +494,8 @@ GFORTRAN_7 { _gfortran_minloc1_4_r16; _gfortran_minloc1_4_r4; _gfortran_minloc1_4_r8; + _gfortran_minloc1_4_s1; + _gfortran_minloc1_4_s4; _gfortran_minloc1_8_i16; _gfortran_minloc1_8_i1; _gfortran_minloc1_8_i2; @@ -477,6 +505,14 @@ GFORTRAN_7 { _gfortran_minloc1_8_r16; _gfortran_minloc1_8_r4; _gfortran_minloc1_8_r8; + _gfortran_minloc1_8_s1; + _gfortran_minloc1_8_s4; + _gfortran_minloc2_16_s1; + _gfortran_minloc2_16_s4; + _gfortran_minloc2_4_s1; + _gfortran_minloc2_4_s4; + _gfortran_minloc2_8_s1; + _gfortran_minloc2_8_s4; _gfortran_minval_i16; _gfortran_minval_i1; _gfortran_minval_i2; @@ -500,6 +536,8 @@ GFORTRAN_7 { _gfortran_mmaxloc0_16_r16; _gfortran_mmaxloc0_16_r4; _gfortran_mmaxloc0_16_r8; + _gfortran_mmaxloc0_16_s1; + _gfortran_mmaxloc0_16_s4; _gfortran_mmaxloc0_4_i16; _gfortran_mmaxloc0_4_i1; _gfortran_mmaxloc0_4_i2; @@ -509,6 +547,8 @@ GFORTRAN_7 { _gfortran_mmaxloc0_4_r16; _gfortran_mmaxloc0_4_r4; _gfortran_mmaxloc0_4_r8; + _gfortran_mmaxloc0_4_s1; + _gfortran_mmaxloc0_4_s4; _gfortran_mmaxloc0_8_i16; _gfortran_mmaxloc0_8_i1; _gfortran_mmaxloc0_8_i2; @@ -518,6 +558,8 @@ GFORTRAN_7 { _gfortran_mmaxloc0_8_r16; _gfortran_mmaxloc0_8_r4; _gfortran_mmaxloc0_8_r8; + _gfortran_mmaxloc0_8_s1; + _gfortran_mmaxloc0_8_s4; _gfortran_mmaxloc1_16_i16; _gfortran_mmaxloc1_16_i1; _gfortran_mmaxloc1_16_i2; @@ -527,6 +569,8 @@ GFORTRAN_7 { _gfortran_mmaxloc1_16_r16; _gfortran_mmaxloc1_16_r4; _gfortran_mmaxloc1_16_r8; + _gfortran_mmaxloc1_16_s1; + _gfortran_mmaxloc1_16_s4; _gfortran_mmaxloc1_4_i16; _gfortran_mmaxloc1_4_i1; _gfortran_mmaxloc1_4_i2; @@ -536,6 +580,8 @@ GFORTRAN_7 { _gfortran_mmaxloc1_4_r16; _gfortran_mmaxloc1_4_r4; _gfortran_mmaxloc1_4_r8; + _gfortran_mmaxloc1_4_s1; + _gfortran_mmaxloc1_4_s4; _gfortran_mmaxloc1_8_i16; _gfortran_mmaxloc1_8_i1; _gfortran_mmaxloc1_8_i2; @@ -545,6 +591,14 @@ GFORTRAN_7 { _gfortran_mmaxloc1_8_r16; _gfortran_mmaxloc1_8_r4; _gfortran_mmaxloc1_8_r8; + _gfortran_mmaxloc1_8_s1; + _gfortran_mmaxloc1_8_s4; + _gfortran_mmaxloc2_16_s1; + _gfortran_mmaxloc2_16_s4; + _gfortran_mmaxloc2_4_s1; + _gfortran_mmaxloc2_4_s4; + _gfortran_mmaxloc2_8_s1; + _gfortran_mmaxloc2_8_s4; _gfortran_mmaxval_i16; _gfortran_mmaxval_i1; _gfortran_mmaxval_i2; @@ -563,6 +617,8 @@ GFORTRAN_7 { _gfortran_mminloc0_16_r16; _gfortran_mminloc0_16_r4; _gfortran_mminloc0_16_r8; + _gfortran_mminloc0_16_s1; + _gfortran_mminloc0_16_s4; _gfortran_mminloc0_4_i16; _gfortran_mminloc0_4_i1; _gfortran_mminloc0_4_i2; @@ -572,6 +628,8 @@ GFORTRAN_7 { _gfortran_mminloc0_4_r16; _gfortran_mminloc0_4_r4; _gfortran_mminloc0_4_r8; + _gfortran_mminloc0_4_s1; + _gfortran_mminloc0_4_s4; _gfortran_mminloc0_8_i16; _gfortran_mminloc0_8_i1; _gfortran_mminloc0_8_i2; @@ -581,6 +639,8 @@ GFORTRAN_7 { _gfortran_mminloc0_8_r16; _gfortran_mminloc0_8_r4; _gfortran_mminloc0_8_r8; + _gfortran_mminloc0_8_s1; + _gfortran_mminloc0_8_s4; _gfortran_mminloc1_16_i16; _gfortran_mminloc1_16_i1; _gfortran_mminloc1_16_i2; @@ -590,6 +650,8 @@ GFORTRAN_7 { _gfortran_mminloc1_16_r16; _gfortran_mminloc1_16_r4; _gfortran_mminloc1_16_r8; + _gfortran_mminloc1_16_s1; + _gfortran_mminloc1_16_s4; _gfortran_mminloc1_4_i16; _gfortran_mminloc1_4_i1; _gfortran_mminloc1_4_i2; @@ -599,6 +661,8 @@ GFORTRAN_7 { _gfortran_mminloc1_4_r16; _gfortran_mminloc1_4_r4; _gfortran_mminloc1_4_r8; + _gfortran_mminloc1_4_s1; + _gfortran_mminloc1_4_s4; _gfortran_mminloc1_8_i16; _gfortran_mminloc1_8_i1; _gfortran_mminloc1_8_i2; @@ -608,6 +672,14 @@ GFORTRAN_7 { _gfortran_mminloc1_8_r16; _gfortran_mminloc1_8_r4; _gfortran_mminloc1_8_r8; + _gfortran_mminloc1_8_s1; + _gfortran_mminloc1_8_s4; + _gfortran_mminloc2_16_s1; + _gfortran_mminloc2_16_s4; + _gfortran_mminloc2_4_s1; + _gfortran_mminloc2_4_s4; + _gfortran_mminloc2_8_s1; + _gfortran_mminloc2_8_s4; _gfortran_mminval_i16; _gfortran_mminval_i1; _gfortran_mminval_i2; @@ -792,6 +864,8 @@ GFORTRAN_7 { _gfortran_smaxloc0_16_r16; _gfortran_smaxloc0_16_r4; _gfortran_smaxloc0_16_r8; + _gfortran_smaxloc0_16_s1; + _gfortran_smaxloc0_16_s4; _gfortran_smaxloc0_4_i16; _gfortran_smaxloc0_4_i1; _gfortran_smaxloc0_4_i2; @@ -801,6 +875,8 @@ GFORTRAN_7 { _gfortran_smaxloc0_4_r16; _gfortran_smaxloc0_4_r4; _gfortran_smaxloc0_4_r8; + _gfortran_smaxloc0_4_s1; + _gfortran_smaxloc0_4_s4; _gfortran_smaxloc0_8_i16; _gfortran_smaxloc0_8_i1; _gfortran_smaxloc0_8_i2; @@ -810,6 +886,8 @@ GFORTRAN_7 { _gfortran_smaxloc0_8_r16; _gfortran_smaxloc0_8_r4; _gfortran_smaxloc0_8_r8; + _gfortran_smaxloc0_8_s1; + _gfortran_smaxloc0_8_s4; _gfortran_smaxloc1_16_i16; _gfortran_smaxloc1_16_i1; _gfortran_smaxloc1_16_i2; @@ -819,6 +897,8 @@ GFORTRAN_7 { _gfortran_smaxloc1_16_r16; _gfortran_smaxloc1_16_r4; _gfortran_smaxloc1_16_r8; + _gfortran_smaxloc1_16_s1; + _gfortran_smaxloc1_16_s4; _gfortran_smaxloc1_4_i16; _gfortran_smaxloc1_4_i1; _gfortran_smaxloc1_4_i2; @@ -828,6 +908,8 @@ GFORTRAN_7 { _gfortran_smaxloc1_4_r16; _gfortran_smaxloc1_4_r4; _gfortran_smaxloc1_4_r8; + _gfortran_smaxloc1_4_s1; + _gfortran_smaxloc1_4_s4; _gfortran_smaxloc1_8_i16; _gfortran_smaxloc1_8_i1; _gfortran_smaxloc1_8_i2; @@ -837,6 +919,14 @@ GFORTRAN_7 { _gfortran_smaxloc1_8_r16; _gfortran_smaxloc1_8_r4; _gfortran_smaxloc1_8_r8; + _gfortran_smaxloc1_8_s1; + _gfortran_smaxloc1_8_s4; + _gfortran_smaxloc2_16_s1; + _gfortran_smaxloc2_16_s4; + _gfortran_smaxloc2_4_s1; + _gfortran_smaxloc2_4_s4; + _gfortran_smaxloc2_8_s1; + _gfortran_smaxloc2_8_s4; _gfortran_smaxval_i16; _gfortran_smaxval_i1; _gfortran_smaxval_i2; @@ -855,6 +945,8 @@ GFORTRAN_7 { _gfortran_sminloc0_16_r16; _gfortran_sminloc0_16_r4; _gfortran_sminloc0_16_r8; + _gfortran_sminloc0_16_s1; + _gfortran_sminloc0_16_s4; _gfortran_sminloc0_4_i16; _gfortran_sminloc0_4_i1; _gfortran_sminloc0_4_i2; @@ -864,6 +956,8 @@ GFORTRAN_7 { _gfortran_sminloc0_4_r16; _gfortran_sminloc0_4_r4; _gfortran_sminloc0_4_r8; + _gfortran_sminloc0_4_s1; + _gfortran_sminloc0_4_s4; _gfortran_sminloc0_8_i16; _gfortran_sminloc0_8_i1; _gfortran_sminloc0_8_i2; @@ -873,6 +967,8 @@ GFORTRAN_7 { _gfortran_sminloc0_8_r16; _gfortran_sminloc0_8_r4; _gfortran_sminloc0_8_r8; + _gfortran_sminloc0_8_s1; + _gfortran_sminloc0_8_s4; _gfortran_sminloc1_16_i16; _gfortran_sminloc1_16_i1; _gfortran_sminloc1_16_i2; @@ -882,6 +978,8 @@ GFORTRAN_7 { _gfortran_sminloc1_16_r16; _gfortran_sminloc1_16_r4; _gfortran_sminloc1_16_r8; + _gfortran_sminloc1_16_s1; + _gfortran_sminloc1_16_s4; _gfortran_sminloc1_4_i16; _gfortran_sminloc1_4_i1; _gfortran_sminloc1_4_i2; @@ -891,6 +989,8 @@ GFORTRAN_7 { _gfortran_sminloc1_4_r16; _gfortran_sminloc1_4_r4; _gfortran_sminloc1_4_r8; + _gfortran_sminloc1_4_s1; + _gfortran_sminloc1_4_s4; _gfortran_sminloc1_8_i16; _gfortran_sminloc1_8_i1; _gfortran_sminloc1_8_i2; @@ -900,6 +1000,14 @@ GFORTRAN_7 { _gfortran_sminloc1_8_r16; _gfortran_sminloc1_8_r4; _gfortran_sminloc1_8_r8; + _gfortran_sminloc1_8_s1; + _gfortran_sminloc1_8_s4; + _gfortran_sminloc2_16_s1; + _gfortran_sminloc2_16_s4; + _gfortran_sminloc2_4_s1; + _gfortran_sminloc2_4_s4; + _gfortran_sminloc2_8_s1; + _gfortran_sminloc2_8_s4; _gfortran_sminval_i16; _gfortran_sminval_i1; _gfortran_sminval_i2; @@ -1196,7 +1304,7 @@ GFORTRAN_7 { *; }; -GFORTRAN_F2C_7 { +GFORTRAN_F2C_8 { global: _gfortran_f2c_specific__abs_c4; _gfortran_f2c_specific__abs_r4; @@ -1238,7 +1346,7 @@ GFORTRAN_F2C_7 { _gfortran_f2c_specific__tan_r4; }; -GFORTRAN_C99_7 { +GFORTRAN_C99_8 { global: acosf; acoshf; |