JavaScript is not currently enabled, but is required for full CodeSonar manual search and browse functionality.

If you are viewing this file in your hub's Web GUI, enable JavaScript in your browser: you will also need it for GUI functionality.

If you opened this file directly from disk, your browser may be directly suppressing JavaScript functionality: certain browsers perform this suppression on local files (but not files delivered by web servers) for security reasons.

CodeSonar® 9.2p0 CONFIDENTIAL CodeSecure Inc
C and C++


LANG.FUNCS.PROT : Incomplete Function Prototype

Summary

A function declaration is not in prototype form: one or more of the following conditions is present.

This class is a strict superset of Parameter Identifier List Needs Function Definition and Undeclared Parameter.

Properties

Class Name Incomplete Function Prototype
Significance style
Mnemonic LANG.FUNCS.PROT
Categories
MisraC2025 MisraC2025:1.5 Obsolescent language features shall not be used
  MisraC2025:8.2 Function types shall be in prototype form with named parameters
MisraC2023 MisraC2023:1.5 Obsolescent language features shall not be used
  MisraC2023:8.2 Function types shall be in prototype form with named parameters
Misra2012 Misra2012:1.5 Obsolescent language features shall not be used
  Misra2012:8.2 Function types shall be in prototype form with named parameters
Misra2004 Misra2004:8.1 Functions shall have prototype declarations and the prototype shall be visible at both the function definition and call
  Misra2004:16.3 Identifiers shall be given for all of the parameters in a function prototype declaration
  Misra2004:16.5 Functions with no parameters shall be declared and defined with the parameter list void
  Misra2004:16.6 The number of arguments passed to a function shall match the number of parameters
AUTOSARC++14 AUTOSARC++14:A1-1-1 All code shall conform to ISO/IEC 14882:2014 - Programming Language C++ and shall not use deprecated features.
MisraC++2023 MisraC++2023:4.1.2 Deprecated features should not be used
CERT-C CERT-C:DCL07-C Include the appropriate type information in function declarators
  CERT-C:DCL20-C Explicitly specify void when a function accepts no arguments
Availability Available for C and C++.
Enabling Checks for this warning class are enabled by default. However, warning instances of this class that are issued as parser errors (rather than parser warnings) will be discarded when using factory configuration settings. To prevent these instances from being discarded, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += allow class="Incomplete Function Prototype"
To disable checks for this warning class, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += discard class="Incomplete Function Prototype"

Example

/* beginning of file */

void prot_ok(void);                              /* valid prototype form */

void prot_empty();      /* 'Incomplete Function Prototype' warning issued here
                         * - empty parameter list. */

void prot_noname(int);                           /* valid prototype form */

void prot_notype(x);    /* 'Incomplete Function Prototype' warning issued here
                         * - parameter type is missing.
                         * ('Parameter Identifier List Needs Function Definition' warning also issued)
                         */

void func_ok(int x){}                            /* valid prototype form */

void func_notype(x){}   /* 'Incomplete Function Prototype' warning issued here
                         * - parameter type is missing.
                         * ('Undeclared Parameter' warning also issued if enabled)
                         */

void caller(int x){                              /* valid prototype form */
    func_ok(x);                                  /* func_ok() prototype is visible */
    void func_notype(x);/* 'Incomplete Function Prototype' warning issued here
                         * - parameter type is missing.
                         * ('Undeclared Parameter' warning also issued if enabled)
                         */
    mystery_func(x);    /* 'Implicit Function Declaration' warning issued here
                         * - no visible prototype for mystery_func()
                         * ('Parameter Identifier List Needs Function Definition' warning also issued)
                         */
}
/* end of file */

Relevant Configuration File Parameters

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

 

To report problems with this documentation, please visit https://support.codesecure.com/.