qpc/ports/lint/options.lnt
Quantum Leaps 0e95d49224 5.1.0
2013-09-23 14:34:35 -04:00

171 lines
5.9 KiB
Plaintext

//////////////////////////////////////////////////////////////////////////////
// Product: PC-Lint 9.x option file for linting QP/C
// Last Updated for Version: 4.6.0
// Date of the Last Update: Jul 30, 2013
//
// Q u a n t u m L e a P s
// ---------------------------
// innovating embedded systems
//
// Copyright (C) 2002-2013 Quantum Leaps, LLC. All rights reserved.
//
// 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 2 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:
// Quantum Leaps Web sites: http://www.quantum-leaps.com
// http://www.state-machine.com
// e-mail: info@quantum-leaps.com
//////////////////////////////////////////////////////////////////////////////
// library headers
+libclass() // lint all header files, including "foreign"
//-vf // print names of all source files
+fdi // start #include search in directory of the including file
-i. // QP/C port includes
-i../../include // QP/C includes
-si4 // sizeof(int)
-ss2 // sizeof(short)
-spD4 // sizeof(void *)
-spP4 // sizeof(function pointer)
au-misra2.lnt // MISRA-C:2004 options
au-ds.lnt // Dan Saks recommendations
lib-qpc.lnt // QP/C options
-strong(AXJ) // Strong type checking
// QEP
-emacro(960, // MISRA04-14.3(req) null not in line by itself
QEP_ENTER_,
QEP_EXIT_)
-emacro(960, // MISR04-17.4(req), pointer arithmetic
QEP_ACT_PTR_INC_)
-estring(961, // MISRA04-19.7(adv) function-like macro
QEP_TRIG_,
QEP_ENTER_,
QEP_EXIT_,
QEP_ACT_PTR_INC_)
-emacro(717, // do ... while(0);
QEP_ENTER_,
QEP_EXIT_)
-efunc(632, QHsm_init) // Assignment to strong type 'QStateHandler'
// QF
-emacro(960, // MISRA04-11.5(req) cast away const
QF_EVT_REF_CTR_INC_,
QF_EVT_REF_CTR_DEC_,
QF_EPOOL_PUT_)
-emacro(960, QF_PTR_AT_) // MISRA04-17.4(req) pointer arithmetic
-estring(960, QF_readySet_) // MISRA04-8.7(req) could use block scope
-emacro(946, QF_PTR_RANGE_) // MISRA04-17.2(req),17.3(req)
// Relation or subtraction applied to pointers
-emacro(929, // MISRA04-11.4(adv) cast pointer to pointer
QF_EVT_REF_CTR_INC_,
QF_EVT_REF_CTR_DEC_,
QF_EPOOL_PUT_)
-estring(961, // MISRA04-19.7(adv) function-like macro
QF_EVT_REF_CTR_INC_,
QF_EVT_REF_CTR_DEC_,
QF_PTR_AT_,
QF_CRIT_ENTRY_,
QF_CRIT_EXIT_,
QF_PTR_RANGE_,
QF_MPOOL_EL)
-esym(960, // MISRA04-19.4(req) Disallowed macro definition
QF_EPOOL_TYPE_,
QF_ACTIVE_SUPER_,
QF_ACTIVE_STATE_,
QF_CRIT_STAT_,
QF_PTR_AT_,
QACTIVE_EQUEUE_ONEMPTY_)
-efunc(818, // MISRA04-16.7(adv) 'stkSto' could be const
QActive_start,
QActive_stop)
-efunc(527, QF_run) // MISRA04-14.17(req) Unreachable code
-efunc(550, QF_tick) // Symbol 'dummy' not accessed
-emacro({717}, // do ... while(0);
QACTIVE_EQUEUE_SIGNAL_,
QACTIVE_EQUEUE_ONEMPTY_)
-esym(960, 8.8) // MISRA04-8.8(req) Seems to be checked incorrectly...
// QK
-esym(960, // MISRA04-19.4(req) Disallowed macro definition
QF_CRIT_ENTRY_,
QF_CRIT_EXIT_)
// QS -- the following options are needed only when Q_SPY is defined
-emacro(960, // MISR04-17.4(req), pointer arithmetic
QS_PTR_AT_,
QS_PTR_INC_)
-efunc(960, // MISRA04-18.4(req) declaration of union
QS_f32,
QS_f64)
-estring(960, QS_seq_) // MISRA04-8.7(req) could use block scope
-estring(961, // MISRA04-19.7(adv) function-like macro
QS_INSERT_BYTE,
QS_INSERT_ESC_BYTE,
QS_INSERT_CHKSUM_BYTE,
QS_PTR_AT_,
QS_PTR_INC_)
-emacro(506, // MISRA04-13.7(req) & 14.1(req)
QS_BEGIN_,
QS_BEGIN_NOCRIT_)
-emacro(923, // MISRA04-11.1(req) & 11.3(req)
QS_OBJ_,
QS_FUN_)
-emacro(572, // MISRA04-12.8(req) excessive shift value
QS_BEGIN_,
QS_BEGIN_NOCRIT_)
-esym(960, // MISRA04-19.4(req) Disallowed macro definition
QS_BEGIN_,
QS_END_,
QS_BEGIN_NOCRIT_,
QS_END_NOCRIT_,
QS_INSERT_BYTE,
QS_INSERT_ESC_BYTE,
QS_INSERT_CHKSUM_BYTE,
QS_EQC_,
QS_EVS_,
QS_MPS_,
QS_MPC_,
QS_TEC_)
-emacro(961, QS_TEC_) // MISRA04-12.13(adv)
-emacro(774, // Boolean within 'if' always False
QS_BEGIN_,
QS_BEGIN_NOCRIT_)
-emacro(778, // expression evaluates to 0 in operation '>>'
QS_BEGIN_,
QS_BEGIN_NOCRIT_)
-emacro(845, // The right argument of '<<' is zero
QS_BEGIN_,
QS_BEGIN_NOCRIT_)
-emacro(725, // Expected positive indentation
QS_END_,
QS_END_NOCRIT_)
-emacro(778, QS_BEGIN_NOCRIT_)// zero in operation '&'
// Warning 537 "Repeated include file" is generated only for QEP source code
// This warning is redundant, because all QP header files are protected
// by #ifndef xxx_h ... #endif preprocessor checks.
-e537 // Repeated include file (checked by 451)