Polyspace MISRA C 2012 rule 8.6 inquiry

26 views (last 30 days)
Shubham
Shubham on 23 Mar 2023
Answered: Anirban on 24 Mar 2023
The polyspace bug finder with MISRA C 2012 showing 8.6 violations even though only one definition is available in .c file.
Polyspace configurations are: compiler visual 11.0, target mpc5xx
Result Details:
" MISRA C:2012 8.6 (Required)
An identifier with external linkage shall have exactly one external definition.
undefined global variable 'os_config_pwm_func_call' "

Answers (1)

Anirban
Anirban on 24 Mar 2023
Which release of Polyspace are you using?
I am asking because in later releases, the results for rules 8.x should appear with an event traceback showing the two instances that lead to the violation. If you do see the traceback, can you send a screenshot of the Result Details window? That might help us confirm that the violation is because of the two instances you are showing here.
Also, the violation does not show up in this simple reproduction:
header.h :
#define unsigned16_t unsigned short
extern unsigned16_t os_config_pwm_func_call;
file.c :
#include "header.h"
unsigned16_t os_config_pwm_func_call;
Therefore, something else might be happening here. If you cannot understand the violation in your example, please contact MathWorks Technical Support for further help with the problem.

Products


Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!