| |
Home About Us A-Z Index Search • |
Organization | International Business Machines Corporation |
---|---|
Author | William L. Toth |
Product Identification | Version/Release Number | Product Supplier | |
---|---|---|---|
1. | Visual Age Compiler V6.0.0.0 | Version 6 Release 0 Modification 0 Fix 0 (PID 5765-F56) | International Business Machines Corporation |
Testing Environment | Binary-compatible Family | Portability Environment | Indicator of Compliance | Compliance Details | |
---|---|---|---|---|---|
1. |
|
| Internationalised System Calls and Libraries Extended V2 | Test Report from Perennial ANSI C Validation Suite | Test Suite:
CVSA V7.2 Test Report: OSCC-CTR-10-CLANG |
Question 1: What is the limit on the number of nesting levels of compound statements, iteration control structures and selection control structures?
Response
Unlimited, but limited by available memory
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.
Question 2: What is the limit on the number of nesting levels of conditional inclusions?
Response
64
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 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?
Response
More than or equal to 12, but Memory Limited
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 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?
Response
More than or equal to 1984, but Memory Limited
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 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?
Response
More than or equal to 2048, but Memory Limited
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 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?
Response
Unlimited
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 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?
Response
no limit by the compiler, linker limit is 4096
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 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?
Response
More than or equal to 511, but Memory Limited
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 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?
Response
More than or equal to 254, but Memory Limited
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 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?
Response
More than or equal to 1024, but Memory Limited
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 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?
Response
1023
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 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?
Response
1023
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 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?
Response
more than or equal to 3968, but Memory Limited
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 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?
Response
More than or equal to 3968, but Memory Limited
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 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?
Response
More than or equal to 122880, but Memory Limited
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 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)?
Response
Unlimited, but Memory Limited
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 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)?
Response
More than or equal to 32768, but Memory Limited
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 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?
Response
64
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 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)?
Response
More than or equal to 257, but Memory Limited
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 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?
Response
More than or equal to 127, but Memory Limited
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 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?
Response
More than or equal to 127, but Memory Limited
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 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?
Response
More than or equal to 15, but Memory Limited
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 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?
Response
No
Rationale
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.
Question 24: What conversion rules are applied when converting an integral type to a floating type which cannot represent the result exactly?
Response
Rationale
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.
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?
Response
Rationale
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?
Response
Rationale
The ISO C specification states that such truncations are machine-dependent.
Question 27: What sign is given to the result when using the remainder operator and either of the operands is negative?
Response
Rationale
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?
Response
Yes
Rationale
The ISO C specification states that the implementation may ignore distinctions of alphabetic case and restrict the mapping to 6 significant characters.
Testing Environment | Binary-compatible Family | Portability Environment | Indicator of Compliance | Compliance Details | |
---|---|---|---|---|---|
1. |
|
| Internationalised System Calls and Libraries Extended | Test Report from Test Suite | Test Suite:
ACVS V4.5 Test Report: OSCC-CTR-07-CLANG |
Question 1: What limits does the implementation impose on the significant part of an identifier?
Response
External Identifier | Local (non-external) identifier |
---|---|
250 | 250 |
Rationale
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.
Question 2: What truncation rules are applied when a floating value is converted to an integral value?
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.
Question 3: What truncation rules are applied when using the
division operator and either of the operands is negative?
Response
Truncation towards zero.
Rationale
The XPG states that such truncations are machine-dependent.
Copyright © 2002 International Business Machines Corporation
All rights reserved.
3. Change History
Date Name Comment
31-Oct-2002 William L. Toth Updated for AIX 5.2.0 and VAC 6.0.0.0
13-Sep-2001 William L. Toth Updated for AIX 5.1.0 and VAC 5.0.2.1
01-Dec-2000 William L. Toth Changed Product Identification
02-Oct-2000 William L. Toth Updated for VAC 5.0.1 certification on AIX 4.3.3 10-2000 release
14-May-1998 William L. Toth fixed Q20 and several invalid
responses
14-May-1998 William L. Toth New CSQ for XPG5 C language
Copyright © 1998-2011 The Open Group. All Rights Reserved.
[ Home ]
[ The Open Brand ]
[ Conformance Statement Library ]
[ Search Conformance Statements ]
[ Send Feedback ]