aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>2004-08-31 23:54:24 +0200
committerTobias Schlüter <tobi@gcc.gnu.org>2004-08-31 23:54:24 +0200
commit149a42dd2de169de9252db751ec1200db50c23aa (patch)
tree194d4b80e1d56c5b2328e11c7ceb0a39a118535c
parent334ff453eaa61a47ee9b45b273a0a8057697060e (diff)
downloadgcc-149a42dd2de169de9252db751ec1200db50c23aa.zip
gcc-149a42dd2de169de9252db751ec1200db50c23aa.tar.gz
gcc-149a42dd2de169de9252db751ec1200db50c23aa.tar.bz2
re PR fortran/16579 (gfortran: (ICHAR(CHAR(I)) .NE. I) when 128 <= I <= 255)
fortran/ PR fortran/16579 * trans-types.c (gfc_init_types): Make gfc_character1_type_node an unsigned char. testsuite/ PR fortran/16579 * gfortran.fortran-torture/execute/intrinsic_i_char.f90: New test. From-SVN: r86846
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/trans-types.c3
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_i_char.f906
4 files changed, 19 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 1655908..7ec2620 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,5 +1,11 @@
2004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+ PR fortran/16579
+ * trans-types.c (gfc_init_types): Make gfc_character1_type_node an
+ unsigned char.
+
+2004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
* CONTRIB, NEWS, README, TODO: Remove obsolete files.
2004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
diff --git a/gcc/fortran/trans-types.c b/gcc/fortran/trans-types.c
index 26866b4..2400c2e 100644
--- a/gcc/fortran/trans-types.c
+++ b/gcc/fortran/trans-types.c
@@ -501,7 +501,8 @@ gfc_init_types (void)
PUSH_TYPE (name_buf, type);
}
- gfc_character1_type_node = build_type_variant (signed_char_type_node, 0, 0);
+ gfc_character1_type_node = build_type_variant (unsigned_char_type_node,
+ 0, 0);
PUSH_TYPE ("char", gfc_character1_type_node);
PUSH_TYPE ("byte", unsigned_char_type_node);
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 10dd9bf..a71d3aa 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/16579
+ * gfortran.fortran-torture/execute/intrinsic_i_char.f90: New test.
+
2004-08-31 Bud Davis <bdavis9659@comcast.net>
PR libfortran/16805
diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_i_char.f90 b/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_i_char.f90
new file mode 100644
index 0000000..19cab9f
--- /dev/null
+++ b/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_i_char.f90
@@ -0,0 +1,6 @@
+! simple test for the CHAR and ICHAR intrinsics
+! PR 16579
+DO I=0,255
+ IF (ICHAR(CHAR(I)) /= I) CALL ABORT()
+END DO
+END