CWE-686¶
Function Call With Incorrect Argument Type. [Improper-Adherence-To-Coding-Standards]
Required inputs: IR
Possible Messages
Key |
Text |
Severity |
Disabled |
|---|---|---|---|
ellipsis_called_without_prototype |
Cannot call function with ellipsis without a prototype declaration |
None |
False |
real_only_called_with_complex_arg |
Calling a real-only function with a complex argument results in undefined behavior. |
None |
False |
wrong_argument_type |
Parameter {} of {} expects type ‘{}’, but ‘{}’ was given. |
None |
False |
wrong_argument_type_multiple_allowed |
Variable argument was passed type ‘{}’, which is not among the expected types. |
None |
False |
wrong_argument_type_va |
Variable arguments expect type ‘{}’, but ‘{}’ was given. |
None |
False |
Options¶
This rule shares the following common options: exclude_in_macros, exclude_messages_in_system_headers, excludes, extend_exclude_to_macro_invocations, includes, justification_checker, languages, post_processing, provider, report_at, severity
The following places define options that affect this rule: Stylechecks, Analysis-GlobalOptions
real_only_macros¶
real_only_macros
Names of real-only macros.Type: set[bauhaus.analysis.config.MacroName]
Default:
{'atan2', 'cbrt', 'ceil', 'copysign', 'erf', 'erfc', 'exp2', 'expm1', 'fdim', 'floor', 'fma', 'fmax', 'fmin', 'fmod', 'frexp', 'hypot', 'ilogb', 'ldexp', 'lgamma', 'llrint', 'llround', 'log10', 'log1p', 'log2', 'logb', 'lrint', 'lround', 'nearbyint', 'nextafter', 'nexttoward', 'remainder', 'remquo', 'rint', 'round', 'scalbln', 'scalbn', 'tgamma', 'trunc'}
use_pointer_analysis¶
use_pointer_analysis : bool = True
Note: pointer analysis can only be used if StaticSemanticAnalysis is enabled.