C and C++


LANG.STRUCT.UUTAG : Unused Tag

Summary

A struct, union, or enum declaration includes a tag that is not used anywhere in the scope of the declaration.

Properties

Class Name Unused Tag
Significance style
Mnemonic LANG.STRUCT.UUTAG
Categories
MisraC2023 MisraC2023:2.4 A project should not contain unused tag declarations
Misra2012 Misra2012:2.4 A project should not contain unused tag declarations
CWE CWE:561 Dead Code
CERT-C CERT-C:MSC12-C Detect and remove code that has no effect or is never executed
DISA-3r10 DISA-3r10:V-6149 The designer will ensure the application does not contain source code that is never invoked during operation, except for software components and libraries from approved third-party products.
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="Unused Tag"

Example

Suppose the analyzed project has a single source file, fileA.c.

enum tag1 {e1a, e1b, e1c}; /* 'Unused Tag' warning issued here */   
enum tag2 {e2a, e2b, e2c};                               /* used in typedef below */  

typedef enum tag2 mytag2;

Relevant Configuration File Parameters

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