This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[Patch,Fortran,committed] PR45295 - intrinsic.texi: SELECTED_CHAR_KIND should mention wide-char support
- From: Tobias Burnus <burnus at net-b dot de>
- To: gcc patches <gcc-patches at gcc dot gnu dot org>, gfortran <fortran at gcc dot gnu dot org>
- Date: Wed, 18 Aug 2010 20:07:02 +0200
- Subject: [Patch,Fortran,committed] PR45295 - intrinsic.texi: SELECTED_CHAR_KIND should mention wide-char support
Committed as obvious (Rev. 163347).
Tobias
Index: gcc/fortran/ChangeLog
===================================================================
--- gcc/fortran/ChangeLog (Revision 163346)
+++ gcc/fortran/ChangeLog (Arbeitskopie)
@@ -1,3 +1,9 @@
+2010-08-18 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/45295
+ * intrinsic.texi (selected_char_kind): Document ISO_10646
+ support.
+
2010-08-17 Jakub Jelinek <jakub@redhat.com>
PR fortran/45304
Index: gcc/fortran/intrinsic.texi
===================================================================
--- gcc/fortran/intrinsic.texi (Revision 163346)
+++ gcc/fortran/intrinsic.texi (Arbeitskopie)
@@ -9677,7 +9677,8 @@
@code{SELECTED_CHAR_KIND(NAME)} returns the kind value for the character
set named @var{NAME}, if a character set with such a name is supported,
or @math{-1} otherwise. Currently, supported character sets include
-``ASCII'' and ``DEFAULT'', which are equivalent.
+``ASCII'' and ``DEFAULT'', which are equivalent, and ``ISO_10646''
+(Universal Character Set, UCS-4) which is commonly known as Unicode.
@item @emph{Standard}:
Fortran 2003 and later
@@ -9695,13 +9696,25 @@
@item @emph{Example}:
@smallexample
-program ascii_kind
- integer,parameter :: ascii = selected_char_kind("ascii")
- character(kind=ascii, len=26) :: s
+program character_kind
+ use iso_fortran_env
+ implicit none
+ integer, parameter :: ascii = selected_char_kind ("ascii")
+ integer, parameter :: ucs4 = selected_char_kind ('ISO_10646')
- s = ascii_"abcdefghijklmnopqrstuvwxyz"
- print *, s
-end program ascii_kind
+ character(kind=ascii, len=26) :: alphabet
+ character(kind=ucs4, len=30) :: hello_world
+
+ alphabet = ascii_"abcdefghijklmnopqrstuvwxyz"
+ hello_world = ucs4_'Hello World and Ni Hao -- ' &
+ // char (int (z'4F60'), ucs4) &
+ // char (int (z'597D'), ucs4)
+
+ write (*,*) alphabet
+
+ open (output_unit, encoding='UTF-8')
+ write (*,*) trim (hello_world)
+end program character_kind
@end smallexample
@end table