FreeRTOS / FreeRTOS-Kernel

FreeRTOS kernel files only, submoduled into https://github.com/FreeRTOS/FreeRTOS and various other repos.
https://www.FreeRTOS.org
MIT License
2.76k stars 1.12k forks source link

Fix MISRA C 2012 rule 8.6 errors #862

Closed chinglee-iot closed 10 months ago

chinglee-iot commented 1 year ago

Fix MISRA C 2012 rule 8.6 errors

Description

MISRA C 2012 rule 8.6

An identifier with external linkage shall have exactly one external definition

MISRA violation The following is an example of violation. xQueueCRSendFromISR is declared in the header file but configUSE_CO_ROUTINES is not defined to 1. Therefore, no definition for xQueueCRSendFromISR.

BaseType_t xQueueCRSendFromISR( QueueHandle_t xQueue,
                                const void * pvItemToQueue,
                                BaseType_t xCoRoutinePreviouslyWoken );

Fix in this PR

For example, in the example above use configUSE_CO_ROUTINES == 1 to ensure that the function is declared only when there is definition.

#if ( configUSE_CO_ROUTINES == 1 )
  BaseType_t xQueueCRSendFromISR( QueueHandle_t xQueue,
                                  const void * pvItemToQueue,
                                  BaseType_t xCoRoutinePreviouslyWoken );
#endif

Test Steps

N/A

Checklist:

Related Issue

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

codecov[bot] commented 1 year ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (55094e2) 93.77% compared to head (e37d43e) 93.77%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #862 +/- ## ======================================= Coverage 93.77% 93.77% ======================================= Files 6 6 Lines 3183 3183 Branches 885 885 ======================================= Hits 2985 2985 Misses 91 91 Partials 107 107 ``` | [Flag](https://app.codecov.io/gh/FreeRTOS/FreeRTOS-Kernel/pull/862/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=FreeRTOS) | Coverage Δ | | |---|---|---| | [unittests](https://app.codecov.io/gh/FreeRTOS/FreeRTOS-Kernel/pull/862/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=FreeRTOS) | `93.77% <ø> (ø)` | | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=FreeRTOS#carryforward-flags-in-the-pull-request-comment) to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

sonarcloud[bot] commented 12 months ago

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

sonarcloud[bot] commented 10 months ago

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication