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