mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-10-14 00:37:44 -04:00
Update uncrustify configuration and improve CI setup (see FreeRTOS/FreeRTOS-Kernel/pull/445) (#782)
* pin uncrustify version and update configuration file * Update AbortDelay.c * Update BlockQ.c * Update MessageBufferDemo.c * Update QPeek.c * Update StaticAllocation.c * Update integer.c * Update recmutex.c * Update create.c * Update prvCopyDataToQueue.c * Update prvUnlockQueue.c * Update vQueueDelete.c * Update xQueueGenericSend.c * Update xQueueGenericSendFromISR.c * Update xQueuePeek.c * Update xQueueReceive.c * Update IntSemTest.c * Update dynamic.c * Update lexicon.txt Co-authored-by: alfred gedeon <28123637+alfred2g@users.noreply.github.com>
This commit is contained in:
parent
fea193d03c
commit
2b956b97c7
23 changed files with 1090 additions and 576 deletions
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
|
@ -30,7 +30,7 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install Uncrustify
|
||||
run: sudo apt-get install uncrustify
|
||||
run: sudo apt-get install uncrustify=0.69.0+dfsg1-1build1
|
||||
- name: Run Uncrustify
|
||||
run: |
|
||||
uncrustify --version
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* https://www.FreeRTOS.org
|
||||
* https://aws.amazon.com/freertos
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -420,18 +420,18 @@
|
|||
EventBits_t xBitsToWaitFor = ( EventBits_t ) 0x01, xReturn;
|
||||
|
||||
#if ( configSUPPORT_STATIC_ALLOCATION == 1 )
|
||||
{
|
||||
static StaticEventGroup_t xEventGroupBuffer;
|
||||
{
|
||||
static StaticEventGroup_t xEventGroupBuffer;
|
||||
|
||||
/* Create the event group. Statically allocated memory is used so the
|
||||
* creation cannot fail. */
|
||||
xEventGroup = xEventGroupCreateStatic( &xEventGroupBuffer );
|
||||
}
|
||||
/* Create the event group. Statically allocated memory is used so the
|
||||
* creation cannot fail. */
|
||||
xEventGroup = xEventGroupCreateStatic( &xEventGroupBuffer );
|
||||
}
|
||||
#else
|
||||
{
|
||||
xEventGroup = xEventGroupCreate();
|
||||
configASSERT( xEventGroup );
|
||||
}
|
||||
{
|
||||
xEventGroup = xEventGroupCreate();
|
||||
configASSERT( xEventGroup );
|
||||
}
|
||||
#endif /* if ( configSUPPORT_STATIC_ALLOCATION == 1 ) */
|
||||
|
||||
/* Note the time before the delay so the length of the delay is known. */
|
||||
|
@ -488,25 +488,25 @@
|
|||
uint8_t uxRxData;
|
||||
|
||||
#if ( configSUPPORT_STATIC_ALLOCATION == 1 )
|
||||
{
|
||||
/* Defines the memory that will actually hold the streams within the
|
||||
* stream buffer. */
|
||||
static uint8_t ucStorageBuffer[ sizeof( configMESSAGE_BUFFER_LENGTH_TYPE ) + 1 ];
|
||||
{
|
||||
/* Defines the memory that will actually hold the streams within the
|
||||
* stream buffer. */
|
||||
static uint8_t ucStorageBuffer[ sizeof( configMESSAGE_BUFFER_LENGTH_TYPE ) + 1 ];
|
||||
|
||||
/* The variable used to hold the stream buffer structure. */
|
||||
StaticStreamBuffer_t xStreamBufferStruct;
|
||||
/* The variable used to hold the stream buffer structure. */
|
||||
StaticStreamBuffer_t xStreamBufferStruct;
|
||||
|
||||
|
||||
xStreamBuffer = xStreamBufferCreateStatic( sizeof( ucStorageBuffer ),
|
||||
xTriggerLevelBytes,
|
||||
ucStorageBuffer,
|
||||
&xStreamBufferStruct );
|
||||
}
|
||||
xStreamBuffer = xStreamBufferCreateStatic( sizeof( ucStorageBuffer ),
|
||||
xTriggerLevelBytes,
|
||||
ucStorageBuffer,
|
||||
&xStreamBufferStruct );
|
||||
}
|
||||
#else /* if ( configSUPPORT_STATIC_ALLOCATION == 1 ) */
|
||||
{
|
||||
xStreamBuffer = xStreamBufferCreate( sizeof( uint8_t ), xTriggerLevelBytes );
|
||||
configASSERT( xStreamBuffer );
|
||||
}
|
||||
{
|
||||
xStreamBuffer = xStreamBufferCreate( sizeof( uint8_t ), xTriggerLevelBytes );
|
||||
configASSERT( xStreamBuffer );
|
||||
}
|
||||
#endif /* if ( configSUPPORT_STATIC_ALLOCATION == 1 ) */
|
||||
|
||||
/* Note the time before the delay so the length of the delay is known. */
|
||||
|
@ -563,19 +563,19 @@
|
|||
uint8_t ucItemToQueue;
|
||||
|
||||
#if ( configSUPPORT_STATIC_ALLOCATION == 1 )
|
||||
{
|
||||
static StaticQueue_t xQueueBuffer;
|
||||
static uint8_t ucQueueStorage[ sizeof( uint8_t ) ];
|
||||
{
|
||||
static StaticQueue_t xQueueBuffer;
|
||||
static uint8_t ucQueueStorage[ sizeof( uint8_t ) ];
|
||||
|
||||
/* Create the queue. Statically allocated memory is used so the
|
||||
* creation cannot fail. */
|
||||
xQueue = xQueueCreateStatic( xQueueLength, sizeof( uint8_t ), ucQueueStorage, &xQueueBuffer );
|
||||
}
|
||||
/* Create the queue. Statically allocated memory is used so the
|
||||
* creation cannot fail. */
|
||||
xQueue = xQueueCreateStatic( xQueueLength, sizeof( uint8_t ), ucQueueStorage, &xQueueBuffer );
|
||||
}
|
||||
#else
|
||||
{
|
||||
xQueue = xQueueCreate( xQueueLength, sizeof( uint8_t ) );
|
||||
configASSERT( xQueue );
|
||||
}
|
||||
{
|
||||
xQueue = xQueueCreate( xQueueLength, sizeof( uint8_t ) );
|
||||
configASSERT( xQueue );
|
||||
}
|
||||
#endif /* if ( configSUPPORT_STATIC_ALLOCATION == 1 ) */
|
||||
|
||||
/* This function tests aborting when in the blocked state waiting to send,
|
||||
|
@ -639,17 +639,17 @@
|
|||
SemaphoreHandle_t xSemaphore;
|
||||
|
||||
#if ( configSUPPORT_STATIC_ALLOCATION == 1 )
|
||||
{
|
||||
static StaticSemaphore_t xSemaphoreBuffer;
|
||||
{
|
||||
static StaticSemaphore_t xSemaphoreBuffer;
|
||||
|
||||
/* Create the semaphore. Statically allocated memory is used so the
|
||||
* creation cannot fail. */
|
||||
xSemaphore = xSemaphoreCreateBinaryStatic( &xSemaphoreBuffer );
|
||||
}
|
||||
/* Create the semaphore. Statically allocated memory is used so the
|
||||
* creation cannot fail. */
|
||||
xSemaphore = xSemaphoreCreateBinaryStatic( &xSemaphoreBuffer );
|
||||
}
|
||||
#else
|
||||
{
|
||||
xSemaphore = xSemaphoreCreateBinary();
|
||||
}
|
||||
{
|
||||
xSemaphore = xSemaphoreCreateBinary();
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Note the time before the delay so the length of the delay is known. */
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* https://www.FreeRTOS.org
|
||||
* https://aws.amazon.com/freertos
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -242,12 +242,12 @@ static portTASK_FUNCTION( vBlockingQueueConsumer, pvParameters )
|
|||
}
|
||||
|
||||
#if configUSE_PREEMPTION == 0
|
||||
{
|
||||
if( pxQueueParameters->xBlockTime == 0 )
|
||||
{
|
||||
if( pxQueueParameters->xBlockTime == 0 )
|
||||
{
|
||||
taskYIELD();
|
||||
}
|
||||
taskYIELD();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
|
@ -192,9 +192,9 @@ void vStartGenericQueueTasks( UBaseType_t uxPriority )
|
|||
/* If INCLUDE_xTaskAbortDelay is set then additional tests are performed,
|
||||
* requiring two instances of prvHighPriorityMutexTask(). */
|
||||
#if ( INCLUDE_xTaskAbortDelay == 1 )
|
||||
{
|
||||
xTaskCreate( prvHighPriorityMutexTask, "MuHigh2", configMINIMAL_STACK_SIZE, ( void * ) xMutex, genqMUTEX_MEDIUM_PRIORITY, &xSecondMediumPriorityMutexTask );
|
||||
}
|
||||
{
|
||||
xTaskCreate( prvHighPriorityMutexTask, "MuHigh2", configMINIMAL_STACK_SIZE, ( void * ) xMutex, genqMUTEX_MEDIUM_PRIORITY, &xSecondMediumPriorityMutexTask );
|
||||
}
|
||||
#endif /* INCLUDE_xTaskAbortDelay */
|
||||
}
|
||||
}
|
||||
|
@ -679,9 +679,9 @@ static void prvTakeTwoMutexesReturnInDifferentOrder( SemaphoreHandle_t xMutex,
|
|||
/* Ensure the task is reporting its priority as blocked and not
|
||||
* suspended (as it would have done in versions up to V7.5.3). */
|
||||
#if ( INCLUDE_eTaskGetState == 1 )
|
||||
{
|
||||
configASSERT( eTaskGetState( xHighPriorityMutexTask ) == eBlocked );
|
||||
}
|
||||
{
|
||||
configASSERT( eTaskGetState( xHighPriorityMutexTask ) == eBlocked );
|
||||
}
|
||||
#endif /* INCLUDE_eTaskGetState */
|
||||
|
||||
/* This task should now have inherited the priority of the high priority
|
||||
|
@ -812,9 +812,9 @@ static void prvTakeTwoMutexesReturnInSameOrder( SemaphoreHandle_t xMutex,
|
|||
/* Ensure the task is reporting its priority as blocked and not
|
||||
* suspended (as it would have done in versions up to V7.5.3). */
|
||||
#if ( INCLUDE_eTaskGetState == 1 )
|
||||
{
|
||||
configASSERT( eTaskGetState( xHighPriorityMutexTask ) == eBlocked );
|
||||
}
|
||||
{
|
||||
configASSERT( eTaskGetState( xHighPriorityMutexTask ) == eBlocked );
|
||||
}
|
||||
#endif /* INCLUDE_eTaskGetState */
|
||||
|
||||
/* This task should now have inherited the priority of the high priority
|
||||
|
@ -943,12 +943,12 @@ static void prvLowPriorityMutexTask( void * pvParameters )
|
|||
#endif
|
||||
|
||||
#if ( INCLUDE_xTaskAbortDelay == 1 )
|
||||
{
|
||||
/* Tests the behaviour when a low priority task inherits the
|
||||
* priority of a high priority task only for the high priority task to
|
||||
* timeout before obtaining the mutex. */
|
||||
prvHighPriorityTimeout( xMutex );
|
||||
}
|
||||
{
|
||||
/* Tests the behaviour when a low priority task inherits the
|
||||
* priority of a high priority task only for the high priority task to
|
||||
* timeout before obtaining the mutex. */
|
||||
prvHighPriorityTimeout( xMutex );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* https://www.FreeRTOS.org
|
||||
* https://aws.amazon.com/freertos
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -177,9 +177,9 @@ static void prvTakeAndGiveInTheSameOrder( void )
|
|||
/* Ensure the slave is suspended, and that this task is running at the
|
||||
* lower priority as expected as the start conditions. */
|
||||
#if ( INCLUDE_eTaskGetState == 1 )
|
||||
{
|
||||
configASSERT( eTaskGetState( xSlaveHandle ) == eSuspended );
|
||||
}
|
||||
{
|
||||
configASSERT( eTaskGetState( xSlaveHandle ) == eSuspended );
|
||||
}
|
||||
#endif /* INCLUDE_eTaskGetState */
|
||||
|
||||
if( uxTaskPriorityGet( NULL ) != intsemMASTER_PRIORITY )
|
||||
|
@ -200,9 +200,9 @@ static void prvTakeAndGiveInTheSameOrder( void )
|
|||
/* The slave has the higher priority so should now have executed and
|
||||
* blocked on the semaphore. */
|
||||
#if ( INCLUDE_eTaskGetState == 1 )
|
||||
{
|
||||
configASSERT( eTaskGetState( xSlaveHandle ) == eBlocked );
|
||||
}
|
||||
{
|
||||
configASSERT( eTaskGetState( xSlaveHandle ) == eBlocked );
|
||||
}
|
||||
#endif /* INCLUDE_eTaskGetState */
|
||||
|
||||
/* This task should now have inherited the priority of the slave
|
||||
|
@ -264,9 +264,9 @@ static void prvTakeAndGiveInTheSameOrder( void )
|
|||
}
|
||||
|
||||
#if ( INCLUDE_eTaskGetState == 1 )
|
||||
{
|
||||
configASSERT( eTaskGetState( xSlaveHandle ) == eSuspended );
|
||||
}
|
||||
{
|
||||
configASSERT( eTaskGetState( xSlaveHandle ) == eSuspended );
|
||||
}
|
||||
#endif /* INCLUDE_eTaskGetState */
|
||||
|
||||
/* Reset the mutex ready for the next round. */
|
||||
|
@ -279,9 +279,9 @@ static void prvTakeAndGiveInTheOppositeOrder( void )
|
|||
/* Ensure the slave is suspended, and that this task is running at the
|
||||
* lower priority as expected as the start conditions. */
|
||||
#if ( INCLUDE_eTaskGetState == 1 )
|
||||
{
|
||||
configASSERT( eTaskGetState( xSlaveHandle ) == eSuspended );
|
||||
}
|
||||
{
|
||||
configASSERT( eTaskGetState( xSlaveHandle ) == eSuspended );
|
||||
}
|
||||
#endif /* INCLUDE_eTaskGetState */
|
||||
|
||||
if( uxTaskPriorityGet( NULL ) != intsemMASTER_PRIORITY )
|
||||
|
@ -302,9 +302,9 @@ static void prvTakeAndGiveInTheOppositeOrder( void )
|
|||
/* The slave has the higher priority so should now have executed and
|
||||
* blocked on the semaphore. */
|
||||
#if ( INCLUDE_eTaskGetState == 1 )
|
||||
{
|
||||
configASSERT( eTaskGetState( xSlaveHandle ) == eBlocked );
|
||||
}
|
||||
{
|
||||
configASSERT( eTaskGetState( xSlaveHandle ) == eBlocked );
|
||||
}
|
||||
#endif /* INCLUDE_eTaskGetState */
|
||||
|
||||
/* This task should now have inherited the priority of the slave
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* https://www.FreeRTOS.org
|
||||
* https://aws.amazon.com/freertos
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -163,23 +163,23 @@ void vStartMessageBufferTasks( configSTACK_DEPTH_TYPE xStackSize )
|
|||
xTaskCreate( prvNonBlockingSenderTask, "NonBlkTx", xStackSize, ( void * ) xMessageBuffer, tskIDLE_PRIORITY, NULL );
|
||||
|
||||
#if ( configSUPPORT_STATIC_ALLOCATION == 1 )
|
||||
{
|
||||
/* The sender tasks set up the message buffers before creating the
|
||||
* receiver tasks. Priorities must be 0 and 1 as the priority is used to
|
||||
* index into the xStaticMessageBuffers and ucBufferStorage arrays. */
|
||||
xTaskCreate( prvSenderTask, "1Sender", xBlockingStackSize, NULL, mbHIGHER_PRIORITY, NULL );
|
||||
xTaskCreate( prvSenderTask, "2Sender", xBlockingStackSize, NULL, mbLOWER_PRIORITY, NULL );
|
||||
}
|
||||
{
|
||||
/* The sender tasks set up the message buffers before creating the
|
||||
* receiver tasks. Priorities must be 0 and 1 as the priority is used to
|
||||
* index into the xStaticMessageBuffers and ucBufferStorage arrays. */
|
||||
xTaskCreate( prvSenderTask, "1Sender", xBlockingStackSize, NULL, mbHIGHER_PRIORITY, NULL );
|
||||
xTaskCreate( prvSenderTask, "2Sender", xBlockingStackSize, NULL, mbLOWER_PRIORITY, NULL );
|
||||
}
|
||||
#endif /* configSUPPORT_STATIC_ALLOCATION */
|
||||
|
||||
#if ( configRUN_ADDITIONAL_TESTS == 1 )
|
||||
{
|
||||
xCoherenceTestMessageBuffer = xMessageBufferCreate( mbCOHERENCE_TEST_BUFFER_SIZE );
|
||||
configASSERT( xCoherenceTestMessageBuffer );
|
||||
{
|
||||
xCoherenceTestMessageBuffer = xMessageBufferCreate( mbCOHERENCE_TEST_BUFFER_SIZE );
|
||||
configASSERT( xCoherenceTestMessageBuffer );
|
||||
|
||||
xTaskCreate( prvSpaceAvailableCoherenceActor, "mbsanity1", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );
|
||||
xTaskCreate( prvSpaceAvailableCoherenceTester, "mbsanity2", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );
|
||||
}
|
||||
xTaskCreate( prvSpaceAvailableCoherenceActor, "mbsanity1", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );
|
||||
xTaskCreate( prvSpaceAvailableCoherenceTester, "mbsanity2", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
@ -419,19 +419,19 @@ static void prvSingleTaskTests( MessageBufferHandle_t xMessageBuffer )
|
|||
configASSERT( xReturned == 0 );
|
||||
( void ) xReturned; /* In case configASSERT() is not defined. */
|
||||
#ifndef configMESSAGE_BUFFER_LENGTH_TYPE
|
||||
{
|
||||
/* The following will fail if configMESSAGE_BUFFER_LENGTH_TYPE is set
|
||||
* to a non 32-bit type. */
|
||||
xReturned = xMessageBufferSend( xMessageBuffer, ( const void * ) pc55ByteString, mbMESSAGE_BUFFER_LENGTH_BYTES - 1, mbDONT_BLOCK );
|
||||
configASSERT( xReturned == 0 );
|
||||
( void ) xReturned; /* In case configASSERT() is not defined. */
|
||||
xReturned = xMessageBufferSend( xMessageBuffer, ( const void * ) pc55ByteString, mbMESSAGE_BUFFER_LENGTH_BYTES - 2, mbDONT_BLOCK );
|
||||
configASSERT( xReturned == 0 );
|
||||
( void ) xReturned; /* In case configASSERT() is not defined. */
|
||||
xReturned = xMessageBufferSend( xMessageBuffer, ( const void * ) pc55ByteString, mbMESSAGE_BUFFER_LENGTH_BYTES - 3, mbDONT_BLOCK );
|
||||
configASSERT( xReturned == 0 );
|
||||
( void ) xReturned; /* In case configASSERT() is not defined. */
|
||||
}
|
||||
{
|
||||
/* The following will fail if configMESSAGE_BUFFER_LENGTH_TYPE is set
|
||||
* to a non 32-bit type. */
|
||||
xReturned = xMessageBufferSend( xMessageBuffer, ( const void * ) pc55ByteString, mbMESSAGE_BUFFER_LENGTH_BYTES - 1, mbDONT_BLOCK );
|
||||
configASSERT( xReturned == 0 );
|
||||
( void ) xReturned; /* In case configASSERT() is not defined. */
|
||||
xReturned = xMessageBufferSend( xMessageBuffer, ( const void * ) pc55ByteString, mbMESSAGE_BUFFER_LENGTH_BYTES - 2, mbDONT_BLOCK );
|
||||
configASSERT( xReturned == 0 );
|
||||
( void ) xReturned; /* In case configASSERT() is not defined. */
|
||||
xReturned = xMessageBufferSend( xMessageBuffer, ( const void * ) pc55ByteString, mbMESSAGE_BUFFER_LENGTH_BYTES - 3, mbDONT_BLOCK );
|
||||
configASSERT( xReturned == 0 );
|
||||
( void ) xReturned; /* In case configASSERT() is not defined. */
|
||||
}
|
||||
#endif /* ifndef configMESSAGE_BUFFER_LENGTH_TYPE */
|
||||
|
||||
/* Don't expect any messages to be available as the above were too large to
|
||||
|
@ -934,36 +934,36 @@ BaseType_t xAreMessageBufferTasksStillRunning( void )
|
|||
}
|
||||
|
||||
#if ( configSUPPORT_STATIC_ALLOCATION == 1 )
|
||||
{
|
||||
static uint32_t ulLastSenderLoopCounters[ mbNUMBER_OF_ECHO_CLIENTS ] = { 0 };
|
||||
|
||||
for( x = 0; x < mbNUMBER_OF_SENDER_TASKS; x++ )
|
||||
{
|
||||
static uint32_t ulLastSenderLoopCounters[ mbNUMBER_OF_ECHO_CLIENTS ] = { 0 };
|
||||
|
||||
for( x = 0; x < mbNUMBER_OF_SENDER_TASKS; x++ )
|
||||
{
|
||||
if( ulLastSenderLoopCounters[ x ] == ulSenderLoopCounters[ x ] )
|
||||
{
|
||||
xReturn = pdFAIL;
|
||||
}
|
||||
else
|
||||
{
|
||||
ulLastSenderLoopCounters[ x ] = ulSenderLoopCounters[ x ];
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* configSUPPORT_STATIC_ALLOCATION */
|
||||
|
||||
#if ( configRUN_ADDITIONAL_TESTS == 1 )
|
||||
{
|
||||
static uint32_t ullastSizeCoherencyTestCycles = 0UL;
|
||||
|
||||
if( ullastSizeCoherencyTestCycles == ulSizeCoherencyTestCycles )
|
||||
if( ulLastSenderLoopCounters[ x ] == ulSenderLoopCounters[ x ] )
|
||||
{
|
||||
xReturn = pdFAIL;
|
||||
}
|
||||
else
|
||||
{
|
||||
ullastSizeCoherencyTestCycles = ulSizeCoherencyTestCycles;
|
||||
ulLastSenderLoopCounters[ x ] = ulSenderLoopCounters[ x ];
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* configSUPPORT_STATIC_ALLOCATION */
|
||||
|
||||
#if ( configRUN_ADDITIONAL_TESTS == 1 )
|
||||
{
|
||||
static uint32_t ullastSizeCoherencyTestCycles = 0UL;
|
||||
|
||||
if( ullastSizeCoherencyTestCycles == ulSizeCoherencyTestCycles )
|
||||
{
|
||||
xReturn = pdFAIL;
|
||||
}
|
||||
else
|
||||
{
|
||||
ullastSizeCoherencyTestCycles = ulSizeCoherencyTestCycles;
|
||||
}
|
||||
}
|
||||
#endif /* if ( configRUN_ADDITIONAL_TESTS == 1 ) */
|
||||
|
||||
return xReturn;
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* https://www.FreeRTOS.org
|
||||
* https://aws.amazon.com/freertos
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -111,14 +111,14 @@ static void prvHighestPriorityPeekTask( void * pvParameters )
|
|||
uint32_t ulValue;
|
||||
|
||||
#ifdef USE_STDIO
|
||||
{
|
||||
void vPrintDisplayMessage( const char * const * ppcMessageToSend );
|
||||
{
|
||||
void vPrintDisplayMessage( const char * const * ppcMessageToSend );
|
||||
|
||||
const char * const pcTaskStartMsg = "Queue peek test started.\r\n";
|
||||
const char * const pcTaskStartMsg = "Queue peek test started.\r\n";
|
||||
|
||||
/* Queue a message for printing to say the task has started. */
|
||||
vPrintDisplayMessage( &pcTaskStartMsg );
|
||||
}
|
||||
/* Queue a message for printing to say the task has started. */
|
||||
vPrintDisplayMessage( &pcTaskStartMsg );
|
||||
}
|
||||
#endif
|
||||
|
||||
for( ; ; )
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* https://www.FreeRTOS.org
|
||||
* https://aws.amazon.com/freertos
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -286,15 +286,15 @@
|
|||
vSemaphoreDelete( xSemaphore );
|
||||
|
||||
#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
|
||||
{
|
||||
/* Now do the same but using dynamically allocated buffers to ensure the
|
||||
* delete functions are working correctly in both the static and dynamic
|
||||
* allocation cases. */
|
||||
xSemaphore = xSemaphoreCreateCounting( uxMaxCount, 0 );
|
||||
configASSERT( xSemaphore != NULL );
|
||||
prvSanityCheckCreatedSemaphore( xSemaphore, uxMaxCount );
|
||||
vSemaphoreDelete( xSemaphore );
|
||||
}
|
||||
{
|
||||
/* Now do the same but using dynamically allocated buffers to ensure the
|
||||
* delete functions are working correctly in both the static and dynamic
|
||||
* allocation cases. */
|
||||
xSemaphore = xSemaphoreCreateCounting( uxMaxCount, 0 );
|
||||
configASSERT( xSemaphore != NULL );
|
||||
prvSanityCheckCreatedSemaphore( xSemaphore, uxMaxCount );
|
||||
vSemaphoreDelete( xSemaphore );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
@ -335,12 +335,12 @@
|
|||
* functions are working correctly in both the static and dynamic memory
|
||||
* allocation cases. */
|
||||
#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
|
||||
{
|
||||
xSemaphore = xSemaphoreCreateRecursiveMutex();
|
||||
configASSERT( xSemaphore != NULL );
|
||||
prvSanityCheckCreatedRecursiveMutex( xSemaphore );
|
||||
vSemaphoreDelete( xSemaphore );
|
||||
}
|
||||
{
|
||||
xSemaphore = xSemaphoreCreateRecursiveMutex();
|
||||
configASSERT( xSemaphore != NULL );
|
||||
prvSanityCheckCreatedRecursiveMutex( xSemaphore );
|
||||
vSemaphoreDelete( xSemaphore );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
@ -390,20 +390,20 @@
|
|||
* function is working correctly in both the static and dynamic memory
|
||||
* allocation cases. */
|
||||
#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
|
||||
{
|
||||
xQueue = xQueueCreate( staticQUEUE_LENGTH_IN_ITEMS, /* The maximum number of items the queue can hold. */
|
||||
sizeof( uint64_t ) ); /* The size of each item. */
|
||||
{
|
||||
xQueue = xQueueCreate( staticQUEUE_LENGTH_IN_ITEMS, /* The maximum number of items the queue can hold. */
|
||||
sizeof( uint64_t ) ); /* The size of each item. */
|
||||
|
||||
/* The queue handle should equal the static queue structure passed into the
|
||||
* xQueueCreateStatic() function. */
|
||||
configASSERT( xQueue != NULL );
|
||||
/* The queue handle should equal the static queue structure passed into the
|
||||
* xQueueCreateStatic() function. */
|
||||
configASSERT( xQueue != NULL );
|
||||
|
||||
/* Ensure the queue passes a few sanity checks as a valid queue. */
|
||||
prvSanityCheckCreatedQueue( xQueue );
|
||||
/* Ensure the queue passes a few sanity checks as a valid queue. */
|
||||
prvSanityCheckCreatedQueue( xQueue );
|
||||
|
||||
/* Delete the queue again so the buffers can be reused. */
|
||||
vQueueDelete( xQueue );
|
||||
}
|
||||
/* Delete the queue again so the buffers can be reused. */
|
||||
vQueueDelete( xQueue );
|
||||
}
|
||||
#endif /* if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) */
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
@ -453,28 +453,28 @@
|
|||
* function is working correctly in both the static and dynamic allocation
|
||||
* cases. */
|
||||
#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
|
||||
{
|
||||
xSemaphore = xSemaphoreCreateMutex();
|
||||
|
||||
/* The semaphore handle should equal the static semaphore structure
|
||||
* passed into the xSemaphoreCreateMutexStatic() function. */
|
||||
configASSERT( xSemaphore != NULL );
|
||||
|
||||
/* Take the mutex so the mutex is in the state expected by the
|
||||
* prvSanityCheckCreatedSemaphore() function. */
|
||||
xReturned = xSemaphoreTake( xSemaphore, staticDONT_BLOCK );
|
||||
|
||||
if( xReturned != pdPASS )
|
||||
{
|
||||
xSemaphore = xSemaphoreCreateMutex();
|
||||
|
||||
/* The semaphore handle should equal the static semaphore structure
|
||||
* passed into the xSemaphoreCreateMutexStatic() function. */
|
||||
configASSERT( xSemaphore != NULL );
|
||||
|
||||
/* Take the mutex so the mutex is in the state expected by the
|
||||
* prvSanityCheckCreatedSemaphore() function. */
|
||||
xReturned = xSemaphoreTake( xSemaphore, staticDONT_BLOCK );
|
||||
|
||||
if( xReturned != pdPASS )
|
||||
{
|
||||
xErrorOccurred = pdTRUE;
|
||||
}
|
||||
|
||||
/* Ensure the semaphore passes a few sanity checks as a valid semaphore. */
|
||||
prvSanityCheckCreatedSemaphore( xSemaphore, staticBINARY_SEMAPHORE_MAX_COUNT );
|
||||
|
||||
/* Delete the semaphore again so the buffers can be reused. */
|
||||
vSemaphoreDelete( xSemaphore );
|
||||
xErrorOccurred = pdTRUE;
|
||||
}
|
||||
|
||||
/* Ensure the semaphore passes a few sanity checks as a valid semaphore. */
|
||||
prvSanityCheckCreatedSemaphore( xSemaphore, staticBINARY_SEMAPHORE_MAX_COUNT );
|
||||
|
||||
/* Delete the semaphore again so the buffers can be reused. */
|
||||
vSemaphoreDelete( xSemaphore );
|
||||
}
|
||||
#endif /* if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) */
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
@ -516,31 +516,31 @@
|
|||
* delete function is working correctly in both the static and dynamic
|
||||
* allocation cases. */
|
||||
#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
|
||||
{
|
||||
xSemaphore = xSemaphoreCreateBinary();
|
||||
configASSERT( xSemaphore != NULL );
|
||||
prvSanityCheckCreatedSemaphore( xSemaphore, staticBINARY_SEMAPHORE_MAX_COUNT );
|
||||
vSemaphoreDelete( xSemaphore );
|
||||
}
|
||||
{
|
||||
xSemaphore = xSemaphoreCreateBinary();
|
||||
configASSERT( xSemaphore != NULL );
|
||||
prvSanityCheckCreatedSemaphore( xSemaphore, staticBINARY_SEMAPHORE_MAX_COUNT );
|
||||
vSemaphoreDelete( xSemaphore );
|
||||
}
|
||||
#endif
|
||||
|
||||
/* There isn't a static version of the old and deprecated
|
||||
* vSemaphoreCreateBinary() macro (because its deprecated!), but check it is
|
||||
* still functioning correctly. */
|
||||
#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
|
||||
{
|
||||
vSemaphoreCreateBinary( xSemaphore );
|
||||
|
||||
/* The macro starts with the binary semaphore available, but the test
|
||||
* function expects it to be unavailable. */
|
||||
if( xSemaphoreTake( xSemaphore, staticDONT_BLOCK ) == pdFAIL )
|
||||
{
|
||||
vSemaphoreCreateBinary( xSemaphore );
|
||||
|
||||
/* The macro starts with the binary semaphore available, but the test
|
||||
* function expects it to be unavailable. */
|
||||
if( xSemaphoreTake( xSemaphore, staticDONT_BLOCK ) == pdFAIL )
|
||||
{
|
||||
xErrorOccurred = pdTRUE;
|
||||
}
|
||||
|
||||
prvSanityCheckCreatedSemaphore( xSemaphore, staticBINARY_SEMAPHORE_MAX_COUNT );
|
||||
vSemaphoreDelete( xSemaphore );
|
||||
xErrorOccurred = pdTRUE;
|
||||
}
|
||||
|
||||
prvSanityCheckCreatedSemaphore( xSemaphore, staticBINARY_SEMAPHORE_MAX_COUNT );
|
||||
vSemaphoreDelete( xSemaphore );
|
||||
}
|
||||
#endif /* if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) */
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
@ -644,37 +644,37 @@
|
|||
* the delete function is working correctly in both the static and dynamic
|
||||
* allocation cases. */
|
||||
#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
|
||||
{
|
||||
xTimer = xTimerCreate( "T1", /* Text name for the task. Helps debugging only. Not used by FreeRTOS. */
|
||||
xTimerPeriod, /* The period of the timer in ticks. */
|
||||
pdTRUE, /* This is an auto-reload timer. */
|
||||
( void * ) &uxVariableToIncrement, /* The variable incremented by the test is passed into the timer callback using the timer ID. */
|
||||
prvTimerCallback ); /* The function to execute when the timer expires. */
|
||||
|
||||
configASSERT( xTimer != NULL );
|
||||
|
||||
uxVariableToIncrement = 0;
|
||||
xReturned = xTimerStart( xTimer, staticDONT_BLOCK );
|
||||
|
||||
if( xReturned != pdPASS )
|
||||
{
|
||||
xTimer = xTimerCreate( "T1", /* Text name for the task. Helps debugging only. Not used by FreeRTOS. */
|
||||
xTimerPeriod, /* The period of the timer in ticks. */
|
||||
pdTRUE, /* This is an auto-reload timer. */
|
||||
( void * ) &uxVariableToIncrement, /* The variable incremented by the test is passed into the timer callback using the timer ID. */
|
||||
prvTimerCallback ); /* The function to execute when the timer expires. */
|
||||
|
||||
configASSERT( xTimer != NULL );
|
||||
|
||||
uxVariableToIncrement = 0;
|
||||
xReturned = xTimerStart( xTimer, staticDONT_BLOCK );
|
||||
|
||||
if( xReturned != pdPASS )
|
||||
{
|
||||
xErrorOccurred = pdTRUE;
|
||||
}
|
||||
|
||||
vTaskDelay( xTimerPeriod * staticMAX_TIMER_CALLBACK_EXECUTIONS );
|
||||
|
||||
if( uxVariableToIncrement != staticMAX_TIMER_CALLBACK_EXECUTIONS )
|
||||
{
|
||||
xErrorOccurred = pdTRUE;
|
||||
}
|
||||
|
||||
xReturned = xTimerDelete( xTimer, staticDONT_BLOCK );
|
||||
|
||||
if( xReturned != pdPASS )
|
||||
{
|
||||
xErrorOccurred = pdTRUE;
|
||||
}
|
||||
xErrorOccurred = pdTRUE;
|
||||
}
|
||||
|
||||
vTaskDelay( xTimerPeriod * staticMAX_TIMER_CALLBACK_EXECUTIONS );
|
||||
|
||||
if( uxVariableToIncrement != staticMAX_TIMER_CALLBACK_EXECUTIONS )
|
||||
{
|
||||
xErrorOccurred = pdTRUE;
|
||||
}
|
||||
|
||||
xReturned = xTimerDelete( xTimer, staticDONT_BLOCK );
|
||||
|
||||
if( xReturned != pdPASS )
|
||||
{
|
||||
xErrorOccurred = pdTRUE;
|
||||
}
|
||||
}
|
||||
#endif /* if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) */
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
@ -713,12 +713,12 @@
|
|||
* delete function is working correctly in both the static and dynamic
|
||||
* allocation cases. */
|
||||
#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
|
||||
{
|
||||
xEventGroup = xEventGroupCreate();
|
||||
configASSERT( xEventGroup != NULL );
|
||||
prvSanityCheckCreatedEventGroup( xEventGroup );
|
||||
vEventGroupDelete( xEventGroup );
|
||||
}
|
||||
{
|
||||
xEventGroup = xEventGroupCreate();
|
||||
configASSERT( xEventGroup != NULL );
|
||||
prvSanityCheckCreatedEventGroup( xEventGroup );
|
||||
vEventGroupDelete( xEventGroup );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
@ -774,31 +774,31 @@
|
|||
* function is working correctly in both the static and dynamic allocation
|
||||
* cases. */
|
||||
#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
|
||||
{
|
||||
BaseType_t xReturned;
|
||||
|
||||
xReturned = xTaskCreate(
|
||||
prvStaticallyAllocatedTask, /* Function that implements the task - the same function is used but is actually dynamically allocated this time. */
|
||||
"Static", /* Human readable name for the task. */
|
||||
configMINIMAL_STACK_SIZE, /* Task's stack size, in words (not bytes!). */
|
||||
NULL, /* Parameter to pass into the task. */
|
||||
uxTaskPriorityGet( NULL ) + 1, /* The priority of the task. */
|
||||
&xCreatedTask ); /* Handle of the task being created. */
|
||||
|
||||
if( eTaskGetState( xCreatedTask ) != eSuspended )
|
||||
{
|
||||
BaseType_t xReturned;
|
||||
|
||||
xReturned = xTaskCreate(
|
||||
prvStaticallyAllocatedTask, /* Function that implements the task - the same function is used but is actually dynamically allocated this time. */
|
||||
"Static", /* Human readable name for the task. */
|
||||
configMINIMAL_STACK_SIZE, /* Task's stack size, in words (not bytes!). */
|
||||
NULL, /* Parameter to pass into the task. */
|
||||
uxTaskPriorityGet( NULL ) + 1, /* The priority of the task. */
|
||||
&xCreatedTask ); /* Handle of the task being created. */
|
||||
|
||||
if( eTaskGetState( xCreatedTask ) != eSuspended )
|
||||
{
|
||||
xErrorOccurred = pdTRUE;
|
||||
}
|
||||
|
||||
configASSERT( xReturned == pdPASS );
|
||||
|
||||
if( xReturned != pdPASS )
|
||||
{
|
||||
xErrorOccurred = pdTRUE;
|
||||
}
|
||||
|
||||
vTaskDelete( xCreatedTask );
|
||||
xErrorOccurred = pdTRUE;
|
||||
}
|
||||
|
||||
configASSERT( xReturned == pdPASS );
|
||||
|
||||
if( xReturned != pdPASS )
|
||||
{
|
||||
xErrorOccurred = pdTRUE;
|
||||
}
|
||||
|
||||
vTaskDelete( xCreatedTask );
|
||||
}
|
||||
#endif /* if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) */
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
|
@ -204,13 +204,13 @@ void vStartStreamBufferTasks( void )
|
|||
xTaskCreate( prvInterruptTriggerLevelTest, "StrTrig", configMINIMAL_STACK_SIZE, NULL, configMAX_PRIORITIES - 1, NULL );
|
||||
|
||||
#if ( configSUPPORT_STATIC_ALLOCATION == 1 )
|
||||
{
|
||||
/* The sender tasks set up the stream buffers before creating the
|
||||
* receiver tasks. Priorities must be 0 and 1 as the priority is used to
|
||||
* index into the xStaticStreamBuffers and ucBufferStorage arrays. */
|
||||
xTaskCreate( prvSenderTask, "Str1Sender", sbSMALLER_STACK_SIZE, NULL, sbHIGHER_PRIORITY, NULL );
|
||||
xTaskCreate( prvSenderTask, "Str2Sender", sbSMALLER_STACK_SIZE, NULL, sbLOWER_PRIORITY, NULL );
|
||||
}
|
||||
{
|
||||
/* The sender tasks set up the stream buffers before creating the
|
||||
* receiver tasks. Priorities must be 0 and 1 as the priority is used to
|
||||
* index into the xStaticStreamBuffers and ucBufferStorage arrays. */
|
||||
xTaskCreate( prvSenderTask, "Str1Sender", sbSMALLER_STACK_SIZE, NULL, sbHIGHER_PRIORITY, NULL );
|
||||
xTaskCreate( prvSenderTask, "Str2Sender", sbSMALLER_STACK_SIZE, NULL, sbLOWER_PRIORITY, NULL );
|
||||
}
|
||||
#endif /* configSUPPORT_STATIC_ALLOCATION */
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
@ -1225,21 +1225,21 @@ BaseType_t xAreStreamBufferTasksStillRunning( void )
|
|||
}
|
||||
|
||||
#if ( configSUPPORT_STATIC_ALLOCATION == 1 )
|
||||
{
|
||||
static uint32_t ulLastSenderLoopCounters[ sbNUMBER_OF_ECHO_CLIENTS ] = { 0 };
|
||||
{
|
||||
static uint32_t ulLastSenderLoopCounters[ sbNUMBER_OF_ECHO_CLIENTS ] = { 0 };
|
||||
|
||||
for( x = 0; x < sbNUMBER_OF_SENDER_TASKS; x++ )
|
||||
for( x = 0; x < sbNUMBER_OF_SENDER_TASKS; x++ )
|
||||
{
|
||||
if( ulLastSenderLoopCounters[ x ] == ulSenderLoopCounters[ x ] )
|
||||
{
|
||||
if( ulLastSenderLoopCounters[ x ] == ulSenderLoopCounters[ x ] )
|
||||
{
|
||||
xErrorStatus = pdFAIL;
|
||||
}
|
||||
else
|
||||
{
|
||||
ulLastSenderLoopCounters[ x ] = ulSenderLoopCounters[ x ];
|
||||
}
|
||||
xErrorStatus = pdFAIL;
|
||||
}
|
||||
else
|
||||
{
|
||||
ulLastSenderLoopCounters[ x ] = ulSenderLoopCounters[ x ];
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* configSUPPORT_STATIC_ALLOCATION */
|
||||
|
||||
return xErrorStatus;
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* https://www.FreeRTOS.org
|
||||
* https://aws.amazon.com/freertos
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -264,9 +264,9 @@ static portTASK_FUNCTION( vCounterControlTask, pvParameters )
|
|||
vTaskSuspend( xContinuousIncrementHandle );
|
||||
{
|
||||
#if ( INCLUDE_eTaskGetState == 1 )
|
||||
{
|
||||
configASSERT( eTaskGetState( xContinuousIncrementHandle ) == eSuspended );
|
||||
}
|
||||
{
|
||||
configASSERT( eTaskGetState( xContinuousIncrementHandle ) == eSuspended );
|
||||
}
|
||||
#endif /* INCLUDE_eTaskGetState */
|
||||
|
||||
ulLastCounter = ulCounter;
|
||||
|
@ -278,9 +278,9 @@ static portTASK_FUNCTION( vCounterControlTask, pvParameters )
|
|||
#endif
|
||||
|
||||
#if ( INCLUDE_eTaskGetState == 1 )
|
||||
{
|
||||
configASSERT( eTaskGetState( xContinuousIncrementHandle ) == eReady );
|
||||
}
|
||||
{
|
||||
configASSERT( eTaskGetState( xContinuousIncrementHandle ) == eReady );
|
||||
}
|
||||
#endif /* INCLUDE_eTaskGetState */
|
||||
|
||||
/* Now delay to ensure the other task has processor time. */
|
||||
|
@ -311,9 +311,9 @@ static portTASK_FUNCTION( vCounterControlTask, pvParameters )
|
|||
ulCounter = ( uint32_t ) 0;
|
||||
|
||||
#if ( INCLUDE_eTaskGetState == 1 )
|
||||
{
|
||||
configASSERT( eTaskGetState( xLimitedIncrementHandle ) == eSuspended );
|
||||
}
|
||||
{
|
||||
configASSERT( eTaskGetState( xLimitedIncrementHandle ) == eSuspended );
|
||||
}
|
||||
#endif /* INCLUDE_eTaskGetState */
|
||||
|
||||
/* Resume the limited count task which has a higher priority than us.
|
||||
|
@ -328,9 +328,9 @@ static portTASK_FUNCTION( vCounterControlTask, pvParameters )
|
|||
/* This task should not run again until xLimitedIncrementHandle has
|
||||
* suspended itself. */
|
||||
#if ( INCLUDE_eTaskGetState == 1 )
|
||||
{
|
||||
configASSERT( eTaskGetState( xLimitedIncrementHandle ) == eSuspended );
|
||||
}
|
||||
{
|
||||
configASSERT( eTaskGetState( xLimitedIncrementHandle ) == eSuspended );
|
||||
}
|
||||
#endif /* INCLUDE_eTaskGetState */
|
||||
|
||||
/* Does the counter variable have the expected value? */
|
||||
|
@ -415,9 +415,9 @@ static portTASK_FUNCTION( vQueueReceiveWhenSuspendedTask, pvParameters )
|
|||
xTaskResumeAll();
|
||||
|
||||
#if configUSE_PREEMPTION == 0
|
||||
{
|
||||
taskYIELD();
|
||||
}
|
||||
{
|
||||
taskYIELD();
|
||||
}
|
||||
#endif
|
||||
} while( xGotValue == pdFALSE );
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* https://www.FreeRTOS.org
|
||||
* https://aws.amazon.com/freertos
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -99,9 +99,9 @@ static portTASK_FUNCTION( vCompeteingIntMathTask, pvParameters )
|
|||
|
||||
/* Yield in case cooperative scheduling is being used. */
|
||||
#if configUSE_PREEMPTION == 0
|
||||
{
|
||||
taskYIELD();
|
||||
}
|
||||
{
|
||||
taskYIELD();
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Finish off the calculation. */
|
||||
|
@ -128,9 +128,9 @@ static portTASK_FUNCTION( vCompeteingIntMathTask, pvParameters )
|
|||
|
||||
/* Yield in case cooperative scheduling is being used. */
|
||||
#if configUSE_PREEMPTION == 0
|
||||
{
|
||||
taskYIELD();
|
||||
}
|
||||
{
|
||||
taskYIELD();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* https://www.FreeRTOS.org
|
||||
* https://aws.amazon.com/freertos
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -281,10 +281,10 @@ static void prvRecursiveMutexPollingTask( void * pvParameters )
|
|||
if( xSemaphoreTakeRecursive( xMutex, recmuNO_DELAY ) == pdPASS )
|
||||
{
|
||||
#if ( INCLUDE_eTaskGetState == 1 )
|
||||
{
|
||||
configASSERT( eTaskGetState( xControllingTaskHandle ) == eSuspended );
|
||||
configASSERT( eTaskGetState( xBlockingTaskHandle ) == eSuspended );
|
||||
}
|
||||
{
|
||||
configASSERT( eTaskGetState( xControllingTaskHandle ) == eSuspended );
|
||||
configASSERT( eTaskGetState( xBlockingTaskHandle ) == eSuspended );
|
||||
}
|
||||
#endif /* INCLUDE_eTaskGetState */
|
||||
|
||||
/* Is the blocking task suspended? */
|
||||
|
@ -325,17 +325,17 @@ static void prvRecursiveMutexPollingTask( void * pvParameters )
|
|||
}
|
||||
|
||||
#if ( INCLUDE_uxTaskPriorityGet == 1 )
|
||||
{
|
||||
/* Check priority inherited. */
|
||||
configASSERT( uxTaskPriorityGet( NULL ) == recmuCONTROLLING_TASK_PRIORITY );
|
||||
}
|
||||
{
|
||||
/* Check priority inherited. */
|
||||
configASSERT( uxTaskPriorityGet( NULL ) == recmuCONTROLLING_TASK_PRIORITY );
|
||||
}
|
||||
#endif /* INCLUDE_uxTaskPriorityGet */
|
||||
|
||||
#if ( INCLUDE_eTaskGetState == 1 )
|
||||
{
|
||||
configASSERT( eTaskGetState( xControllingTaskHandle ) == eBlocked );
|
||||
configASSERT( eTaskGetState( xBlockingTaskHandle ) == eBlocked );
|
||||
}
|
||||
{
|
||||
configASSERT( eTaskGetState( xControllingTaskHandle ) == eBlocked );
|
||||
configASSERT( eTaskGetState( xBlockingTaskHandle ) == eBlocked );
|
||||
}
|
||||
#endif /* INCLUDE_eTaskGetState */
|
||||
|
||||
/* Release the mutex, disinheriting the higher priority again. */
|
||||
|
@ -345,18 +345,18 @@ static void prvRecursiveMutexPollingTask( void * pvParameters )
|
|||
}
|
||||
|
||||
#if ( INCLUDE_uxTaskPriorityGet == 1 )
|
||||
{
|
||||
/* Check priority disinherited. */
|
||||
configASSERT( uxTaskPriorityGet( NULL ) == recmuPOLLING_TASK_PRIORITY );
|
||||
}
|
||||
{
|
||||
/* Check priority disinherited. */
|
||||
configASSERT( uxTaskPriorityGet( NULL ) == recmuPOLLING_TASK_PRIORITY );
|
||||
}
|
||||
#endif /* INCLUDE_uxTaskPriorityGet */
|
||||
}
|
||||
}
|
||||
|
||||
#if configUSE_PREEMPTION == 0
|
||||
{
|
||||
taskYIELD();
|
||||
}
|
||||
{
|
||||
taskYIELD();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
#define PORTMACRO_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------
|
||||
|
@ -146,7 +146,7 @@
|
|||
#define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void * pvParameters )
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* PORTMACRO_H */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* FreeRTOS V202112.00
|
||||
* Copyright (C) Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -176,15 +176,15 @@ static void prvInitialiseNewQueue( const UBaseType_t uxQueueLength,
|
|||
#endif
|
||||
|
||||
#if ( configUSE_TRACE_FACILITY == 1 )
|
||||
{
|
||||
pxNewQueue->ucQueueType = ucQueueType;
|
||||
}
|
||||
{
|
||||
pxNewQueue->ucQueueType = ucQueueType;
|
||||
}
|
||||
#endif /* configUSE_TRACE_FACILITY */
|
||||
|
||||
#if ( configUSE_QUEUE_SETS == 1 )
|
||||
{
|
||||
pxNewQueue->pxQueueSetContainer = NULL;
|
||||
}
|
||||
{
|
||||
pxNewQueue->pxQueueSetContainer = NULL;
|
||||
}
|
||||
#endif /* configUSE_QUEUE_SETS */
|
||||
|
||||
traceQUEUE_CREATE( pxNewQueue );
|
||||
|
@ -262,12 +262,12 @@ QueueHandle_t xQueueGenericCreate( const UBaseType_t uxQueueLength,
|
|||
#endif /* ifdef VERIFAST */
|
||||
|
||||
#if ( configSUPPORT_STATIC_ALLOCATION == 1 )
|
||||
{
|
||||
/* Queues can be created either statically or dynamically, so
|
||||
* note this task was created dynamically in case it is later
|
||||
* deleted. */
|
||||
pxNewQueue->ucStaticallyAllocated = pdFALSE;
|
||||
}
|
||||
{
|
||||
/* Queues can be created either statically or dynamically, so
|
||||
* note this task was created dynamically in case it is later
|
||||
* deleted. */
|
||||
pxNewQueue->ucStaticallyAllocated = pdFALSE;
|
||||
}
|
||||
#endif /* configSUPPORT_STATIC_ALLOCATION */
|
||||
|
||||
prvInitialiseNewQueue( uxQueueLength, uxItemSize, pucQueueStorage, ucQueueType, pxNewQueue );
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* FreeRTOS V202112.00
|
||||
* Copyright (C) Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -60,18 +60,18 @@ static BaseType_t prvCopyDataToQueue( Queue_t * const pxQueue,
|
|||
/* This case is unreachable for queues */
|
||||
/*@assert false;@*/
|
||||
#if ( configUSE_MUTEXES == 1 )
|
||||
{
|
||||
if( pxQueue->uxQueueType == queueQUEUE_IS_MUTEX )
|
||||
{
|
||||
if( pxQueue->uxQueueType == queueQUEUE_IS_MUTEX )
|
||||
{
|
||||
/* The mutex is no longer being held. */
|
||||
xReturn = xTaskPriorityDisinherit( pxQueue->u.xSemaphore.xMutexHolder );
|
||||
pxQueue->u.xSemaphore.xMutexHolder = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
/* The mutex is no longer being held. */
|
||||
xReturn = xTaskPriorityDisinherit( pxQueue->u.xSemaphore.xMutexHolder );
|
||||
pxQueue->u.xSemaphore.xMutexHolder = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
}
|
||||
#endif /* configUSE_MUTEXES */
|
||||
}
|
||||
else if( xPosition == queueSEND_TO_BACK )
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* FreeRTOS V202112.00
|
||||
* Copyright (C) Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -59,55 +59,32 @@ static void prvUnlockQueue( Queue_t * const pxQueue )
|
|||
/* Data was posted while the queue was locked. Are any tasks
|
||||
* blocked waiting for data to become available? */
|
||||
#if ( configUSE_QUEUE_SETS == 1 )
|
||||
{
|
||||
if( pxQueue->pxQueueSetContainer != NULL )
|
||||
{
|
||||
if( pxQueue->pxQueueSetContainer != NULL )
|
||||
if( prvNotifyQueueSetContainer( pxQueue ) != pdFALSE )
|
||||
{
|
||||
if( prvNotifyQueueSetContainer( pxQueue ) != pdFALSE )
|
||||
{
|
||||
/* The queue is a member of a queue set, and posting to
|
||||
* the queue set caused a higher priority task to unblock.
|
||||
* A context switch is required. */
|
||||
vTaskMissedYield();
|
||||
}
|
||||
else
|
||||
{
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
/* The queue is a member of a queue set, and posting to
|
||||
* the queue set caused a higher priority task to unblock.
|
||||
* A context switch is required. */
|
||||
vTaskMissedYield();
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Tasks that are removed from the event list will get
|
||||
* added to the pending ready list as the scheduler is still
|
||||
* suspended. */
|
||||
if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToReceive ) ) == pdFALSE )
|
||||
{
|
||||
if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE )
|
||||
{
|
||||
/* The task waiting has a higher priority so record that a
|
||||
* context switch is required. */
|
||||
vTaskMissedYield();
|
||||
}
|
||||
else
|
||||
{
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
}
|
||||
#else /* configUSE_QUEUE_SETS */
|
||||
else
|
||||
{
|
||||
/* Tasks that are removed from the event list will get added to
|
||||
* the pending ready list as the scheduler is still suspended. */
|
||||
/* Tasks that are removed from the event list will get
|
||||
* added to the pending ready list as the scheduler is still
|
||||
* suspended. */
|
||||
if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToReceive ) ) == pdFALSE )
|
||||
{
|
||||
if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE )
|
||||
{
|
||||
/* The task waiting has a higher priority so record that
|
||||
* a context switch is required. */
|
||||
/* The task waiting has a higher priority so record that a
|
||||
* context switch is required. */
|
||||
vTaskMissedYield();
|
||||
}
|
||||
else
|
||||
|
@ -120,6 +97,29 @@ static void prvUnlockQueue( Queue_t * const pxQueue )
|
|||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else /* configUSE_QUEUE_SETS */
|
||||
{
|
||||
/* Tasks that are removed from the event list will get added to
|
||||
* the pending ready list as the scheduler is still suspended. */
|
||||
if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToReceive ) ) == pdFALSE )
|
||||
{
|
||||
if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE )
|
||||
{
|
||||
/* The task waiting has a higher priority so record that
|
||||
* a context switch is required. */
|
||||
vTaskMissedYield();
|
||||
}
|
||||
else
|
||||
{
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif /* configUSE_QUEUE_SETS */
|
||||
|
||||
--cTxLock;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* FreeRTOS V202112.00
|
||||
* Copyright (C) Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -47,39 +47,39 @@ void vQueueDelete( QueueHandle_t xQueue )
|
|||
traceQUEUE_DELETE( pxQueue );
|
||||
|
||||
#if ( configQUEUE_REGISTRY_SIZE > 0 )
|
||||
{
|
||||
vQueueUnregisterQueue( pxQueue );
|
||||
}
|
||||
{
|
||||
vQueueUnregisterQueue( pxQueue );
|
||||
}
|
||||
#endif
|
||||
|
||||
#if ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 0 ) )
|
||||
{
|
||||
/* The queue can only have been allocated dynamically - free it
|
||||
* again. */
|
||||
vPortFree( pxQueue );
|
||||
#ifdef VERIFAST /*< leak ghost state on deletion */
|
||||
/*@leak buffer(_, _, _, _);@*/
|
||||
/*@leak malloc_block(_, _);@*/
|
||||
#endif
|
||||
}
|
||||
{
|
||||
/* The queue can only have been allocated dynamically - free it
|
||||
* again. */
|
||||
vPortFree( pxQueue );
|
||||
#ifdef VERIFAST /*< leak ghost state on deletion */
|
||||
/*@leak buffer(_, _, _, _);@*/
|
||||
/*@leak malloc_block(_, _);@*/
|
||||
#endif
|
||||
}
|
||||
#elif ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 1 ) )
|
||||
{
|
||||
/* The queue could have been allocated statically or dynamically, so
|
||||
* check before attempting to free the memory. */
|
||||
if( pxQueue->ucStaticallyAllocated == ( uint8_t ) pdFALSE )
|
||||
{
|
||||
/* The queue could have been allocated statically or dynamically, so
|
||||
* check before attempting to free the memory. */
|
||||
if( pxQueue->ucStaticallyAllocated == ( uint8_t ) pdFALSE )
|
||||
{
|
||||
vPortFree( pxQueue );
|
||||
}
|
||||
else
|
||||
{
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
vPortFree( pxQueue );
|
||||
}
|
||||
else
|
||||
{
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
}
|
||||
#else /* if ( ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) && ( configSUPPORT_STATIC_ALLOCATION == 0 ) ) */
|
||||
{
|
||||
/* The queue must have been statically allocated, so is not going to be
|
||||
* deleted. Avoid compiler warnings about the unused parameter. */
|
||||
( void ) pxQueue;
|
||||
}
|
||||
{
|
||||
/* The queue must have been statically allocated, so is not going to be
|
||||
* deleted. Avoid compiler warnings about the unused parameter. */
|
||||
( void ) pxQueue;
|
||||
}
|
||||
#endif /* configSUPPORT_DYNAMIC_ALLOCATION */
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* FreeRTOS V202112.00
|
||||
* Copyright (C) Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -52,10 +52,10 @@ BaseType_t xQueueGenericSend( QueueHandle_t xQueue,
|
|||
configASSERT( pxQueue );
|
||||
configASSERT( !( ( pvItemToQueue == NULL ) && ( pxQueue->uxItemSize != ( UBaseType_t ) 0U ) ) );
|
||||
configASSERT( !( ( xCopyPosition == queueOVERWRITE ) && ( pxQueue->uxLength != 1 ) ) );
|
||||
#if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) )
|
||||
{
|
||||
configASSERT( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) );
|
||||
}
|
||||
#if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) )
|
||||
{
|
||||
configASSERT( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) );
|
||||
}
|
||||
#endif
|
||||
#endif /* ifdef VERIFAST */
|
||||
|
||||
|
@ -85,70 +85,34 @@ BaseType_t xQueueGenericSend( QueueHandle_t xQueue,
|
|||
|
||||
/* VeriFast: we do not verify this configuration option */
|
||||
#if ( configUSE_QUEUE_SETS == 1 )
|
||||
{
|
||||
const UBaseType_t uxPreviousMessagesWaiting = pxQueue->uxMessagesWaiting;
|
||||
|
||||
xYieldRequired = prvCopyDataToQueue( pxQueue, pvItemToQueue, xCopyPosition );
|
||||
|
||||
if( pxQueue->pxQueueSetContainer != NULL )
|
||||
{
|
||||
const UBaseType_t uxPreviousMessagesWaiting = pxQueue->uxMessagesWaiting;
|
||||
|
||||
xYieldRequired = prvCopyDataToQueue( pxQueue, pvItemToQueue, xCopyPosition );
|
||||
|
||||
if( pxQueue->pxQueueSetContainer != NULL )
|
||||
if( ( xCopyPosition == queueOVERWRITE ) && ( uxPreviousMessagesWaiting != ( UBaseType_t ) 0 ) )
|
||||
{
|
||||
if( ( xCopyPosition == queueOVERWRITE ) && ( uxPreviousMessagesWaiting != ( UBaseType_t ) 0 ) )
|
||||
{
|
||||
/* Do not notify the queue set as an existing item
|
||||
* was overwritten in the queue so the number of items
|
||||
* in the queue has not changed. */
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
else if( prvNotifyQueueSetContainer( pxQueue ) != pdFALSE )
|
||||
{
|
||||
/* The queue is a member of a queue set, and posting
|
||||
* to the queue set caused a higher priority task to
|
||||
* unblock. A context switch is required. */
|
||||
queueYIELD_IF_USING_PREEMPTION();
|
||||
}
|
||||
else
|
||||
{
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
/* Do not notify the queue set as an existing item
|
||||
* was overwritten in the queue so the number of items
|
||||
* in the queue has not changed. */
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
else if( prvNotifyQueueSetContainer( pxQueue ) != pdFALSE )
|
||||
{
|
||||
/* The queue is a member of a queue set, and posting
|
||||
* to the queue set caused a higher priority task to
|
||||
* unblock. A context switch is required. */
|
||||
queueYIELD_IF_USING_PREEMPTION();
|
||||
}
|
||||
else
|
||||
{
|
||||
/* If there was a task waiting for data to arrive on the
|
||||
* queue then unblock it now. */
|
||||
if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToReceive ) ) == pdFALSE )
|
||||
{
|
||||
if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE )
|
||||
{
|
||||
/* The unblocked task has a priority higher than
|
||||
* our own so yield immediately. Yes it is ok to
|
||||
* do this from within the critical section - the
|
||||
* kernel takes care of that. */
|
||||
queueYIELD_IF_USING_PREEMPTION();
|
||||
}
|
||||
else
|
||||
{
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
}
|
||||
else if( xYieldRequired != pdFALSE )
|
||||
{
|
||||
/* This path is a special case that will only get
|
||||
* executed if the task was holding multiple mutexes
|
||||
* and the mutexes were given back in an order that is
|
||||
* different to that in which they were taken. */
|
||||
queueYIELD_IF_USING_PREEMPTION();
|
||||
}
|
||||
else
|
||||
{
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
}
|
||||
#else /* configUSE_QUEUE_SETS */
|
||||
else
|
||||
{
|
||||
/*@close queue(pxQueue, Storage, N, M, W, R, K, is_locked, abs);@*/
|
||||
xYieldRequired = prvCopyDataToQueue( pxQueue, pvItemToQueue, xCopyPosition );
|
||||
|
||||
/* If there was a task waiting for data to arrive on the
|
||||
* queue then unblock it now. */
|
||||
if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToReceive ) ) == pdFALSE )
|
||||
|
@ -156,9 +120,9 @@ BaseType_t xQueueGenericSend( QueueHandle_t xQueue,
|
|||
if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE )
|
||||
{
|
||||
/* The unblocked task has a priority higher than
|
||||
* our own so yield immediately. Yes it is ok to do
|
||||
* this from within the critical section - the kernel
|
||||
* takes care of that. */
|
||||
* our own so yield immediately. Yes it is ok to
|
||||
* do this from within the critical section - the
|
||||
* kernel takes care of that. */
|
||||
queueYIELD_IF_USING_PREEMPTION();
|
||||
}
|
||||
else
|
||||
|
@ -169,8 +133,8 @@ BaseType_t xQueueGenericSend( QueueHandle_t xQueue,
|
|||
else if( xYieldRequired != pdFALSE )
|
||||
{
|
||||
/* This path is a special case that will only get
|
||||
* executed if the task was holding multiple mutexes and
|
||||
* the mutexes were given back in an order that is
|
||||
* executed if the task was holding multiple mutexes
|
||||
* and the mutexes were given back in an order that is
|
||||
* different to that in which they were taken. */
|
||||
queueYIELD_IF_USING_PREEMPTION();
|
||||
}
|
||||
|
@ -179,6 +143,42 @@ BaseType_t xQueueGenericSend( QueueHandle_t xQueue,
|
|||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
}
|
||||
}
|
||||
#else /* configUSE_QUEUE_SETS */
|
||||
{
|
||||
/*@close queue(pxQueue, Storage, N, M, W, R, K, is_locked, abs);@*/
|
||||
xYieldRequired = prvCopyDataToQueue( pxQueue, pvItemToQueue, xCopyPosition );
|
||||
|
||||
/* If there was a task waiting for data to arrive on the
|
||||
* queue then unblock it now. */
|
||||
if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToReceive ) ) == pdFALSE )
|
||||
{
|
||||
if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE )
|
||||
{
|
||||
/* The unblocked task has a priority higher than
|
||||
* our own so yield immediately. Yes it is ok to do
|
||||
* this from within the critical section - the kernel
|
||||
* takes care of that. */
|
||||
queueYIELD_IF_USING_PREEMPTION();
|
||||
}
|
||||
else
|
||||
{
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
}
|
||||
else if( xYieldRequired != pdFALSE )
|
||||
{
|
||||
/* This path is a special case that will only get
|
||||
* executed if the task was holding multiple mutexes and
|
||||
* the mutexes were given back in an order that is
|
||||
* different to that in which they were taken. */
|
||||
queueYIELD_IF_USING_PREEMPTION();
|
||||
}
|
||||
else
|
||||
{
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
}
|
||||
#endif /* configUSE_QUEUE_SETS */
|
||||
|
||||
/*@
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* FreeRTOS V202112.00
|
||||
* Copyright (C) Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -106,29 +106,24 @@ BaseType_t xQueueGenericSendFromISR( QueueHandle_t xQueue,
|
|||
{
|
||||
/* VeriFast: we do not verify this configuration option */
|
||||
#if ( configUSE_QUEUE_SETS == 1 )
|
||||
{
|
||||
if( pxQueue->pxQueueSetContainer != NULL )
|
||||
{
|
||||
if( pxQueue->pxQueueSetContainer != NULL )
|
||||
if( ( xCopyPosition == queueOVERWRITE ) && ( uxPreviousMessagesWaiting != ( UBaseType_t ) 0 ) )
|
||||
{
|
||||
if( ( xCopyPosition == queueOVERWRITE ) && ( uxPreviousMessagesWaiting != ( UBaseType_t ) 0 ) )
|
||||
/* Do not notify the queue set as an existing item
|
||||
* was overwritten in the queue so the number of items
|
||||
* in the queue has not changed. */
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
else if( prvNotifyQueueSetContainer( pxQueue ) != pdFALSE )
|
||||
{
|
||||
/* The queue is a member of a queue set, and posting
|
||||
* to the queue set caused a higher priority task to
|
||||
* unblock. A context switch is required. */
|
||||
if( pxHigherPriorityTaskWoken != NULL )
|
||||
{
|
||||
/* Do not notify the queue set as an existing item
|
||||
* was overwritten in the queue so the number of items
|
||||
* in the queue has not changed. */
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
else if( prvNotifyQueueSetContainer( pxQueue ) != pdFALSE )
|
||||
{
|
||||
/* The queue is a member of a queue set, and posting
|
||||
* to the queue set caused a higher priority task to
|
||||
* unblock. A context switch is required. */
|
||||
if( pxHigherPriorityTaskWoken != NULL )
|
||||
{
|
||||
*pxHigherPriorityTaskWoken = pdTRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
*pxHigherPriorityTaskWoken = pdTRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -137,40 +132,17 @@ BaseType_t xQueueGenericSendFromISR( QueueHandle_t xQueue,
|
|||
}
|
||||
else
|
||||
{
|
||||
if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToReceive ) ) == pdFALSE )
|
||||
{
|
||||
if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE )
|
||||
{
|
||||
/* The task waiting has a higher priority so
|
||||
* record that a context switch is required. */
|
||||
if( pxHigherPriorityTaskWoken != NULL )
|
||||
{
|
||||
*pxHigherPriorityTaskWoken = pdTRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
}
|
||||
#else /* configUSE_QUEUE_SETS */
|
||||
else
|
||||
{
|
||||
if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToReceive ) ) == pdFALSE )
|
||||
{
|
||||
if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE )
|
||||
{
|
||||
/* The task waiting has a higher priority so record that a
|
||||
* context switch is required. */
|
||||
/* The task waiting has a higher priority so
|
||||
* record that a context switch is required. */
|
||||
if( pxHigherPriorityTaskWoken != NULL )
|
||||
{
|
||||
*pxHigherPriorityTaskWoken = pdTRUE;
|
||||
|
@ -189,12 +161,40 @@ BaseType_t xQueueGenericSendFromISR( QueueHandle_t xQueue,
|
|||
{
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
|
||||
/* Not used in this path. */
|
||||
#ifndef VERIFAST /*< void cast of unused var */
|
||||
( void ) uxPreviousMessagesWaiting;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
#else /* configUSE_QUEUE_SETS */
|
||||
{
|
||||
if( listLIST_IS_EMPTY( &( pxQueue->xTasksWaitingToReceive ) ) == pdFALSE )
|
||||
{
|
||||
if( xTaskRemoveFromEventList( &( pxQueue->xTasksWaitingToReceive ) ) != pdFALSE )
|
||||
{
|
||||
/* The task waiting has a higher priority so record that a
|
||||
* context switch is required. */
|
||||
if( pxHigherPriorityTaskWoken != NULL )
|
||||
{
|
||||
*pxHigherPriorityTaskWoken = pdTRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
mtCOVERAGE_TEST_MARKER();
|
||||
}
|
||||
|
||||
/* Not used in this path. */
|
||||
#ifndef VERIFAST /*< void cast of unused var */
|
||||
( void ) uxPreviousMessagesWaiting;
|
||||
#endif
|
||||
}
|
||||
#endif /* configUSE_QUEUE_SETS */
|
||||
}
|
||||
else
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* FreeRTOS V202112.00
|
||||
* Copyright (C) Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -56,10 +56,10 @@ BaseType_t xQueuePeek( QueueHandle_t xQueue,
|
|||
configASSERT( !( ( ( pvBuffer ) == NULL ) && ( ( pxQueue )->uxItemSize != ( UBaseType_t ) 0U ) ) );
|
||||
|
||||
/* Cannot block if the scheduler is suspended. */
|
||||
#if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) )
|
||||
{
|
||||
configASSERT( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) );
|
||||
}
|
||||
#if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) )
|
||||
{
|
||||
configASSERT( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) );
|
||||
}
|
||||
#endif
|
||||
#endif /* ifdef VERIFAST */
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* FreeRTOS V202112.00
|
||||
* Copyright (C) Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -55,10 +55,10 @@ BaseType_t xQueueReceive( QueueHandle_t xQueue,
|
|||
configASSERT( !( ( ( pvBuffer ) == NULL ) && ( ( pxQueue )->uxItemSize != ( UBaseType_t ) 0U ) ) );
|
||||
|
||||
/* Cannot block if the scheduler is suspended. */
|
||||
#if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) )
|
||||
{
|
||||
configASSERT( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) );
|
||||
}
|
||||
#if ( ( INCLUDE_xTaskGetSchedulerState == 1 ) || ( configUSE_TIMERS == 1 ) )
|
||||
{
|
||||
configASSERT( !( ( xTaskGetSchedulerState() == taskSCHEDULER_SUSPENDED ) && ( xTicksToWait != 0 ) ) );
|
||||
}
|
||||
#endif
|
||||
#endif /* ifdef VERIFAST */
|
||||
|
||||
|
|
|
@ -1801,7 +1801,7 @@ prvcollectdevicemetrics
|
|||
prvcomtxtimercallback
|
||||
prvconnectandcreatedemotasks
|
||||
prvcopycommand
|
||||
prvCopyDataToQueue
|
||||
prvcopydatatoqueue
|
||||
prvcoreatask
|
||||
prvcorebtasks
|
||||
prvcreatecommand
|
||||
|
@ -2168,6 +2168,7 @@ queuegenericcreatestatic
|
|||
queuegenericreset
|
||||
queuehandle
|
||||
queuelists
|
||||
queuelock
|
||||
queueoverwrite
|
||||
queuequeue
|
||||
queueregistry
|
||||
|
|
|
@ -1,115 +1,446 @@
|
|||
# Uncrustify-0.67
|
||||
# Uncrustify-0.69.0
|
||||
|
||||
newlines = auto # lf/crlf/cr/auto
|
||||
input_tab_size = 4 # unsigned number
|
||||
output_tab_size = 4 # unsigned number
|
||||
string_escape_char = 92 # unsigned number
|
||||
string_escape_char2 = 0 # unsigned number
|
||||
string_replace_tab_chars = false # true/false
|
||||
tok_split_gte = false # true/false
|
||||
disable_processing_cmt = " *INDENT-OFF*" # string
|
||||
enable_processing_cmt = " *INDENT-ON*" # string
|
||||
enable_digraphs = false # true/false
|
||||
utf8_bom = ignore # ignore/add/remove/force
|
||||
utf8_byte = false # true/false
|
||||
utf8_force = false # true/false
|
||||
sp_arith = force # ignore/add/remove/force
|
||||
sp_arith_additive = ignore # ignore/add/remove/force
|
||||
sp_assign = force # ignore/add/remove/force
|
||||
sp_cpp_lambda_assign = ignore # ignore/add/remove/force
|
||||
sp_cpp_lambda_paren = ignore # ignore/add/remove/force
|
||||
sp_assign_default = force # ignore/add/remove/force
|
||||
sp_before_assign = force # ignore/add/remove/force
|
||||
sp_after_assign = force # ignore/add/remove/force
|
||||
sp_enum_paren = ignore # ignore/add/remove/force
|
||||
sp_enum_assign = force # ignore/add/remove/force
|
||||
sp_enum_before_assign = force # ignore/add/remove/force
|
||||
sp_enum_after_assign = force # ignore/add/remove/force
|
||||
sp_enum_colon = ignore # ignore/add/remove/force
|
||||
sp_pp_concat = add # ignore/add/remove/force
|
||||
sp_pp_stringify = add # ignore/add/remove/force
|
||||
sp_before_pp_stringify = ignore # ignore/add/remove/force
|
||||
sp_bool = force # ignore/add/remove/force
|
||||
sp_compare = force # ignore/add/remove/force
|
||||
sp_inside_paren = force # ignore/add/remove/force
|
||||
sp_paren_paren = force # ignore/add/remove/force
|
||||
sp_cparen_oparen = ignore # ignore/add/remove/force
|
||||
sp_balance_nested_parens = false # true/false
|
||||
sp_paren_brace = force # ignore/add/remove/force
|
||||
sp_brace_brace = ignore # ignore/add/remove/force
|
||||
sp_before_ptr_star = force # ignore/add/remove/force
|
||||
sp_before_unnamed_ptr_star = force # ignore/add/remove/force
|
||||
sp_between_ptr_star = remove # ignore/add/remove/force
|
||||
sp_after_ptr_star = force # ignore/add/remove/force
|
||||
sp_after_ptr_block_caret = ignore # ignore/add/remove/force
|
||||
sp_after_ptr_star_qualifier = ignore # ignore/add/remove/force
|
||||
sp_after_ptr_star_func = ignore # ignore/add/remove/force
|
||||
sp_ptr_star_paren = ignore # ignore/add/remove/force
|
||||
sp_before_ptr_star_func = ignore # ignore/add/remove/force
|
||||
sp_before_byref = force # ignore/add/remove/force
|
||||
sp_before_unnamed_byref = ignore # ignore/add/remove/force
|
||||
sp_after_byref = remove # ignore/add/remove/force
|
||||
sp_after_byref_func = remove # ignore/add/remove/force
|
||||
sp_before_byref_func = ignore # ignore/add/remove/force
|
||||
sp_after_type = force # ignore/add/remove/force
|
||||
sp_after_decltype = ignore # ignore/add/remove/force
|
||||
sp_before_template_paren = ignore # ignore/add/remove/force
|
||||
sp_template_angle = ignore # ignore/add/remove/force
|
||||
sp_before_angle = remove # ignore/add/remove/force
|
||||
sp_inside_angle = remove # ignore/add/remove/force
|
||||
sp_inside_angle_empty = ignore # ignore/add/remove/force
|
||||
sp_angle_colon = ignore # ignore/add/remove/force
|
||||
sp_after_angle = force # ignore/add/remove/force
|
||||
sp_angle_paren = ignore # ignore/add/remove/force
|
||||
sp_angle_paren_empty = ignore # ignore/add/remove/force
|
||||
sp_angle_word = ignore # ignore/add/remove/force
|
||||
sp_angle_shift = add # ignore/add/remove/force
|
||||
sp_permit_cpp11_shift = false # true/false
|
||||
sp_before_sparen = remove # ignore/add/remove/force
|
||||
sp_inside_sparen = force # ignore/add/remove/force
|
||||
sp_inside_sparen_open = ignore # ignore/add/remove/force
|
||||
sp_inside_sparen_close = ignore # ignore/add/remove/force
|
||||
sp_after_sparen = force # ignore/add/remove/force
|
||||
sp_sparen_brace = force # ignore/add/remove/force
|
||||
sp_invariant_paren = ignore # ignore/add/remove/force
|
||||
sp_after_invariant_paren = ignore # ignore/add/remove/force
|
||||
sp_special_semi = ignore # ignore/add/remove/force
|
||||
sp_before_semi = remove # ignore/add/remove/force
|
||||
sp_before_semi_for = remove # ignore/add/remove/force
|
||||
sp_before_semi_for_empty = add # ignore/add/remove/force
|
||||
sp_after_semi = add # ignore/add/remove/force
|
||||
sp_after_semi_for = force # ignore/add/remove/force
|
||||
sp_after_semi_for_empty = force # ignore/add/remove/force
|
||||
sp_before_square = remove # ignore/add/remove/force
|
||||
sp_before_squares = remove # ignore/add/remove/force
|
||||
sp_cpp_before_struct_binding = ignore # ignore/add/remove/force
|
||||
sp_inside_square = force # ignore/add/remove/force
|
||||
sp_inside_square_oc_array = ignore # ignore/add/remove/force
|
||||
sp_after_comma = force # ignore/add/remove/force
|
||||
sp_before_comma = remove # ignore/add/remove/force
|
||||
sp_after_mdatype_commas = ignore # ignore/add/remove/force
|
||||
sp_before_mdatype_commas = ignore # ignore/add/remove/force
|
||||
sp_between_mdatype_commas = ignore # ignore/add/remove/force
|
||||
sp_paren_comma = force # ignore/add/remove/force
|
||||
sp_before_ellipsis = ignore # ignore/add/remove/force
|
||||
sp_type_ellipsis = ignore # ignore/add/remove/force
|
||||
sp_type_question = ignore # ignore/add/remove/force
|
||||
sp_paren_ellipsis = ignore # ignore/add/remove/force
|
||||
sp_paren_qualifier = ignore # ignore/add/remove/force
|
||||
sp_paren_noexcept = ignore # ignore/add/remove/force
|
||||
sp_after_class_colon = ignore # ignore/add/remove/force
|
||||
sp_before_class_colon = ignore # ignore/add/remove/force
|
||||
sp_after_constr_colon = ignore # ignore/add/remove/force
|
||||
sp_before_constr_colon = ignore # ignore/add/remove/force
|
||||
sp_before_case_colon = remove # ignore/add/remove/force
|
||||
sp_after_operator = ignore # ignore/add/remove/force
|
||||
sp_after_operator_sym = ignore # ignore/add/remove/force
|
||||
sp_after_operator_sym_empty = ignore # ignore/add/remove/force
|
||||
sp_after_cast = force # ignore/add/remove/force
|
||||
sp_inside_paren_cast = force # ignore/add/remove/force
|
||||
sp_cpp_cast_paren = ignore # ignore/add/remove/force
|
||||
sp_sizeof_paren = remove # ignore/add/remove/force
|
||||
sp_sizeof_ellipsis = ignore # ignore/add/remove/force
|
||||
sp_sizeof_ellipsis_paren = ignore # ignore/add/remove/force
|
||||
sp_decltype_paren = ignore # ignore/add/remove/force
|
||||
sp_after_tag = ignore # ignore/add/remove/force
|
||||
sp_inside_braces_enum = force # ignore/add/remove/force
|
||||
sp_inside_braces_struct = force # ignore/add/remove/force
|
||||
sp_inside_braces_oc_dict = ignore # ignore/add/remove/force
|
||||
sp_after_type_brace_init_lst_open = ignore # ignore/add/remove/force
|
||||
sp_before_type_brace_init_lst_close = ignore # ignore/add/remove/force
|
||||
sp_inside_type_brace_init_lst = ignore # ignore/add/remove/force
|
||||
sp_inside_braces = force # ignore/add/remove/force
|
||||
sp_inside_braces_empty = remove # ignore/add/remove/force
|
||||
sp_type_func = force # ignore/add/remove/force
|
||||
sp_type_brace_init_lst = ignore # ignore/add/remove/force
|
||||
sp_func_proto_paren = remove # ignore/add/remove/force
|
||||
sp_func_proto_paren_empty = ignore # ignore/add/remove/force
|
||||
sp_func_def_paren = remove # ignore/add/remove/force
|
||||
sp_func_def_paren_empty = ignore # ignore/add/remove/force
|
||||
sp_inside_fparens = remove # ignore/add/remove/force
|
||||
sp_inside_fparen = force # ignore/add/remove/force
|
||||
sp_inside_tparen = ignore # ignore/add/remove/force
|
||||
sp_after_tparen_close = ignore # ignore/add/remove/force
|
||||
sp_square_fparen = ignore # ignore/add/remove/force
|
||||
sp_fparen_brace = add # ignore/add/remove/force
|
||||
sp_fparen_brace_initializer = ignore # ignore/add/remove/force
|
||||
sp_fparen_dbrace = ignore # ignore/add/remove/force
|
||||
sp_func_call_paren = remove # ignore/add/remove/force
|
||||
sp_func_call_paren_empty = ignore # ignore/add/remove/force
|
||||
sp_func_call_user_paren = ignore # ignore/add/remove/force
|
||||
sp_func_call_user_inside_fparen = ignore # ignore/add/remove/force
|
||||
sp_func_call_user_paren_paren = ignore # ignore/add/remove/force
|
||||
sp_func_class_paren = remove # ignore/add/remove/force
|
||||
sp_func_class_paren_empty = ignore # ignore/add/remove/force
|
||||
sp_return_paren = remove # ignore/add/remove/force
|
||||
sp_return_brace = ignore # ignore/add/remove/force
|
||||
sp_attribute_paren = remove # ignore/add/remove/force
|
||||
sp_defined_paren = remove # ignore/add/remove/force
|
||||
sp_throw_paren = ignore # ignore/add/remove/force
|
||||
sp_after_throw = ignore # ignore/add/remove/force
|
||||
sp_catch_paren = ignore # ignore/add/remove/force
|
||||
sp_oc_catch_paren = ignore # ignore/add/remove/force
|
||||
sp_oc_classname_paren = ignore # ignore/add/remove/force
|
||||
sp_version_paren = ignore # ignore/add/remove/force
|
||||
sp_scope_paren = ignore # ignore/add/remove/force
|
||||
sp_super_paren = remove # ignore/add/remove/force
|
||||
sp_this_paren = remove # ignore/add/remove/force
|
||||
sp_macro = force # ignore/add/remove/force
|
||||
sp_macro_func = force # ignore/add/remove/force
|
||||
sp_else_brace = ignore # ignore/add/remove/force
|
||||
sp_brace_else = ignore # ignore/add/remove/force
|
||||
sp_brace_typedef = force # ignore/add/remove/force
|
||||
sp_catch_brace = ignore # ignore/add/remove/force
|
||||
sp_oc_catch_brace = ignore # ignore/add/remove/force
|
||||
sp_brace_catch = ignore # ignore/add/remove/force
|
||||
sp_oc_brace_catch = ignore # ignore/add/remove/force
|
||||
sp_finally_brace = ignore # ignore/add/remove/force
|
||||
sp_brace_finally = ignore # ignore/add/remove/force
|
||||
sp_try_brace = ignore # ignore/add/remove/force
|
||||
sp_getset_brace = ignore # ignore/add/remove/force
|
||||
sp_word_brace = add # ignore/add/remove/force
|
||||
sp_word_brace_ns = add # ignore/add/remove/force
|
||||
sp_before_dc = remove # ignore/add/remove/force
|
||||
sp_after_dc = remove # ignore/add/remove/force
|
||||
sp_d_array_colon = ignore # ignore/add/remove/force
|
||||
sp_not = remove # ignore/add/remove/force
|
||||
sp_inv = remove # ignore/add/remove/force
|
||||
sp_addr = remove # ignore/add/remove/force
|
||||
sp_member = remove # ignore/add/remove/force
|
||||
sp_deref = remove # ignore/add/remove/force
|
||||
sp_sign = remove # ignore/add/remove/force
|
||||
sp_incdec = remove # ignore/add/remove/force
|
||||
sp_before_nl_cont = add # ignore/add/remove/force
|
||||
sp_after_oc_scope = ignore # ignore/add/remove/force
|
||||
sp_after_oc_colon = ignore # ignore/add/remove/force
|
||||
sp_before_oc_colon = ignore # ignore/add/remove/force
|
||||
sp_after_oc_dict_colon = ignore # ignore/add/remove/force
|
||||
sp_before_oc_dict_colon = ignore # ignore/add/remove/force
|
||||
sp_after_send_oc_colon = ignore # ignore/add/remove/force
|
||||
sp_before_send_oc_colon = ignore # ignore/add/remove/force
|
||||
sp_after_oc_type = ignore # ignore/add/remove/force
|
||||
sp_after_oc_return_type = ignore # ignore/add/remove/force
|
||||
sp_after_oc_at_sel = ignore # ignore/add/remove/force
|
||||
sp_after_oc_at_sel_parens = ignore # ignore/add/remove/force
|
||||
sp_inside_oc_at_sel_parens = ignore # ignore/add/remove/force
|
||||
sp_before_oc_block_caret = ignore # ignore/add/remove/force
|
||||
sp_after_oc_block_caret = ignore # ignore/add/remove/force
|
||||
sp_after_oc_msg_receiver = ignore # ignore/add/remove/force
|
||||
sp_after_oc_property = ignore # ignore/add/remove/force
|
||||
sp_after_oc_synchronized = ignore # ignore/add/remove/force
|
||||
sp_cond_colon = force # ignore/add/remove/force
|
||||
sp_cond_colon_before = ignore # ignore/add/remove/force
|
||||
sp_cond_colon_after = ignore # ignore/add/remove/force
|
||||
sp_cond_question = force # ignore/add/remove/force
|
||||
sp_cond_question_before = ignore # ignore/add/remove/force
|
||||
sp_cond_question_after = ignore # ignore/add/remove/force
|
||||
sp_cond_ternary_short = ignore # ignore/add/remove/force
|
||||
sp_case_label = force # ignore/add/remove/force
|
||||
sp_range = ignore # ignore/add/remove/force
|
||||
sp_after_for_colon = ignore # ignore/add/remove/force
|
||||
sp_before_for_colon = ignore # ignore/add/remove/force
|
||||
sp_extern_paren = ignore # ignore/add/remove/force
|
||||
sp_cmt_cpp_start = ignore # ignore/add/remove/force
|
||||
sp_cmt_cpp_doxygen = false # true/false
|
||||
sp_cmt_cpp_qttr = false # true/false
|
||||
sp_endif_cmt = force # ignore/add/remove/force
|
||||
sp_after_new = ignore # ignore/add/remove/force
|
||||
sp_between_new_paren = ignore # ignore/add/remove/force
|
||||
sp_after_newop_paren = ignore # ignore/add/remove/force
|
||||
sp_inside_newop_paren = ignore # ignore/add/remove/force
|
||||
sp_inside_newop_paren_open = ignore # ignore/add/remove/force
|
||||
sp_inside_newop_paren_close = ignore # ignore/add/remove/force
|
||||
sp_before_tr_emb_cmt = force # ignore/add/remove/force
|
||||
sp_num_before_tr_emb_cmt = 1 # unsigned number
|
||||
sp_annotation_paren = ignore # ignore/add/remove/force
|
||||
sp_skip_vbrace_tokens = false # true/false
|
||||
sp_after_noexcept = ignore # ignore/add/remove/force
|
||||
sp_vala_after_translation = ignore # ignore/add/remove/force
|
||||
force_tab_after_define = false # true/false
|
||||
indent_columns = 4 # unsigned number
|
||||
indent_continue = 0 # number
|
||||
indent_continue_class_head = 0 # unsigned number
|
||||
indent_single_newlines = false # true/false
|
||||
indent_param = 0 # unsigned number
|
||||
indent_with_tabs = 0 # unsigned number
|
||||
indent_align_string = true # false/true
|
||||
indent_class = true # false/true
|
||||
indent_class_colon = true # false/true
|
||||
indent_cmt_with_tabs = false # true/false
|
||||
indent_align_string = true # true/false
|
||||
indent_xml_string = 0 # unsigned number
|
||||
indent_brace = 0 # unsigned number
|
||||
indent_braces = false # true/false
|
||||
indent_braces_no_func = false # true/false
|
||||
indent_braces_no_class = false # true/false
|
||||
indent_braces_no_struct = false # true/false
|
||||
indent_brace_parent = false # true/false
|
||||
indent_paren_open_brace = false # true/false
|
||||
indent_cs_delegate_brace = false # true/false
|
||||
indent_cs_delegate_body = false # true/false
|
||||
indent_namespace = false # true/false
|
||||
indent_namespace_single_indent = false # true/false
|
||||
indent_namespace_level = 0 # unsigned number
|
||||
indent_namespace_limit = 0 # unsigned number
|
||||
indent_extern = false # true/false
|
||||
indent_class = true # true/false
|
||||
indent_class_colon = true # true/false
|
||||
indent_class_on_colon = false # true/false
|
||||
indent_constr_colon = false # true/false
|
||||
indent_ctor_init_leading = 2 # unsigned number
|
||||
indent_ctor_init = 0 # number
|
||||
indent_else_if = false # true/false
|
||||
indent_var_def_blk = 0 # number
|
||||
indent_var_def_cont = false # true/false
|
||||
indent_shift = false # true/false
|
||||
indent_func_def_force_col1 = false # true/false
|
||||
indent_func_call_param = false # true/false
|
||||
indent_func_def_param = false # true/false
|
||||
indent_func_proto_param = false # true/false
|
||||
indent_func_class_param = false # true/false
|
||||
indent_func_ctor_var_param = false # true/false
|
||||
indent_template_param = false # true/false
|
||||
indent_func_param_double = false # true/false
|
||||
indent_func_const = 0 # unsigned number
|
||||
indent_func_throw = 0 # unsigned number
|
||||
indent_member = 3 # unsigned number
|
||||
indent_member_single = false # true/false
|
||||
indent_sing_line_comments = 0 # unsigned number
|
||||
indent_relative_single_line_comments = false # true/false
|
||||
indent_switch_case = 4 # unsigned number
|
||||
indent_switch_pp = true # true/false
|
||||
indent_case_shift = 0 # unsigned number
|
||||
indent_case_brace = 3 # number
|
||||
nl_assign_leave_one_liners = true # false/true
|
||||
nl_class_leave_one_liners = true # false/true
|
||||
indent_col1_comment = false # true/false
|
||||
indent_col1_multi_string_literal = false # true/false
|
||||
indent_label = 1 # number
|
||||
indent_access_spec = 1 # number
|
||||
indent_access_spec_body = false # true/false
|
||||
indent_paren_nl = false # true/false
|
||||
indent_paren_close = 0 # unsigned number
|
||||
indent_paren_after_func_def = false # true/false
|
||||
indent_paren_after_func_decl = false # true/false
|
||||
indent_paren_after_func_call = false # true/false
|
||||
indent_comma_paren = false # true/false
|
||||
indent_bool_paren = false # true/false
|
||||
indent_semicolon_for_paren = false # true/false
|
||||
indent_first_bool_expr = false # true/false
|
||||
indent_first_for_expr = false # true/false
|
||||
indent_square_nl = false # true/false
|
||||
indent_preserve_sql = false # true/false
|
||||
indent_align_assign = true # true/false
|
||||
indent_align_paren = true # true/false
|
||||
indent_oc_block = false # true/false
|
||||
indent_oc_block_msg = 0 # unsigned number
|
||||
indent_oc_msg_colon = 0 # unsigned number
|
||||
indent_oc_msg_prioritize_first_colon = true # true/false
|
||||
indent_oc_block_msg_xcode_style = false # true/false
|
||||
indent_oc_block_msg_from_keyword = false # true/false
|
||||
indent_oc_block_msg_from_colon = false # true/false
|
||||
indent_oc_block_msg_from_caret = false # true/false
|
||||
indent_oc_block_msg_from_brace = false # true/false
|
||||
indent_min_vbrace_open = 0 # unsigned number
|
||||
indent_vbrace_open_on_tabstop = false # true/false
|
||||
indent_token_after_brace = true # true/false
|
||||
indent_cpp_lambda_body = false # true/false
|
||||
indent_using_block = true # true/false
|
||||
indent_ternary_operator = 0 # unsigned number
|
||||
indent_off_after_return_new = false # true/false
|
||||
indent_single_after_return = false # true/false
|
||||
indent_ignore_asm_block = false # true/false
|
||||
nl_collapse_empty_body = false # true/false
|
||||
nl_assign_leave_one_liners = true # true/false
|
||||
nl_class_leave_one_liners = true # true/false
|
||||
nl_enum_leave_one_liners = false # true/false
|
||||
nl_getset_leave_one_liners = false # true/false
|
||||
nl_cs_property_leave_one_liners = false # true/false
|
||||
nl_func_leave_one_liners = false # true/false
|
||||
nl_cpp_lambda_leave_one_liners = false # true/false
|
||||
nl_if_leave_one_liners = false # true/false
|
||||
nl_while_leave_one_liners = false # true/false
|
||||
nl_for_leave_one_liners = false # true/false
|
||||
nl_oc_msg_leave_one_liner = false # true/false
|
||||
nl_oc_mdef_brace = ignore # ignore/add/remove/force
|
||||
nl_oc_block_brace = ignore # ignore/add/remove/force
|
||||
nl_oc_interface_brace = ignore # ignore/add/remove/force
|
||||
nl_oc_implementation_brace = ignore # ignore/add/remove/force
|
||||
nl_start_of_file = remove # ignore/add/remove/force
|
||||
nl_start_of_file_min = 0 # unsigned number
|
||||
nl_end_of_file = force # ignore/add/remove/force
|
||||
nl_end_of_file_min = 1 # unsigned number
|
||||
nl_assign_brace = add # ignore/add/remove/force
|
||||
nl_func_var_def_blk = 1 # unsigned number
|
||||
nl_assign_square = ignore # ignore/add/remove/force
|
||||
nl_tsquare_brace = ignore # ignore/add/remove/force
|
||||
nl_after_square_assign = ignore # ignore/add/remove/force
|
||||
nl_fcall_brace = add # ignore/add/remove/force
|
||||
nl_enum_brace = force # ignore/add/remove/force
|
||||
nl_enum_class = ignore # ignore/add/remove/force
|
||||
nl_enum_class_identifier = ignore # ignore/add/remove/force
|
||||
nl_enum_identifier_colon = ignore # ignore/add/remove/force
|
||||
nl_enum_colon_type = ignore # ignore/add/remove/force
|
||||
nl_struct_brace = force # ignore/add/remove/force
|
||||
nl_union_brace = force # ignore/add/remove/force
|
||||
nl_if_brace = add # ignore/add/remove/force
|
||||
nl_brace_else = add # ignore/add/remove/force
|
||||
nl_elseif_brace = ignore # ignore/add/remove/force
|
||||
nl_else_brace = add # ignore/add/remove/force
|
||||
nl_else_if = ignore # ignore/add/remove/force
|
||||
nl_before_if_closing_paren = ignore # ignore/add/remove/force
|
||||
nl_brace_finally = ignore # ignore/add/remove/force
|
||||
nl_finally_brace = ignore # ignore/add/remove/force
|
||||
nl_try_brace = ignore # ignore/add/remove/force
|
||||
nl_getset_brace = force # ignore/add/remove/force
|
||||
nl_for_brace = add # ignore/add/remove/force
|
||||
nl_catch_brace = ignore # ignore/add/remove/force
|
||||
nl_oc_catch_brace = ignore # ignore/add/remove/force
|
||||
nl_brace_catch = ignore # ignore/add/remove/force
|
||||
nl_oc_brace_catch = ignore # ignore/add/remove/force
|
||||
nl_brace_square = ignore # ignore/add/remove/force
|
||||
nl_brace_fparen = ignore # ignore/add/remove/force
|
||||
nl_while_brace = add # ignore/add/remove/force
|
||||
nl_scope_brace = ignore # ignore/add/remove/force
|
||||
nl_unittest_brace = ignore # ignore/add/remove/force
|
||||
nl_version_brace = ignore # ignore/add/remove/force
|
||||
nl_using_brace = ignore # ignore/add/remove/force
|
||||
nl_brace_brace = ignore # ignore/add/remove/force
|
||||
nl_do_brace = add # ignore/add/remove/force
|
||||
nl_brace_while = ignore # ignore/add/remove/force
|
||||
nl_switch_brace = add # ignore/add/remove/force
|
||||
nl_multi_line_define = true # false/true
|
||||
nl_before_case = true # false/true
|
||||
nl_after_case = true # false/true
|
||||
nl_synchronized_brace = ignore # ignore/add/remove/force
|
||||
nl_multi_line_cond = false # true/false
|
||||
nl_multi_line_define = true # true/false
|
||||
nl_before_case = true # true/false
|
||||
nl_after_case = true # true/false
|
||||
nl_case_colon_brace = ignore # ignore/add/remove/force
|
||||
nl_before_throw = ignore # ignore/add/remove/force
|
||||
nl_namespace_brace = ignore # ignore/add/remove/force
|
||||
nl_template_class = ignore # ignore/add/remove/force
|
||||
nl_class_brace = ignore # ignore/add/remove/force
|
||||
nl_class_init_args = ignore # ignore/add/remove/force
|
||||
nl_constr_init_args = ignore # ignore/add/remove/force
|
||||
nl_enum_own_lines = ignore # ignore/add/remove/force
|
||||
nl_func_type_name = remove # ignore/add/remove/force
|
||||
nl_func_type_name_class = ignore # ignore/add/remove/force
|
||||
nl_func_class_scope = ignore # ignore/add/remove/force
|
||||
nl_func_scope_name = ignore # ignore/add/remove/force
|
||||
nl_func_proto_type_name = remove # ignore/add/remove/force
|
||||
nl_func_paren = remove # ignore/add/remove/force
|
||||
nl_func_paren_empty = ignore # ignore/add/remove/force
|
||||
nl_func_def_paren = remove # ignore/add/remove/force
|
||||
nl_func_def_paren_empty = ignore # ignore/add/remove/force
|
||||
nl_func_call_paren = ignore # ignore/add/remove/force
|
||||
nl_func_call_paren_empty = ignore # ignore/add/remove/force
|
||||
nl_func_decl_start = remove # ignore/add/remove/force
|
||||
nl_func_def_start = remove # ignore/add/remove/force
|
||||
nl_func_decl_start_single = ignore # ignore/add/remove/force
|
||||
nl_func_def_start_single = ignore # ignore/add/remove/force
|
||||
nl_func_decl_start_multi_line = false # true/false
|
||||
nl_func_def_start_multi_line = false # true/false
|
||||
nl_func_decl_args = add # ignore/add/remove/force
|
||||
nl_func_def_args = add # ignore/add/remove/force
|
||||
nl_func_decl_args_multi_line = false # true/false
|
||||
nl_func_def_args_multi_line = false # true/false
|
||||
nl_func_decl_end = remove # ignore/add/remove/force
|
||||
nl_func_def_end = remove # ignore/add/remove/force
|
||||
nl_func_decl_end_single = ignore # ignore/add/remove/force
|
||||
nl_func_def_end_single = ignore # ignore/add/remove/force
|
||||
nl_func_decl_end_multi_line = false # true/false
|
||||
nl_func_def_end_multi_line = false # true/false
|
||||
nl_func_decl_empty = ignore # ignore/add/remove/force
|
||||
nl_func_def_empty = ignore # ignore/add/remove/force
|
||||
nl_func_call_empty = ignore # ignore/add/remove/force
|
||||
nl_func_call_start = ignore # ignore/add/remove/force
|
||||
nl_func_call_start_multi_line = false # true/false
|
||||
nl_func_call_args_multi_line = false # true/false
|
||||
nl_func_call_end_multi_line = false # true/false
|
||||
nl_oc_msg_args = false # true/false
|
||||
nl_fdef_brace = add # ignore/add/remove/force
|
||||
nl_after_semicolon = true # false/true
|
||||
nl_after_brace_open = true # false/true
|
||||
nl_after_brace_close = true # false/true
|
||||
nl_squeeze_ifdef = true # false/true
|
||||
nl_fdef_brace_cond = ignore # ignore/add/remove/force
|
||||
nl_cpp_ldef_brace = ignore # ignore/add/remove/force
|
||||
nl_return_expr = ignore # ignore/add/remove/force
|
||||
nl_after_semicolon = true # true/false
|
||||
nl_paren_dbrace_open = ignore # ignore/add/remove/force
|
||||
nl_type_brace_init_lst = ignore # ignore/add/remove/force
|
||||
nl_type_brace_init_lst_open = ignore # ignore/add/remove/force
|
||||
nl_type_brace_init_lst_close = ignore # ignore/add/remove/force
|
||||
nl_after_brace_open = true # true/false
|
||||
nl_after_brace_open_cmt = false # true/false
|
||||
nl_after_vbrace_open = false # true/false
|
||||
nl_after_vbrace_open_empty = false # true/false
|
||||
nl_after_brace_close = true # true/false
|
||||
nl_after_vbrace_close = false # true/false
|
||||
nl_brace_struct_var = ignore # ignore/add/remove/force
|
||||
nl_define_macro = false # true/false
|
||||
nl_squeeze_paren_close = false # true/false
|
||||
nl_squeeze_ifdef = true # true/false
|
||||
nl_squeeze_ifdef_top_level = false # true/false
|
||||
nl_before_if = force # ignore/add/remove/force
|
||||
nl_after_if = force # ignore/add/remove/force
|
||||
nl_before_for = force # ignore/add/remove/force
|
||||
|
@ -118,43 +449,225 @@ nl_before_while = force # ignore/add/remove/force
|
|||
nl_after_while = force # ignore/add/remove/force
|
||||
nl_before_switch = force # ignore/add/remove/force
|
||||
nl_after_switch = force # ignore/add/remove/force
|
||||
nl_before_synchronized = ignore # ignore/add/remove/force
|
||||
nl_after_synchronized = ignore # ignore/add/remove/force
|
||||
nl_before_do = force # ignore/add/remove/force
|
||||
nl_after_do = force # ignore/add/remove/force
|
||||
nl_before_return = false # true/false
|
||||
nl_after_return = true # true/false
|
||||
nl_ds_struct_enum_cmt = false # true/false
|
||||
nl_ds_struct_enum_close_brace = false # true/false
|
||||
nl_class_colon = ignore # ignore/add/remove/force
|
||||
nl_constr_colon = ignore # ignore/add/remove/force
|
||||
nl_namespace_two_to_one_liner = false # true/false
|
||||
nl_create_if_one_liner = false # true/false
|
||||
nl_create_for_one_liner = false # true/false
|
||||
nl_create_while_one_liner = false # true/false
|
||||
nl_create_func_def_one_liner = false # true/false
|
||||
nl_split_if_one_liner = false # true/false
|
||||
nl_split_for_one_liner = false # true/false
|
||||
nl_split_while_one_liner = false # true/false
|
||||
nl_max = 4 # unsigned number
|
||||
nl_max_blank_in_func = 0 # unsigned number
|
||||
nl_before_func_body_proto = 0 # unsigned number
|
||||
nl_before_func_body_def = 0 # unsigned number
|
||||
nl_before_func_class_proto = 0 # unsigned number
|
||||
nl_before_func_class_def = 0 # unsigned number
|
||||
nl_after_func_proto = 0 # unsigned number
|
||||
nl_after_func_proto_group = 1 # unsigned number
|
||||
nl_after_func_class_proto = 0 # unsigned number
|
||||
nl_after_func_class_proto_group = 0 # unsigned number
|
||||
nl_class_leave_one_liner_groups = false # true/false
|
||||
nl_after_func_body = 0 # unsigned number
|
||||
nl_after_func_body_class = 2 # unsigned number
|
||||
nl_after_func_body_one_liner = 0 # unsigned number
|
||||
nl_func_var_def_blk = 1 # unsigned number
|
||||
nl_typedef_blk_start = 0 # unsigned number
|
||||
nl_typedef_blk_end = 0 # unsigned number
|
||||
nl_typedef_blk_in = 0 # unsigned number
|
||||
nl_var_def_blk_start = 0 # unsigned number
|
||||
nl_var_def_blk_end = 0 # unsigned number
|
||||
nl_var_def_blk_in = 0 # unsigned number
|
||||
nl_before_block_comment = 2 # unsigned number
|
||||
eat_blanks_after_open_brace = true # false/true
|
||||
eat_blanks_before_close_brace = true # false/true
|
||||
nl_after_return = true # false/true
|
||||
pos_bool = trail # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force
|
||||
nl_before_c_comment = 0 # unsigned number
|
||||
nl_before_cpp_comment = 0 # unsigned number
|
||||
nl_after_multiline_comment = false # true/false
|
||||
nl_after_label_colon = false # true/false
|
||||
nl_after_struct = 0 # unsigned number
|
||||
nl_before_class = 0 # unsigned number
|
||||
nl_after_class = 0 # unsigned number
|
||||
nl_before_access_spec = 0 # unsigned number
|
||||
nl_after_access_spec = 0 # unsigned number
|
||||
nl_comment_func_def = 0 # unsigned number
|
||||
nl_after_try_catch_finally = 0 # unsigned number
|
||||
nl_around_cs_property = 0 # unsigned number
|
||||
nl_between_get_set = 0 # unsigned number
|
||||
nl_property_brace = ignore # ignore/add/remove/force
|
||||
nl_inside_namespace = 0 # unsigned number
|
||||
eat_blanks_after_open_brace = true # true/false
|
||||
eat_blanks_before_close_brace = true # true/false
|
||||
nl_remove_extra_newlines = 0 # unsigned number
|
||||
nl_after_annotation = ignore # ignore/add/remove/force
|
||||
nl_between_annotation = ignore # ignore/add/remove/force
|
||||
pos_arith = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
|
||||
pos_assign = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
|
||||
pos_bool = trail # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
|
||||
pos_compare = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
|
||||
pos_conditional = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
|
||||
pos_comma = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
|
||||
pos_enum_comma = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
|
||||
pos_class_comma = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
|
||||
pos_constr_comma = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
|
||||
pos_class_colon = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
|
||||
pos_constr_colon = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
|
||||
code_width = 0 # unsigned number
|
||||
ls_for_split_full = false # true/false
|
||||
ls_func_split_full = false # true/false
|
||||
ls_code_width = false # true/false
|
||||
align_keep_tabs = false # true/false
|
||||
align_with_tabs = false # true/false
|
||||
align_on_tabstop = false # true/false
|
||||
align_number_right = false # true/false
|
||||
align_keep_extra_space = false # true/false
|
||||
align_func_params = false # true/false
|
||||
align_func_params_span = 0 # unsigned number
|
||||
align_func_params_thresh = 0 # number
|
||||
align_func_params_gap = 0 # unsigned number
|
||||
align_constr_value_span = 0 # unsigned number
|
||||
align_constr_value_thresh = 0 # number
|
||||
align_constr_value_gap = 0 # unsigned number
|
||||
align_same_func_call_params = false # true/false
|
||||
align_same_func_call_params_span = 0 # unsigned number
|
||||
align_same_func_call_params_thresh = 0 # number
|
||||
align_var_def_span = 0 # unsigned number
|
||||
align_var_def_star_style = 0 # unsigned number
|
||||
align_var_def_amp_style = 1 # unsigned number
|
||||
align_var_def_thresh = 16 # unsigned number
|
||||
align_assign_thresh = 12 # unsigned number
|
||||
align_var_def_thresh = 16 # number
|
||||
align_var_def_gap = 0 # unsigned number
|
||||
align_var_def_colon = false # true/false
|
||||
align_var_def_colon_gap = 0 # unsigned number
|
||||
align_var_def_attribute = false # true/false
|
||||
align_var_def_inline = false # true/false
|
||||
align_assign_span = 0 # unsigned number
|
||||
align_assign_func_proto_span = 0 # unsigned number
|
||||
align_assign_thresh = 12 # number
|
||||
align_assign_decl_func = 0 # unsigned number
|
||||
align_enum_equ_span = 0 # unsigned number
|
||||
align_enum_equ_thresh = 0 # number
|
||||
align_var_class_span = 0 # unsigned number
|
||||
align_var_class_thresh = 0 # number
|
||||
align_var_class_gap = 0 # unsigned number
|
||||
align_var_struct_span = 0 # unsigned number
|
||||
align_var_struct_thresh = 0 # number
|
||||
align_var_struct_gap = 0 # unsigned number
|
||||
align_struct_init_span = 3 # unsigned number
|
||||
align_typedef_gap = 3 # unsigned number
|
||||
align_typedef_span = 5 # unsigned number
|
||||
align_typedef_gap = 3 # unsigned number
|
||||
align_typedef_func = 0 # unsigned number
|
||||
align_typedef_star_style = 1 # unsigned number
|
||||
align_typedef_amp_style = 1 # unsigned number
|
||||
align_right_cmt_span = 3 # unsigned number
|
||||
align_nl_cont = true # false/true
|
||||
align_pp_define_gap = 4 # unsigned number
|
||||
align_right_cmt_gap = 0 # unsigned number
|
||||
align_right_cmt_mix = false # true/false
|
||||
align_right_cmt_same_level = false # true/false
|
||||
align_right_cmt_at_col = 0 # unsigned number
|
||||
align_func_proto_span = 0 # unsigned number
|
||||
align_func_proto_thresh = 0 # number
|
||||
align_func_proto_gap = 0 # unsigned number
|
||||
align_on_operator = false # true/false
|
||||
align_mix_var_proto = false # true/false
|
||||
align_single_line_func = false # true/false
|
||||
align_single_line_brace = false # true/false
|
||||
align_single_line_brace_gap = 0 # unsigned number
|
||||
align_oc_msg_spec_span = 0 # unsigned number
|
||||
align_nl_cont = true # true/false
|
||||
align_pp_define_together = false # true/false
|
||||
align_pp_define_span = 3 # unsigned number
|
||||
cmt_cpp_to_c = true # false/true
|
||||
cmt_star_cont = true # false/true
|
||||
align_pp_define_gap = 4 # unsigned number
|
||||
align_left_shift = true # true/false
|
||||
align_asm_colon = false # true/false
|
||||
align_oc_msg_colon_span = 0 # unsigned number
|
||||
align_oc_msg_colon_first = false # true/false
|
||||
align_oc_decl_colon = false # true/false
|
||||
cmt_width = 0 # unsigned number
|
||||
cmt_reflow_mode = 0 # unsigned number
|
||||
cmt_convert_tab_to_spaces = false # true/false
|
||||
cmt_indent_multi = true # true/false
|
||||
cmt_c_group = false # true/false
|
||||
cmt_c_nl_start = false # true/false
|
||||
cmt_c_nl_end = false # true/false
|
||||
cmt_cpp_to_c = true # true/false
|
||||
cmt_cpp_group = false # true/false
|
||||
cmt_cpp_nl_start = false # true/false
|
||||
cmt_cpp_nl_end = false # true/false
|
||||
cmt_star_cont = true # true/false
|
||||
cmt_sp_before_star_cont = 0 # unsigned number
|
||||
cmt_sp_after_star_cont = 0 # unsigned number
|
||||
cmt_multi_check_last = true # true/false
|
||||
cmt_multi_first_len_minimum = 4 # unsigned number
|
||||
cmt_insert_file_header = "" # string
|
||||
cmt_insert_file_footer = "" # string
|
||||
cmt_insert_func_header = "" # string
|
||||
cmt_insert_class_header = "" # string
|
||||
cmt_insert_oc_msg_header = "" # string
|
||||
cmt_insert_before_preproc = false # true/false
|
||||
cmt_insert_before_inlines = true # true/false
|
||||
cmt_insert_before_ctor_dtor = false # true/false
|
||||
mod_full_brace_do = add # ignore/add/remove/force
|
||||
mod_full_brace_for = add # ignore/add/remove/force
|
||||
mod_full_brace_function = ignore # ignore/add/remove/force
|
||||
mod_full_brace_if = add # ignore/add/remove/force
|
||||
mod_full_brace_if_chain = false # true/false
|
||||
mod_full_brace_if_chain_only = false # true/false
|
||||
mod_full_brace_while = add # ignore/add/remove/force
|
||||
mod_full_paren_if_bool = true # false/true
|
||||
mod_remove_extra_semicolon = true # false/true
|
||||
mod_add_long_ifdef_endif_comment = 10 # unsigned number
|
||||
mod_full_brace_using = ignore # ignore/add/remove/force
|
||||
mod_full_brace_nl = 0 # unsigned number
|
||||
mod_full_brace_nl_block_rem_mlcond = false # true/false
|
||||
mod_paren_on_return = ignore # ignore/add/remove/force
|
||||
mod_pawn_semicolon = false # true/false
|
||||
mod_full_paren_if_bool = true # true/false
|
||||
mod_remove_extra_semicolon = true # true/false
|
||||
mod_add_long_function_closebrace_comment = 0 # unsigned number
|
||||
mod_add_long_namespace_closebrace_comment = 0 # unsigned number
|
||||
mod_add_long_class_closebrace_comment = 0 # unsigned number
|
||||
mod_add_long_switch_closebrace_comment = 0 # unsigned number
|
||||
mod_add_long_ifdef_endif_comment = 10 # unsigned number
|
||||
mod_add_long_ifdef_else_comment = 10 # unsigned number
|
||||
mod_sort_import = false # true/false
|
||||
mod_sort_using = false # true/false
|
||||
mod_sort_include = false # true/false
|
||||
mod_move_case_break = false # true/false
|
||||
mod_case_brace = remove # ignore/add/remove/force
|
||||
mod_remove_empty_return = true # false/true
|
||||
mod_remove_empty_return = true # true/false
|
||||
mod_enum_last_comma = ignore # ignore/add/remove/force
|
||||
mod_sort_oc_properties = false # true/false
|
||||
mod_sort_oc_property_class_weight = 0 # number
|
||||
mod_sort_oc_property_thread_safe_weight = 0 # number
|
||||
mod_sort_oc_property_readwrite_weight = 0 # number
|
||||
mod_sort_oc_property_reference_weight = 0 # number
|
||||
mod_sort_oc_property_getter_weight = 0 # number
|
||||
mod_sort_oc_property_setter_weight = 0 # number
|
||||
mod_sort_oc_property_nullability_weight = 0 # number
|
||||
pp_indent = force # ignore/add/remove/force
|
||||
pp_indent_at_level = true # false/true
|
||||
pp_indent_at_level = true # true/false
|
||||
pp_indent_count = 4 # unsigned number
|
||||
pp_space = remove # ignore/add/remove/force
|
||||
pp_if_indent_code = true # false/true
|
||||
# option(s) with 'not default' value: 158
|
||||
pp_space_count = 0 # unsigned number
|
||||
pp_indent_region = 0 # number
|
||||
pp_region_indent_code = false # true/false
|
||||
pp_indent_if = 0 # number
|
||||
pp_if_indent_code = true # true/false
|
||||
pp_define_at_level = false # true/false
|
||||
pp_ignore_define_body = false # true/false
|
||||
pp_indent_case = true # true/false
|
||||
pp_indent_func_def = true # true/false
|
||||
pp_indent_extern = true # true/false
|
||||
pp_indent_brace = false # true/false
|
||||
include_category_0 = "" # string
|
||||
include_category_1 = "" # string
|
||||
include_category_2 = "" # string
|
||||
use_indent_func_call_param = true # true/false
|
||||
use_indent_continue_only_once = false # true/false
|
||||
indent_cpp_lambda_only_once = false # true/false
|
||||
use_options_overriding_for_qt_macros = true # true/false
|
||||
warn_level_tabs_found_in_verbatim_string_literals = 2 # unsigned number
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue