diff options
author | Thomas Koenig <Thomas.Koenig@online.de> | 2007-01-28 10:44:47 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2007-01-28 10:44:47 +0000 |
commit | 34462c28dffca29f115fb3bef4364eaff5a3ec43 (patch) | |
tree | cd42fe24f3db509640f6eaed63735f26f868c062 /gcc/testsuite/gfortran.dg/achar_3.f90 | |
parent | eeef0e452e98fe6424ce65fb25fba15c59151848 (diff) | |
download | gcc-34462c28dffca29f115fb3bef4364eaff5a3ec43.tar.gz |
re PR fortran/30389 ([4.1 only] ACHAR() intrinsic gives erroneous errors in constant-folding.)
2007-01-28 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/30389
* gfortran.h: Remove gfc_simplify_init_1.
* arith.h: Remove third argument from gfc_compare_string.
* arith.c(gfc_compare_expression): Remove third argument
from call to gfc_compare_string.
(gfc_compare_string): Remove third argument xcoll_table.
Remove use of xcoll_table.
* misc.c(gfc_init_1): Remove call to gfc_simplify_init_1.
* simplify.c(ascii_table): Remove.
(xascii_table): Likewise.
(gfc_simplify_achar): ICE if extract_int fails. Remove use of
ascii_table. Warn if -Wsurprising and value < 0 or > 127.
(gfc_simplify_char): ICE if extract_int fails. Error if
value < 0 or value > 255.
(gfc_simplify_iachar): Remove use of xascii_table.
Char values outside of 0..255 are an ICE.
(gfc_simplify_lge): Remove use of xascii_table.
(gfc_simplify_lgt): Likewise.
(gfc_simplify_lle): Likewise.
(gfc_simplify_llt): Likewise.
(invert_table): Remove.
(gfc_simplify_init_1): Remove.
2007-01-28 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/30389
* gfortran.dg/achar_2.f90: New test.
* gfortran.dg/achar_3.f90: New test.
From-SVN: r121255
Diffstat (limited to 'gcc/testsuite/gfortran.dg/achar_3.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/achar_3.f90 | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/achar_3.f90 b/gcc/testsuite/gfortran.dg/achar_3.f90 new file mode 100644 index 00000000000..3b6f9022f46 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/achar_3.f90 @@ -0,0 +1,9 @@ +! { dg-do compile } +! { dg-options "-Wall" } +program main + print *,achar(-3) ! { dg-warning "outside of range" } + print *,achar(200) ! { dg-warning "outside of range" } + print *,char(222+221) ! { dg-error "outside of range" } + print *,char(-44) ! { dg-error "outside of range" } + print *,iachar("ü") ! { dg-warning "outside of range" } +end program main |