This form contains a series of questions that need to be answered. As you go about answering the questions, please keep the following things in mind:While it is not required that each question be answered at this time, all questions must have answers before the response is submitted to The Open Group for review and publication.Press the "Save" button at any time to save work in progress. Once the work has been saved, there is the option to continue editing if required.Many questions have instructions to assist in development of answers. They are marked with the indicator. Please look at the instructions carefully.Although HTML markup can be included in answers, this is not recommended apart from basic tags such as <p> and <br>, since incorrect markup could effect the format of other items in the document.Questions on this system should be addressed to the Conformance Statement manager at The Open Group.
Enter the name of the Organization that produced the implementation and the name of the author of the Conformance Statement.
A product may be registered in all members of a binary-compatible family of products on the basis of a single test report.
Answer the questions for each binary-compatible family. Alternately, provide the answers in the Appendix at the end of this document.
Question 1: What is the limit on the number of nesting levels of compound statements, iteration control structures and selection control structures?
Response
Rationale
The ISO C specification states that, while the implementation shall be able to translate and execute at least one program that contains at least one instance of 15 nesting levels of compound statements, iteration control structures and selection control structures, implementations should avoid imposing fixed translation limits whenever possible.
Reference
ISO/IEC 9899:1990, Programming Languages - C (technically identical to ANS X3.159-1989), Section 5.2.4.1, Translation Limits.
Question 2: What is the limit on the number of nesting levels of conditional inclusions?
The ISO C specification states that, while the implementation shall be able to translate and execute at least one program that contains at least one instance of 8 nesting levels of conditional inclusions, implementations should avoid imposing fixed translation limits whenever possible.
Question 3: What is the limit on the number of pointer, array and function declarators (in any combination) modifying an arithmetic, a structure, a union or an incomplete type in a declaration?
The ISO C specification states that, while the implementation shall be able to translate and execute at least one program that contains at least one instance of 12 pointer, array and function declarators (in any combination) modifying an arithmetic, a structure, a union or an incomplete type in a declaration, implementations should avoid imposing fixed translation limits whenever possible.
Question 4: What is the limit on the number of nesting levels of parenthesised declarators within a full declarator?
The ISO C specification states that, while the implementation shall be able to translate and execute at least one program that contains at least one instance of 31 nesting levels of parenthesised declarators within a full declarator, implementations should avoid imposing fixed translation limits whenever possible.
Question 5: What is the limit on the number of nesting levels of parenthesised expressions within a full expression?
The ISO C specification states that, while the implementation shall be able to translate and execute at least one program that contains at least one instance of 32 nesting levels of parenthesised expressions within a full expression, implementations should avoid imposing fixed translation limits whenever possible.
Question 6: What is the number of significant initial characters in an internal identifier or macro name?
The ISO C specification states that, while the implementation shall be able to translate and execute at least one program that contains at least one instance of 31 significant initial characters in an internal identifier or macro name, implementations should avoid imposing fixed translation limits whenever possible.
Question 7: What is the number of significant initial characters in an external identifier?
The ISO C specification states that, while the implementation shall be able to translate and execute at least one program that contains at least one instance of 6 significant initial characters in an external identifier, implementations should avoid imposing fixed translation limits whenever possible.
XSI-conformant systems support the significance of external identifiers up to a length of at least 31 bytes.
Question 8: What is the limit on the number of external identifiers in one translation unit?
The ISO C specification states that, while the implementation shall be able to translate and execute at least one program that contains at least one instance of 511 external identifiers in one translation unit, implementations should avoid imposing fixed translation limits whenever possible.
Question 9: What is the limit on the number of identifiers with block scope declared within one block?
The ISO C specification states that, while the implementation shall be able to translate and execute at least one program that contains at least one instance of 127 identifiers with block scope declared within one block, implementations should avoid imposing fixed translation limits whenever possible.
Question 10: What is the limit on the number of macro identifiers simultaneously defined in one translation unit?
The ISO C specification states that, while the implementation shall be able to translate and execute at least one program that contains at least one instance of 1024 macro identifiers simultaneously defined in one translation unit, implementations should avoid imposing fixed translation limits whenever possible.
Question 11: What is the limit on the number of parameters in one function definition?
The ISO C specification states that, while the implementation shall be able to translate and execute at least one program that contains at least one instance of 31 parameters in one function definition, implementations should avoid imposing fixed translation limits whenever possible.
Question 12: What is the limit on the number of arguments in one function call?
The ISO C specification states that, while the implementation shall be able to translate and execute at least one program that contains at least one instance of 31 arguments in one function call, implementations should avoid imposing fixed translation limits whenever possible.
Question 13: What is the limit on the number of parameters in one macro definition?
The ISO C specification states that, while the implementation shall be able to translate and execute at least one program that contains at least one instance of 31 parameters in one macro definition, implementations should avoid imposing fixed translation limits whenever possible.
Question 14: What is the limit on the number of arguments in one macro invocation?
The ISO C specification states that, while the implementation shall be able to translate and execute at least one program that contains at least one instance of 31 arguments in one macro invocation, implementations should avoid imposing fixed translation limits whenever possible.
Question 15: What is the limit on the number of characters in a logical source line?
The ISO C specification states that, while the implementation shall be able to translate and execute at least one program that contains at least one instance of 509 characters in a logical source line, implementations should avoid imposing fixed translation limits whenever possible.
Question 16: What is the limit on the number of characters in a character string literal or wide string literal (after concatenation)?
The ISO C specification states that, while the implementation shall be able to translate and execute at least one program that contains at least one instance of 509 characters in a character string literal or wide string literal (after concatenation), implementations should avoid imposing fixed translation limits whenever possible.
Question 17: What is the limit on the number of bytes in an object (in a hosted environment only)?
The ISO C specification states that, while the implementation shall be able to translate and execute at least one program that contains at least one instance of 32767 bytes in an object (in a hosted environment only), implementations should avoid imposing fixed translation limits whenever possible.
Question 18: What is the limit on the number of nesting levels for #included files?
The ISO C specification states that, while the implementation shall be able to translate and execute at least one program that contains at least one instance of 8 nesting levels for #includeed files, implementations should avoid imposing fixed translation limits whenever possible.
Question 19: What is the limit on the number of case labels for a switch statement (excluding those for any nested switch statement)?
The ISO C specification states that, while the implementation shall be able to translate and execute at least one program that contains at least one instance of 257 case labels for a switch statement (excluding those for any nested switch statement), implementations should avoid imposing fixed translation limits whenever possible.
Question 20: What is the limit on the number of members in a single structure or union?
The ISO C specification states that, while the implementation shall be able to translate and execute at least one program that contains at least one instance of 127 members in a single structure or union, implementations should avoid imposing fixed translation limits whenever possible.
Question 21: What is the limit on the number of enumeration constants in a single enumeration?
The ISO C specification states that, while the implementation shall be able to translate and execute at least one program that contains at least one instance of 127 enumeration constants in a single enumeration, iteration control structures, and selection control structures, implementations should avoid imposing fixed translation limits whenever possible.
Question 22: What is the limit on the number of levels of nested structure or union definitions in a single struct-declaration-list?
The ISO C specification states that, while the implementation shall be able to translate and execute at least one program that contains at least one instance of 15 levels of nested structure or union definitions in a single struct-declaration-list, implementations should avoid imposing fixed translation limits whenever possible.
Question 23: Are distinctions of case ignored in external identifiers?
Yes No
The ISO C specification states that the implementation may ignore distinctions of case in such names.
Warning: Restriction of the significance of an external name to only one case is an obsolescent feature that is a concession to existing implementations.
ISO/IEC 9899:1990, Programming Languages - C (technically identical to ANS X3.159-1989), Section 6.1.2, Identifiers.
Question 24: What conversion rules are applied when converting an integral type to a floating type which cannot represent the result exactly?
Convert to the nearest higher value. Convert to the nearest lower value. Select this item and enter your response below if the above options do not describe the implementation accurately.
The ISO C specification states that when a value of integral type is converted to a floating type, if the value being converted is in the range of values which can be represented but cannot be represented exactly, the result is either the nearest higher value or nearest lower value, chosen in an implementation-defined manner.
ISO/IEC 9899:1990, Programming Languages - C (technically identical to ANS X3.159-1989), Section 6.2.1, Arithmetic Operands.
Question 25: What conversion rules are applied when converting a double to a float or a long double to a long float which cannot represent the result exactly?
The ISO C specification states that when converting a double to a float or a long double to a long float, if the value being converted is in the range of values which can be represented but cannot be represented exactly, the result is either the nearest higher value or nearest lower value, chosen in an implementation-defined manner.
Question 26: What truncation rules are applied when using the division operator and either of the operands is negative?
Truncation towards zero. Truncation away from zero. Select this item and enter your response below if the above options do not describe the implementation accurately.
The ISO C specification states that such truncations are machine-dependent.
ISO/IEC 9899:1990, Programming Languages - C (technically identical to ANS X3.159-1989), Section 6.3.5, Multiplicative Operators.
Question 27: What sign is given to the result when using the remainder operator and either of the operands is negative?
Negative. Positive. Select this item and enter your response below if the above options do not describe the implementation accurately.
The ISO C specification states that the sign of the result is machine-dependent.
Question 28: When mapping sequences of characters to external source file names, does the implementation ignore distinctions of alphabetic case and restrict the mapping to 6 significant characters?
The ISO C specification states that the implementation may ignore distinctions of alphabetic case and restrict the mapping to 6 significant characters.
ISO/IEC 9899:1990, Programming Languages - C (technically identical to ANS X3.159-1989), Section 6.8.2, Source File Inclusion.
Question 1: What limits does the implementation impose on the significant part of an identifier?
The XPG states that, while there is no limit to the length of an identifier, only a certain number of characters are significant. The XPG points out that there must be at least eight characters for a non-external name, but may be less for external names. On XSI-conformant systems this has been extended to support the significance of external identifiers up to a length of at least 31 bytes.
X/Open Portability Guide, Issue 3, Volume 4, Programming Languages, Section 2.1, Lexical Conventions.
Question 2: What truncation rules are applied when a floating value is converted to an integral value?
Enter a description of the manner in which floating values are converted. The description should address the rules for truncation of both positive and negative values. Details should be inserted on the line below. Response Rationale The XPG states that the conversion of floating values to integral values are machine-dependent. In particular, the XPG points out the differences related to the truncation of negative numbers. Reference X/Open Portability Guide, Issue 3, Volume 4, Programming Languages, Section 2.5, Conversions. Question 3: What truncation rules are applied when using the division operator and either of the operands is negative? Response Truncation towards zero. Truncation away from zero. Rationale The XPG states that such truncations are machine-dependent. Reference X/Open Portability Guide, Issue 3, Volume 4, Programming Languages, Section 2.6, Expressions. 3. Appendix This appendix contains additional, explanatory material that was provided by the vendor. Copyright © All rights reserved. 4. Change History DateNameComment New
The XPG states that the conversion of floating values to integral values are machine-dependent. In particular, the XPG points out the differences related to the truncation of negative numbers.
X/Open Portability Guide, Issue 3, Volume 4, Programming Languages, Section 2.5, Conversions.
Question 3: What truncation rules are applied when using the division operator and either of the operands is negative?
Truncation towards zero. Truncation away from zero.
The XPG states that such truncations are machine-dependent.
X/Open Portability Guide, Issue 3, Volume 4, Programming Languages, Section 2.6, Expressions.
Copyright © All rights reserved.