mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-20 21:41:59 -04:00
Move the event groups single tasks test out of the common demo file (they are now part of the module tests).
This commit is contained in:
parent
c861e3883d
commit
a3c2f45116
|
@ -682,7 +682,7 @@
|
||||||
</option>
|
</option>
|
||||||
<option>
|
<option>
|
||||||
<name>IlinkMapFile</name>
|
<name>IlinkMapFile</name>
|
||||||
<state>0</state>
|
<state>1</state>
|
||||||
</option>
|
</option>
|
||||||
<option>
|
<option>
|
||||||
<name>IlinkLogFile</name>
|
<name>IlinkLogFile</name>
|
||||||
|
|
|
@ -135,13 +135,6 @@ static void prvWaitBitsTask( void *pvParameters );
|
||||||
*/
|
*/
|
||||||
static void prvSyncTask( void *pvParameters );
|
static void prvSyncTask( void *pvParameters );
|
||||||
|
|
||||||
/*
|
|
||||||
* Contains a set of behavioural tests that can be performed from a single task.
|
|
||||||
* This function is called by prvSetBitsTask() before prvSetBitsTasks() starts
|
|
||||||
* the tests that make use of the prvWaitBitsTask().
|
|
||||||
*/
|
|
||||||
static portBASE_TYPE prvSingleTaskTests( void );
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Functions used in a test that blocks two tasks on various different bits
|
* Functions used in a test that blocks two tasks on various different bits
|
||||||
* within an event group - then sets each bit in turn and checks that the
|
* within an event group - then sets each bit in turn and checks that the
|
||||||
|
@ -184,196 +177,6 @@ xTaskHandle xWaitBitsTaskHandle;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static portBASE_TYPE prvSingleTaskTests( void )
|
|
||||||
{
|
|
||||||
xEventBitsType uxReturned;
|
|
||||||
portBASE_TYPE xError = pdFALSE, xHigherPriorityTaskWoken;
|
|
||||||
portTickType xTimeOnEntering, xTimeOnExiting;
|
|
||||||
|
|
||||||
/* Check no bits are currently set. */
|
|
||||||
uxReturned = xEventGroupWaitBits( xEventBits, /* The event flags being tested. */
|
|
||||||
ebBIT_1, /* The bit being tested. */
|
|
||||||
pdFALSE, /* Don't clear the bit on exit. */
|
|
||||||
pdFALSE, /* Wait for a single bit, not all the bits. */
|
|
||||||
ebDONT_BLOCK ); /* Block time. */
|
|
||||||
|
|
||||||
if( uxReturned != 0x00 )
|
|
||||||
{
|
|
||||||
xError = pdTRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Set selected bits. */
|
|
||||||
xEventGroupSetBits( xEventBits, ebCOMBINED_BITS );
|
|
||||||
|
|
||||||
/* Wait on all the selected bits. This should return immediately even
|
|
||||||
though a block time is specified. */
|
|
||||||
uxReturned = xEventGroupWaitBits( xEventBits, ebCOMBINED_BITS, pdFALSE, pdTRUE, portMAX_DELAY );
|
|
||||||
|
|
||||||
if( uxReturned != ebCOMBINED_BITS )
|
|
||||||
{
|
|
||||||
xError = pdTRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Now try waiting on all the selected bits plus a bit that is not set.
|
|
||||||
This should time out. */
|
|
||||||
xTimeOnEntering = xTaskGetTickCount();
|
|
||||||
uxReturned = xEventGroupWaitBits( xEventBits, /* The event flags being tested. */
|
|
||||||
ebCOMBINED_BITS | ebBIT_0, /* The bits being tested. */
|
|
||||||
pdFALSE, /* Don't clear the bits on exit. */
|
|
||||||
pdTRUE, /* Wait for all the bits to be set, not just a single bit. */
|
|
||||||
ebSHORT_DELAY ); /* Block time. */
|
|
||||||
xTimeOnExiting = xTaskGetTickCount();
|
|
||||||
|
|
||||||
if( ( xTimeOnExiting - xTimeOnEntering ) < ebSHORT_DELAY )
|
|
||||||
{
|
|
||||||
/* Did not block as expected. */
|
|
||||||
xError = pdTRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( uxReturned != ebCOMBINED_BITS )
|
|
||||||
{
|
|
||||||
xError = pdTRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* This time pass in the same bit combination, but wait for only a single
|
|
||||||
bit. This time it should not block even though one of the bits in the
|
|
||||||
combination is not set. */
|
|
||||||
xTimeOnEntering = xTaskGetTickCount();
|
|
||||||
uxReturned = xEventGroupWaitBits( xEventBits, /* The event flags being tested. */
|
|
||||||
ebCOMBINED_BITS | ebBIT_0, /* The bits being tested. */
|
|
||||||
pdFALSE, /* Don't clear the bits on exit. */
|
|
||||||
pdFALSE, /* Don't wait for all the bits to be set, a single bit is all that is required. */
|
|
||||||
ebSHORT_DELAY ); /* Block time. */
|
|
||||||
xTimeOnExiting = xTaskGetTickCount();
|
|
||||||
|
|
||||||
if( ( xTimeOnExiting - xTimeOnEntering ) >= ebSHORT_DELAY )
|
|
||||||
{
|
|
||||||
/* Blocked, but didn't expect to. */
|
|
||||||
xError = pdTRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( uxReturned != ebCOMBINED_BITS )
|
|
||||||
{
|
|
||||||
xError = pdTRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Now set all the bits. */
|
|
||||||
xEventGroupSetBits( xEventBits, ebALL_BITS );
|
|
||||||
|
|
||||||
/* Read the bits back to ensure they are all set. Read back with a timeout
|
|
||||||
to ensure the task does not block (all the bits are already set), and leave
|
|
||||||
the bits set on exit. */
|
|
||||||
xTimeOnEntering = xTaskGetTickCount();
|
|
||||||
uxReturned = xEventGroupWaitBits( xEventBits, /* The event flags being tested. */
|
|
||||||
ebALL_BITS, /* The bits being tested. */
|
|
||||||
pdFALSE, /* Don't clear the bits on exit. */
|
|
||||||
pdTRUE, /* Wait for all the bits to be set. */
|
|
||||||
ebSHORT_DELAY );/* Block time. */
|
|
||||||
xTimeOnExiting = xTaskGetTickCount();
|
|
||||||
|
|
||||||
if( ( xTimeOnExiting - xTimeOnEntering ) >= ebSHORT_DELAY )
|
|
||||||
{
|
|
||||||
/* Blocked, but didn't expect to. */
|
|
||||||
xError = pdTRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( uxReturned != ebALL_BITS )
|
|
||||||
{
|
|
||||||
xError = pdTRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Now wait for some bits to be set (which are all set), and clear the bits
|
|
||||||
on exit. Again this should not block. */
|
|
||||||
xTimeOnEntering = xTaskGetTickCount();
|
|
||||||
uxReturned = xEventGroupWaitBits( xEventBits, /* The event flags being tested. */
|
|
||||||
ebCOMBINED_BITS, /* The bits being tested, which are a subset of the bits now set. */
|
|
||||||
pdTRUE, /* Clear the bits on exit. */
|
|
||||||
pdTRUE, /* Wait for all the bits to be set (which they already are. */
|
|
||||||
ebSHORT_DELAY ); /* Block time. */
|
|
||||||
xTimeOnExiting = xTaskGetTickCount();
|
|
||||||
|
|
||||||
if( ( xTimeOnExiting - xTimeOnEntering ) >= ebSHORT_DELAY )
|
|
||||||
{
|
|
||||||
/* Blocked, but didn't expect to. */
|
|
||||||
xError = pdTRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( uxReturned != ebALL_BITS )
|
|
||||||
{
|
|
||||||
xError = pdTRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Now the bits set by the ebCOMBINED_BITS constant should be clear, but
|
|
||||||
all the other bits should be set. Call xEventGroupWaitBits() again, this time
|
|
||||||
waiting for any bit within ebALL_BITS, and clearing all bits on exit to
|
|
||||||
leave the event bits all clear again. */
|
|
||||||
xTimeOnEntering = xTaskGetTickCount();
|
|
||||||
uxReturned = xEventGroupWaitBits( xEventBits, /* The event flags being tested. */
|
|
||||||
ebALL_BITS, /* The bits being tested, which are a subset of the bits now set. */
|
|
||||||
pdTRUE, /* Clear the bits on exit. */
|
|
||||||
pdFALSE, /* Wait for any bit to be set. */
|
|
||||||
ebSHORT_DELAY ); /* Block time. */
|
|
||||||
xTimeOnExiting = xTaskGetTickCount();
|
|
||||||
|
|
||||||
if( ( xTimeOnExiting - xTimeOnEntering ) >= ebSHORT_DELAY )
|
|
||||||
{
|
|
||||||
/* Blocked, but didn't expect to. */
|
|
||||||
xError = pdTRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The bits defined in ebCOMBINED_BITS were already cleared, so this time
|
|
||||||
only the remaining bits should have been set. */
|
|
||||||
if( uxReturned != ( ebALL_BITS & ~ebCOMBINED_BITS ) )
|
|
||||||
{
|
|
||||||
xError = pdTRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* All the bits should be clear again as the last call to xEventGroupWaitBits()
|
|
||||||
had the "clear on exit" parameter set to pdTRUE. */
|
|
||||||
uxReturned = xEventGroupGetBits( xEventBits );
|
|
||||||
|
|
||||||
if( uxReturned != 0x00 )
|
|
||||||
{
|
|
||||||
/* Expected all bits to be clear. */
|
|
||||||
xError = pdTRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Try the 'set from ISR' function, which will pend the set to the timer
|
|
||||||
daemon task. */
|
|
||||||
xHigherPriorityTaskWoken = pdFALSE;
|
|
||||||
if( xEventGroupSetBitsFromISR( xEventBits, ebBIT_3, &xHigherPriorityTaskWoken ) != pdPASS )
|
|
||||||
{
|
|
||||||
xError = pdTRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( xHigherPriorityTaskWoken == pdTRUE )
|
|
||||||
{
|
|
||||||
/* If the daemon task has a higher priority then a yield should be
|
|
||||||
performed to ensure it runs before the bits are tested. */
|
|
||||||
taskYIELD();
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Is the bit set? */
|
|
||||||
uxReturned = xEventGroupGetBits( xEventBits );
|
|
||||||
|
|
||||||
if( uxReturned != ebBIT_3 )
|
|
||||||
{
|
|
||||||
/* Expected all bits to be clear. */
|
|
||||||
xError = pdTRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Clear all bits again ready for infinite loop tests. */
|
|
||||||
xEventGroupClearBits( xEventBits, ebALL_BITS );
|
|
||||||
|
|
||||||
return xError;
|
|
||||||
}
|
|
||||||
/*-----------------------------------------------------------*/
|
|
||||||
|
|
||||||
static void prvSyncTask( void *pvParameters )
|
static void prvSyncTask( void *pvParameters )
|
||||||
{
|
{
|
||||||
xEventBitsType uxSynchronisationBit, uxReturned;
|
xEventBitsType uxSynchronisationBit, uxReturned;
|
||||||
|
@ -556,16 +359,10 @@ xTaskHandle xWaitBitsTaskHandle = ( xTaskHandle ) pvParameters;
|
||||||
xEventBits = xEventGroupCreate();
|
xEventBits = xEventGroupCreate();
|
||||||
configASSERT( xEventBits );
|
configASSERT( xEventBits );
|
||||||
|
|
||||||
/* Perform the tests that only require a single task. */
|
/* Perform the tests that block two tasks on different combinations of bits,
|
||||||
xError = prvSingleTaskTests();
|
then set each bit in turn and check the correct tasks unblock at the correct
|
||||||
|
times. */
|
||||||
if( xError == pdFALSE )
|
xError = prvTestSelectiveBits();
|
||||||
{
|
|
||||||
/* Perform the tests that block two tasks on different combinations of
|
|
||||||
bits, then set each bit in turn and check the correct tasks unblock at
|
|
||||||
the correct times. */
|
|
||||||
xError = prvTestSelectiveBits();
|
|
||||||
}
|
|
||||||
|
|
||||||
for( ;; )
|
for( ;; )
|
||||||
{
|
{
|
||||||
|
|
|
@ -721,28 +721,25 @@ static portTickType uxTick = ( portTickType ) -1;
|
||||||
function is called from the tick hook anyway. However the API required it
|
function is called from the tick hook anyway. However the API required it
|
||||||
to be present. */
|
to be present. */
|
||||||
signed portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
|
signed portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
|
||||||
portTickType xMargin;
|
|
||||||
|
|
||||||
if( configTIMER_TASK_PRIORITY != ( configMAX_PRIORITIES - 1 ) )
|
#if( configTIMER_TASK_PRIORITY != ( configMAX_PRIORITIES - 1 ) )
|
||||||
{
|
/* The timer service task is not the highest priority task, so it cannot
|
||||||
/* The timer service task is not the highest priority task, so it cannot
|
be assumed that timings will be exact. Timers should never call their
|
||||||
be assumed that timings will be exact. Timers should never call their
|
callback before their expiry time, but a margin is permissible for calling
|
||||||
callback before their expiry time, but a margin is permissible for calling
|
their callback after their expiry time. If exact timing is required then
|
||||||
their callback after their expiry time. If exact timing is required then
|
configTIMER_TASK_PRIORITY must be set to ensure the timer service task
|
||||||
configTIMER_TASK_PRIORITY must be set to ensure the timer service task
|
is the highest priority task in the system. */
|
||||||
is the highest priority task in the system. */
|
const portTickType xMargin = 5;
|
||||||
xMargin = 5;
|
#else
|
||||||
}
|
|
||||||
else
|
const portTickType xMargin = 1;
|
||||||
{
|
#endif
|
||||||
xMargin = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* This test is called from the tick ISR even when the scheduler is suspended.
|
/* This test is called from the tick ISR even when the scheduler is suspended.
|
||||||
Therefore, it is possible for the xTickCount to be temporarily less than the
|
Therefore, it is possible for the xTickCount to be temporarily less than the
|
||||||
uxTicks count maintained in this function. That can result in calculated
|
uxTicks count maintained in this function. That can result in calculated
|
||||||
unblock times being too short, as this function is not called as missed ticks
|
unblock times being too short, as this function is not called as missed ticks
|
||||||
(ticks that occur while the scheduler is suspended) are unwound to re-instate
|
(ticks that occur while the scheduler is suspended) are unwound to reinstate
|
||||||
the real tick value. Therefore, if this happens, just abandon the test
|
the real tick value. Therefore, if this happens, just abandon the test
|
||||||
and start again. */
|
and start again. */
|
||||||
if( xTaskGetSchedulerState() != taskSCHEDULER_RUNNING )
|
if( xTaskGetSchedulerState() != taskSCHEDULER_RUNNING )
|
||||||
|
@ -754,14 +751,28 @@ portTickType xMargin;
|
||||||
uxTick++;
|
uxTick++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( uxTick == 0 )
|
if( uxTick == ( xBasePeriod >> 1 ) )
|
||||||
{
|
{
|
||||||
/* The timers will have been created, but not started. Start them
|
/* The timers will have been created, but not started. Start them
|
||||||
now by setting their period. */
|
now by setting their period. */
|
||||||
ucISRAutoReloadTimerCounter = 0;
|
ucISRAutoReloadTimerCounter = 0;
|
||||||
ucISROneShotTimerCounter = 0;
|
ucISROneShotTimerCounter = 0;
|
||||||
xTimerChangePeriodFromISR( xISRAutoReloadTimer, xBasePeriod, &xHigherPriorityTaskWoken );
|
|
||||||
xTimerChangePeriodFromISR( xISROneShotTimer, xBasePeriod, &xHigherPriorityTaskWoken );
|
/* It is possible that the timer task has not yet made room in the
|
||||||
|
timer queue. If the timers cannot be started then reset uxTick so
|
||||||
|
another attempt is made later. */
|
||||||
|
uxTick = ( portTickType ) -1;
|
||||||
|
if( xTimerChangePeriodFromISR( xISRAutoReloadTimer, xBasePeriod, &xHigherPriorityTaskWoken ) == pdPASS )
|
||||||
|
{
|
||||||
|
if( xTimerChangePeriodFromISR( xISROneShotTimer, xBasePeriod, &xHigherPriorityTaskWoken ) == pdPASS )
|
||||||
|
{
|
||||||
|
uxTick = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
xTimerStopFromISR( xISRAutoReloadTimer, &xHigherPriorityTaskWoken );
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if( uxTick == xBasePeriod )
|
else if( uxTick == xBasePeriod )
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
<folderInfo id="cdt.managedbuild.config.gnu.mingw.exe.debug.396692239." name="/" resourcePath="">
|
<folderInfo id="cdt.managedbuild.config.gnu.mingw.exe.debug.396692239." name="/" resourcePath="">
|
||||||
<toolChain id="cdt.managedbuild.toolchain.gnu.mingw.exe.debug.1619684599" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.exe.debug">
|
<toolChain id="cdt.managedbuild.toolchain.gnu.mingw.exe.debug.1619684599" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.exe.debug">
|
||||||
<targetPlatform id="cdt.managedbuild.target.gnu.platform.mingw.exe.debug.1827277435" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.mingw.exe.debug"/>
|
<targetPlatform id="cdt.managedbuild.target.gnu.platform.mingw.exe.debug.1827277435" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.mingw.exe.debug"/>
|
||||||
<builder buildPath="${workspace_loc:/RTOSDemo}/Debug" id="org.eclipse.cdt.build.core.internal.builder.835905495" superClass="org.eclipse.cdt.build.core.internal.builder"/>
|
<builder buildPath="${workspace_loc:/RTOSDemo}/Debug" id="org.eclipse.cdt.build.core.internal.builder.835905495" keepEnvironmentInBuildfile="false" name="CDT Internal Builder" superClass="org.eclipse.cdt.build.core.internal.builder"/>
|
||||||
<tool id="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug.2050893079" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug">
|
<tool id="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug.2050893079" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug">
|
||||||
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1919405451" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1919405451" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
||||||
</tool>
|
</tool>
|
||||||
|
@ -42,7 +42,7 @@
|
||||||
<option id="gnu.c.compiler.option.debugging.gprof.444112294" name="Generate gprof information (-pg)" superClass="gnu.c.compiler.option.debugging.gprof" value="false" valueType="boolean"/>
|
<option id="gnu.c.compiler.option.debugging.gprof.444112294" name="Generate gprof information (-pg)" superClass="gnu.c.compiler.option.debugging.gprof" value="false" valueType="boolean"/>
|
||||||
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.974248912" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.974248912" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
||||||
</tool>
|
</tool>
|
||||||
<tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug.2080839343" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug">
|
<tool command="gcc" id="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug.2080839343" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug">
|
||||||
<option id="gnu.c.link.option.ldflags.1005037398" name="Linker flags" superClass="gnu.c.link.option.ldflags" value="" valueType="string"/>
|
<option id="gnu.c.link.option.ldflags.1005037398" name="Linker flags" superClass="gnu.c.link.option.ldflags" value="" valueType="string"/>
|
||||||
<option id="gnu.c.link.option.libs.709505970" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs">
|
<option id="gnu.c.link.option.libs.709505970" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs">
|
||||||
<listOptionValue builtIn="false" value="winmm"/>
|
<listOptionValue builtIn="false" value="winmm"/>
|
||||||
|
|
|
@ -0,0 +1,68 @@
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
inEditor=false
|
||||||
|
org.eclipse.cdt.codan.checkers.errnoreturn=-Warning
|
||||||
|
org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false}
|
||||||
|
org.eclipse.cdt.codan.checkers.errreturnvalue=-Error
|
||||||
|
org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
|
||||||
|
org.eclipse.cdt.codan.checkers.noreturn=-Error
|
||||||
|
org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=-Error
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=-Error
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=-Warning
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=-Error
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=-Warning
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.CatchByReference=-Warning
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=-Error
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=-Warning
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=-Error
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.InvalidArguments=-Error
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=-Error
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=-Error
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=-Error
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=-Error
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=-Warning
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.OverloadProblem=-Error
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=-Error
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=-Error
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=-Warning
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=-Warning
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=-Warning
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=-Error
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=-Warning
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=-Warning
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=-Warning
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")}
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=-Error
|
||||||
|
org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
|
|
@ -1,10 +1,20 @@
|
||||||
eclipse.preferences.version=1
|
eclipse.preferences.version=1
|
||||||
|
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239.1332190083/CPATH/delimiter=;
|
||||||
|
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239.1332190083/CPATH/operation=remove
|
||||||
|
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239.1332190083/C_INCLUDE_PATH/delimiter=;
|
||||||
|
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239.1332190083/C_INCLUDE_PATH/operation=remove
|
||||||
|
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239.1332190083/append=true
|
||||||
|
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239.1332190083/appendContributed=true
|
||||||
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/CPATH/delimiter=;
|
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/CPATH/delimiter=;
|
||||||
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/CPATH/operation=remove
|
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/CPATH/operation=remove
|
||||||
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/C_INCLUDE_PATH/delimiter=;
|
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/C_INCLUDE_PATH/delimiter=;
|
||||||
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/C_INCLUDE_PATH/operation=remove
|
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/C_INCLUDE_PATH/operation=remove
|
||||||
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/append=true
|
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/append=true
|
||||||
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/appendContributed=true
|
environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/appendContributed=true
|
||||||
|
environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239.1332190083/LIBRARY_PATH/delimiter=;
|
||||||
|
environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239.1332190083/LIBRARY_PATH/operation=remove
|
||||||
|
environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239.1332190083/append=true
|
||||||
|
environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239.1332190083/appendContributed=true
|
||||||
environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/LIBRARY_PATH/delimiter=;
|
environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/LIBRARY_PATH/delimiter=;
|
||||||
environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/LIBRARY_PATH/operation=remove
|
environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/LIBRARY_PATH/operation=remove
|
||||||
environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/append=true
|
environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.396692239/append=true
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
|
Loading…
Reference in a new issue