////////////////////////////////////////////////////////////////////////////// // Product: PC-Lint 9.x options for linting QP/C++ applications, GNU-ARM // Last Updated for Version: 5.9.7 // Date of the Last Update: 2017-08-31 // // Q u a n t u m L e a P s // --------------------------- // innovating embedded systems // // Copyright (C) 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 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: // http://www.state-machine.com // mailto:info@state-machine.com ////////////////////////////////////////////////////////////////////////////// // NOTE: // The following code requires the definition of the QTOOLS environment // variable, which must point to the installation directory of QTools on // your machine (e.g. C:\qp\qtools ) // the location of the GNU-ARM includes (need to adjust!!!) -i%QTOOLS%\gnu_arm-eabi\arm-eabi\include // define ARM Architecture -D__ARM_ARCH=7 // the location of the QTools lint directory (need to adjust!!!) -i%QTOOLS%\lint // the location of the QPC framework (need to adjust!!!) -i..\..\..\..\include // QP/C++ includes -i..\..\..\..\ports\arm-cm\qk\gnu // QP/C++ port includes -i..\..\..\..\3rd_party\CMSIS\Include // CMSIS directory -D__ARM7M__=1 // define for Cortex-M3/M4 -D__ARM6M__=0 // define for Cortex-M0/M0+ //co-iar-arm.lnt // IAR ARM compiler co-gnu-arm.lnt // GNU-ARM compiler au-misra-cpp.lnt // MISRA-C++:2008 rules au-ds.lnt // Dan Saks recommendations qpcpp.lnt // QP/C++ options //-strong(AXJ) // Strong type checking // library headers -wlib(1) // ignore warnings from library headers +libclass(angle) // consider only <...> headers as library //-vf // print names of all header & source files -esym(1960, philoNum) // Non-private data member in a non-POD struct -efunc(946, *PHILO_ID) // 5-0-15,5-0-17,5-0-18 subtraction of pointers -efunc(947, *PHILO_ID) // 5-0-15,5-0-17,5-0-18 subtraction of pointers -efunc(1960,*PHILO_ID) // 5-0-6, conversion of integer to smaller type -efile(1924, *bsp.cpp) // 5-2-4, C-style cast -esym(1960, // 16-0-4, Function-like macro defined QF_SET_BASEPRI, QK_ISR_CONTEXT_) -esym(1923, // 16-2-2, could become const variable QF_BASEPRI) -emacro(717, // do ... while(0); QK_ISR_ENTRY, QK_ISR_EXIT) -estring(435, // int constant '0xE000ED04U' has precision 32 0xE000ED04U) -estring(435, // int constant '0x10000000U' has precision 29 0x10000000U) // CMSIS-induced problems -e923 // 5-2-7, 5-2-8 cast from int to pointer -e1924 // C-style cast (for CMSIS) // not referenced symbols -e714 // symbol '...' not referenced -e755 // global macro '...' not referenced -e756 // global typedef '...' not referenced -e757 // global declarator '...' not referenced -e768 // struct member '...' not referenced