Version 1.2 of ai12s/ai12-0450-1.txt

Unformatted version of ai12s/ai12-0450-1.txt version 1.2
Other versions for file ai12s/ai12-0450-1.txt

!standard 1.1.4(14.2/5) 22-12-01 AI12-0450-1/01
!standard 1.2(4.1/3)
!standard 1.2(8/5)
!standard 1.2.1(5/5)
!standard 1.2.1(6/5)
!standard 1.2.1(8/5)
!standard 1.2.1(9/5)
!standard 1.2.1(10/5)
!standard 2.1(1/5)
!standard 2.1(3.1/5)
!standard 2.1(4/5)
!standard 2.1(4.1/5)
!standard 2.1(5/5)
!standard 2.1(15/5)
!standard 2.3(4.1/5)
!standard 2.3(5/5)
!standard 3.5.2(2/5)
!standard 3.5.2(3/5)
!standard 3.5.2(4/5)
!standard A.1(36.1/5)
!standard A.1(36.2/5)
!standard A.3.2(32.6/5)
!standard A.3.5(33.2/5)
!standard A.3.5(51.2/5)
!standard A.3.5(55/5)
!standard A.3.5(59/5)
!standard A.3.5(61.2/5)
!standard A.3.5(63/5)
!standard A.4.6(8/3)
!standard A.4.10(3/5)
!standard A.19(12/5)
!standard B.3(39.1/2)
!standard B.5(21/5)
!standard F.3.3(46)
!standard F.3.3(47)
!standard F.3.3(48)
!standard F.3.3(49)
!standard F.3.3(50)
!standard F.3.3(51)
!standard F.3.3(52)
!class binding interpretation 22-12-01
!status Amendment 1-2012 22-12-06
!status work item 22-12-01
!status received 22-11-04
!priority Low
!difficulty Easy
!qualifier Omission
!subject Update references to standards
!summary
Update references to obsolete standards.
!question
ISO does not allow us to reference obsolete standards. Should we update all references to such standards? (Yes.)
!recommendation
(See Summary.)
!wording
Modify 1.1.4(14.2/5):
When this document mentions the conversion of some character or sequence of characters to upper case, it means the character or sequence of characters obtained by using simple upper case mapping, as defined by documents referenced in Clause 2 of ISO/IEC 10646:[2017]{2020}.
Modify 1.2(4.1/3):
ISO[/IEC] 3166-1:[2006]{2020}, Codes for the representation of names of countries and their subdivisions — Part 1: Country Codes.
[Editor's note: Update year, remove "IEC" (this is just an ISO standard).]
Modify 1.2(8/5):
ISO/IEC 10646:{2020}[2017], Information technology — Universal [Coded Character Set]{coded character set} (UCS).
[Editor's note: Update year. Note that we previously did that for Ada 2022, but it changed again. The title subtly changed as well.]
Modify 1.2.1(5/5):
ISO/IEC 6429:1992, Information technology — Control functions for coded [graphic ]character sets
[Editor's note: The word "graphic" is not in the actual title.]
Modify 1.2.1(6/5):
ISO 8601{-1}:[2004]{2019}, Data elements and interchange formats — Information interchange — {Part 1} Representation of dates and times
[Editor's note: Correct as this is now a series of standards. *** Check the title!! ***]
Modify 1.2.1(8/5):
ISO/IEC 9899:[2011]{2018}, Information technology — Programming languages — C
[Editor's note: update year.]
Modify 1.2.1(9/5):
ISO/IEC 14882:[2011]{2020}, Information technology — Programming languages — C++
[Editor's note: update year.]
Delete 1.2.1(10/5):
ISO/IEC TR 19769:2004, Information technology — Programming languages, their environments and system software interfaces — Extensions for the programming language C to support new character data types
[Editor's note: Jeff reports that this TR was encorporated into the current C and C++ standards; ISO reports that this TR is withdrawn. So we don't need it at all.]
Modify 2.1(1/5):
The character repertoire for the text of an Ada program consists of the entire coding space described by the ISO/IEC 10646:{2020}[2017] Universal [Coded Character Set]{coded character set}. This coding space is organized in planes, each plane comprising 65536 characters.
Modify 2.1(3.1/5):
A character is defined by this International Standard for each cell in the coding space described by ISO/IEC 10646:{2020}[2017], regardless of whether or not ISO/IEC 10646:{2020}[2017] allocates a character to that cell.
Modify 2.1(4/3):
The coded representation for characters is implementation defined (it need not be a representation defined within ISO/IEC 10646:{2020}[2017]). A character whose relative code point in its plane is 16#FFFE# or 16#FFFF# is not allowed anywhere in the text of a program. The only characters allowed outside of comments are those in categories other_format, format_effector, and graphic_character.
Modify 2.1(4.1/5):
The semantics of an Ada program whose text is not in Normalization Form C (as defined by Clause [21]{22} of ISO/IEC 10646:[2017)]{2020}) is implementation defined.
[Editor's note: The 10646 clause changed numbers in the 2020 edition.]
Modify 2.1(5/3):
The description of the language definition in this International Standard uses the character properties General Category, Simple Uppercase Mapping, Uppercase Mapping, and Special Case Condition of the documents referenced by Clause 2 of ISO/IEC 10646:{2020}[2017]. The actual set of graphic symbols used by an implementation for the visual representation of the text of an Ada program is not specified.
In AARM 2.1(6.a/3), replace 2017 with 2020.
Modify 2.1(15/3):
The following names are used when referring to certain characters (the first name is that given in ISO/IEC 10646:{2020}[2017]):
In AARM 2.1(15.a/3), replace 2017 with 2020.
Modify 2.3(4.1/5):
An identifier shall only contain characters that may be present in Normalization Form KC [(]as defined by Clause [21]{22} of ISO/IEC 10646:[2017)]{2020}.
[Editor's note: The ISO editors deleted the parens without comment. But no change was made to a similar sentence in A.3.5. Go figure. The 10646 clause changed numbers in the 2020 edition.]
Modify 2.3(5/5):
Two identifiers are considered the same if they consist of the same sequence of characters after applying locale-independent simple case folding, as defined by documents referenced in Clause 2 of ISO/IEC 10646:[2017]{2020}.
[Editor's note: The clause here did not change numbers. Note, as always, that case information is not included or mentioned in 10646; we have to directly depend on Unicode.
Also note that these days there are direct references to Unicode in 10646, so we might be able to directly reference Unicode in our standard. But best not to make such a change this late in the process.]
In 3.5.2(2/5, 3/5, 4/5), replace 2017 with 2020.
Modify AARM 9.6.1(82.a/2):
The Image provides a string in ISO 8601{-1} format, the international standard time format{, with the exception that we separate the date and time with a blank rather than a 'T' (this was allowed in previous versions of the ISO 8601 standard)}. Alternative representations allowed in ISO 8601{-1} are not supported here.
Modify AARM 9.6.1(82.b/2):
ISO 8601{-1} allows 24:00:00 for midnight; and a seconds value of 60 for leap seconds. These are not allowed here (the routines mentioned above cannot produce those results).
In A.1(36.1/5) and A.1(36.2/5), replace 2017 with 2020.
Modify A.3.2(32.6/5) [as introduced by AI12-0004-1]:
True if Item could be present in a string normalized to Normalization Form KC (as defined by Clause 21 of ISO/IEC 10646:{2020}[2017]); this includes all characters except those with positions 160, 168, 170, 175, 178, 179, 180, 181, 184, 185, 186, 188, 189, and 190.
In AARM A.3.2(60.a/5), replace 2017 with 2020.
Modify A.3.5(51.2/5) [as introduced by AI12-0004-1]:
Returns True if the Wide_Character designated by Item could be present in a string normalized to Normalization Form KC (as defined by Clause 21 of ISO/IEC 10646:{2020}[2017]), otherwise returns False.
Modify A.3.5(55/5):
Returns the Simple Lowercase Mapping as defined by documents referenced in Clause 2 of ISO/IEC 10646:{2020}[2017] of the Wide_Character designated by Item. If the Simple Lowercase Mapping does not exist for the Wide_Character designated by Item, then the value of Item is returned.
In AARM A.3.2(55.a/5), replace 2017 with 2020.
Modify A.3.5(59/5):
Returns the Simple Uppercase Mapping as defined by documents referenced in Clause 2 of ISO/IEC 10646:{2020}[2017] of the Wide_Character designated by Item. If the Simple Uppercase Mapping does not exist for the Wide_Character designated by Item, then the value of Item is returned.
Modify the references in AARM A.3.5(62.a/3) to 10646:2020 and Unicode 13.0 (current as of this writing).
Modify A.3.5(63/5):
NOTE 1 The results returned by these functions can may depend on which particular version of {ISO/IEC}[the] 10646[ standard] is supported by the implementation (see 2.1).
[Editor's note: Use a proper undated reference to 10646 (following the Directives).]
Modify A.4.6(8/3):
NOTE There are certain characters which are defined to be lower case letters by ISO{/IEC} 10646 and are therefore allowed in identifiers, but are not considered lower case letters by Ada.Strings.Maps.Constants.
[Editor's note: Use a proper undated reference to 10646 (following the Directives).]
Modify A.19(12/5):
Function Country returns the code of the country associated with the active locale. If the Country_Code associated with the active locale cannot be determined from the environment, then Country returns Country_Unknown. Otherwise, the result is an upper-case string representation of an ISO 3166-1:[2006]{2020} alpha-2 code that identifies a country.
[Editor's note: We could use an undated reference here instead. That would mean that an updated standard might cause a change in Locales, but that is very unlikely in practice (the standard is generally updated compatibly). ***]
Modify B.3(39.1/2):
-- ISO/IEC 10646[:2003] compatible types[ defined by ISO/IEC TR 19769:2004].
[Editor's note: Jeff reports these types are now defined by the C and C++ standards. Rather than giving us something to change repeatedly, we should just drop the reference to a particular Standard; similarly, we use an undated 10646 reference.]
Modify B.5(21/5):
An implementation may add additional declarations to the Fortran interface packages. For example, declarations are permitted for the character types corresponding to Fortran character kinds 'ascii' and 'iso_10646', which in turn correspond to ISO/IEC 646:1991 and to UCS-4 as specified in ISO/IEC 10646:[2017]{2020}.
[Editor's note: The ISO editors put in a comment on this paragraph marking "iso_10646" that the correct reference is ISO/IEC 10646. But this referring to something defined in the Fortran Standard, so we have to write it exactly as defined there. Thus no change here for that.]
Move F.3.3(46-52) to an AARM "discussion" note:
NOTE The rules for edited output are based on COBOL (ANSI X3.23:1985, endorsed by ISO as ISO 1989-1985), with the following differences:
[Editor's note: ISO 1989:1985 is old and cannot be referenced. We don't have the expertise to determine if the note is still accurate with newer COBOL standards. We could try to find someone that could comment, but that could take a long time. And this Annex is not used much. So I recommend moving the entire note as-is to the AARM (which has no restrictions about referencing standards) - it will still be accurate and we won't need to update it now or in the future.]
!discussion
See the Editor's notes in the wording.
!corrigendum 1.1.4(14.2/5)
Replace the paragraph:
When this International Standard mentions the conversion of some character or sequence of characters to upper case, it means the character or sequence of characters obtained by using simple upper case mapping, as defined by documents referenced in Clause 2 of ISO/IEC 10646:2017.
by:
When this International Standard mentions the conversion of some character or sequence of characters to upper case, it means the character or sequence of characters obtained by using simple upper case mapping, as defined by documents referenced in Clause 2 of ISO/IEC 10646:2020.
!corrigendum 1.2(4.1/3)
Replace the paragraph:
ISO/IEC 3166-1:2006, Codes for the representation of names of countries and their subdivisions — Part 1: Country Codes.
by:
ISO 3166-1:2020, Codes for the representation of names of countries and their subdivisions — Part 1: Country Codes
!corrigendum 1.2(8/3)
Replace the paragraph:
ISO/IEC 10646:2017, Information technology — Universal Coded Character Set (UCS).
by:
ISO/IEC 10646:2020, Information technology — Universal coded character set (UCS)
!corrigendum 1.2.1(0)
Insert new clause:
The following documents are mentioned in this document as informative references.
<Rest found in the conflict file.>
!corrigendum 2.1(1/5)
Replace the paragraph:
The character repertoire for the text of an Ada program consists of the entire coding space described by the ISO/IEC 10646:2017 Universal Coded Character Set. This coding space is organized in planes, each plane comprising 65536 characters.
by:
The character repertoire for the text of an Ada program consists of the entire coding space described by the ISO/IEC 10646:2030 Universal coded character set. This coding space is organized in planes, each plane comprising 65536 characters.
!corrigendum 2.1(3.1/5)
Replace the paragraph:
A character is defined by this International Standard for each cell in the coding space described by ISO/IEC 10646:2017, regardless of whether or not ISO/IEC 10646:2017 allocates a character to that cell.
by:
A character is defined by this International Standard for each cell in the coding space described by ISO/IEC 10646:2020, regardless of whether or not ISO/IEC 10646:2020 allocates a character to that cell.
!corrigendum 2.1(4/5)
Replace the paragraph:
The coded representation for characters is implementation defined (it can be a representation that is not defined within ISO/IEC 10646:2017). A character whose relative code point in its plane is 16#FFFE# or 16#FFFF# is not allowed anywhere in the text of a program. The only characters allowed outside of comments are those in categories other_format, format_effector, and graphic_character.
by:
The coded representation for characters is implementation defined (it can be a representation that is not defined within ISO/IEC 10646:2020). A character whose relative code point in its plane is 16#FFFE# or 16#FFFF# is not allowed anywhere in the text of a program. The only characters allowed outside of comments are those in categories other_format, format_effector, and graphic_character.
!corrigendum 2.1(4.1/5)
Replace the paragraph:
The semantics of an Ada program whose text is not in Normalization Form KC (as defined by Clause 21 of ISO/IEC 10646:2017) is implementation defined.
by:
The semantics of an Ada program whose text is not in Normalization Form C (as defined by Clause 22 of ISO/IEC 10646:2020) is implementation defined.
!corrigendum 2.1(5/5)
Replace the paragraph:
The description of the language definition in this International Standard uses the character properties General Category, Simple Uppercase Mapping, Uppercase Mapping, and Special Case Condition of the documents referenced by the note in Clause 2 of ISO/IEC 10646:2017. The actual set of graphic symbols used by an implementation for the visual representation of the text of an Ada program is not specified.
by:
The description of the language definition in this International Standard uses the character properties General Category, Simple Uppercase Mapping, Uppercase Mapping, and Special Case Condition of the documents referenced by Clause 2 of ISO/IEC 10646:2020. The actual set of graphic symbols used by an implementation for the visual representation of the text of an Ada program is not specified.
!corrigendum 2.1(15/3)
Replace the paragraph:
The following names are used when referring to certain characters (the first name is that given in ISO/IEC 10646:2017):
by:
The following names are used when referring to certain characters (the first name is that given in ISO/IEC 10646:2020):
!comment use the overall paragraph to force a conflict.
!corrigendum 2.3(4/3)
Replace the paragraph:
An identifier shall only contain characters that may be present in Normalization Form KC (as defined by Clause 21 of ISO/IEC 10646:2017).
by:
An identifier shall only contain characters that may be present in Normalization Form KC as defined by Clause 22 of ISO/IEC 10646:2020.
!corrigendum 2.3(5/3)
Replace the paragraph:
Two identifiers are considered the same if they consist of the same sequence of characters after applying locale-independent simple case folding, as defined by documents referenced in Clause 2 of ISO/IEC 10646:2017.
by:
Two identifiers are considered the same if they consist of the same sequence of characters after applying locale-independent simple case folding, as defined by documents referenced in Clause 2 of ISO/IEC 10646:2020.
!corrigendum 3.5.2(2/3)
Replace the paragraph:
The predefined type Character is a character type whose values correspond to the 256 code points of Row 00 (also known as Latin-1) of the ISO/IEC 10646:2017 Basic Multilingual Plane (BMP). Each of the graphic characters of Row 00 of the BMP has a corresponding character_literal in Character. Each of the nongraphic characters of Row 00 has a corresponding language-defined name, which is not usable as an enumeration literal, but which is usable with the attributes Image, Wide_Image, Wide_Wide_Image, Value, Wide_Value, and Wide_Wide_Value; these names are given in the definition of type Character in A.1, "The Package Standard", but are set in italics.
by:
The predefined type Character is a character type whose values correspond to the 256 code points of Row 00 (also known as Latin-1) of the ISO/IEC 10646:2020 Basic Multilingual Plane (BMP). Each of the graphic characters of Row 00 of the BMP has a corresponding character_literal in Character. Each of the nongraphic characters of Row 00 has a corresponding language-defined name, which is not usable as an enumeration literal, but which is usable with the attributes Image, Wide_Image, Wide_Wide_Image, Value, Wide_Value, and Wide_Wide_Value; these names are given in the definition of type Character in A.1, "The Package Standard", but are set in italics.
!corrigendum 3.5.2(3/3)
Replace the paragraph:
The predefined type Wide_Character is a character type whose values correspond to the 65536 code points of the ISO/IEC 10646:2017 Basic Multilingual Plane (BMP). Each of the graphic characters of the BMP has a corresponding character_literal in Wide_Character. The first 256 values of Wide_Character have the same character_literal or language-defined name as defined for Character. Each of the graphic_characters has a corresponding character_literal.
by:
The predefined type Wide_Character is a character type whose values correspond to the 65536 code points of the ISO/IEC 10646:2020 Basic Multilingual Plane (BMP). Each of the graphic characters of the BMP has a corresponding character_literal in Wide_Character. The first 256 values of Wide_Character have the same character_literal or language-defined name as defined for Character. Each of the graphic_characters has a corresponding character_literal.
!corrigendum 3.5.2(4/3)
Replace the paragraph:
The predefined type Wide_Wide_Character is a character type whose values correspond to the 2147483648 code points of the ISO/IEC 10646:2017 character set. Each of the graphic_characters has a corresponding character_literal in Wide_Wide_Character. The first 65536 values of Wide_Wide_Character have the same character_literal or language-defined name as defined for Wide_Character.
by:
The predefined type Wide_Wide_Character is a character type whose values correspond to the 2147483648 code points of the ISO/IEC 10646:2020 character set. Each of the graphic_characters has a corresponding character_literal in Wide_Wide_Character. The first 65536 values of Wide_Wide_Character have the same character_literal or language-defined name as defined for Wide_Character.
!corrigendum A.1(36.1/2)
Replace the paragraph:
-- The declaration of type Wide_Character is based on the standard ISO/IEC 10646:2017 BMP character -- set. The first 256 positions have the same contents as type Character. See 3.5.2.
type Wide_Character is (nul, soh ... Hex_0000FFFE, Hex_0000FFFF);
by:
-- The declaration of type Wide_Character is based on the standard ISO/IEC 10646:2020 BMP character -- set. The first 256 positions have the same contents as type Character. See 3.5.2.
type Wide_Character is (nul, soh ... Hex_0000FFFE, Hex_0000FFFF);
!corrigendum A.1(36.2/2)
Replace the paragraph:
-- The declaration of type Wide_Wide_Character is based on the full -- ISO/IEC 10646:2017 character set. The first 65536 positions have the -- same contents as type Wide_Character. See 3.5.2.
type Wide_Wide_Character is (nul, soh ... Hex_7FFFFFFE, Hex_7FFFFFFF); for Wide_Wide_Character'Size use 32;
by:
-- The declaration of type Wide_Wide_Character is based on the full -- ISO/IEC 10646:2020 character set. The first 65536 positions have the -- same contents as type Wide_Character. See 3.5.2.
type Wide_Wide_Character is (nul, soh ... Hex_7FFFFFFE, Hex_7FFFFFFF); for Wide_Wide_Character'Size use 32;
!comment use the overall paragraph to force a conflict.
!corrigendum A.3.2(32.5/5)
Replace the paragraph:
True if Item could be present in a string normalized to Normalization Form KC (as defined by Clause 21 of ISO/IEC 10646:2017); this includes all characters except those with positions 160, 168, 170, 175, 178, 179, 180, 181, 184, 185, 186, 188, 189, and 190.
by:
True if Item could be present in a string normalized to Normalization Form KC (as defined by Clause 22 of ISO/IEC 10646:2020); this includes all characters except those with positions 160, 168, 170, 175, 178, 179, 180, 181, 184, 185, 186, 188, 189, and 190.
!comment use the overall paragraph to force a conflict.
!corrigendum A.3.5(33/3)
Replace the paragraph:
Returns True if the Wide_Character designated by Item has no Decomposition Mapping in the code charts of ISO/IEC 10646:2017; otherwise returns False.
by:
Returns True if the Wide_Character designated by Item has no Decomposition Mapping in the code charts of ISO/IEC 10646:2020; otherwise returns False.
!comment use the overall paragraph to force a conflict.
!corrigendum A.3.5(51/5)
Replace the paragraph:
Returns True if the Wide_Character designated by Item could be present in a string normalized to Normalization Form KC (as defined by Clause 21 of ISO/IEC 10646:2017), otherwise returns False.
by:
Returns True if the Wide_Character designated by Item could be present in a string normalized to Normalization Form KC (as defined by Clause 22 of ISO/IEC 10646:2020), otherwise returns False.
!corrigendum A.3.5(55/5)
Replace the paragraph:
Returns the Simple Lowercase Mapping as defined by documents referenced in Clause 2 of ISO/IEC 10646:2017 of the Wide_Character designated by Item. If the Simple Lowercase Mapping does not exist for the Wide_Character designated by Item, then the value of Item is returned.
by:
Returns the Simple Lowercase Mapping as defined by documents referenced in Clause 2 of ISO/IEC 10646:2020 of the Wide_Character designated by Item. If the Simple Lowercase Mapping does not exist for the Wide_Character designated by Item, then the value of Item is returned.
!corrigendum A.3.5(59/5)
Replace the paragraph:
Returns the Simple Uppercase Mapping as defined by documents referenced in Clause 2 of ISO/IEC 10646:2017 of the Wide_Character designated by Item. If the Simple Uppercase Mapping does not exist for the Wide_Character designated by Item, then the value of Item is returned.
by:
Returns the Simple Uppercase Mapping as defined by documents referenced in Clause 2 of ISO/IEC 10646:2020 of the Wide_Character designated by Item. If the Simple Uppercase Mapping does not exist for the Wide_Character designated by Item, then the value of Item is returned.
!comment use the overall paragraph to force a conflict.
!corrigendum A.3.5(61/3)
Replace the paragraph:
Returns the Wide_Character whose code point is given by the first value of its Decomposition Mapping in the code charts of ISO/IEC 10646:2017 if any; returns Item otherwise.
by:
Returns the Wide_Character whose code point is given by the first value of its Decomposition Mapping in the code charts of ISO/IEC 10646:2020 if any; returns Item otherwise.
!corrigendum A.3.5(63/5)
Replace the paragraph:
NOTE 1   The results returned by these functions may depend on which particular version of the 10646 standard is supported by the implementation (see 2.1).
by:
NOTE 1   The results returned by these functions can depend on which particular version of ISO/IEC 10646 is supported by the implementation (see 2.1).
!corrigendum A.4.6(8/3)
Replace the paragraph:
NOTE   There are certain characters which are defined to be lower case letters by ISO{/IEC} 10646 and are therefore allowed in identifiers, but are not considered lower case letters by Ada.Strings.Maps.Constants.
by:
NOTE   There are certain characters which are defined to be lower case letters by ISO/IEC 10646 and are therefore allowed in identifiers, but are not considered lower case letters by Ada.Strings.Maps.Constants.
!corrigendum A.4.10(3/5)
Replace the paragraph:
Returns True if the strings consist of the same sequence of characters after applying locale-independent simple case folding, as defined by documents referenced in Clause 2 of ISO/IEC 10646:2017. Otherwise, returns False. This function uses the same method as is used to determine whether two identifiers are the same.
by:
Returns True if the strings consist of the same sequence of characters after applying locale-independent simple case folding, as defined by documents referenced in Clause 2 of ISO/IEC 10646:2020. Otherwise, returns False. This function uses the same method as is used to determine whether two identifiers are the same.
!corrigendum A.19(12/5)
Replace the paragraph:
Function Country returns the code of the country associated with the active locale. If the Country_Code associated with the active locale cannot be determined from the environment, then Country returns Country_Unknown. Otherwise, the result is an upper-case string representation of an ISO 3166-1:2006 alpha-2 code that identifies a country.
by:
Function Country returns the code of the country associated with the active locale. If the Country_Code associated with the active locale cannot be determined from the environment, then Country returns Country_Unknown. Otherwise, the result is an upper-case string representation of an ISO 3166-1:2020 alpha-2 code that identifies a country.
!corrigendum B.3(39.1/2)
Replace the paragraph:
-- ISO/IEC 10646:2003 compatible types defined by ISO/IEC TR 19769:2004.
by:
-- ISO/IEC 10646 compatible types.
!corrigendum B.5(21/5)
Replace the paragraph:
An implementation may add additional declarations to the Fortran interface packages. For example, declarations are permitted for the character types corresponding to Fortran character kinds 'ascii' and 'iso_10646', which in turn correspond to ISO/IEC 646:1991 and to UCS-4 as specified in ISO/IEC 10646:2017.
by:
An implementation may add additional declarations to the Fortran interface packages. For example, declarations are permitted for the character types corresponding to Fortran character kinds 'ascii' and 'iso_10646', which in turn correspond to ISO/IEC 646:1991 and to UCS-4 as specified in ISO/IEC 10646:2020.
!corrigendum F.3.3(46)
Delete the paragraph:
NOTE   The rules for edited output are based on COBOL (ANSI X3.23:1985, endorsed by ISO as ISO 1989-1985), with the following differences:
!corrigendum F.3.3(47)
Delete the paragraph:
!corrigendum F.3.3(48)
Delete the paragraph:
!corrigendum F.3.3(49)
Delete the paragraph:
!corrigendum F.3.3(50)
Delete the paragraph:
!corrigendum F.3.3(51)
Delete the paragraph:
!corrigendum F.3.3(52)
Delete the paragraph:
!corrigendum F.3.3(52.1)
Delete the paragraph:
The value of 30 for Max_Picture_Length is the same limit as in COBOL.
!ASIS
No ASIS effect.
!ACATS test
No ACATS test needed, no semantic changes are intended.
!appendix

****************************************************************

Questions? Ask the ACAA Technical Agent