|
6 | 6 | },
|
7 | 7 | "queries": [
|
8 | 8 | {
|
9 |
| - "description": "", |
| 9 | + "description": "Commented out code may become out of date leading to developer confusion.", |
10 | 10 | "kind": "problem",
|
11 | 11 | "name": "Sections of code should not be \u201ccommented out\u201d",
|
12 | 12 | "precision": "very-high",
|
|
29 | 29 | },
|
30 | 30 | "queries": [
|
31 | 31 | {
|
32 |
| - "description": "", |
| 32 | + "description": "The one-definition rule specifies when there should be a single definition of an element and a violation of that rule leads to undefined behavior.", |
33 | 33 | "kind": "problem",
|
34 | 34 | "name": "The one-definition rule shall not be violated",
|
35 | 35 | "precision": "very-high",
|
|
51 | 51 | },
|
52 | 52 | "queries": [
|
53 | 53 | {
|
54 |
| - "description": "", |
| 54 | + "description": "Use of an identifier declared in an inner scope with an identical name to an identifier in an outer scope can lead to inadvertent errors if the incorrect identifier is modified.", |
55 | 55 | "kind": "problem",
|
56 | 56 | "name": "A variable declared in an inner scope shall not hide a variable declared in an outer scope",
|
57 | 57 | "precision": "very-high",
|
|
109 | 109 | },
|
110 | 110 | "queries": [
|
111 | 111 | {
|
112 |
| - "description": "A cast shall not remove any const or volatile qualification from the type accessed via a pointer or by reference", |
| 112 | + "description": "A cast shall not remove any const or volatile qualification from the type accessed via a pointer or by reference.", |
113 | 113 | "kind": "problem",
|
114 | 114 | "name": "A cast shall not remove any const or volatile qualification from the type accessed via a pointer or",
|
115 | 115 | "precision": "very-high",
|
|
131 | 131 | },
|
132 | 132 | "queries": [
|
133 | 133 | {
|
134 |
| - "description": "All if ... else if constructs shall be terminated with an else statement", |
| 134 | + "description": "All if ... else if constructs shall be terminated with an else statement.", |
135 | 135 | "kind": "problem",
|
136 | 136 | "name": "All if ",
|
137 | 137 | "precision": "very-high",
|
|
154 | 154 | },
|
155 | 155 | "queries": [
|
156 | 156 | {
|
157 |
| - "description": "", |
| 157 | + "description": "Jumping back to an earlier section in the code can lead to accidental iterations.", |
158 | 158 | "kind": "problem",
|
159 | 159 | "name": "The goto statement shall jump to a label declared later in the function body",
|
160 | 160 | "precision": "very-high",
|
|
177 | 177 | },
|
178 | 178 | "queries": [
|
179 | 179 | {
|
180 |
| - "description": "", |
| 180 | + "description": "A function with the [[noreturn]] attribute that returns leads to undefined behaviour.", |
181 | 181 | "kind": "problem",
|
182 | 182 | "name": "A function declared with the [[noreturn]] attribute shall not return",
|
183 | 183 | "precision": "very-high",
|
|
199 | 199 | },
|
200 | 200 | "queries": [
|
201 | 201 | {
|
202 |
| - "description": "", |
| 202 | + "description": "A function with non-void return type that does not exit via a return statement can result in undefined behaviour. An exception to this rule is exiting via exception handling.", |
203 | 203 | "kind": "problem",
|
204 | 204 | "name": "A function with non-void return type shall return a value on all paths",
|
205 | 205 | "precision": "very-high",
|
|
221 | 221 | },
|
222 | 222 | "queries": [
|
223 | 223 | {
|
224 |
| - "description": "", |
| 224 | + "description": "Declarations with more than two levels of pointer nesting can result in code that is difficult to read and understand.", |
225 | 225 | "kind": "problem",
|
226 | 226 | "name": "The declaration of an object should contain no more than two levels of pointer indirection",
|
227 | 227 | "precision": "very-high",
|
|
244 | 244 | },
|
245 | 245 | "queries": [
|
246 | 246 | {
|
247 |
| - "description": "Handlers for a function-try-block of a constructor or destructor shall not refer to non-static members from their class or its bases", |
| 247 | + "description": "Handlers for a function-try-block of a constructor or destructor shall not refer to non-static members from their class or its bases.", |
248 | 248 | "kind": "problem",
|
249 | 249 | "name": "Handlers for a function-try-block of a constructor or destructor shall not refer to non-static",
|
250 | 250 | "precision": "very-high",
|
|
266 | 266 | },
|
267 | 267 | "queries": [
|
268 | 268 | {
|
269 |
| - "description": "", |
| 269 | + "description": "Using anything other than other pre-processor directives or comments before an '#include' directive makes the code more difficult to read.", |
270 | 270 | "kind": "problem",
|
271 | 271 | "name": "#include directives should only be preceded by preprocessor directives or comments",
|
272 | 272 | "precision": "very-high",
|
|
288 | 288 | },
|
289 | 289 | "queries": [
|
290 | 290 | {
|
291 |
| - "description": "All identifiers used in the controlling expression of #if or #elif preprocessing directives shall be defined prior to evaluation", |
| 291 | + "description": "All identifiers used in the controlling expression of #if or #elif preprocessing directives shall be defined prior to evaluation.", |
292 | 292 | "kind": "problem",
|
293 | 293 | "name": "All identifiers used in the controlling expression of #if or #elif preprocessing directives shall be",
|
294 | 294 | "precision": "very-high",
|
|
311 | 311 | },
|
312 | 312 | "queries": [
|
313 | 313 | {
|
314 |
| - "description": "The ' or \" or \\ characters and the /* or // character sequences shall not occur in a header file name", |
| 314 | + "description": "The ' or \" or \\ characters and the /* or // character sequences shall not occur in a header file name.", |
315 | 315 | "kind": "problem",
|
316 | 316 | "name": "The ' or \" or \\ characters and the /* or // character sequences shall not occur in a header file",
|
317 | 317 | "precision": "very-high",
|
|
337 | 337 | },
|
338 | 338 | "queries": [
|
339 | 339 | {
|
340 |
| - "description": "", |
| 340 | + "description": "The order of evaluation for the '#' and '##' operators may differ between compilers, which can cause unexpected behaviour.", |
341 | 341 | "kind": "problem",
|
342 | 342 | "name": "The # and ## preprocessor operators should not be used",
|
343 | 343 | "precision": "very-high",
|
|
359 | 359 | },
|
360 | 360 | "queries": [
|
361 | 361 | {
|
362 |
| - "description": "", |
| 362 | + "description": "Arguments to a function-like macro shall not contain tokens that look like pre-processing directives or else behaviour after macro expansion is unpredictable.", |
363 | 363 | "kind": "problem",
|
364 | 364 | "name": "Tokens that look like a preprocessing directive shall not occur within a macro argument",
|
365 | 365 | "precision": "very-high",
|
|
382 | 382 | },
|
383 | 383 | "queries": [
|
384 | 384 | {
|
385 |
| - "description": "", |
| 385 | + "description": "Do not delete pointers to incomplete classes to prevent undefined behavior.", |
386 | 386 | "kind": "problem",
|
387 | 387 | "name": "A pointer to an incomplete class type shall not be deleted",
|
388 | 388 | "precision": "very-high",
|
|
404 | 404 | },
|
405 | 405 | "queries": [
|
406 | 406 | {
|
407 |
| - "description": "The pointers returned by the C++ Standard Library functions localeconv, getenv, setlocale or strerror must only be used as if they have pointer to const-qualified type", |
| 407 | + "description": "The pointers returned by the C++ Standard Library functions localeconv, getenv, setlocale or strerror must only be used as if they have pointer to const-qualified type.", |
408 | 408 | "kind": "problem",
|
409 | 409 | "name": "The pointers returned by environment functions should be treated as const",
|
410 | 410 | "precision": "very-high",
|
|
461 | 461 | },
|
462 | 462 | "queries": [
|
463 | 463 | {
|
464 |
| - "description": "", |
| 464 | + "description": "Moved-from object shall not be read-accessed.", |
465 | 465 | "kind": "problem",
|
466 | 466 | "name": "An object shall not be used while in a potentially moved-from state",
|
467 | 467 | "precision": "very-high",
|
|
483 | 483 | },
|
484 | 484 | "queries": [
|
485 | 485 | {
|
486 |
| - "description": "", |
| 486 | + "description": "Alternate input and output operations on a file stream shall not be used without an intervening flush or positioning call.", |
487 | 487 | "kind": "problem",
|
488 | 488 | "name": "Reads and writes on the same file stream shall be separated by a positioning operation",
|
489 | 489 | "precision": "very-high",
|
|
0 commit comments