diff options
Diffstat (limited to 'libgfortran/generated')
-rw-r--r-- | libgfortran/generated/eoshift1_4.c | 9 | ||||
-rw-r--r-- | libgfortran/generated/eoshift1_8.c | 9 | ||||
-rw-r--r-- | libgfortran/generated/eoshift3_4.c | 9 | ||||
-rw-r--r-- | libgfortran/generated/eoshift3_8.c | 9 |
4 files changed, 32 insertions, 4 deletions
diff --git a/libgfortran/generated/eoshift1_4.c b/libgfortran/generated/eoshift1_4.c index cb4dfb5..6012c3f 100644 --- a/libgfortran/generated/eoshift1_4.c +++ b/libgfortran/generated/eoshift1_4.c @@ -158,7 +158,14 @@ eoshift1_4 (gfc_array_char *ret, { /* Do the shift for this dimension. */ sh = *hptr; - delta = (sh >= 0) ? sh: -sh; + if (( sh >= 0 ? sh : -sh ) > len) + { + delta = len; + sh = len; + } + else + delta = (sh >= 0) ? sh: -sh; + if (sh > 0) { src = &sptr[delta * soffset]; diff --git a/libgfortran/generated/eoshift1_8.c b/libgfortran/generated/eoshift1_8.c index 379cb4a..3caf66a 100644 --- a/libgfortran/generated/eoshift1_8.c +++ b/libgfortran/generated/eoshift1_8.c @@ -158,7 +158,14 @@ eoshift1_8 (gfc_array_char *ret, { /* Do the shift for this dimension. */ sh = *hptr; - delta = (sh >= 0) ? sh: -sh; + if (( sh >= 0 ? sh : -sh ) > len) + { + delta = len; + sh = len; + } + else + delta = (sh >= 0) ? sh: -sh; + if (sh > 0) { src = &sptr[delta * soffset]; diff --git a/libgfortran/generated/eoshift3_4.c b/libgfortran/generated/eoshift3_4.c index 4ce66a3..1fe4e76 100644 --- a/libgfortran/generated/eoshift3_4.c +++ b/libgfortran/generated/eoshift3_4.c @@ -167,7 +167,14 @@ eoshift3_4 (gfc_array_char *ret, gfc_array_char *array, { /* Do the shift for this dimension. */ sh = *hptr; - delta = (sh >= 0) ? sh: -sh; + if (( sh >= 0 ? sh : -sh ) > len) + { + delta = len; + sh = len; + } + else + delta = (sh >= 0) ? sh: -sh; + if (sh > 0) { src = &sptr[delta * soffset]; diff --git a/libgfortran/generated/eoshift3_8.c b/libgfortran/generated/eoshift3_8.c index 7e9b911b..69ead62 100644 --- a/libgfortran/generated/eoshift3_8.c +++ b/libgfortran/generated/eoshift3_8.c @@ -167,7 +167,14 @@ eoshift3_8 (gfc_array_char *ret, gfc_array_char *array, { /* Do the shift for this dimension. */ sh = *hptr; - delta = (sh >= 0) ? sh: -sh; + if (( sh >= 0 ? sh : -sh ) > len) + { + delta = len; + sh = len; + } + else + delta = (sh >= 0) ? sh: -sh; + if (sh > 0) { src = &sptr[delta * soffset]; |