selected_char_kind.c (selected_char_kind): Fix return value for ISO_10646.
authorFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Thu, 10 Jun 2010 09:16:08 +0000 (09:16 +0000)
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Thu, 10 Jun 2010 09:16:08 +0000 (09:16 +0000)
* intrinsics/selected_char_kind.c (selected_char_kind): Fix
return value for ISO_10646.

* gfortran.dg/selected_char_kind_4.f90: New test.

From-SVN: r160527

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/selected_char_kind_4.f90 [new file with mode: 0644]
libgfortran/ChangeLog
libgfortran/intrinsics/selected_char_kind.c

index 1f4d5527d1725457c2d5ded0f69d31462f4824e8..7f4c7f3818d950fa639f221ac7eed5c229aa12e4 100644 (file)
@@ -1,3 +1,7 @@
+2010-06-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * gfortran.dg/selected_char_kind_4.f90: New test.
+
 2010-06-09  Eric Botcazou  <ebotcazou@adacore.com>
 
        * gcc.dg/pr42461.c: New test.
diff --git a/gcc/testsuite/gfortran.dg/selected_char_kind_4.f90 b/gcc/testsuite/gfortran.dg/selected_char_kind_4.f90
new file mode 100644 (file)
index 0000000..046ddf0
--- /dev/null
@@ -0,0 +1,24 @@
+! { dg-do run }
+!
+! Check that runtime result values of SELECTED_CHAR_KIND agree with
+! front-end simplification results.
+!
+  implicit none
+  character(len=20) :: s
+
+  s = "ascii"
+  if (selected_char_kind(s) /= selected_char_kind("ascii")) call abort
+
+  s = "default"
+  if (selected_char_kind(s) /= selected_char_kind("default")) call abort
+
+  s = "iso_10646"
+  if (selected_char_kind(s) /= selected_char_kind("iso_10646")) call abort
+
+  s = ""
+  if (selected_char_kind(s) /= selected_char_kind("")) call abort
+
+  s = "invalid"
+  if (selected_char_kind(s) /= selected_char_kind("invalid")) call abort
+
+end
index f71567d7d42de843391d40cd5ec39513d59a8b43..946168c253a82992aa92dd79e1e2927690738349 100644 (file)
@@ -1,3 +1,8 @@
+2010-06-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * intrinsics/selected_char_kind.c (selected_char_kind): Fix
+       return value for ISO_10646.
+
 2010-06-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
 
        * mk-kinds-h.sh: Define GFC_REAL_*_LITERAL_SUFFIX and
 
 2010-05-07  Janne Blomqvist  <jb@gcc.gnu.org>
 
-        * libgfortran.h (free_mem): Remove prototype.
-        * runtime/memory.c (free_mem): Remove function.
-        * intrinsics/date_and_time.c (secnds): Replace free_mem() with
-        free().
-        * io/fbuf.c (fbuf_destroy): Likewise.
-        * io/format.c (free_format_hash_table): Likewise.
-        (save_parsed_format): Likewise.
-        (free_format_data): Likewise.
-        * io/list_read.c (free_saved): Likewise.
-        (free_line): Likewise.
-        (nml_touch_nodes): Likewise.
-        (nml_read_obj): Likewise
-        * io/lock.c (free_ionml): Likewise.
-        * io/open.c (new_unit): Likewise.
-        (already_open): Likewise.
-        * io/unit.c (destroy_unit_mutex): Likewise.
-        (free_internal_unit): Likewise.
-        (close_unit_1): Likewise.
-        * io/unix.c (raw_close): Likewise.
-        (buf_close): Likewise.
-        (mem_close): Likewise.
-        (tempfile): Likewise.
-        * io/write.c (nml_write_obj): Likewise.
-        * io/write_float.def (output_float_FMT_G_##): Likewise.
-        * runtime/error.c (show_locus): Likewise.
+       * libgfortran.h (free_mem): Remove prototype.
+       * runtime/memory.c (free_mem): Remove function.
+       * intrinsics/date_and_time.c (secnds): Replace free_mem() with
+       free().
+       * io/fbuf.c (fbuf_destroy): Likewise.
+       * io/format.c (free_format_hash_table): Likewise.
+       (save_parsed_format): Likewise.
+       (free_format_data): Likewise.
+       * io/list_read.c (free_saved): Likewise.
+       (free_line): Likewise.
+       (nml_touch_nodes): Likewise.
+       (nml_read_obj): Likewise
+       * io/lock.c (free_ionml): Likewise.
+       * io/open.c (new_unit): Likewise.
+       (already_open): Likewise.
+       * io/unit.c (destroy_unit_mutex): Likewise.
+       (free_internal_unit): Likewise.
+       (close_unit_1): Likewise.
+       * io/unix.c (raw_close): Likewise.
+       (buf_close): Likewise.
+       (mem_close): Likewise.
+       (tempfile): Likewise.
+       * io/write.c (nml_write_obj): Likewise.
+       * io/write_float.def (output_float_FMT_G_##): Likewise.
+       * runtime/error.c (show_locus): Likewise.
 
 2010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
index 35cf453402ab44ee147ad897b0c8347a54b0b804..25259979fcba80d6a48d360c71bd018a9b2803b5 100644 (file)
@@ -40,7 +40,7 @@ selected_char_kind (gfc_charlen_type name_len, char *name)
       || (len == 7 && strncasecmp (name, "default", 7) == 0))
     return 1;
   else if (len == 9 && strncasecmp (name, "iso_10646", 9) == 0)
-    return 1;
+    return 4;
   else
     return -1;
 }