//============================================================================ // Product: PC-Lint 9.x option file for linting QP/C applications // Last updated for version 5.4.1 // Last updated on 2015-05-31 // // 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 . // // Contact information: // Web: http://www.state-machine.com // Email: 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 Q_ROM_BYTE, 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, 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, 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) -esym(960, // MISRA04-19.10(req) unparenthesized macro par Q_NEW, Q_NEW_X) -estring(9022, // MISRA04-19.10(req) unparenthesized macro parameter Q_NEW, Q_NEW_X) -esym(641, *Signals) // Converting enum '*Signals' to 'int' -esym(754, sto_) // local structure member 'sto' not referenced // 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_EXT_SAVE, QK_EXT_RESTORE, QK_TLS, QK_getVersion) -estring(960, // MISRA04-8.7(req) could use block scope QK_intNest_, QF_maxPool_, QF_timeEvtHead_) // QV -estring(961, // MISRA04-19.7(adv) function-like macro QV_getVersion) // 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_) -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_RESET, QS_ASSERTION, QS_TEST_ASSERTION, QS_TEST, QS_FLUSH, QS_STR_ROM, QS_MEM, QS_SIG) -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_STR_ROM_, 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) -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) -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)