qpc/include/qpc.lnt

474 lines
12 KiB
Plaintext
Raw Normal View History

2015-04-28 13:45:35 -04:00
//============================================================================
// Product: PC-Lint 9.x option file for linting QP/C applications
2016-11-30 18:14:20 -05:00
// Last updated for version 5.8.0
// Last updated on 2016-11-21
2015-04-28 13:45:35 -04:00
//
// Q u a n t u m L e a P s
// ---------------------------
// innovating embedded systems
//
// Copyright (C) Quantum Leaps, LLC, state-machine.com.
//
// This program is open source software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Alternatively, this program may be distributed and modified under the
// terms of Quantum Leaps commercial licenses, which expressly supersede
// the GNU General Public License and are specifically designed for
// licensees interested in retaining the proprietary status of their code.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
// Contact information:
2015-09-29 11:33:40 -04:00
// http://www.state-machine.com
// mailto:info@state-machine.com
2015-04-28 13:45:35 -04:00
//============================================================================
2015-06-04 22:47:13 -04:00
// General
-estring(793,6) // ANSI/ISO limit of 6 significant chars exceeded
-emacro((960), // MISRA04-17.4(req) pointer arithmetic
Q_DIM,
Q_UINT2PTR_CAST)
-estring(961, // MISRA04-19.7(adv) function-like macro
Q_DIM,
Q_UINT2PTR_CAST)
-esym(960, // MISRA04-19.10(req) unparenthesized macro par
Q_UINT2PTR_CAST)
-estring(9022, // MISRA04-19.10(req) unparenthesized macro parameter
Q_UINT2PTR_CAST)
2015-04-28 13:45:35 -04:00
// Assertions
2015-06-01 14:24:36 -04:00
-estring(960, // MISRA04-8.7(req) could use block scope
2015-06-04 22:47:13 -04:00
Q_this_module_)
2015-06-01 14:24:36 -04:00
-estring(961, // MISRA04-19.7(adv) function-like macro
2015-04-28 13:45:35 -04:00
Q_ASSERT,
Q_ASSERT_ID,
Q_ALLEGE,
Q_ALLEGE_ID,
Q_ERROR,
Q_ERROR_ID,
Q_REQUIRE,
Q_REQUIRE_ID,
Q_ENSURE,
Q_ENSURE_ID,
Q_INVARIANT,
Q_INVARIANT_ID,
Q_ASSERT_COMPILE,
Q_TEST_ASSERT,
Q_DEFINE_THIS_MODULE)
2015-06-01 14:24:36 -04:00
-esym(960, // MISRA04-19.4(req) Disallowed macro definition
2015-04-28 13:45:35 -04:00
Q_ALLEGE,
Q_ALLEGE_ID,
Q_ERROR,
Q_ERROR_ID,
Q_REQUIRE,
Q_REQUIRE_ID,
Q_ENSURE,
Q_ENSURE_ID,
Q_INVARIANT,
Q_INVARIANT_ID,
Q_DEFINE_THIS_FILE,
Q_ASSERT_COMPILE,
Q_TEST_ASSERT)
2015-06-01 14:24:36 -04:00
-esym(960, // MISRA04-19.10(req) unparenthesized macro par
2015-04-28 13:45:35 -04:00
Q_DEFINE_THIS_MODULE)
2015-06-01 14:24:36 -04:00
-estring(9022, // MISRA04-19.10(req) unparenthesized macro parameter
2015-04-28 13:45:35 -04:00
Q_DEFINE_THIS_MODULE)
2015-06-01 14:24:36 -04:00
-emacro(522, // Highest operation lacks side-effects
2015-04-28 13:45:35 -04:00
Q_ASSERT,
Q_ERROR,
Q_ALLEGE)
2015-06-01 14:24:36 -04:00
-function(exit, // give Q_onAssert() the semantics of "exit"
Q_onAssert)
-estring(752, // not referenced
Q_assert_compile)
2015-04-28 13:45:35 -04:00
// QEP
2015-06-01 14:24:36 -04:00
-emacro(740, // MISRA04-1.2(req) incompatible indirect types
2016-11-30 18:14:20 -05:00
Q_HSM_UPCAST)
2015-06-01 14:24:36 -04:00
-esym(960, // MISRA04-19.10(req) unparenthesized macro par
Q_EVT_CAST)
-estring(961, // MISRA04-19.7(adv) function-like macro
2016-11-30 18:14:20 -05:00
Q_HSM_UPCAST,
2015-06-01 14:24:36 -04:00
Q_EVT_CAST)
-emacro(929, // MISRA04-11.4(adv) cast pointer to pointer
2016-11-30 18:14:20 -05:00
Q_HSM_UPCAST,
2015-04-28 13:45:35 -04:00
Q_EVT_CAST)
2015-06-01 14:24:36 -04:00
-estring(9022, // MISRA04-19.10(req) unparenthesized macro parameter
Q_EVT_CAST)
2015-04-28 13:45:35 -04:00
2015-06-01 14:24:36 -04:00
-emacro(740, // MISRA04-1.2(req) pointer cast
Q_STATE_CAST, // (incompatible indirect types)
2015-04-28 13:45:35 -04:00
Q_TRAN,
2014-04-06 11:43:13 -04:00
Q_TRAN_HIST,
2013-12-30 17:37:40 -05:00
Q_SUPER,
QM_ENTRY,
QM_EXIT,
2016-11-30 18:14:20 -05:00
QM_SM_EXIT,
2014-04-06 11:43:13 -04:00
QM_TRAN,
QM_TRAN_INIT,
QM_TRAN_HIST,
QM_TRAN_EP,
2015-04-28 13:45:35 -04:00
QM_TRAN_XP)
2015-06-01 14:24:36 -04:00
-emacro(929, // MISRA04-11.4(adv) cast pointer to pointer
2015-04-28 13:45:35 -04:00
Q_STATE_CAST,
Q_ACTION_CAST,
Q_TRAN,
Q_SUPER,
2013-12-30 17:37:40 -05:00
QM_ENTRY,
QM_EXIT,
2016-11-30 18:14:20 -05:00
QM_SM_EXIT,
2014-04-06 11:43:13 -04:00
QM_TRAN,
QM_TRAN_INIT,
QM_TRAN_HIST,
QM_TRAN_EP,
2015-04-28 13:45:35 -04:00
QM_TRAN_XP)
2015-06-01 14:24:36 -04:00
-emacro(960, // MISRA04-11.1(req) Conversions involving
Q_STATE_CAST, // fun. pointers must be to/from integral types
2014-04-06 11:43:13 -04:00
Q_ACTION_CAST)
2015-06-01 14:24:36 -04:00
-emacro(960, // MISRA04-12.10(req) comma operator used
2015-04-28 13:45:35 -04:00
Q_TRAN,
2014-04-06 11:43:13 -04:00
Q_TRAN_HIST,
2015-04-28 13:45:35 -04:00
Q_SUPER,
QM_ENTRY,
QM_EXIT,
2016-11-30 18:14:20 -05:00
QM_SM_EXIT,
2014-04-06 11:43:13 -04:00
QM_TRAN,
QM_TRAN_INIT,
2015-04-28 13:45:35 -04:00
QM_TRAN_HIST)
2015-06-01 14:24:36 -04:00
-estring(960, // MISRA04-18.4(req) declaration of union type
2016-11-30 18:14:20 -05:00
QHsmAttr)
2015-06-01 14:24:36 -04:00
-estring(961, // MISRA04-19.7(adv) function-like macro
2015-04-28 13:45:35 -04:00
QMsm_stateObj,
2016-11-30 18:14:20 -05:00
QMsm_childStateObj,
2014-04-06 11:43:13 -04:00
QHsm_state,
2016-11-30 18:14:20 -05:00
QHsm_childState,
2015-04-28 13:45:35 -04:00
Q_IGNORED,
Q_HANDLED,
Q_UNHANDLED,
Q_TRAN,
2014-04-06 11:43:13 -04:00
Q_TRAN_HIST,
2015-04-28 13:45:35 -04:00
Q_SUPER,
Q_STATE_CAST,
Q_ACTION_CAST,
QEP_getVersion)
2015-06-01 14:24:36 -04:00
-estring(961, // MISRA04-19.7(adv) function-like macro
2016-11-30 18:14:20 -05:00
QHSM_INIT,
QHSM_DISPATCH,
2015-04-28 13:45:35 -04:00
QM_ENTRY,
QM_EXIT,
2016-11-30 18:14:20 -05:00
QM_SM_EXIT,
2014-04-06 11:43:13 -04:00
QM_TRAN,
QM_TRAN_INIT,
QM_TRAN_HIST,
QM_TRAN_EP,
2015-04-28 13:45:35 -04:00
QM_TRAN_XP,
QM_SUPER,
2014-04-06 11:43:13 -04:00
QM_SUPER_SUB,
2015-04-28 13:45:35 -04:00
QM_HANDLED,
2014-04-06 11:43:13 -04:00
QM_UNHANDLED)
2016-11-30 18:14:20 -05:00
-esym(960, // MISRA04-19.4(req) Disallowed macro definition
QMsm_childStateObj,
QHsm_childState)
2015-06-01 14:24:36 -04:00
-esym(754, // Info: local structure member not referenced
2014-04-06 11:43:13 -04:00
target,
2015-04-28 13:45:35 -04:00
act)
// QF
2015-06-01 14:24:36 -04:00
-emacro(950, // MISRA04-2.1(req) assembly language
2015-04-28 13:45:35 -04:00
QF_INT_DISABLE,
QF_INT_ENABLE,
QF_CRIT_ENTRY,
QF_CRIT_EXIT,
QF_LOG2)
2015-06-01 14:24:36 -04:00
-estring(961, // MISRA04-19.7(adv) function-like macro
2015-04-28 13:45:35 -04:00
Q_NEW,
Q_NEW_X,
2015-09-04 12:08:22 -04:00
Q_NEW_REF,
Q_DELETE_REF,
2015-04-28 13:45:35 -04:00
QF_INT_DISABLE,
QF_INT_ENABLE,
QF_CRIT_ENTRY,
QF_CRIT_EXIT,
2013-10-10 19:59:51 -04:00
QF_CRIT_EXIT_NOP,
2015-04-28 13:45:35 -04:00
QF_CPU_SLEEP,
QF_TICK,
QF_TICK_X,
QF_PUBLISH,
QF_MPOOL_EL,
2013-09-23 14:34:35 -04:00
QF_LOG2,
2015-04-28 13:45:35 -04:00
QACTIVE_START,
2013-09-23 14:34:35 -04:00
QACTIVE_POST,
QACTIVE_POST_X,
2015-04-28 13:45:35 -04:00
QACTIVE_POST_LIFO)
2015-06-01 14:24:36 -04:00
-estring(961, // MISRA04-19.7(adv) function-like macro
2016-09-23 12:08:21 -04:00
QPSet_setEmpty,
QPSet_isEmpty,
QPSet_notEmpty,
QPSet_hasElement,
QPSet_insert,
QPSet_remove,
QPSet_findMax,
2015-04-28 13:45:35 -04:00
QEQueue_getNFree,
QEQueue_getNMin,
QEQueue_isEmpty,
QTimeEvt_ctor,
QTimeEvt_postIn,
QTimeEvt_postEvery,
QF_getVersion)
2015-06-01 14:24:36 -04:00
-estring(961, // MISRA04-19.7(adv) function-like macro
2015-04-28 13:45:35 -04:00
QF_QS_CRIT_EXIT,
QF_QS_CRIT_ENTRY,
QF_QS_CRIT_EXIT,
QF_QS_ISR_ENTRY,
QF_QS_ISR_EXIT,
QF_QS_ACTION)
2015-06-01 14:24:36 -04:00
-estring(961, // MISRA04-19.7(adv) function-like macro
2015-04-28 13:45:35 -04:00
QACTIVE_EQUEUE_WAIT_,
QACTIVE_EQUEUE_SIGNAL_,
QACTIVE_EQUEUE_ONEMPTY_,
QF_EPOOL_INIT_,
QF_EPOOL_EVENT_SIZE_,
QF_EPOOL_GET_,
2013-12-30 17:37:40 -05:00
QF_EPOOL_PUT_,
2015-04-28 13:45:35 -04:00
QF_PTR_INC_,
2013-09-23 14:34:35 -04:00
QF_tick,
QActive_postFIFO,
2015-04-28 13:45:35 -04:00
QEQueue_postFIFO)
2015-06-01 14:24:36 -04:00
-esym(960, // MISRA04-19.4(req) Disallowed macro definition
2015-04-28 13:45:35 -04:00
QF_INT_DISABLE,
QF_INT_ENABLE,
QF_CRIT_ENTRY,
2013-10-10 19:59:51 -04:00
QF_CRIT_EXIT,
2015-04-28 13:45:35 -04:00
QF_CRIT_EXIT_NOP,
QF_EQUEUE_TYPE,
QF_OS_OBJECT_TYPE,
QF_THREAD_TYPE,
QF_CRIT_STAT_TYPE,
QF_MPOOL_EL,
QACTIVE_EQUEUE_ONEMPTY_,
QF_EPOOL_TYPE_,
QF_ACTIVE_SUPER_,
QF_ACTIVE_STATE_,
QTimeEvt_ctor)
2015-06-01 14:24:36 -04:00
-emacro(929, // MISRA04-11.4(adv) cast from pointer to pointer
2015-04-28 13:45:35 -04:00
Q_NEW,
2013-09-23 14:34:35 -04:00
Q_NEW_X,
2015-09-04 12:08:22 -04:00
Q_NEW_REF,
2015-04-28 13:45:35 -04:00
QACTIVE_POST,
2013-12-30 17:37:40 -05:00
QACTIVE_POST_LIFO)
2015-06-01 14:24:36 -04:00
-emacro(960, // MISRA04-17.4(req) pointer increment
2015-06-04 22:47:13 -04:00
QF_PTR_INC_)
2015-06-01 14:24:36 -04:00
-emacro(717, // do ... while(0)
2016-09-23 12:08:21 -04:00
QPSet_setEmpty,
QPSet_insert,
QPSet_remove,
2015-04-28 13:45:35 -04:00
QTimeEvt_postIn,
QTimeEvt_postEvery)
2015-12-24 14:33:20 -05:00
-estring(960, // MISRA04-8.7(req) could use block scope
QF_maxPool_,
QF_timeEvtHead_)
2015-06-01 14:24:36 -04:00
-esym(960, // MISRA04-19.10(req) unparenthesized macro par
2013-09-23 14:34:35 -04:00
Q_NEW,
2015-09-04 12:08:22 -04:00
Q_NEW_X,
Q_NEW_REF)
2015-06-01 14:24:36 -04:00
-estring(9022, // MISRA04-19.10(req) unparenthesized macro parameter
2015-04-28 13:45:35 -04:00
Q_NEW,
2015-09-04 12:08:22 -04:00
Q_NEW_X,
Q_NEW_REF)
2015-06-01 14:24:36 -04:00
-esym(641, *Signals) // Converting enum '*Signals' to 'int'
-esym(754, sto_) // local structure member 'sto' not referenced
2015-04-28 13:45:35 -04:00
2015-12-24 14:33:20 -05:00
// QV
-estring(961, // MISRA04-19.7(adv) function-like macro
QV_getVersion)
2015-04-28 13:45:35 -04:00
// QK
2015-06-01 14:24:36 -04:00
-emacro(950, // MISRA04-2.1(req) assembly language
2015-04-28 13:45:35 -04:00
QK_ISR_CONTEXT_,
QK_ISR_ENTRY,
QK_ISR_EXIT)
2015-06-01 14:24:36 -04:00
-estring(961, // MISRA04-19.7(adv) function-like macro
2015-04-28 13:45:35 -04:00
QK_ISR_CONTEXT_,
QK_ISR_ENTRY,
QK_ISR_EXIT,
2013-12-30 17:37:40 -05:00
QK_getVersion)
2015-06-01 14:24:36 -04:00
-estring(960, // MISRA04-8.7(req) could use block scope
2015-12-24 14:33:20 -05:00
QK_intNest_)
2013-12-30 17:37:40 -05:00
2015-12-24 14:33:20 -05:00
// QXK
-emacro(950, // MISRA04-2.1(req) assembly language
QXK_ISR_CONTEXT_,
QXK_ISR_ENTRY,
QXK_ISR_EXIT)
2015-06-01 14:24:36 -04:00
-estring(961, // MISRA04-19.7(adv) function-like macro
2015-12-24 14:33:20 -05:00
QXK_ISR_CONTEXT_,
QXK_ISR_ENTRY,
QXK_ISR_EXIT,
QXK_getVersion,
QXTHREAD_START,
2016-09-23 12:08:21 -04:00
QXTHREAD_POST_X,
Q_XTHREAD_CAST)
-emacro(960, // MISRA04-11.1(req) Conversions involving
Q_XTHREAD_CAST) // fun. pointers must be to/from integral types
-emacro(929, // MISRA04-11.4(adv) cast pointer to pointer
Q_XTHREAD_CAST)
2015-12-24 14:33:20 -05:00
-esym(960, // MISRA04-19.4(req) Disallowed macro definition
QXTHREAD_START,
QXTHREAD_POST_X)
-estring(960, // MISRA04-8.7(req) could use block scope
QXK_intNest_)
2016-09-23 12:08:21 -04:00
-esym(960, // MISRA04-20.2(req) Re-use of C90 identifier pattern
topPrio)
2015-04-28 13:45:35 -04:00
// QS
2015-06-01 14:24:36 -04:00
-emacro(506, QS_*) // MISRA04-13.7(req) constant value boolean
// MISRA04-14.1(req) no unreachable code
-emacro(774, QS_*) // MISRA04-13.7(req) 'if' always True
// MISRA04-14.1(req) no unreachable code
-emacro(923, // MISRA04-11.3(req) cast from pointer to int
2015-04-28 13:45:35 -04:00
QS_OBJ_,
QS_FUN_)
2015-09-29 11:33:40 -04:00
-emacro(960, // MISRA04-17.4(req), pointer arithmetic
QS_PTR_AT_)
-esym(960, // MISRA04-19.4(req) Disallowed macro definition
QS_PTR_AT_)
2015-06-01 14:24:36 -04:00
-estring(961, // MISRA04-19.7(adv) function-like macro
2015-04-28 13:45:35 -04:00
QS_INIT,
QS_EXIT,
QS_DUMP,
QS_RESET,
QS_FILTER_ON,
QS_FILTER_OFF,
QS_FILTER_SM_OBJ,
QS_FILTER_AO_OBJ,
QS_FILTER_MP_OBJ,
QS_FILTER_EQ_OBJ,
QS_FILTER_TE_OBJ,
QS_FILTER_AP_OBJ,
QS_GET_BYTE,
QS_GET_BLOCK,
QS_BEGIN,
QS_END,
QS_BEGIN_NOCRIT,
QS_END_NOCRIT)
2015-06-01 14:24:36 -04:00
-esym(960, // MISRA04-19.4(req) Disallowed macro definition
2015-04-28 13:45:35 -04:00
QS_BEGIN,
QS_END,
QS_BEGIN_NOCRIT,
QS_END_NOCRIT)
2015-06-01 14:24:36 -04:00
-estring(961, // MISRA04-19.7(adv) function-like macro
2015-04-28 13:45:35 -04:00
QS_I8,
QS_U8,
QS_I16,
QS_U16,
QS_I32,
QS_I64,
QS_U32,
QS_F32,
QS_F64,
QS_U64,
QS_U32_HEX,
QS_STR,
QS_OBJ,
QS_FUN,
QS_SIG_DICTIONARY,
QS_OBJ_DICTIONARY,
QS_FUN_DICTIONARY,
2013-12-30 17:37:40 -05:00
QS_USR_DICTIONARY,
2012-08-14 18:07:04 -04:00
QS_ASSERTION,
2015-04-28 13:45:35 -04:00
QS_TEST,
QS_FLUSH,
QS_MEM,
2015-09-04 12:08:22 -04:00
QS_SIG,
2015-09-29 11:33:40 -04:00
QS_PTR_AT_,
2015-09-04 12:08:22 -04:00
QS_RX_PUT)
2015-06-01 14:24:36 -04:00
-estring(961, // MISRA04-19.7(adv) function-like macro
2015-04-28 13:45:35 -04:00
QS_CRIT_ENTRY_,
QS_CRIT_EXIT_,
QS_BEGIN_,
QS_END_,
QS_BEGIN_NOCRIT_,
QS_END_NOCRIT_,
QS_U8_,
2013-09-23 14:34:35 -04:00
QS_2U8_,
2015-04-28 13:45:35 -04:00
QS_U16_,
QS_U32_,
QS_U64_,
QS_STR_,
QS_TIME_,
QS_SIG_,
QS_EVS_,
QS_OBJ_,
QS_FUN_,
QS_EQC_,
QS_MPC_,
QS_MPS_,
QS_TEC_,
QS_getVersion)
2015-06-01 14:24:36 -04:00
-esym(960, // MISRA04-19.4(req) Disallowed macro definition
2015-04-28 13:45:35 -04:00
QS_CRIT_STAT_,
QS_CRIT_ENTRY_,
QS_CRIT_EXIT_,
QF_QS_CRIT_ENTRY,
QF_QS_CRIT_EXIT,
QF_QS_ISR_ENTRY,
QF_QS_ISR_EXIT,
QS_SIG,
QS_BEGIN_,
QS_END_,
QS_BEGIN_NOCRIT_,
QS_END_NOCRIT_)
-emacro(960, // MISRA04-11.1(req) conversion of function pointers
QS_FUN_DICTIONARY)
2015-06-01 14:24:36 -04:00
-emacro(929, // MISRA04-11.4(adv) cast pointer to pointer
2015-04-28 13:45:35 -04:00
QS_FUN_DICTIONARY)
2015-06-01 14:24:36 -04:00
-estring(9022, // MISRA04-19.10(req) unparenthesized macro parameter
2015-04-28 13:45:35 -04:00
QF_QS_ISR_ENTRY,
2015-09-29 11:33:40 -04:00
QF_QS_ISR_EXIT,
QS_PTR_AT_)
2015-06-01 14:24:36 -04:00
-emacro(717, QS_*) // do ... while(0);
2015-04-28 13:45:35 -04:00
2013-12-30 17:37:40 -05:00
2015-06-01 14:24:36 -04:00
// Deprecated features--provided in the backwards compatibility API of QP/C
2015-06-04 22:47:13 -04:00
-esym(960, // MISRA04-19.4(req) disallowed macro definition
QFsm,
QFsm_ctor,
QF_onIdle)
2015-06-01 14:24:36 -04:00
-estring(961, // MISRA04-19.7(adv) function-like macro
2013-12-30 17:37:40 -05:00
QHsm_init,
QHsm_dispatch,
QFsm_init,
QFsm_dispatch,
QActive_start,
QActive_postFIFO,
QF_tick,
QF_TICK,
QTimeEvt_ctor,
QTimeEvt_postIn,
2015-12-24 14:33:20 -05:00
QTimeEvt_postEvery,
Q_ROM_BYTE)
2015-06-01 14:24:36 -04:00
-esym(960, // MISRA04-19.4(req) Disallowed macro definition
2013-12-30 17:37:40 -05:00
QHsm_init,
QHsm_dispatch,
QFsm_init,
QFsm_dispatch,
QActive_start,
QActive_postFIFO,
QF_tick,
QF_TICK,
QTimeEvt_ctor,
QTimeEvt_postIn,
QTimeEvt_postEvery)
2015-04-28 13:45:35 -04:00