mirror of
https://github.com/QuantumLeaps/qpc.git
synced 2025-01-14 06:43:19 +08:00
465 lines
11 KiB
Plaintext
465 lines
11 KiB
Plaintext
//============================================================================
|
|
// Product: PC-Lint 9.x option file for linting QP/C applications
|
|
// Last updated for version 5.6.2
|
|
// Last updated on 2016-03-23
|
|
//
|
|
// 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:
|
|
// http://www.state-machine.com
|
|
// mailto:info@state-machine.com
|
|
//============================================================================
|
|
|
|
// 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)
|
|
|
|
|
|
// Assertions
|
|
-estring(960, // MISRA04-8.7(req) could use block scope
|
|
Q_this_module_)
|
|
-estring(961, // MISRA04-19.7(adv) function-like macro
|
|
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)
|
|
-esym(960, // MISRA04-19.4(req) Disallowed macro definition
|
|
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)
|
|
-esym(960, // MISRA04-19.10(req) unparenthesized macro par
|
|
Q_DEFINE_THIS_MODULE)
|
|
-estring(9022, // MISRA04-19.10(req) unparenthesized macro parameter
|
|
Q_DEFINE_THIS_MODULE)
|
|
-emacro(522, // Highest operation lacks side-effects
|
|
Q_ASSERT,
|
|
Q_ERROR,
|
|
Q_ALLEGE)
|
|
-function(exit, // give Q_onAssert() the semantics of "exit"
|
|
Q_onAssert)
|
|
-estring(752, // not referenced
|
|
Q_assert_compile)
|
|
|
|
// QEP
|
|
-emacro(740, // MISRA04-1.2(req) incompatible indirect types
|
|
Q_MSM_UPCAST)
|
|
-esym(960, // MISRA04-19.10(req) unparenthesized macro par
|
|
Q_EVT_CAST)
|
|
-estring(961, // MISRA04-19.7(adv) function-like macro
|
|
Q_MSM_UPCAST,
|
|
Q_EVT_CAST)
|
|
-emacro(929, // MISRA04-11.4(adv) cast pointer to pointer
|
|
Q_MSM_UPCAST,
|
|
Q_EVT_CAST)
|
|
-estring(9022, // MISRA04-19.10(req) unparenthesized macro parameter
|
|
Q_EVT_CAST)
|
|
|
|
-emacro(740, // MISRA04-1.2(req) pointer cast
|
|
Q_STATE_CAST, // (incompatible indirect types)
|
|
Q_TRAN,
|
|
Q_TRAN_HIST,
|
|
Q_SUPER,
|
|
QM_ENTRY,
|
|
QM_EXIT,
|
|
QM_TRAN,
|
|
QM_TRAN_INIT,
|
|
QM_TRAN_HIST,
|
|
QM_TRAN_EP,
|
|
QM_TRAN_XP)
|
|
-emacro(929, // MISRA04-11.4(adv) cast pointer to pointer
|
|
Q_STATE_CAST,
|
|
Q_ACTION_CAST,
|
|
Q_TRAN,
|
|
Q_SUPER,
|
|
QM_ENTRY,
|
|
QM_EXIT,
|
|
QM_TRAN,
|
|
QM_TRAN_INIT,
|
|
QM_TRAN_HIST,
|
|
QM_TRAN_EP,
|
|
QM_TRAN_XP)
|
|
-emacro(960, // MISRA04-11.1(req) Conversions involving
|
|
Q_STATE_CAST, // fun. pointers must be to/from integral types
|
|
Q_ACTION_CAST)
|
|
|
|
-emacro(960, // MISRA04-12.10(req) comma operator used
|
|
Q_TRAN,
|
|
Q_TRAN_HIST,
|
|
Q_SUPER,
|
|
QM_ENTRY,
|
|
QM_EXIT,
|
|
QM_TRAN,
|
|
QM_TRAN_INIT,
|
|
QM_TRAN_HIST)
|
|
-estring(960, // MISRA04-18.4(req) declaration of union type
|
|
QMAttr)
|
|
-estring(961, // MISRA04-19.7(adv) function-like macro
|
|
QMsm_stateObj,
|
|
QHsm_state,
|
|
Q_IGNORED,
|
|
Q_HANDLED,
|
|
Q_UNHANDLED,
|
|
Q_TRAN,
|
|
Q_TRAN_HIST,
|
|
Q_SUPER,
|
|
Q_STATE_CAST,
|
|
Q_ACTION_CAST,
|
|
QEP_getVersion)
|
|
-estring(961, // MISRA04-19.7(adv) function-like macro
|
|
QMSM_INIT,
|
|
QMSM_DISPATCH,
|
|
QM_ENTRY,
|
|
QM_EXIT,
|
|
QM_TRAN,
|
|
QM_TRAN_INIT,
|
|
QM_TRAN_HIST,
|
|
QM_TRAN_EP,
|
|
QM_TRAN_XP,
|
|
QM_SUPER,
|
|
QM_SUPER_SUB,
|
|
QM_HANDLED,
|
|
QM_UNHANDLED)
|
|
-esym(754, // Info: local structure member not referenced
|
|
target,
|
|
act)
|
|
|
|
// QF
|
|
-emacro(950, // MISRA04-2.1(req) assembly language
|
|
QF_INT_DISABLE,
|
|
QF_INT_ENABLE,
|
|
QF_CRIT_ENTRY,
|
|
QF_CRIT_EXIT,
|
|
QF_LOG2)
|
|
-estring(961, // MISRA04-19.7(adv) function-like macro
|
|
Q_NEW,
|
|
Q_NEW_X,
|
|
Q_NEW_REF,
|
|
Q_DELETE_REF,
|
|
QF_INT_DISABLE,
|
|
QF_INT_ENABLE,
|
|
QF_CRIT_ENTRY,
|
|
QF_CRIT_EXIT,
|
|
QF_CRIT_EXIT_NOP,
|
|
QF_CPU_SLEEP,
|
|
QF_TICK,
|
|
QF_TICK_X,
|
|
QF_PUBLISH,
|
|
QF_MPOOL_EL,
|
|
QF_LOG2,
|
|
QACTIVE_START,
|
|
QACTIVE_POST,
|
|
QACTIVE_POST_X,
|
|
QACTIVE_POST_LIFO)
|
|
-estring(961, // MISRA04-19.7(adv) function-like macro
|
|
QEQueue_getNFree,
|
|
QEQueue_getNMin,
|
|
QEQueue_isEmpty,
|
|
QPSet8_isEmpty,
|
|
QPSet8_notEmpty,
|
|
QPSet8_hasElement,
|
|
QPSet8_insert,
|
|
QPSet8_remove,
|
|
QPSet8_findMax,
|
|
QPSet64_isEmpty,
|
|
QPSet64_notEmpty,
|
|
QPSet64_hasElement,
|
|
QPSet64_insert,
|
|
QPSet64_remove,
|
|
QPSet64_findMax,
|
|
QTimeEvt_ctor,
|
|
QTimeEvt_postIn,
|
|
QTimeEvt_postEvery,
|
|
QF_getVersion)
|
|
-estring(961, // MISRA04-19.7(adv) function-like macro
|
|
QF_QS_CRIT_EXIT,
|
|
QF_QS_CRIT_ENTRY,
|
|
QF_QS_CRIT_EXIT,
|
|
QF_QS_ISR_ENTRY,
|
|
QF_QS_ISR_EXIT,
|
|
QF_QS_ACTION)
|
|
-estring(961, // MISRA04-19.7(adv) function-like macro
|
|
QACTIVE_EQUEUE_WAIT_,
|
|
QACTIVE_EQUEUE_SIGNAL_,
|
|
QACTIVE_EQUEUE_ONEMPTY_,
|
|
QF_EPOOL_INIT_,
|
|
QF_EPOOL_EVENT_SIZE_,
|
|
QF_EPOOL_GET_,
|
|
QF_EPOOL_PUT_,
|
|
QF_PTR_INC_,
|
|
QF_tick,
|
|
QActive_postFIFO,
|
|
QEQueue_postFIFO)
|
|
-esym(960, // MISRA04-19.4(req) Disallowed macro definition
|
|
QF_INT_DISABLE,
|
|
QF_INT_ENABLE,
|
|
QF_CRIT_ENTRY,
|
|
QF_CRIT_EXIT,
|
|
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_,
|
|
QPSet8_findMax,
|
|
QTimeEvt_ctor)
|
|
-emacro(929, // MISRA04-11.4(adv) cast from pointer to pointer
|
|
Q_NEW,
|
|
Q_NEW_X,
|
|
Q_NEW_REF,
|
|
QACTIVE_POST,
|
|
QACTIVE_POST_LIFO)
|
|
-emacro(960, // MISRA04-17.4(req) pointer increment
|
|
QF_PTR_INC_)
|
|
-emacro(717, // do ... while(0)
|
|
QPSet64_insert,
|
|
QPSet64_remove,
|
|
QPSet64_findMax,
|
|
QTimeEvt_postIn,
|
|
QTimeEvt_postEvery)
|
|
-estring(960, // MISRA04-8.7(req) could use block scope
|
|
QF_maxPool_,
|
|
QF_timeEvtHead_)
|
|
-esym(960, // MISRA04-19.10(req) unparenthesized macro par
|
|
Q_NEW,
|
|
Q_NEW_X,
|
|
Q_NEW_REF)
|
|
-estring(9022, // MISRA04-19.10(req) unparenthesized macro parameter
|
|
Q_NEW,
|
|
Q_NEW_X,
|
|
Q_NEW_REF)
|
|
-esym(641, *Signals) // Converting enum '*Signals' to 'int'
|
|
-esym(754, sto_) // local structure member 'sto' not referenced
|
|
|
|
// QV
|
|
-estring(961, // MISRA04-19.7(adv) function-like macro
|
|
QV_getVersion)
|
|
|
|
// QK
|
|
-emacro(950, // MISRA04-2.1(req) assembly language
|
|
QK_ISR_CONTEXT_,
|
|
QK_ISR_ENTRY,
|
|
QK_ISR_EXIT)
|
|
-estring(961, // MISRA04-19.7(adv) function-like macro
|
|
QK_ISR_CONTEXT_,
|
|
QK_ISR_ENTRY,
|
|
QK_ISR_EXIT,
|
|
QK_getVersion)
|
|
-estring(960, // MISRA04-8.7(req) could use block scope
|
|
QK_intNest_)
|
|
|
|
// QXK
|
|
-emacro(950, // MISRA04-2.1(req) assembly language
|
|
QXK_ISR_CONTEXT_,
|
|
QXK_ISR_ENTRY,
|
|
QXK_ISR_EXIT)
|
|
-estring(961, // MISRA04-19.7(adv) function-like macro
|
|
QXK_ISR_CONTEXT_,
|
|
QXK_ISR_ENTRY,
|
|
QXK_ISR_EXIT,
|
|
QXK_getVersion,
|
|
QXTHREAD_START,
|
|
QXTHREAD_POST_X)
|
|
-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_)
|
|
|
|
// QS
|
|
-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
|
|
QS_OBJ_,
|
|
QS_FUN_)
|
|
-emacro(960, // MISRA04-17.4(req), pointer arithmetic
|
|
QS_PTR_AT_)
|
|
-esym(960, // MISRA04-19.4(req) Disallowed macro definition
|
|
QS_PTR_AT_)
|
|
-estring(961, // MISRA04-19.7(adv) function-like macro
|
|
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)
|
|
-esym(960, // MISRA04-19.4(req) Disallowed macro definition
|
|
QS_BEGIN,
|
|
QS_END,
|
|
QS_BEGIN_NOCRIT,
|
|
QS_END_NOCRIT)
|
|
-estring(961, // MISRA04-19.7(adv) function-like macro
|
|
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,
|
|
QS_USR_DICTIONARY,
|
|
QS_ASSERTION,
|
|
QS_TEST,
|
|
QS_FLUSH,
|
|
QS_MEM,
|
|
QS_SIG,
|
|
QS_PTR_AT_,
|
|
QS_RX_PUT)
|
|
-estring(961, // MISRA04-19.7(adv) function-like macro
|
|
QS_CRIT_ENTRY_,
|
|
QS_CRIT_EXIT_,
|
|
QS_BEGIN_,
|
|
QS_END_,
|
|
QS_BEGIN_NOCRIT_,
|
|
QS_END_NOCRIT_,
|
|
QS_U8_,
|
|
QS_2U8_,
|
|
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)
|
|
-esym(960, // MISRA04-19.4(req) Disallowed macro definition
|
|
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)
|
|
-emacro(929, // MISRA04-11.4(adv) cast pointer to pointer
|
|
QS_FUN_DICTIONARY)
|
|
-estring(9022, // MISRA04-19.10(req) unparenthesized macro parameter
|
|
QF_QS_ISR_ENTRY,
|
|
QF_QS_ISR_EXIT,
|
|
QS_PTR_AT_)
|
|
-emacro(717, QS_*) // do ... while(0);
|
|
|
|
|
|
// Deprecated features--provided in the backwards compatibility API of QP/C
|
|
-esym(960, // MISRA04-19.4(req) disallowed macro definition
|
|
QFsm,
|
|
QFsm_ctor,
|
|
QF_onIdle)
|
|
-estring(961, // MISRA04-19.7(adv) function-like macro
|
|
QHsm_init,
|
|
QHsm_dispatch,
|
|
QFsm_init,
|
|
QFsm_dispatch,
|
|
QActive_start,
|
|
QActive_postFIFO,
|
|
QF_tick,
|
|
QF_TICK,
|
|
QTimeEvt_ctor,
|
|
QTimeEvt_postIn,
|
|
QTimeEvt_postEvery,
|
|
Q_ROM_BYTE)
|
|
-esym(960, // MISRA04-19.4(req) Disallowed macro definition
|
|
QHsm_init,
|
|
QHsm_dispatch,
|
|
QFsm_init,
|
|
QFsm_dispatch,
|
|
QActive_start,
|
|
QActive_postFIFO,
|
|
QF_tick,
|
|
QF_TICK,
|
|
QTimeEvt_ctor,
|
|
QTimeEvt_postIn,
|
|
QTimeEvt_postEvery)
|
|
|
|
|