C and C++


LANG.STRUCT.UUVAR : Unused Variable

Summary

A variable is declared but is not used within the scope of the declaration.

Properties

Class Name Unused Variable
Significance style
Mnemonic LANG.STRUCT.UUVAR
Categories
MisraC2023 MisraC2023:2.8 A project should not contain unused object definitions
Misra2012 Misra2012:2.8 A project should not contain unused object definitions
AUTOSARC++14 AUTOSARC++14:M0-1-3 A project shall not contain unused variables.
  AUTOSARC++14:M0-1-4 A project shall not contain non-volatile POD variables having only one use.
MisraC++2008 MisraC++2008:0-1-3 A project shall not contain unused variables.
  MisraC++2008:0-1-4 A project shall not contain non-volatile POD variables having only one use.
MisraC++2023 MisraC++2023:0.2.1 Variables with limited visibility should be used at least once
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 Variable"

Example

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

int lang_struct_uuvar(int a){
  int x; /* 'Unused Variable' warning issued here */
  int y;                  /* used later in function */

  y = a + 2;
  return y;
}

Relevant Configuration File Parameters

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