C and C++


LANG.STRUCT.TRIGRAPH : Trigraph

Summary

A line contains one or more of the following trigraphs.

??( ??) ??< ??> ??= ??/ ??' ??! ??-

Warnings of this class will only be issued for code that is compiled with trigraph recognition enabled (for example, with gcc -trigraphs).

Properties

Class Name Trigraph
Significance style
Mnemonic LANG.STRUCT.TRIGRAPH
Categories
MisraC2023 MisraC2023:4.2 Trigraphs should not be used
Misra2012 Misra2012:4.2 Trigraphs should not be used
Misra2004 Misra2004:4.2 Trigraphs shall not be used
AUTOSARC++14 AUTOSARC++14:A2-5-1 Trigraphs shall not be used.
MisraC++2008 MisraC++2008:2-3-1 Trigraphs shall not be used.
MisraC++2023 MisraC++2023:5.0.1 Trigraph-like sequences should not be used
JSF++ JSF++:11 Trigraphs will not be used.
Availability Available for C and C++.
Enabling Checks for this warning class are disabled by default. To enable them, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += allow class="Trigraph"

Example

/* a trigraph in a comment ??/ */    /* 'Trigraph' warning issued here if trigraphs are enabled */
 
??=define ONE 1                      /* 'Trigraph' warning issued here if trigraphs are enabled */
                                     /* (parse error otherwise) */
                                 
char *tristr = "??-??-";             /* 'Trigraph' warning issued  here if trigraphs are enabled */

char *okstr = "??3";                                      /* ??3 is not a trigraph */

Relevant Configuration File Parameters

The following configuration file parameters affect checks for this warning class.