[previous] 0816 [next] [L] #include "..." file name does not conform strictly to ISO:C90.
ISO C90 Conformance limits REFERENCE - ISO:C90-6.8.2 Source File Inclusion - Semantics

The file name used in this #include "..." directive does not conform to the strictest portability requirements of the ISO:C90 Standard. In order to achieve this strict conformance, include file names must be restricted to a maximum of 6 alphabetic characters, a period (.) and one alphabetic character. The characters should either be all upper case or all lower case. It will be obvious that this restriction is very severe and it can usually be ignored without compromising code portability.

The ISO:C90 Standard says:

"There shall be an implementation-defined mapping between the delimited sequence and the external source file name. The implementation shall provide unique mappings for sequences consisting of one or more letters (as defined in 5.2.1) followed by a period (.) and a single letter. The implementation may ignore the distinctions of alphabetical case and restrict the mapping to six significant characters before the period."

For example:


/*PRQA S 0553,0818 ++ */

#include "ABCDEF.H"          /*              */
#include "abcdef.h"          /*              */
#include "abcde1.h"          /* Message 0816 */
#include "abcdefg.h"         /* Message 0816 */
#include "ABCDE1.H"          /* Message 0816 */
#include "abcdef.H"          /* Message 0816 */
#include "ABCDEF.h"          /* Message 0816 */
#include "aBCDEF.h"          /* Message 0816 */
#include "ABCdEF.h"          /* Message 0816 */

See also:

QA·C Source Code Analyser 8.1.2
© 2013 Programming Research.
www.programmingresearch.com
Personality Groups | Glossary | Message Index Contents