* intrinsics/selected_char_kind.c (selected_char_kind): Fix
authorfxcoudert <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 10 Jun 2010 09:16:08 +0000 (09:16 +0000)
committerfxcoudert <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 10 Jun 2010 09:16:08 +0000 (09:16 +0000)
return value for ISO_10646.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160527 138bc75d-0d04-0410-961f-82ee72b054a4

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 1f4d552..7f4c7f3 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 f71567d..946168c 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 35cf453..2525997 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;
 }