au-misra3.lnt 76 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173
  1. /* Date Stamp */ -d"_lint_au_misra3_lnt=au-misra3.lnt modified 12-Jun-2014"
  2. /* To document usage use: -message( "Using " _lint_au_misra3_lnt ) */
  3. // ---------------------------------------------------------------------
  4. // This file is provided by Gimpel Software (www.gimpel.com) for use with
  5. // its products PC-lint and FlexeLint.
  6. //
  7. // Redistribution and use of this file, with or without modification, is
  8. // permitted provided that any such redistribution retains this notice.
  9. // ---------------------------------------------------------------------
  10. // au-misra3.lnt -- Author options - MISRA C 2012
  11. /*
  12. This options file can be used to explicitly activate those
  13. checks advocated by the Motor Industry Software Reliability
  14. Association.
  15. You can use this file directly when linting your programs as in:
  16. lin au-misra3 files
  17. Gimpel Software relies on the document, "MISRA-C:2012
  18. Guidelines for the use of the C language in critical systems",
  19. copyright 2012 by MIRA Limited, as the primary source for this
  20. file. Gimpel Software makes no warranty as to the completeness
  21. or applicability of this options file and reserves the right to
  22. amend or alter the official contents of such at any time.
  23. "MISRA" is a registered trademark of MIRA Limited, held on
  24. behalf of the MISRA Consortium.
  25. */
  26. -misra(3) // Activate MISRA Essential Type model
  27. /**** Dir 1.1 (Req) ************/
  28. /* not statically checkable */
  29. /**** Dir 2.1 (Req) ************/
  30. -A(C99) /* strict ISO C99 */
  31. /* Note: if you code to the C90 standard instead, you may
  32. want to comment out the above option and uncomment the
  33. following option. You will also want to do likewise for
  34. other uses of the '-A(C99)' option throughout this file. */
  35. // -A(C90) /* strict ANSI */
  36. +e950 /* flag non-standard word or construct */
  37. +elib(950)
  38. -append(950,[MISRA 2012 Directive 2.1, required])
  39. /**** Dir 3.1 (Req) ************/
  40. /* not statically checkable */
  41. /**** Dir 4.1 (Req) ************/
  42. /* not statically checkable */
  43. /**** Dir 4.2 (Adv) ************/
  44. /* not statically checkable */
  45. /**** Dir 4.3 (Req) ************/
  46. +e586 /* to activate the deprecation message */
  47. +elib(586)
  48. -deprecate(keyword,asm,[MISRA 2012 4.3, required])
  49. /**** Dir 4.4 (Adv) ************/
  50. /* This requirement (that there be no commented-out code) is, in
  51. principle, not statically checkable. The reason given for the
  52. requirement is that comments do not nest. Thus a commented
  53. out section of code that happens to use slash-star commenting
  54. could inadvertently introduce unwanted code. Rule 3.1, however,
  55. addresses the nested comment issue and hence the major concern
  56. that this requirement seeks to address is indeed checkable.
  57. */
  58. -fnc /* flag nested comments */
  59. +e602 /* comment within comment */
  60. +elib(602)
  61. -append(602,[MISRA 2012 Directive 4.4, advisory])
  62. /**** Dir 4.5 (Adv) ************/
  63. // While Lint can enforce this directive with the following four
  64. // options, doing so can increase the run time of Lint depending
  65. // upon the number of identifiers in your program. If you want
  66. // this checking, uncomment each of the following four options.
  67. //
  68. // +fta
  69. // +e9046 /* typographical ambiguity */
  70. // +elib(9046)
  71. // -append(9046,[MISRA 2012 Directive 4.5, advisory])
  72. /**** Dir 4.6 (Adv) ************/
  73. +e970 /* flag modifiers used outside of typedefs */
  74. +elib(970)
  75. -append(970,[MISRA 2012 Directive 4.6, advisory])
  76. // For the duration, we are presuming MISRA does not want
  77. // diagnostics for the bool type.
  78. -esym(970,bool)
  79. -esym(970,char)
  80. /**** Dir 4.7 (Req) ************/
  81. +e534 /* ignoring return value of function */
  82. +elib(534)
  83. -append(534,[MISRA 2012 Directive 4.7, required])
  84. /**** Dir 4.8 (Adv) ************/
  85. +e9045 /* non-hidden definition of type */
  86. +elib(9045)
  87. -append(9045,[MISRA 2012 Directive 4.8, advisory])
  88. /**** Dir 4.9 (Adv) ************/
  89. +e9026 /* function-like macro defined */
  90. +elib(9026)
  91. -append(9026,[MISRA 2012 Directive 4.9, advisory])
  92. /**** Dir 4.10 (Req) ************/
  93. +e451 /* Header repeatedly included without guard */
  94. +elib(451)
  95. -append(451,[MISRA 2012 Directive 4.10, required])
  96. /**** Dir 4.11 (Req) ************/
  97. /* The arguments to over 100 calls to standard library functions
  98. are monitored; users can specify additional constraints for
  99. other functions.
  100. */
  101. /**** Dir 4.12 (Req) ************/
  102. +e586 /* Symbol is deprecated */
  103. +elib(586)
  104. -deprecate(function,calloc,[MISRA 2012 Directive 4.12, required])
  105. -deprecate(function,malloc,[MISRA 2012 Directive 4.12, required])
  106. -deprecate(function,realloc,[MISRA 2012 Directive 4.12, required])
  107. -deprecate(function,free,[MISRA 2012 Directive 4.12, required])
  108. /**** Dir 4.13 (Adv) ************/
  109. /* supported by uncommenting the next six options and use of the
  110. -function_pair() option */
  111. // +e480
  112. // +elib(480)
  113. // -append(480,[MISRA 2012 Directive 4.13, advisory])
  114. // +e481
  115. // +elib(481)
  116. // -append(481,[MISRA 2012 Directive 4.13, advisory])
  117. /**** Rule 1.1 (Req) ************/
  118. /* While MISRA has declared this rule to be "undecidable", Gimpel
  119. * Software provides the following options to assist:
  120. */
  121. -A(C99) /* strict ISO C99 */
  122. /* Note: if you code to the C90 standard instead, you may
  123. want to comment out the above option and uncomment the
  124. following option. You will also want to do likewise for
  125. other uses of the '-A(C99)' option throughout this file. */
  126. // -A(C90) /* strict ANSI */
  127. +e950 /* flag non-standard word or construct */
  128. +elib(950)
  129. -append(950,[MISRA 2012 Rule 1.1, required])
  130. /**** Rule 1.2 (Adv) ************/
  131. /* While MISRA has declared this rule to be "undecidable", Gimpel
  132. * Software provides the following options to assist:
  133. */
  134. -A(C99) /* strict ISO C99 */
  135. /* Note: if you code to the C90 standard instead, you may
  136. want to comment out the above option and uncomment the
  137. following option. You will also want to do likewise for
  138. other uses of the '-A(C99)' option throughout this file. */
  139. // -A(C90) /* strict ANSI */
  140. +e950 /* flag non-ANSI word or construct */
  141. +elib(950)
  142. -append(950,[MISRA 2012 Rule 1.2, advisory])
  143. /**** Rule 1.3 (Req) ************/
  144. /* While MISRA has declared this rule to be "undecidable", Gimpel
  145. * Software provides the following options to assist:
  146. */
  147. /* Avoid the use of undefined or unspecified behavior as described
  148. in ISO C, Appendix A.6.1 and Appendix A.6.2 */
  149. /* Source file not ending in a new-line character, ending in
  150. new-line character immediately preceded by a backslash
  151. character, or ending in a partial preprocessing token or
  152. comment (ISO C, Appendix A.6.2, point 1).
  153. */
  154. +e406 /* unclosed comment */
  155. +elib(406)
  156. -append(406,[MISRA 2012 Rule 1.3, required])
  157. /* Non-standard character usage (ISO C, Appendix A.6.2, point 2).
  158. */
  159. +e27 /* illegal character */
  160. +elib(27)
  161. -append(27,[MISRA 2012 Rule 1.3, required])
  162. /* Unclosed quotes (ISO C, Appendix A.6.2, point 4).
  163. */
  164. +e2 /* unclosed quote */
  165. +elib(2)
  166. -append(2,[MISRA 2012 Rule 1.3, required])
  167. /* Repeated label within a function (ISO C, Appendix A.6.2, point
  168. 5).
  169. */
  170. +e31 /* symbol redefinition */
  171. +elib(31)
  172. -append(31,[MISRA 2012 Rule 1.3, required])
  173. /* Non-visible identifier used (ISO C, Appendix A.6.2, point 6).
  174. */
  175. +e40 /* undeclared identifier */
  176. +elib(40)
  177. -append(40,[MISRA 2012 Rule 1.3, required])
  178. /* Identifiers for the same entity differ beyond the minimal
  179. significant characters (ISO C, Appendix A.6.2, point 7).
  180. See Rules 5.1, 5.2, 5.4, and 5.5.
  181. */
  182. /* The same identifier has both internal and external linkage in
  183. the same translation unit (ISO C, Appendix A.6.2, point 8).
  184. */
  185. +e401 /* symbol not previously declared static */
  186. +elib(401)
  187. -append(401,[MISRA 2012 Rule 1.3, required])
  188. /* Multiple definitions for the same externally linked identifier
  189. (ISO C, Appendix A.6.2, point 9).
  190. */
  191. +e31 /* symbol redefinition */
  192. +elib(31)
  193. /* Using automatic storage data via a pointer after the data's
  194. lifetime (ISO C, Appendix A.6.2, point 10).
  195. */
  196. +e604 /* returning address of auto variable */
  197. +elib(604)
  198. -append(604,[MISRA 2012 Rule 1.3, required])
  199. +e934 /* taking address of near auto variable */
  200. +elib(934)
  201. -append(934,[MISRA 2012 Rule 1.3, required])
  202. /* Incompatible redeclarations (ISO C, Appendix A.6.2, point 11).
  203. See Rule 8.3
  204. */
  205. /* Non-standard escape sequence (ISO C, Appendix A.6.2, point 12).
  206. */
  207. +e606 /* non-ANSI escape sequence */
  208. +elib(606)
  209. -append(606,[MISRA 2012 Rule 1.3, required])
  210. /* Non-standard character in header name (ISO C, Appendix A.6.2,
  211. point 15).
  212. See Rule 20.2
  213. */
  214. +e9020 /* header name with non-standard character */
  215. +elib(9020)
  216. -append(9020,[MISRA 2012 Rule 1.3, required])
  217. /* No complete type available (ISO C, Appendix A.6.2, point 16).
  218. */
  219. +e86 /* structure has no data elements */
  220. +elib(86)
  221. -append(86,[MISRA 2012 Rule 1.3, required])
  222. /* Using or converting a void expression (ISO C, Appendix A.6.2,
  223. point 17).
  224. */
  225. +e64 /* type mismatch */
  226. +elib(64)
  227. -append(64,[MISRA 2012 Rule 1.3, required])
  228. +e67 /* cannot cast between types */
  229. +elib(67)
  230. -append(67,[MISRA 2012 Rule 1.3, required])
  231. +e144 /* non-existent return value */
  232. +elib(144)
  233. -append(144,[MISRA 2012 Rule 1.3, required])
  234. /* Modifying an object more than once or modifying and accessing
  235. between two sequence points (ISO C, Appendix A.6.2, point 18).
  236. See Rule 13.2
  237. */
  238. +e564 /* variable depends on order of evaluation */
  239. +elib(564)
  240. -append(564,[MISRA 2012 Rule 1.3, required])
  241. /* Invalid arithmetic operations or unrepresentable results
  242. (ISO C, Appendix A.6.2, point 19).
  243. */
  244. +e54 /* division by 0 */
  245. +elib(54)
  246. -append(54,[MISRA 2012 Rule 1.3, required])
  247. +e414 /* possible division by 0 */
  248. +elib(414)
  249. -append(414,[MISRA 2012 Rule 1.3, required])
  250. +e795 /* conceivable division by 0 */
  251. +elib(795)
  252. -append(795,[MISRA 2012 Rule 1.3, required])
  253. /* Also, see Rule 12.4 */
  254. /* Passing a void argument to a function (ISO C, Appendix A.6.2,
  255. point 20).
  256. */
  257. +e64 /* type mismatch */
  258. +elib(64)
  259. /* Incompatible function redeclaration (ISO C, Appendix A.6.2,
  260. point 22).
  261. See Rule 8.3
  262. */
  263. /* An invalid array reference, null pointer reference, or
  264. reference to an object declared with automatic storage duration in
  265. a terminated block occurs (ISO C, Appendix A.6.2, point 24).
  266. */
  267. +e64 /* type mismatch */
  268. +elib(64)
  269. +e413 /* likely use of null pointer */
  270. +elib(413)
  271. -append(413,[MISRA 2012 Rule 1.3, required])
  272. +e415 /* out-of-bounds pointer */
  273. +elib(415)
  274. -append(415,[MISRA 2012 Rule 1.3, required])
  275. +e416 /* out-of-bounds pointer */
  276. +elib(416)
  277. -append(416,[MISRA 2012 Rule 1.3, required])
  278. +e428 /* negative subscript */
  279. +elib(428)
  280. -append(428,[MISRA 2012 Rule 1.3, required])
  281. /* Also, see Rule 17.6 */
  282. /* A pointer to a function is converted to a pointer to an object
  283. or a pointer to an object is converted to a pointer to a function
  284. (ISO C, Appendix A.6.2, point 26).
  285. */
  286. +e64 /* type mismatch */
  287. +elib(64)
  288. +e740 /* unusual pointer cast */
  289. +elib(740)
  290. -append(740,[MISRA 2012 Rule 1.3, required])
  291. /* Also, see Rule 11.1 and 11.2 */
  292. /* A pointer is converted to other than an integral or pointer
  293. type (ISO C, Appendix A.6.2, point 27).
  294. */
  295. +e64 /* type mismatch */
  296. +elib(64)
  297. +e71 /* cannot cast */
  298. +elib(71)
  299. /* An expression is shifted by a negative number or by an amount
  300. greater than or equal to the width in bits of the expression being
  301. shifted (ISO C, Appendix A.6.2, point 30).
  302. */
  303. +e504 /* unusual shift */
  304. +elib(504)
  305. -append(504,[MISRA 2012 Rule 1.3, required])
  306. /* An identifier for an object is declared with no linkage and the
  307. type of the object is incomplete after its declarator, or after its
  308. init-declarator if it has an initializer (ISO C, Appendix
  309. A.6.2, point 33).
  310. */
  311. +e86 /* structure has no data elements */
  312. +elib(86)
  313. /* Declaring a function at block scope with a storage-class
  314. specifier other than extern (ISO C, Appendix A.6.2, point 34).
  315. */
  316. +e629 /* static class for function */
  317. +elib(629)
  318. -append(629,[MISRA 2012 Rule 1.3, required])
  319. /* A bit-field is declared with a type other than int, signed int,
  320. or unsigned int (ISO C, Appendix A.6.2, point 35).
  321. See Rule 6.1.
  322. */
  323. /* Attempting to modify an object with const-qualified type by
  324. means of an lvalue with non-const-qualified type (ISO C,
  325. Appendix A.6.2, point 36).
  326. */
  327. +e158 /* assignment increases capability */
  328. +elib(158)
  329. -append(158,[MISRA 2012 Rule 1.3, required])
  330. /* Attempting to refer to an object with volatile-qualified type
  331. by means of an lvalue with non-volatile-qualified type (ISO C,
  332. Appendix A.6.2, point 37).
  333. */
  334. +e158 /* assignment increases capability */
  335. +elib(158)
  336. /* Using the value of uninitialized automatic object (ISO C,
  337. Appendix A.6.2, point 38).
  338. See Rule 9.1
  339. */
  340. /* An object with aggregate or union type with static storage
  341. duration has a non-brace-enclosed initializer, or an object
  342. with aggregate or union type with automatic storage duration
  343. has either a single expression initializer with a type other
  344. than that of the object or a non-brace-enclosed initializer
  345. (ISO C, Appendix A.6.2, point 39).
  346. Also, see Rule 9.2
  347. */
  348. +e64 /* type mismatch */
  349. +elib(64)
  350. /* The value of a function is used, but no value was returned
  351. (ISO C, Appendix A.6.2, point 40).
  352. See Rule 17.4.
  353. */
  354. /* A function that accepts a variable number of arguments is
  355. defined without a parameter type list that ends with the
  356. ellipsis notation (ISO C, Appendix A.6.2, point 41).
  357. */
  358. /* An identifier for an object with internal linkage and an
  359. incomplete type is declared with a tentative definition (ISO C,
  360. Appendix A.6.2, point 42).
  361. */
  362. +e86 /* structure has no data elements */
  363. +elib(86)
  364. /* Non-standard #include preprocessing directive (ISO C, Appendix
  365. A.6.2, point 44).
  366. See Rule 20.3.
  367. */
  368. /* Non-standard #line directive (ISO C, Appendix A.6.2, point 49).
  369. */
  370. +"estring(10,a numeric constant)" /* expecting a numeric constant */
  371. /* #defining or #undefing any of: defined, __LINE__, __FILE__,
  372. __DATE__, __TIME__, or __STDC__ (ISO C, Appendix A.6.2, point 50).
  373. */
  374. +e136 /* illegal macro name */
  375. +elib(136)
  376. -append(136,[MISRA 2012 Rule 1.3, required])
  377. /* Format-argument mismatch in an fprintf or fscanf type of
  378. function (ISO C, Appendix A.6.2, point 75).
  379. */
  380. +e558 /* too few arguments */
  381. +elib(558)
  382. -append(558,[MISRA 2012 Rule 1.3, required])
  383. +e719 /* too many arguments */
  384. +elib(719)
  385. -append(719,[MISRA 2012 Rule 1.3, required])
  386. /* A %% conversion specification for the fprintf or fscanf
  387. function contains characters between the pair of % characters
  388. (ISO C, Appendix A.6.2, point 77).
  389. */
  390. +e557 /* unrecognized format */
  391. +elib(557)
  392. -append(557,[MISRA 2012 Rule 1.3, required])
  393. /* An aggregate or union, or a pointer to an aggregate or union is
  394. an argument to the fprintf function, except for the conversion
  395. specifiers %s (for an array of character type) or %p (for a pointer
  396. to void) (ISO C, Appendix A.6.2, point 81).
  397. */
  398. +e437 /* passing struct to ellipsis */
  399. +elib(437)
  400. -append(437,[MISRA 2012 Rule 1.3, required])
  401. /* Referring to deallocated space (ISO C, Appendix A.6.2, point
  402. 87).
  403. */
  404. +e449 /* previously deallocated pointer */
  405. +elib(449)
  406. -append(449,[MISRA 2012 Rule 1.3, required])
  407. /* Misuse of free or realloc (ISO C, Appendix A.6.2, point 88).
  408. */
  409. +esym(424,free) /* inappropriate deallocation */
  410. -append(424,[MISRA 2012 Rule 1.3, required])
  411. /* An array written to by a copying or concatenation function is
  412. too small (ISO C, Appendix A.6.2, point 91).
  413. */
  414. +e419 /* data overrun */
  415. +elib(419)
  416. -append(419,[MISRA 2012 Rule 1.3, required])
  417. /* Order of evaluation (ISO C, Appendix A.6.1, point 7).
  418. */
  419. +e564 /* variable depends on order of evaluation */
  420. +elib(564)
  421. -append(564,[MISRA 2012 Rule 1.3, required])
  422. /* Side effects order (ISO C, Appendix A.6.1, point 8).
  423. */
  424. +e931 /* both sides of an expression have side-effects */
  425. +elib(931)
  426. -append(931,[MISRA 2012 Rule 1.3, required])
  427. /* Function argument evaluation (ISO C, Appendix A.6.1, point 9).
  428. */
  429. +e564 /* variable depends on order of evaluation */
  430. +elib(564)
  431. /* The order in which # and ## operations are evaluated during
  432. macro substitution (ISO C, Appendix A.6.1, point 12).
  433. */
  434. +e9023 /* multiple '#/##' operators in macro definition */
  435. +elib(9023)
  436. -append(9023,[MISRA 2012 Rule 1.3, required])
  437. /* Whether setjmp is a macro or an external identifier (ISO C,
  438. Appendix A.6.1, point 14).
  439. See Rule 21.2.
  440. */
  441. /**** Rule 2.1 (Req) ************/
  442. /* While MISRA has declared this rule to be "undecidable", Gimpel
  443. * Software provides the following options to assist:
  444. */
  445. +e506 /* constant value boolean */
  446. +elib(506)
  447. -append(506,[MISRA 2012 Rule 2.1, required])
  448. +e527 /* unreachable */
  449. +elib(527)
  450. -append(527,[MISRA 2012 Rule 2.1, required])
  451. +e681 /* loop not entered */
  452. +elib(681)
  453. -append(681,[MISRA 2012 Rule 2.1, required])
  454. +e827 /* loop not reachable */
  455. +elib(827)
  456. -append(827,[MISRA 2012 Rule 2.1, required])
  457. /**** Rule 2.2 (Req) ************/
  458. /* While MISRA has declared this rule to be "undecidable", Gimpel
  459. * Software provides the following options to assist:
  460. */
  461. +e438 /* value not used */
  462. +elib(438)
  463. -append(438,[MISRA 2012 Rule 2.2, required])
  464. +e505 /* redundant argument to comma */
  465. +elib(505)
  466. -append(505,[MISRA 2012 Rule 2.2, required])
  467. +e520 /* highest operator has no side effects */
  468. +elib(520)
  469. -append(520,[MISRA 2012 Rule 2.2, required])
  470. +e521 /* highest operator has no side effects */
  471. +elib(521)
  472. -append(521,[MISRA 2012 Rule 2.2, required])
  473. +e522 /* highest operator has no side effects */
  474. +elib(522)
  475. -append(522,[MISRA 2012 Rule 2.2, required])
  476. /**** Rule 2.3 (Adv) ************/
  477. +e751 /* local typedef not referenced */
  478. +elib(751)
  479. -append(751,[MISRA 2012 Rule 2.3, advisory])
  480. +e756 /* global not referenced */
  481. +elib(756)
  482. -append(756,[MISRA 2012 Rule 2.3, advisory])
  483. /**** Rule 2.4 (Adv) ************/
  484. +e753 /* local tag not referenced */
  485. +elib(753)
  486. -append(753,[MISRA 2012 Rule 2.4, advisory])
  487. +e9058
  488. +elibsym(9058)
  489. -append(9058,[MISRA 2012 Rule 2.4, advisory])
  490. /**** Rule 2.5 (Adv) ************/
  491. +e750 /* local macro not referenced */
  492. +elib(750)
  493. -append(750,[MISRA 2012 Rule 2.5, advisory])
  494. +e755 /* global macro not referenced */
  495. +elib(755)
  496. -append(755,[MISRA 2012 Rule 2.5, advisory])
  497. /**** Rule 2.6 (Adv) ************/
  498. +e563 /* label not referenced */
  499. +elib(563)
  500. -append(563,[MISRA 2012 Rule 2.6, advisory])
  501. /**** Rule 2.7 (Adv) ************/
  502. +e715 /* not referenced */
  503. +elib(715)
  504. -append(715,[MISRA 2012 Rule 2.7, advisory])
  505. /**** Rule 3.1 (Req) ************/
  506. -fnc /* flag nested comments */
  507. +e602 /* comment within comment */
  508. +elib(602)
  509. -append(602,[MISRA 2012 Rule 3.1, required])
  510. +e9059
  511. +elib(9059)
  512. -append(9059,[MISRA 2012 Rule 3.1, required])
  513. +e9066
  514. +elib(9066)
  515. -append(9066,[MISRA 2012 Rule 3.1, required])
  516. /**** Rule 3.2 (Req) ************/
  517. +e427 /* C++ comment ends in \\ */
  518. +elib(427)
  519. -append(427,[MISRA 2012 Rule 3.2, required])
  520. /**** Rule 4.1 (Req) ************/
  521. +e9039 /* prohibited escape sequence */
  522. +elib(9039)
  523. -append(9039,[MISRA 2012 Rule 4.1, required])
  524. /**** Rule 4.2 (Adv) ************/
  525. -ftg /* inhibit use of trigraphs */
  526. +e584 /* activate trigraph detected message */
  527. +elib(584)
  528. -append(584,[MISRA 2012 Rule 4.2, advisory])
  529. +e739 /* activate trigraph in string message */
  530. +elib(739)
  531. -append(739,[MISRA 2012 Rule 4.2, advisory])
  532. +e9060 /* trigraph in comment */
  533. +elib(9060)
  534. -append(9060,[MISRA 2012 Rule 4.2, advisory])
  535. /**** Rule 5.1 (Req) ************/
  536. -idlen(31) /* flag names identical in the first 31 characters */
  537. +e621 /* Identifier clash - length set by -idlen */
  538. +elib(621)
  539. -append(621,[MISRA 2012 Rule 5.1, required])
  540. /**** Rule 5.2 (Req) ************/
  541. -idlen(31) /* flag names identical in the first 31 characters */
  542. +e621 /* Identifier clash - length set by -idlen */
  543. +elib(621)
  544. -append(621,[MISRA 2012 Rule 5.2, required])
  545. /**** Rule 5.3 (Req) ************/
  546. +e578 /* enable reports of name hiding */
  547. +elib(578)
  548. -append(578,[MISRA 2012 Rule 5.3, required])
  549. /**** Rule 5.4 (Req) ************/
  550. -idlen(31) /* flag names identical in the first 31 characters */
  551. +e621 /* Identifier clash - length set by -idlen */
  552. +elib(621)
  553. -append(621,[MISRA 2012 Rule 5.4, required])
  554. /**** Rule 5.5 (Req) ************/
  555. +e123 /* macro defined with arguments */
  556. +elib(123)
  557. -append(123,[MISRA 2012 Rule 5.5, required])
  558. -idlen(31) /* flag names identical in the first 31 characters */
  559. +e621 /* Identifier clash - length set by -idlen */
  560. +elib(621)
  561. -append(621,[MISRA 2012 Rule 5.5, required])
  562. +e9061 /* non-distinct identifier */
  563. +elib(9061)
  564. -append(9061,[MISRA 2012 Rule 5.5, required])
  565. /**** Rule 5.6 (Req) ************/
  566. +e578 /* enable reports of name hiding */
  567. +elib(578)
  568. -append(578,[MISRA 2012 Rule 5.6, required])
  569. +e623 /* redefining the storage class of symbol */
  570. +elib(623)
  571. -append(623,[MISRA 2012 Rule 5.6, required])
  572. +estring(9062,typedef) /* non-unique typedef */
  573. +elib(9062)
  574. -append(9062(typedef),[MISRA 2012 Rule 5.6, required])
  575. /**** Rule 5.7 (Req) ************/
  576. +e407 /* Inconsistent use of tag */
  577. +elib(407)
  578. -append(407,[MISRA 2012 Rule 5.7, required])
  579. +e578 /* Declaration of Symbol hides Symbol */
  580. +elib(578)
  581. -append(578,[MISRA 2012 Rule 5.7, required])
  582. +e14 /* Symbol previously defined */
  583. +elib(14)
  584. -append(14,[MISRA 2012 Rule 5.7, required])
  585. +e15 /* Symbol redeclared */
  586. +elib(15)
  587. -append(15,[MISRA 2012 Rule 5.7, required])
  588. +e631 /* Tag defined differently */
  589. +elib(631)
  590. -append(631,[MISRA 2012 Rule 5.7, required])
  591. +e9062 /* non-unique tag */
  592. +elib(9062)
  593. -append(9062(tag),[MISRA 2012 Rule 5.7, required])
  594. /**** Rule 5.8 (Req) ************/
  595. +e401 /* Symbol not previously declared static */
  596. +elib(401)
  597. -append(401,[MISRA 2012 Rule 5.8, required])
  598. +e578 /* Declaration of Symbol hides Symbol */
  599. +elib(578)
  600. -append(578,[MISRA 2012 Rule 5.8, required])
  601. +e580 /* enable reports of name hiding */
  602. +elib(580)
  603. -append(580,[MISRA 2012 Rule 5.8, required])
  604. /**** Rule 5.9 (Adv) ************/
  605. +e578 /* enable reports of name hiding */
  606. +elib(578)
  607. -append(578,[MISRA 2012 Rule 5.9, advisory])
  608. +e580 /* enable reports of name hiding */
  609. +elib(580)
  610. -append(580,[MISRA 2012 Rule 5.9, advisory])
  611. /**** Rule 6.1 (Req) ************/
  612. +e46 /* field type should be int */
  613. +elib(46)
  614. -append(46,[MISRA 2012 Rule 6.1, required])
  615. +e806 /* small bit field is signed rather than unsigned */
  616. +elib(806)
  617. -append(806,[MISRA 2012 Rule 6.1, required])
  618. /**** Rule 6.2 (Req) ************/
  619. +e9088 /* named signed single-bit bit-field */
  620. +elib(9088)
  621. -append(9088,[MISRA 2012 Rule 6.2, required])
  622. /**** Rule 7.1 (Req) ************/
  623. +e9001 /* Octal constant used */
  624. +elib(9001)
  625. -append(9001,[MISRA 2012 Rule 7.1, required])
  626. /**** Rule 7.2 (Req) ************/
  627. +e9048 /* unsigned literal without 'U' suffix */
  628. +elib(9048)
  629. -append(9048,[MISRA 2012 Rule 7.2, required])
  630. /**** Rule 7.3 (Req) ************/
  631. +e620 /* suspicious constant */
  632. +elib(620)
  633. -append(620,[MISRA 2012 Rule 7.3, required])
  634. +e9057 /* "l" after "u" in literal suffix */
  635. +elib(9057)
  636. -append(9057,[MISRA 2012 Rule 7.3, required])
  637. /**** Rule 7.4 (Req) ************/
  638. +fsc
  639. +e489 /* attempting to modify a string literal */
  640. +elib(489)
  641. -append(489,[MISRA 2012 Rule 7.4, required])
  642. +e1776 /* string literal not const safe */
  643. +elib(1776)
  644. -append(1776,[MISRA 2012 Rule 7.4, required])
  645. +e1778 /* assignment of string literal not const safe */
  646. +elib(1778)
  647. -append(1778,[MISRA 2012 Rule 7.4, required])
  648. /**** Rule 8.1 (Req) ************/
  649. +e601 /* no explicit type */
  650. +elib(601)
  651. -append(601,[MISRA 2012 Rule 8.1, required])
  652. +e745 /* function has no explicit type */
  653. +elib(745)
  654. -append(745,[MISRA 2012 Rule 8.1, required])
  655. +e808 /* no explicit type */
  656. +elib(808)
  657. -append(808,[MISRA 2012 Rule 8.1, required])
  658. +e832 /* parameter has no explicit type */
  659. +elib(832)
  660. -append(832,[MISRA 2012 Rule 8.1, required])
  661. +e939 /* return type defaults to int */
  662. +elib(939)
  663. -append(939,[MISRA 2012 Rule 8.1, required])
  664. /**** Rule 8.2 (Req) ************/
  665. +e937 /* old-style function declaration */
  666. +elib(937)
  667. -append(937,[MISRA 2012 Rule 8.2, required])
  668. +e745 /* function has no explicit type */
  669. +elib(745)
  670. -append(745,[MISRA 2012 Rule 8.2, required])
  671. +e939 /* return type defaults to int */
  672. +elib(939)
  673. -append(939,[MISRA 2012 Rule 8.2, required])
  674. -fvr /* varying return mode not allowed */
  675. -strong() /* enable strong typing for
  676. declarations */
  677. +e18 /* symbol redeclared */
  678. +elib(18)
  679. -append(18,[MISRA 2012 Rule 8.2, required])
  680. +e936 /* old-style function definition */
  681. +elib(936)
  682. -append(936,[MISRA 2012 Rule 8.2, required])
  683. +e955 /* param name missing from prototype */
  684. +elib(955)
  685. -append(955,[MISRA 2012 Rule 8.2, required])
  686. /**** Rule 8.3 (Req) ************/
  687. -fvr /* varying return mode not allowed */
  688. -strong() /* enable strong typing for declarations */
  689. +e18 /* symbol redeclared */
  690. +elib(18)
  691. -append(18,[MISRA 2012 Rule 8.3, required])
  692. +e516 /* argument type conflict */
  693. +elib(516)
  694. -append(516,[MISRA 2012 Rule 8.3, required])
  695. +e532 /* return mode of symbol inconsistent */
  696. +elib(532)
  697. -append(532,[MISRA 2012 Rule 8.3, required])
  698. +e9072 /* parameter list differs */
  699. +elib(9072)
  700. -append(9072,[MISRA 2012 Rule 8.3, required])
  701. /**** Rule 8.4 (Req) ************/
  702. +e15 /* symbol redeclared */
  703. +elib(15)
  704. -append(15,[MISRA 2012 Rule 8.4, required])
  705. +e64 /* flag type mismatch */
  706. +elib(64)
  707. -append(64,[MISRA 2012 Rule 8.4, required])
  708. +e516 /* argument type mismatch */
  709. +elib(516)
  710. -append(516,[MISRA 2012 Rule 8.4, required])
  711. +e9075 /* extern defined without prior declaration */
  712. +elib(9075)
  713. -append(9075,[MISRA 2012 Rule 8.4, required])
  714. /**** Rule 8.5 (Req) ************/
  715. +e9004 /* object/function previously declared */
  716. +elib(9004)
  717. -append(9004,[MISRA 2012 Rule 8.5, required])
  718. /**** Rule 8.6 (Req) ************/
  719. --fmd /* diallow multiple definitions */
  720. +e14 /* Symbol previously defined */
  721. +elib(14)
  722. -append(14,[MISRA 2012 Rule 8.6, required])
  723. /**** Rule 8.7 (Adv) ************/
  724. +e765 /* could be made static */
  725. +elib(765)
  726. -append(765,[MISRA 2012 Rule 8.7, advisory])
  727. /**** Rule 8.8 (Req) ************/
  728. +e839 /* storage class assumed static */
  729. +elib(839)
  730. -append(839,[MISRA 2012 Rule 8.8, required])
  731. /**** Rule 8.9 (Adv) ************/
  732. +e9003 /* could define variable at block scope */
  733. +elib(9003)
  734. -append(9003,[MISRA 2012 Rule 8.9, advisory])
  735. /**** Rule 8.10 (Req) ************/
  736. +e695 /* inline function without storage-class specifier */
  737. +elib(695)
  738. -append(695,[MISRA 2012 Rule 8.10, required])
  739. +estring(9056,extern) /* inline function defined with extern */
  740. -append(9056,[MISRA 2012 Rule 8.10, required])
  741. /**** Rule 8.11 (Adv) ************/
  742. +e9067 /* array has no dimension or initializer */
  743. +elib(9067)
  744. -append(9067,[MISRA 2012 Rule 8.11, advisory])
  745. /**** Rule 8.12 (Req) ************/
  746. +e488 /* duplicate enumerator values */
  747. +elib(488)
  748. -append(488,[MISRA 2012 Rule 8.12, required])
  749. /**** Rule 8.13 (Adv) ************/
  750. /* While MISRA has declared this rule to be "undecidable", Gimpel
  751. * Software provides the following options to assist:
  752. */
  753. +e818 /* pointer could be declared pointing to const */
  754. +elib(818)
  755. -append(818,[MISRA 2012 Rule 8.13, advisory])
  756. +e844 /* pointer could be declared pointing to const */
  757. +elib(844)
  758. -append(844,[MISRA 2012 Rule 8.13, advisory])
  759. +e954 /* pointer could be declared pointing to const */
  760. +elib(954)
  761. -append(954,[MISRA 2012 Rule 8.13, advisory])
  762. /**** Rule 8.14 (Req) ************/
  763. +e586 /* Symbol is deprecated */
  764. +elib(586)
  765. -deprecate(keyword,restrict,[MISRA 2012 Rule 8.14, required])
  766. /**** Rule 9.1 (Mand) ************/
  767. /* While MISRA has declared this rule to be "undecidable", Gimpel
  768. * Software provides the following options to assist:
  769. */
  770. +e644 /* Symbol may not have been initialized */
  771. +elib(644)
  772. -append(644,[MISRA 2012 Rule 9.1, mandatory])
  773. +e771 /* Symbol conceivably not initialized */
  774. +elib(771)
  775. -append(771,[MISRA 2012 Rule 9.1, mandatory])
  776. +e530 /* Symbol not initialized */
  777. +elib(530)
  778. -append(530,[MISRA 2012 Rule 9.1, mandatory])
  779. -specific(+e644 +e771 +e530,)
  780. /**** Rule 9.2 (Req) ************/
  781. +e9069 /* omitted braces within an initializer */
  782. +elib(9069)
  783. -append(9069,[MISRA 2012 Rule 9.2, required])
  784. /**** Rule 9.3 (Req) ************/
  785. +e9068 /* too few initializers */
  786. +elib(9068)
  787. -append(9068,[MISRA 2012 Rule 9.3, required])
  788. /**** Rule 9.4 (Req) ************/
  789. +e485 /* duplicate initialization */
  790. +elib(485)
  791. -append(485,[MISRA 2012 Rule 9.4, required])
  792. /**** Rule 9.5 (Req) ************/
  793. +e9054 /* designated initializer and dimensionless array */
  794. +elib(9054)
  795. -append(9054,[MISRA 2012 Rule 9.5, required])
  796. /**** Rule 10.1 (Req) ************/
  797. +e48 /* bad type */
  798. +elib(48)
  799. -append(48,[MISRA 2012 Rule 10.1, required])
  800. +e9027 /* unpermitted operand */
  801. +elib(9027)
  802. -append(9027,[MISRA 2012 Rule 10.1, required])
  803. /**** Rule 10.2 (Req) ************/
  804. +e9028 /* unpermitted arithmetic */
  805. +elib(9028)
  806. -append(9028,[MISRA 2012 Rule 10.2, required])
  807. /**** Rule 10.3 (Req) ************/
  808. +e9034 /* expression assigned to narrower or different essential type */
  809. +elib(9034)
  810. // Note: the following -d options for true and false don't apply
  811. // to C90 and should be commented out if not using C99
  812. +"dtrue=/*lint -save -e921 */(_Bool) 1/*lint -restore */" // exception
  813. +"dfalse=/*lint -save -e921 */(_Bool) 0/*lint -restore */" // exception
  814. -append(9034,[MISRA 2012 Rule 10.3, required])
  815. /**** Rule 10.4 (Req) ************/
  816. +e9029 /* mismatched essential type */
  817. +elib(9029)
  818. -append(9029,[MISRA 2012 Rule 10.4, required])
  819. /**** Rule 10.5 (Adv) ************/
  820. +e9030 /* impermissible cast */
  821. +elib(9030)
  822. -append(9030,[MISRA 2012 Rule 10.5, advisory])
  823. /**** Rule 10.6 (Req) ************/
  824. +e9031 /* composite expression assigned to wider essential type */
  825. +elib(9031)
  826. -append(9031,[MISRA 2012 Rule 10.6, required])
  827. /**** Rule 10.7 (Req) ************/
  828. +e9032 /* composite expression with smaller essential type than other operand*/
  829. +elib(9032)
  830. -append(9032,[MISRA 2012 Rule 10.7, required])
  831. /**** Rule 10.8 (Req) ************/
  832. +e9033 /* impermissible cast of composite expression */
  833. +elib(9033)
  834. -append(9033,[MISRA 2012 Rule 10.8, required])
  835. /**** Rule 11.1 (Req) ************/
  836. +e9074 /* conversion between a pointer to function and another type */
  837. +elib(9074)
  838. --emacro((9074),NULL) /* explicit exception */
  839. -append(9074,[MISRA 2012 Rule 11.1, required])
  840. /**** Rule 11.2 (Req) ************/
  841. +e9076 /* conversion between a pointer to incomplete type and another type */
  842. +elib(9076)
  843. --emacro((9076),NULL) /* explicit exception */
  844. -append(9076,[MISRA 2012 Rule 11.2, required])
  845. /**** Rule 11.3 (Req) ************/
  846. +e9087 /* cast from pointer to pointer */
  847. +elib(9087)
  848. -append(9087,[MISRA 2012 Rule 11.3, required])
  849. /**** Rule 11.4 (Adv) ************/
  850. +e9078 /* cast pointer/integer */
  851. +elib(9078)
  852. -append(9078,[MISRA 2012 Rule 11.4, advisory])
  853. /**** Rule 11.5 (Adv) ************/
  854. +e9079 /* cast from pointer to pointer */
  855. +elib(9079)
  856. -append(9079,[MISRA 2012 Rule 11.5, advisory])
  857. /**** Rule 11.6 (Req) ************/
  858. +e923 /* cast pointer/non-pointer */
  859. +elib(923)
  860. -append(923,[MISRA 2012 Rule 11.6, required])
  861. /**** Rule 11.7 (Req) ************/
  862. +e68 /* cast pointer/float */
  863. +elib(68)
  864. -append(68,[MISRA 2012 Rule 11.7, required])
  865. +e70 /* cast pointer/float */
  866. +elib(70)
  867. -append(70,[MISRA 2012 Rule 11.7, required])
  868. /**** Rule 11.8 (Req) ************/
  869. +e9005 /* attempt to cast away const/volatile from pointer or reference */
  870. +elib(9005)
  871. -append(9005,[MISRA 2012 Rule 11.8, required])
  872. /**** Rule 11.9 (Req) ************/
  873. +e910 /* conversion from 0 to pointer */
  874. +elib(910)
  875. --emacro((910),NULL) /* explicit exception */
  876. -append(910,[MISRA 2012 Rule 11.9, required])
  877. +e9080 /* integer null pointer constant */
  878. +elib(9080)
  879. -append(9080,[MISRA 2012 Rule 11.9, required])
  880. /**** Rule 12.1 (Adv) ************/
  881. +e9050 /* dependence placed on precedence */
  882. +elib(9050)
  883. -append(9050,[MISRA 2012 Rule 12.1, advisory])
  884. /**** Rule 12.2 (Req) ************/
  885. /* While MISRA has declared this rule to be "undecidable", Gimpel
  886. * Software provides the following options to assist:
  887. */
  888. +e598 /* excessive left shift */
  889. +elib(598)
  890. -append(598,[MISRA 2012 Rule 12.2, required])
  891. +e9053 /* shift value exceeds size of LHS */
  892. +elib(9053)
  893. -append(9053,[MISRA 2012 Rule 12.2, required])
  894. /**** Rule 12.3 (Adv) ************/
  895. +e9008 /* comma operator used */
  896. +elib(9008)
  897. -append(9008,[MISRA 2012 Rule 12.3, advisory])
  898. /**** Rule 12.4 (Adv) ************/
  899. +elib(648) /* Overflow in computing constant */
  900. +estring(648,unsigned addition)
  901. +estring(648,unsigned multiplication)
  902. +estring(648,unsigned sub.)
  903. +estring(648,unsigned shift left)
  904. +estring(648,unsigned shift right)
  905. -append(648,[MISRA 2012 Rule 12.4, advisory])
  906. /**** Rule 13.1 (Req) ************/
  907. /* While MISRA has declared this rule to be "undecidable", Gimpel
  908. * Software provides the following options to assist:
  909. */
  910. +e446 /* side effect in initializer */
  911. +elib(446)
  912. -append(446,[MISRA 2012 Rule 13.1, required])
  913. /**** Rule 13.2 (Req) ************/
  914. /* While MISRA has declared this rule to be "undecidable", Gimpel
  915. * Software provides the following options to assist:
  916. */
  917. +e564 /* variable depends on order of evaluation */
  918. +elib(564)
  919. -append(564,[MISRA 2012 Rule 13.2, required])
  920. +e864 /* variable possibly depends on order of evaluation */
  921. +elib(864)
  922. -append(864,[MISRA 2012 Rule 13.2, required])
  923. +e931 /* both sides have side effects */
  924. +elib(931)
  925. -append(931,[MISRA 2012 Rule 13.2, required])
  926. /**** Rule 13.3 (Adv) ************/
  927. +e9049 /* increment/decrement combined with other operations */
  928. +elib(9049)
  929. -append(9049,[MISRA 2012 Rule 13.3, advisory])
  930. /**** Rule 13.4 (Adv) ************/
  931. +e720 /* Boolean test of assignment */
  932. +elib(720)
  933. -append(720,[MISRA 2012 Rule 13.4, advisory])
  934. +e820 /* Boolean test of parenthesized assignment */
  935. +elib(820)
  936. -append(820,[MISRA 2012 Rule 13.4, advisory])
  937. +e9084 /* assignment used inside larger
  938. expression */
  939. +elib(9084)
  940. -append(9084,[MISRA 2012 Rule 13.4, advisory])
  941. /**** Rule 13.5 (Req) ************/
  942. /* While MISRA has declared this rule to be "undecidable", Gimpel
  943. * Software provides the following options to assist:
  944. */
  945. +e9007 /* side effects on right hand side of logical operator */
  946. +elib(9007)
  947. -append(9007,[MISRA 2012 Rule 13.5, required])
  948. /**** Rule 13.6 (Mand) ************/
  949. +e9006 /* sizeof used with expression with side effect */
  950. +elib(9006)
  951. -append(9006,[MISRA 2012 Rule 13.6, mandatory])
  952. +e9089 /* potential side-effect in argument to sizeof */
  953. +elib(9089)
  954. -append(9089,[MISRA 2012 Rule 13.6, mandatory])
  955. /**** Rule 14.1 (Req) ************/
  956. /* While MISRA has declared this rule to be "undecidable", Gimpel
  957. * Software provides the following options to assist:
  958. */
  959. +e9009 /* floating point variable used as loop counter */
  960. +elib(9009)
  961. -append(9009,[MISRA 2012 Rule 14.1, required])
  962. /**** Rule 14.2 (Req) ************/
  963. /* While MISRA has declared this rule to be "undecidable", Gimpel
  964. * Software provides the following options to assist:
  965. */
  966. +e850 /* index variable modified in body of for loop */
  967. +elib(850)
  968. -append(850,[MISRA 2012 Rule 14.2, required])
  969. /**** Rule 14.3 (Req) ************/
  970. /* While MISRA has declared this rule to be "undecidable", Gimpel
  971. * Software provides the following options to assist:
  972. */
  973. +e685 /* relational always evaluates to true/false */
  974. +elib(685)
  975. -append(685,[MISRA 2012 Rule 14.3, required])
  976. +e774 /* boolean always evaluates to true/false */
  977. +elib(774)
  978. -append(774,[MISRA 2012 Rule 14.3, required])
  979. +e650 /* constant out of range for operator */
  980. +elib(650)
  981. -append(650,[MISRA 2012 Rule 14.3, required])
  982. /**** Rule 14.4 (Req) ************/
  983. +e9036 /* condition should have essentially Boolean type */
  984. +elib(9036)
  985. -append(9036,[MISRA 2012 Rule 14.4, required])
  986. /**** Rule 15.1 (Adv) ************/
  987. +e801 /* use of 'goto' is deprecated */
  988. +elib(801)
  989. -append(801,[MISRA 2012 Rule 15.1, advisory])
  990. /**** Rule 15.2 (Req) ************/
  991. +e9064 /* goto references earlier label */
  992. +elib(9064)
  993. -append(9064,[MISRA 2012 Rule 15.2, required])
  994. /**** Rule 15.3 (Req) ************/
  995. +e9041 /* goto not nested in the same block as label */
  996. +elib(9041)
  997. -append(9041,[MISRA 2012 Rule 15.3, required])
  998. /**** Rule 15.4 (Adv) ************/
  999. +e9011 /* more than one 'break' terminates loop */
  1000. +elib(9011)
  1001. -append(9011,[MISRA 2012 Rule 15.4, advisory])
  1002. /**** Rule 15.5 (Adv) ************/
  1003. +e904 /* return before function end */
  1004. +elib(904)
  1005. -append(904,[MISRA 2012 Rule 15.5, advisory])
  1006. /**** Rule 15.6 (Req) ************/
  1007. +e9012 /* sub-statement should be a compound statement */
  1008. +elib(9012)
  1009. -append(9012,[MISRA 2012 Rule 15.6, required])
  1010. /**** Rule 15.7 (Req) ************/
  1011. +e9013 /* no 'else' at end of 'if ... else if' chain */
  1012. +elib(9013)
  1013. -append(9013,[MISRA 2012 Rule 15.7, required])
  1014. +e9063 /* no comment or action in else-branch */
  1015. +elib(9063)
  1016. -append(9063,[MISRA 2012 Rule 15.7, required])
  1017. /**** Rule 16.1 (Req) ************/
  1018. +e616 /* control flows into case/default */
  1019. +elib(616)
  1020. -append(616,[MISRA 2012 Rule 16.1, required])
  1021. +e744 /* switch statement has no default */
  1022. +elib(744)
  1023. -append(744,[MISRA 2012 Rule 16.1, required])
  1024. +e764 /* switch does not have a case */
  1025. +elib(764)
  1026. -append(764,[MISRA 2012 Rule 16.1, required])
  1027. +e825 /* control flows into case/default without -fallthrough comment */
  1028. +elib(825)
  1029. -append(825,[MISRA 2012 Rule 16.1, required])
  1030. +e9014 /* default missing from switch */
  1031. +elib(9014)
  1032. -append(9014,[MISRA 2012 Rule 16.1, required])
  1033. +e9042 /* departure from MISRA switch syntax */
  1034. +elib(9042)
  1035. -append(9042,[MISRA 2012 Rule 16.1, required])
  1036. +e9077 /* missing unconditional break */
  1037. +elib(9077)
  1038. -append(9077,[MISRA 2012 Rule 16.1, required])
  1039. +e9081 /* too few independent cases for switch */
  1040. +elib(9081)
  1041. -append(9081,[MISRA 2012 Rule 16.1, required])
  1042. +e9082 /* switch statement should either begin or end with default label */
  1043. +elib(9082)
  1044. -append(9082,[MISRA 2012 Rule 16.1, required])
  1045. +e9085 /* statement or comment should appear in default case */
  1046. +elib(9085)
  1047. -append(9085,[MISRA 2012 Rule 16.1, required])
  1048. /**** Rule 16.2 (Req) ************/
  1049. +e44 /* Need a switch */
  1050. +elib(44)
  1051. -append(44,[MISRA 2012 Rule 16.2, required])
  1052. +e9055 /* enclosing statement is not a switch */
  1053. +elib(9055)
  1054. -append(9055,[MISRA 2012 Rule 16.2, required])
  1055. /**** Rule 16.3 (Req) ************/
  1056. +e616 /* control flows into case/default */
  1057. +elib(616)
  1058. -append(616,[MISRA 2012 Rule 16.3, required])
  1059. +e825 /* control flows into case/default without -fallthrough comment */
  1060. +elib(825)
  1061. -append(825,[MISRA 2012 Rule 16.3, required])
  1062. +e9077 /* missing unconditional break */
  1063. +elib(9077)
  1064. -append(9077,[MISRA 2012 Rule 16.3, required])
  1065. +e9090 /* missing unconditional break */
  1066. +elib(9090)
  1067. -append(9090,[MISRA 2012 Rule 16.3, required])
  1068. /**** Rule 16.4 (Req) ************/
  1069. +e744 /* switch statement has no default */
  1070. +elib(744)
  1071. -append(744,[MISRA 2012 Rule 16.4, required])
  1072. +e9014 /* switch statement has no default */
  1073. +elib(9014)
  1074. -append(9014,[MISRA 2012 Rule 16.4, required])
  1075. +e9085 /* default case has no statement nor comment */
  1076. +elib(9085)
  1077. -append(9085,[MISRA 2012 Rule 16.4, required])
  1078. /**** Rule 16.5 (Req) ************/
  1079. +e9082 /* default should be first or last */
  1080. +elib(9082)
  1081. -append(9082,[MISRA 2012 Rule 16.5, required])
  1082. /**** Rule 16.6 (Req) ************/
  1083. +e764 /* switch does not have a case */
  1084. +elib(764)
  1085. -append(764,[MISRA 2012 Rule 16.6, required])
  1086. +e9081 /* too few cases */
  1087. +elib(9081)
  1088. -append(9081,[MISRA 2012 Rule 16.6, required])
  1089. /**** Rule 16.7 (Req) ************/
  1090. +e483 /* boolean value in switch expression */
  1091. +elib(483)
  1092. -append(483,[MISRA 2012 Rule 16.7, required])
  1093. /**** Rule 17.1 (Req) ************/
  1094. +e829 /* warn on header usage */
  1095. +elib(829)
  1096. +headerwarn(stdarg.h)
  1097. -append(829(stdarg.h),[MISRA 2012 Rule 17.1, required])
  1098. -deprecate(macro,va_arg,[MISRA 2012 Rule 17.1, required])
  1099. -deprecate(macro,va_start,[MISRA 2012 Rule 17.1, required])
  1100. -deprecate(macro,va_end,[MISRA 2012 Rule 17.1, required])
  1101. -deprecate(macro,va_copy,[MISRA 2012 Rule 17.1, required])
  1102. /**** Rule 17.2 (Req) ************/
  1103. /* While MISRA has declared this rule to be "undecidable", Gimpel
  1104. * Software provides the following options to assist:
  1105. */
  1106. +e9070
  1107. -append(9070,[MISRA 2012 Rule 17.2, required])
  1108. /**** Rule 17.3 (Mand) ************/
  1109. +e718 /* symbol undeclared, assumed to return int */
  1110. +elib(718)
  1111. -append(718,[MISRA 2012 Rule 17.3, mandatory])
  1112. /**** Rule 17.4 (Mand) ************/
  1113. +e533 /* function should return a value */
  1114. +elib(533)
  1115. -append(533,[MISRA 2012 Rule 17.4, mandatory])
  1116. /**** Rule 17.5 (Adv) ************/
  1117. /* MISRA has declared this rule to be "undecidable". */
  1118. /**** Rule 17.6 (Mand) ************/
  1119. +e9043 /* static between brackets of array declaration */
  1120. +elib(9043)
  1121. -append(9043,[MISRA 2012 Rule 17.6, mandatory])
  1122. /**** Rule 17.7 (Req) ************/
  1123. +e534 /* ignoring return value of function */
  1124. +elib(534)
  1125. -append(534,[MISRA 2012 Rule 17.7, required])
  1126. /**** Rule 17.8 (Adv) ************/
  1127. /* While MISRA has declared this rule to be "undecidable", Gimpel
  1128. * Software provides the following options to assist:
  1129. */
  1130. +e9044 /* function parameter modified */
  1131. +elib(9044)
  1132. -append(9044,[MISRA 2012 Rule 17.8, advisory])
  1133. /**** Rule 18.1 (Req) ************/
  1134. /* While MISRA has declared this rule to be "undecidable", Gimpel
  1135. * Software provides the following options to assist:
  1136. */
  1137. +e415 /* out-of-bounds pointer */
  1138. +elib(415)
  1139. -append(415,[MISRA 2012 Rule 18.1, required])
  1140. +e416 /* out-of-bounds pointer */
  1141. +elib(416)
  1142. -append(416,[MISRA 2012 Rule 18.1, required])
  1143. +e428 /* out-of-bounds pointer */
  1144. +elib(428)
  1145. -append(428,[MISRA 2012 Rule 18.1, required])
  1146. +e661 /* out-of-bounds pointer */
  1147. +elib(661)
  1148. -append(661,[MISRA 2012 Rule 18.1, required])
  1149. +e662 /* out-of-bounds pointer */
  1150. +elib(662)
  1151. -append(662,[MISRA 2012 Rule 18.1, required])
  1152. +e676 /* out-of-bounds pointer */
  1153. +elib(676)
  1154. -append(676,[MISRA 2012 Rule 18.1, required])
  1155. +e796 /* out-of-bounds pointer */
  1156. +elib(796)
  1157. -append(796,[MISRA 2012 Rule 18.1, required])
  1158. +e797 /* out-of-bounds pointer */
  1159. +elib(797)
  1160. -append(797,[MISRA 2012 Rule 18.1, required])
  1161. +e817 /* out-of-bounds pointer */
  1162. +elib(817)
  1163. -append(817,[MISRA 2012 Rule 18.1, required])
  1164. /**** Rule 18.2 (Req) ************/
  1165. /* While MISRA has declared this rule to be "undecidable", Gimpel
  1166. * Software provides the following options to assist:
  1167. */
  1168. +e946 /* relational or subtract operator applied to pointers */
  1169. +elib(946)
  1170. -append(946,[MISRA 2012 Rule 18.2, required])
  1171. +e947 /* relational or subtract operator applied to pointers */
  1172. +elib(947)
  1173. -append(947,[MISRA 2012 Rule 18.2, required])
  1174. /**** Rule 18.3 (Req) ************/
  1175. /* While MISRA has declared this rule to be "undecidable", Gimpel
  1176. * Software provides the following options to assist:
  1177. */
  1178. +e946 /* relational or subtract operator applied to pointers */
  1179. +elib(946)
  1180. -append(946,[MISRA 2012 Rule 18.3, required])
  1181. +e947 /* relational or subtract operator applied to pointers */
  1182. +elib(947)
  1183. -append(947,[MISRA 2012 Rule 18.3, required])
  1184. /**** Rule 18.4 (Adv) ************/
  1185. +e9016 /* pointer arithmetic other than array indexing used */
  1186. +elib(9016)
  1187. -append(9016,[MISRA 2012 Rule 18.4, advisory])
  1188. /**** Rule 18.5 (Adv) ************/
  1189. +e9025 /* more than two pointer indirection levels used */
  1190. +elib(9025)
  1191. -append(9025,[MISRA 2012 Rule 18.5, advisory])
  1192. /**** Rule 18.6 (Req) ************/
  1193. /* While MISRA has declared this rule to be "undecidable", Gimpel
  1194. * Software provides the following options to assist:
  1195. */
  1196. +e733 /* assigning address of auto to outer scope symbol */
  1197. +elib(733)
  1198. -append(733,[MISRA 2012 Rule 18.6, required])
  1199. +e789 /* assigning address of auto to static */
  1200. +elib(789)
  1201. -append(789,[MISRA 2012 Rule 18.6, required])
  1202. +e604 /* returning address of auto variable */
  1203. +elib(604)
  1204. -append(604,[MISRA 2012 Rule 18.6, required])
  1205. /**** Rule 18.7 (Req) ************/
  1206. +e9038 /* flexible array member declared */
  1207. +elib(9038)
  1208. -append(9038,[MISRA 2012 Rule 18.7, required])
  1209. /**** Rule 18.8 (Req) ************/
  1210. +e9035 /* variable length array declared */
  1211. +elib(9035)
  1212. -append(9035,[MISRA 2012 Rule 18.8, required])
  1213. /**** Rule 19.1 (Mand) ************/
  1214. /* MISRA has declared this rule to be "undecidable". */
  1215. /**** Rule 19.2 (Adv) ************/
  1216. +e9018 /* union type/object declared */
  1217. +elib(9018)
  1218. -append(9018,[MISRA 2012 Rule 19.2, advisory])
  1219. /**** Rule 20.1 (Adv) ************/
  1220. +e9019 /* declaration before #include */
  1221. +elib(9019)
  1222. -append(9019,[MISRA 2012 Rule 20.1, advisory])
  1223. /**** Rule 20.2 (Req) ************/
  1224. +e9020 /* header file name with non-standard character */
  1225. +elib(9020)
  1226. -append(9020,[MISRA 2012 Rule 20.2, required])
  1227. /* Note: If your system requires the '\' be used as a directory
  1228. separator, uncomment the following option.
  1229. */
  1230. // -estring(9020,\)
  1231. /**** Rule 20.3 (Req) ************/
  1232. +e12 /* Need < or " after #include */
  1233. +elib(12)
  1234. -append(12,[MISRA 2012 Rule 20.3, required])
  1235. +e9086 /* multiple arguments after #include */
  1236. +elib(9086)
  1237. -append(9086,[MISRA 2012 Rule 20.3, required])
  1238. /**** Rule 20.4 (Req) ************/
  1239. +e9051 /* macro with same name as a keyword */
  1240. +elib(9051)
  1241. -append(9051,[MISRA 2012 Rule 20.4, required])
  1242. /**** Rule 20.5 (Adv) ************/
  1243. +e9021 /* use of '#undef' is discouraged */
  1244. +elib(9021)
  1245. -append(9021,[MISRA 2012 Rule 20.5, advisory])
  1246. /**** Rule 20.6 (Req) ************/
  1247. +e436 /* preprocessor directive in invocation of macro */
  1248. +elib(436)
  1249. -append(436,[MISRA 2012 Rule 20.6, required])
  1250. /**** Rule 20.7 (Req) ************/
  1251. +e665 /* expression passed to unparenthesized macro */
  1252. +elib(665)
  1253. -append(665,[MISRA 2012 Rule 20.7, required])
  1254. /**** Rule 20.8 (Req) ************/
  1255. +e9037 /* conditional of #if/#elif does not evaluate to 0 or 1 */
  1256. +elib(9037)
  1257. -append(9037,[MISRA 2012 Rule 20.8, required])
  1258. /**** Rule 20.9 (Req) ************/
  1259. +e553 /* Undefined preprocessor variable, assumed 0 */
  1260. +elib(553)
  1261. -append(553,[MISRA 2012 Rule 20.9, required])
  1262. /**** Rule 20.10 (Adv) ************/
  1263. +e9024 /* '#/##' operators used */
  1264. +elib(9024)
  1265. -append(9024,[MISRA 2012 Rule 20.10, advisory])
  1266. /**** Rule 20.11 (Req) ************/
  1267. +e484 /* stringize operator followed by macro parameter followed by pasting operator */
  1268. +elib(484)
  1269. -append(484,[MISRA 2012 Rule 20.11, required])
  1270. /**** Rule 20.12 (Req) ************/
  1271. +e9015 /* macro argument is used both with and without '#/##' and is subject to further replacement */
  1272. +elib(9015)
  1273. -append(9015,[MISRA 2012 Rule 20.12, required])
  1274. /**** Rule 20.13 (Req) ************/
  1275. +e544 /* endif or else not followed by EOL */
  1276. +elib(544)
  1277. -append(544,[MISRA 2012 Rule 20.13, required])
  1278. +e16 /* # directive not followed by recognizable word */
  1279. +elib(16)
  1280. -append(16,[MISRA 2012 Rule 20.13, required])
  1281. /* other parts of this rule such as a syntax check of the disabled
  1282. portions of the code do not seem to be statically checkable
  1283. */
  1284. /**** Rule 20.14 (Req) ************/
  1285. +e405 /* #if/#ifdef/#ifndef not closed off */
  1286. +elib(405)
  1287. -append(405,[MISRA 2012 Rule 20.14, required])
  1288. /**** Rule 21.1 (Req) ************/
  1289. +e136 /* Illegal macro name */
  1290. +elib(136)
  1291. -append(136,[MISRA 2012 Rule 21.1, required])
  1292. /* Undefining standard library macros is covered by rule 20.5. */
  1293. /* Defining/redefining reserved/standard identifiers is covered
  1294. by rules 20.4 and 21.2.
  1295. */
  1296. +e9071 /* defined macro reserved to the compiler */
  1297. +elib(9071)
  1298. -append(9071,[MISRA 2012 Rule 21.1, required])
  1299. // explicit exemptions
  1300. -estring(9071,* because *)
  1301. -estring(9071,cerf)
  1302. -estring(9071,cerfc)
  1303. -estring(9071,cexp2)
  1304. -estring(9071,cexpm1)
  1305. -estring(9071,clog10)
  1306. -estring(9071,clog1p)
  1307. -estring(9071,clog2)
  1308. -estring(9071,clgamma)
  1309. -estring(9071,ctgamma)
  1310. -estring(9071,cerff)
  1311. -estring(9071,cerfcf)
  1312. -estring(9071,cexp2f)
  1313. -estring(9071,cexpm1f)
  1314. -estring(9071,clog10f)
  1315. -estring(9071,clog1pf)
  1316. -estring(9071,clog2f)
  1317. -estring(9071,clgammaf)
  1318. -estring(9071,ctgammaf)
  1319. -estring(9071,cerfl)
  1320. -estring(9071,cerfcl)
  1321. -estring(9071,cexp2l)
  1322. -estring(9071,cexpm1l)
  1323. -estring(9071,clog10l)
  1324. -estring(9071,clog1pl)
  1325. -estring(9071,clog2l)
  1326. -estring(9071,clgammal)
  1327. -estring(9071,ctgammal)
  1328. -estring(9071,E0*)
  1329. -estring(9071,E1*)
  1330. -estring(9071,E2*)
  1331. -estring(9071,E3*)
  1332. -estring(9071,E4*)
  1333. -estring(9071,E5*)
  1334. -estring(9071,E6*)
  1335. -estring(9071,E7*)
  1336. -estring(9071,E8*)
  1337. -estring(9071,E9*)
  1338. -estring(9071,NDEBUG)
  1339. -estring(9071,PRIa*)
  1340. -estring(9071,PRIb*)
  1341. -estring(9071,PRIc*)
  1342. -estring(9071,PRId*)
  1343. -estring(9071,PRIe*)
  1344. -estring(9071,PRIf*)
  1345. -estring(9071,PRIg*)
  1346. -estring(9071,PRIh*)
  1347. -estring(9071,PRIi*)
  1348. -estring(9071,PRIj*)
  1349. -estring(9071,PRIk*)
  1350. -estring(9071,PRIl*)
  1351. -estring(9071,PRIm*)
  1352. -estring(9071,PRIn*)
  1353. -estring(9071,PRIo*)
  1354. -estring(9071,PRIp*)
  1355. -estring(9071,PRIq*)
  1356. -estring(9071,PRIr*)
  1357. -estring(9071,PRIs*)
  1358. -estring(9071,PRIt*)
  1359. -estring(9071,PRIu*)
  1360. -estring(9071,PRIv*)
  1361. -estring(9071,PRIw*)
  1362. -estring(9071,PRIx*)
  1363. -estring(9071,PRIy*)
  1364. -estring(9071,PRIz*)
  1365. -estring(9071,PRIX*)
  1366. -estring(9071,SCNa*)
  1367. -estring(9071,SCNb*)
  1368. -estring(9071,SCNc*)
  1369. -estring(9071,SCNd*)
  1370. -estring(9071,SCNe*)
  1371. -estring(9071,SCNf*)
  1372. -estring(9071,SCNg*)
  1373. -estring(9071,SCNh*)
  1374. -estring(9071,SCNi*)
  1375. -estring(9071,SCNj*)
  1376. -estring(9071,SCNk*)
  1377. -estring(9071,SCNl*)
  1378. -estring(9071,SCNm*)
  1379. -estring(9071,SCNn*)
  1380. -estring(9071,SCNo*)
  1381. -estring(9071,SCNp*)
  1382. -estring(9071,SCNq*)
  1383. -estring(9071,SCNr*)
  1384. -estring(9071,SCNs*)
  1385. -estring(9071,SCNt*)
  1386. -estring(9071,SCNu*)
  1387. -estring(9071,SCNv*)
  1388. -estring(9071,SCNw*)
  1389. -estring(9071,SCNx*)
  1390. -estring(9071,SCNy*)
  1391. -estring(9071,SCNz*)
  1392. -estring(9071,SCNX*)
  1393. +e9083 /* undefined macro reserved to the compiler */
  1394. +elib(9083)
  1395. -append(9083,[MISRA 2012 Rule 21.1, required])
  1396. // explicit exemptions
  1397. -estring(9083,* because *)
  1398. -estring(9083,cerf)
  1399. -estring(9083,cerfc)
  1400. -estring(9083,cexp2)
  1401. -estring(9083,cexpm1)
  1402. -estring(9083,clog10)
  1403. -estring(9083,clog1p)
  1404. -estring(9083,clog2)
  1405. -estring(9083,clgamma)
  1406. -estring(9083,ctgamma)
  1407. -estring(9083,cerff)
  1408. -estring(9083,cerfcf)
  1409. -estring(9083,cexp2f)
  1410. -estring(9083,cexpm1f)
  1411. -estring(9083,clog10f)
  1412. -estring(9083,clog1pf)
  1413. -estring(9083,clog2f)
  1414. -estring(9083,clgammaf)
  1415. -estring(9083,ctgammaf)
  1416. -estring(9083,cerfl)
  1417. -estring(9083,cerfcl)
  1418. -estring(9083,cexp2l)
  1419. -estring(9083,cexpm1l)
  1420. -estring(9083,clog10l)
  1421. -estring(9083,clog1pl)
  1422. -estring(9083,clog2l)
  1423. -estring(9083,clgammal)
  1424. -estring(9083,ctgammal)
  1425. -estring(9083,E0*)
  1426. -estring(9083,E1*)
  1427. -estring(9083,E2*)
  1428. -estring(9083,E3*)
  1429. -estring(9083,E4*)
  1430. -estring(9083,E5*)
  1431. -estring(9083,E6*)
  1432. -estring(9083,E7*)
  1433. -estring(9083,E8*)
  1434. -estring(9083,E9*)
  1435. -estring(9083,NDEBUG)
  1436. -estring(9083,PRIa*)
  1437. -estring(9083,PRIb*)
  1438. -estring(9083,PRIc*)
  1439. -estring(9083,PRId*)
  1440. -estring(9083,PRIe*)
  1441. -estring(9083,PRIf*)
  1442. -estring(9083,PRIg*)
  1443. -estring(9083,PRIh*)
  1444. -estring(9083,PRIi*)
  1445. -estring(9083,PRIj*)
  1446. -estring(9083,PRIk*)
  1447. -estring(9083,PRIl*)
  1448. -estring(9083,PRIm*)
  1449. -estring(9083,PRIn*)
  1450. -estring(9083,PRIo*)
  1451. -estring(9083,PRIp*)
  1452. -estring(9083,PRIq*)
  1453. -estring(9083,PRIr*)
  1454. -estring(9083,PRIs*)
  1455. -estring(9083,PRIt*)
  1456. -estring(9083,PRIu*)
  1457. -estring(9083,PRIv*)
  1458. -estring(9083,PRIw*)
  1459. -estring(9083,PRIx*)
  1460. -estring(9083,PRIy*)
  1461. -estring(9083,PRIz*)
  1462. -estring(9083,PRIX*)
  1463. -estring(9083,SCNa*)
  1464. -estring(9083,SCNb*)
  1465. -estring(9083,SCNc*)
  1466. -estring(9083,SCNd*)
  1467. -estring(9083,SCNe*)
  1468. -estring(9083,SCNf*)
  1469. -estring(9083,SCNg*)
  1470. -estring(9083,SCNh*)
  1471. -estring(9083,SCNi*)
  1472. -estring(9083,SCNj*)
  1473. -estring(9083,SCNk*)
  1474. -estring(9083,SCNl*)
  1475. -estring(9083,SCNm*)
  1476. -estring(9083,SCNn*)
  1477. -estring(9083,SCNo*)
  1478. -estring(9083,SCNp*)
  1479. -estring(9083,SCNq*)
  1480. -estring(9083,SCNr*)
  1481. -estring(9083,SCNs*)
  1482. -estring(9083,SCNt*)
  1483. -estring(9083,SCNu*)
  1484. -estring(9083,SCNv*)
  1485. -estring(9083,SCNw*)
  1486. -estring(9083,SCNx*)
  1487. -estring(9083,SCNy*)
  1488. -estring(9083,SCNz*)
  1489. -estring(9083,SCNX*)
  1490. /**** Rule 21.2 (Req) ************/
  1491. +e683 /* complain about #define standard functions */
  1492. +elib(683)
  1493. -append(683,[MISRA 2012 Rule 21.2, required])
  1494. /* Undefining standard library macros is covered by rule 20.5. */
  1495. /* Defining/redefining reserved/standard identifiers is covered
  1496. by rule 20.4 and 21.2.
  1497. */
  1498. /**** Rule 21.3 (Req) ************/
  1499. +e586 /* Symbol is deprecated */
  1500. +elib(586)
  1501. -deprecate(function,calloc,[MISRA 2012 Rule 21.3, required])
  1502. -deprecate(macro,calloc,[MISRA 2012 Rule 21.3, required])
  1503. -deprecate(function,malloc,[MISRA 2012 Rule 21.3, required])
  1504. -deprecate(macro,malloc,[MISRA 2012 Rule 21.3, required])
  1505. -deprecate(function,realloc,[MISRA 2012 Rule 21.3, required])
  1506. -deprecate(macro,realloc,[MISRA 2012 Rule 21.3, required])
  1507. -deprecate(function,free,[MISRA 2012 Rule 21.3, required])
  1508. -deprecate(macro,free,[MISRA 2012 Rule 21.3, required])
  1509. /**** Rule 21.4 (Req) ************/
  1510. +e829 /* warn on header usage */
  1511. +elib(829)
  1512. +headerwarn(setjmp.h)
  1513. -append(829(setjmp.h),[MISRA 2012 Rule 21.4, required])
  1514. -deprecate(function,setjmp,[MISRA 2012 Rule 21.4, required])
  1515. -deprecate(function,longjmp,[MISRA 2012 Rule 21.4, required])
  1516. -deprecate(macro,setjmp,[MISRA 2012 Rule 21.4, required])
  1517. -deprecate(macro,longjmp,[MISRA 2012 Rule 21.4, required])
  1518. /**** Rule 21.5 (Req) ************/
  1519. +e586 /* Symbol is deprecated */
  1520. +elib(586)
  1521. -deprecate(function,signal,[MISRA 2012 Rule 21.5, required])
  1522. -deprecate(function,raise,[MISRA 2012 Rule 21.5, required])
  1523. -deprecate(macro,SIGABRT,[MISRA 2012 Rule 21.5, required])
  1524. -deprecate(macro,SIGFPE,[MISRA 2012 Rule 21.5, required])
  1525. -deprecate(macro,SIGILL,[MISRA 2012 Rule 21.5, required])
  1526. -deprecate(macro,SIGINT,[MISRA 2012 Rule 21.5, required])
  1527. -deprecate(macro,SIGSEGV,[MISRA 2012 Rule 21.5, required])
  1528. -deprecate(macro,SIGTERM,[MISRA 2012 Rule 21.5, required])
  1529. -deprecate(macro,SIG_DFL,[MISRA 2012 Rule 21.5, required])
  1530. -deprecate(macro,SIG_ERR,[MISRA 2012 Rule 21.5, required])
  1531. -deprecate(macro,SIG_IGN,[MISRA 2012 Rule 21.5, required])
  1532. +e829 /* warn on header usage */
  1533. +elib(829)
  1534. +headerwarn(signal.h)
  1535. -append(829(signal.h),[MISRA 2012 Rule 21.5, required])
  1536. /**** Rule 21.6 (Req) ************/
  1537. +e586 /* Symbol is deprecated */
  1538. +elib(586)
  1539. -deprecate(function,clearerr,[MISRA 2012 Rule 21.6, required])
  1540. -deprecate(function,fclose,[MISRA 2012 Rule 21.6, required])
  1541. -deprecate(function,feof,[MISRA 2012 Rule 21.6, required])
  1542. -deprecate(function,ferror,[MISRA 2012 Rule 21.6, required])
  1543. -deprecate(function,fflush,[MISRA 2012 Rule 21.6, required])
  1544. -deprecate(function,fgetc,[MISRA 2012 Rule 21.6, required])
  1545. -deprecate(function,fgetpos,[MISRA 2012 Rule 21.6, required])
  1546. -deprecate(function,fgets,[MISRA 2012 Rule 21.6, required])
  1547. -deprecate(function,fgetwc,[MISRA 2012 Rule 21.6, required])
  1548. -deprecate(function,fgetws,[MISRA 2012 Rule 21.6, required])
  1549. -deprecate(function,fopen,[MISRA 2012 Rule 21.6, required])
  1550. -deprecate(function,fprintf,[MISRA 2012 Rule 21.6, required])
  1551. -deprecate(function,fputc,[MISRA 2012 Rule 21.6, required])
  1552. -deprecate(function,fputs,[MISRA 2012 Rule 21.6, required])
  1553. -deprecate(function,fputwc,[MISRA 2012 Rule 21.6, required])
  1554. -deprecate(function,fputws,[MISRA 2012 Rule 21.6, required])
  1555. -deprecate(function,fread,[MISRA 2012 Rule 21.6, required])
  1556. -deprecate(function,fscanf,[MISRA 2012 Rule 21.6, required])
  1557. -deprecate(function,fseek,[MISRA 2012 Rule 21.6, required])
  1558. -deprecate(function,fsetpos,[MISRA 2012 Rule 21.6, required])
  1559. -deprecate(function,freopen,[MISRA 2012 Rule 21.6, required])
  1560. -deprecate(function,ftell,[MISRA 2012 Rule 21.6, required])
  1561. -deprecate(function,fwide,[MISRA 2012 Rule 21.6, required])
  1562. -deprecate(function,fwprintf,[MISRA 2012 Rule 21.6, required])
  1563. -deprecate(function,fwrite,[MISRA 2012 Rule 21.6, required])
  1564. -deprecate(function,fwscanf,[MISRA 2012 Rule 21.6, required])
  1565. -deprecate(function,getc,[MISRA 2012 Rule 21.6, required])
  1566. -deprecate(function,getchar,[MISRA 2012 Rule 21.6, required])
  1567. -deprecate(function,gets,[MISRA 2012 Rule 21.6, required])
  1568. -deprecate(function,getwc,[MISRA 2012 Rule 21.6, required])
  1569. -deprecate(function,getwchar,[MISRA 2012 Rule 21.6, required])
  1570. -deprecate(function,perror,[MISRA 2012 Rule 21.6, required])
  1571. -deprecate(function,printf,[MISRA 2012 Rule 21.6, required])
  1572. -deprecate(function,putc,[MISRA 2012 Rule 21.6, required])
  1573. -deprecate(function,putchar,[MISRA 2012 Rule 21.6, required])
  1574. -deprecate(function,puts,[MISRA 2012 Rule 21.6, required])
  1575. -deprecate(function,putwc,[MISRA 2012 Rule 21.6, required])
  1576. -deprecate(function,putwchar,[MISRA 2012 Rule 21.6, required])
  1577. -deprecate(function,remove,[MISRA 2012 Rule 21.6, required])
  1578. -deprecate(function,rename,[MISRA 2012 Rule 21.6, required])
  1579. -deprecate(function,rewind,[MISRA 2012 Rule 21.6, required])
  1580. -deprecate(function,scanf,[MISRA 2012 Rule 21.6, required])
  1581. -deprecate(function,setbuf,[MISRA 2012 Rule 21.6, required])
  1582. -deprecate(function,setvbuf,[MISRA 2012 Rule 21.6, required])
  1583. -deprecate(function,snprintf,[MISRA 2012 Rule 21.6, required])
  1584. -deprecate(function,sprintf,[MISRA 2012 Rule 21.6, required])
  1585. -deprecate(function,sscanf,[MISRA 2012 Rule 21.6, required])
  1586. -deprecate(function,swprintf,[MISRA 2012 Rule 21.6, required])
  1587. -deprecate(function,swscanf,[MISRA 2012 Rule 21.6, required])
  1588. -deprecate(function,tmpfile,[MISRA 2012 Rule 21.6, required])
  1589. -deprecate(function,tmpnam,[MISRA 2012 Rule 21.6, required])
  1590. -deprecate(function,ungetc,[MISRA 2012 Rule 21.6, required])
  1591. -deprecate(function,ungetwc,[MISRA 2012 Rule 21.6, required])
  1592. -deprecate(function,vfprintf,[MISRA 2012 Rule 21.6, required])
  1593. -deprecate(function,vfscanf,[MISRA 2012 Rule 21.6, required])
  1594. -deprecate(function,vfwprintf,[MISRA 2012 Rule 21.6, required])
  1595. -deprecate(function,vfwscanf,[MISRA 2012 Rule 21.6, required])
  1596. -deprecate(function,vprintf,[MISRA 2012 Rule 21.6, required])
  1597. -deprecate(function,vscanf,[MISRA 2012 Rule 21.6, required])
  1598. -deprecate(function,vsnprintf,[MISRA 2012 Rule 21.6, required])
  1599. -deprecate(function,vsprintf,[MISRA 2012 Rule 21.6, required])
  1600. -deprecate(function,vsscanf,[MISRA 2012 Rule 21.6, required])
  1601. -deprecate(function,vswprintf,[MISRA 2012 Rule 21.6, required])
  1602. -deprecate(function,vswscanf,[MISRA 2012 Rule 21.6, required])
  1603. -deprecate(function,vwprintf,[MISRA 2012 Rule 21.6, required])
  1604. -deprecate(function,vwscanf,[MISRA 2012 Rule 21.6, required])
  1605. -deprecate(function,wprintf,[MISRA 2012 Rule 21.6, required])
  1606. -deprecate(function,wscanf,[MISRA 2012 Rule 21.6, required])
  1607. -deprecate(macro,clearerr,[MISRA 2012 Rule 21.6, required])
  1608. -deprecate(macro,fclose,[MISRA 2012 Rule 21.6, required])
  1609. -deprecate(macro,feof,[MISRA 2012 Rule 21.6, required])
  1610. -deprecate(macro,ferror,[MISRA 2012 Rule 21.6, required])
  1611. -deprecate(macro,fflush,[MISRA 2012 Rule 21.6, required])
  1612. -deprecate(macro,fgetc,[MISRA 2012 Rule 21.6, required])
  1613. -deprecate(macro,fgets,[MISRA 2012 Rule 21.6, required])
  1614. -deprecate(macro,fgetpos,[MISRA 2012 Rule 21.6, required])
  1615. -deprecate(macro,fgetwc,[MISRA 2012 Rule 21.6, required])
  1616. -deprecate(macro,fgetws,[MISRA 2012 Rule 21.6, required])
  1617. -deprecate(macro,fopen,[MISRA 2012 Rule 21.6, required])
  1618. -deprecate(macro,fprintf,[MISRA 2012 Rule 21.6, required])
  1619. -deprecate(macro,fputc,[MISRA 2012 Rule 21.6, required])
  1620. -deprecate(macro,fputs,[MISRA 2012 Rule 21.6, required])
  1621. -deprecate(macro,fputwc,[MISRA 2012 Rule 21.6, required])
  1622. -deprecate(macro,fputws,[MISRA 2012 Rule 21.6, required])
  1623. -deprecate(macro,fread,[MISRA 2012 Rule 21.6, required])
  1624. -deprecate(macro,fscanf,[MISRA 2012 Rule 21.6, required])
  1625. -deprecate(macro,fseek,[MISRA 2012 Rule 21.6, required])
  1626. -deprecate(macro,fsetpos,[MISRA 2012 Rule 21.6, required])
  1627. -deprecate(macro,freopen,[MISRA 2012 Rule 21.6, required])
  1628. -deprecate(macro,ftell,[MISRA 2012 Rule 21.6, required])
  1629. -deprecate(macro,fwide,[MISRA 2012 Rule 21.6, required])
  1630. -deprecate(macro,fwprintf,[MISRA 2012 Rule 21.6, required])
  1631. -deprecate(macro,fwrite,[MISRA 2012 Rule 21.6, required])
  1632. -deprecate(macro,fwscanf,[MISRA 2012 Rule 21.6, required])
  1633. -deprecate(macro,getc,[MISRA 2012 Rule 21.6, required])
  1634. -deprecate(macro,getchar,[MISRA 2012 Rule 21.6, required])
  1635. -deprecate(macro,gets,[MISRA 2012 Rule 21.6, required])
  1636. -deprecate(macro,getwc,[MISRA 2012 Rule 21.6, required])
  1637. -deprecate(macro,getwchar,[MISRA 2012 Rule 21.6, required])
  1638. -deprecate(macro,perror,[MISRA 2012 Rule 21.6, required])
  1639. -deprecate(macro,printf,[MISRA 2012 Rule 21.6, required])
  1640. -deprecate(macro,putc,[MISRA 2012 Rule 21.6, required])
  1641. -deprecate(macro,putchar,[MISRA 2012 Rule 21.6, required])
  1642. -deprecate(macro,puts,[MISRA 2012 Rule 21.6, required])
  1643. -deprecate(macro,putwc,[MISRA 2012 Rule 21.6, required])
  1644. -deprecate(macro,putwchar,[MISRA 2012 Rule 21.6, required])
  1645. -deprecate(macro,remove,[MISRA 2012 Rule 21.6, required])
  1646. -deprecate(macro,rename,[MISRA 2012 Rule 21.6, required])
  1647. -deprecate(macro,rewind,[MISRA 2012 Rule 21.6, required])
  1648. -deprecate(macro,scanf,[MISRA 2012 Rule 21.6, required])
  1649. -deprecate(macro,setbuf,[MISRA 2012 Rule 21.6, required])
  1650. -deprecate(macro,setvbuf,[MISRA 2012 Rule 21.6, required])
  1651. -deprecate(macro,snprintf,[MISRA 2012 Rule 21.6, required])
  1652. -deprecate(macro,sprintf,[MISRA 2012 Rule 21.6, required])
  1653. -deprecate(macro,sscanf,[MISRA 2012 Rule 21.6, required])
  1654. -deprecate(macro,swprintf,[MISRA 2012 Rule 21.6, required])
  1655. -deprecate(macro,swscanf,[MISRA 2012 Rule 21.6, required])
  1656. -deprecate(macro,tmpfile,[MISRA 2012 Rule 21.6, required])
  1657. -deprecate(macro,tmpnam,[MISRA 2012 Rule 21.6, required])
  1658. -deprecate(macro,ungetc,[MISRA 2012 Rule 21.6, required])
  1659. -deprecate(macro,ungetwc,[MISRA 2012 Rule 21.6, required])
  1660. -deprecate(macro,vfprintf,[MISRA 2012 Rule 21.6, required])
  1661. -deprecate(macro,vfscanf,[MISRA 2012 Rule 21.6, required])
  1662. -deprecate(macro,vfwprintf,[MISRA 2012 Rule 21.6, required])
  1663. -deprecate(macro,vfwscanf,[MISRA 2012 Rule 21.6, required])
  1664. -deprecate(macro,vprintf,[MISRA 2012 Rule 21.6, required])
  1665. -deprecate(macro,vscanf,[MISRA 2012 Rule 21.6, required])
  1666. -deprecate(macro,vsnprintf,[MISRA 2012 Rule 21.6, required])
  1667. -deprecate(macro,vsprintf,[MISRA 2012 Rule 21.6, required])
  1668. -deprecate(macro,vsscanf,[MISRA 2012 Rule 21.6, required])
  1669. -deprecate(macro,vswprintf,[MISRA 2012 Rule 21.6, required])
  1670. -deprecate(macro,vswscanf,[MISRA 2012 Rule 21.6, required])
  1671. -deprecate(macro,vwprintf,[MISRA 2012 Rule 21.6, required])
  1672. -deprecate(macro,vwscanf,[MISRA 2012 Rule 21.6, required])
  1673. -deprecate(macro,wprintf,[MISRA 2012 Rule 21.6, required])
  1674. -deprecate(macro,wscanf,[MISRA 2012 Rule 21.6, required])
  1675. /**** Rule 21.7 (Req) ************/
  1676. +e586 /* Symbol is deprecated */
  1677. +elib(586)
  1678. -deprecate(function,atof,[MISRA 2012 Rule 21.7, required])
  1679. -deprecate(function,atoi,[MISRA 2012 Rule 21.7, required])
  1680. -deprecate(function,atol,[MISRA 2012 Rule 21.7, required])
  1681. -deprecate(function,atoll,[MISRA 2012 Rule 21.7, required])
  1682. -deprecate(macro,atof,[MISRA 2012 Rule 21.7, required])
  1683. -deprecate(macro,atoi,[MISRA 2012 Rule 21.7, required])
  1684. -deprecate(macro,atol,[MISRA 2012 Rule 21.7, required])
  1685. -deprecate(macro,atoll,[MISRA 2012 Rule 21.7, required])
  1686. /**** Rule 21.8 (Req) ************/
  1687. +e586 /* Symbol is deprecated */
  1688. +elib(586)
  1689. -deprecate(function,abort,[MISRA 2012 Rule 21.8, required])
  1690. -deprecate(function,exit,[MISRA 2012 Rule 21.8, required])
  1691. -deprecate(function,getenv,[MISRA 2012 Rule 21.8, required])
  1692. -deprecate(function,system,[MISRA 2012 Rule 21.8, required])
  1693. -deprecate(macro,abort,[MISRA 2012 Rule 21.8, required])
  1694. -deprecate(macro,exit,[MISRA 2012 Rule 21.8, required])
  1695. -deprecate(macro,getenv,[MISRA 2012 Rule 21.8, required])
  1696. -deprecate(macro,system,[MISRA 2012 Rule 21.8, required])
  1697. /**** Rule 21.9 (Req) ************/
  1698. +e586 /* Symbol is deprecated */
  1699. +elib(586)
  1700. -deprecate(function,bsearch,[MISRA 2012 Rule 21.9, required])
  1701. -deprecate(function,qsort,[MISRA 2012 Rule 21.9, required])
  1702. -deprecate(macro,bsearch,[MISRA 2012 Rule 21.9, required])
  1703. -deprecate(macro,qsort,[MISRA 2012 Rule 21.9, required])
  1704. /**** Rule 21.10 (Req) ************/
  1705. +e586 /* Symbol is deprecated */
  1706. +elib(586)
  1707. -deprecate(macro,wcsftime,[MISRA 2012 Rule 21.10, required])
  1708. -deprecate(function,wcsftime,[MISRA 2012 Rule 21.10, required])
  1709. -deprecate(macro,clock,[MISRA 2012 Rule 21.10, required])
  1710. -deprecate(function,clock,[MISRA 2012 Rule 21.10, required])
  1711. -deprecate(macro,difftime,[MISRA 2012 Rule 21.10, required])
  1712. -deprecate(function,difftime,[MISRA 2012 Rule 21.10, required])
  1713. -deprecate(macro,mktime,[MISRA 2012 Rule 21.10, required])
  1714. -deprecate(function,mktime,[MISRA 2012 Rule 21.10, required])
  1715. -deprecate(macro,time,[MISRA 2012 Rule 21.10, required])
  1716. -deprecate(function,time,[MISRA 2012 Rule 21.10, required])
  1717. -deprecate(macro,asctime,[MISRA 2012 Rule 21.10, required])
  1718. -deprecate(function,asctime,[MISRA 2012 Rule 21.10, required])
  1719. -deprecate(macro,ctime,[MISRA 2012 Rule 21.10, required])
  1720. -deprecate(function,ctime,[MISRA 2012 Rule 21.10, required])
  1721. -deprecate(macro,gmtime,[MISRA 2012 Rule 21.10, required])
  1722. -deprecate(function,gmtime,[MISRA 2012 Rule 21.10, required])
  1723. -deprecate(macro,localtime,[MISRA 2012 Rule 21.10, required])
  1724. -deprecate(function,localtime,[MISRA 2012 Rule 21.10, required])
  1725. -deprecate(macro,strftime,[MISRA 2012 Rule 21.10, required])
  1726. -deprecate(function,strftime,[MISRA 2012 Rule 21.10, required])
  1727. -deprecate(macro,CLOCKS_PER_SEC,[MISRA 2012 Rule 21.10, required])
  1728. +e829 /* warn on header usage */
  1729. +elib(829)
  1730. +headerwarn(time.h)
  1731. -append(829(time.h),[MISRA 2012 Rule 21.10, required])
  1732. /**** Rule 21.11 (Req) ************/
  1733. +e829 /* warn on header usage */
  1734. +elib(829)
  1735. +headerwarn(tgmath.h)
  1736. -append(829(tgmath.h),[MISRA 2012 Rule 21.11, required])
  1737. /**** Rule 21.12 (Adv) ************/
  1738. +e586 /* Symbol is deprecated */
  1739. +elib(586)
  1740. -deprecate(function,feclearexcept,[MISRA 2012 Rule 21.12, advisory])
  1741. -deprecate(macro,feclearexcept,[MISRA 2012 Rule 21.12, advisory])
  1742. -deprecate(function,fegetexceptflag,[MISRA 2012 Rule 21.12, advisory])
  1743. -deprecate(macro,fegetexceptflag,[MISRA 2012 Rule 21.12, advisory])
  1744. -deprecate(function,feraiseexcept,[MISRA 2012 Rule 21.12, advisory])
  1745. -deprecate(macro,feraiseexcept,[MISRA 2012 Rule 21.12, advisory])
  1746. -deprecate(function,fesetexceptflag,[MISRA 2012 Rule 21.12, advisory])
  1747. -deprecate(macro,fesetexceptflag,[MISRA 2012 Rule 21.12, advisory])
  1748. -deprecate(function,fetestexcept,[MISRA 2012 Rule 21.12, advisory])
  1749. -deprecate(macro,fetestexcept,[MISRA 2012 Rule 21.12, advisory])
  1750. -deprecate(macro,FE_INEXACT,[MISRA 2012 Rule 21.12, advisory])
  1751. -deprecate(macro,FE_DIVBYZERO,[MISRA 2012 Rule 21.12, advisory])
  1752. -deprecate(macro,FE_UNDERFLOW,[MISRA 2012 Rule 21.12, advisory])
  1753. -deprecate(macro,FE_OVERFLOW,[MISRA 2012 Rule 21.12, advisory])
  1754. -deprecate(macro,FE_INVALID,[MISRA 2012 Rule 21.12, advisory])
  1755. -deprecate(macro,FE_ALL_EXCEPT,[MISRA 2012 Rule 21.12, advisory])
  1756. /**** Rule 22.1 (Req) ************/
  1757. /* While MISRA has declared this rule to be "undecidable", Gimpel
  1758. * Software provides the following options to assist:
  1759. */
  1760. +e429 /* custodial pointer neither free'd nor returned */
  1761. +elib(429)
  1762. -append(429,[MISRA 2012 Rule 22.1, required])
  1763. -function_pair(fopen,fclose)
  1764. +e480 /* no balancing call */
  1765. +elib(480)
  1766. -append(480,[MISRA 2012 Rule 22.1, required])
  1767. +e481 /* different balance call states */
  1768. +elib(481)
  1769. -append(481,[MISRA 2012 Rule 22.1, required])
  1770. /**** Rule 22.2 (Mand) ************/
  1771. /* While MISRA has declared this rule to be "undecidable", Gimpel
  1772. * Software provides the following options to assist:
  1773. */
  1774. +e424 /* inappropriate deallocation */
  1775. +elib(424)
  1776. -append(424,[MISRA 2012 Rule 22.2, mandatory])
  1777. +e449 /* pointer previously deallocated */
  1778. +elib(449)
  1779. -append(449,[MISRA 2012 Rule 22.2, mandatory])
  1780. /**** Rule 22.3 (Req) ************/
  1781. /* MISRA has declared this rule to be "undecidable". */
  1782. /**** Rule 22.4 (Mand) ************/
  1783. /* MISRA has declared this rule to be "undecidable". */
  1784. /**** Rule 22.5 (Mand) ************/
  1785. /* While MISRA has declared this rule to be "undecidable", Gimpel
  1786. Software provides the following message to assist:
  1787. */
  1788. +e9047 /* FILE pointer dereferenced */
  1789. +elib(9047)
  1790. -append(9047,[MISRA 2012 Rule 22.5, mandatory])
  1791. /**** Rule 22.6 (Mand) ************/
  1792. /* While MISRA has declared this rule to be "undecidable", Gimpel
  1793. * Software provides the following options to assist:
  1794. */
  1795. +e449 /* previously deallocated pointer */
  1796. +elib(449)
  1797. -append(449,[MISRA 2012 Rule 22.6, mandatory])