Skip to content

Latest commit

 

History

History
1077 lines (621 loc) · 20.2 KB

MISRA-Rules.md

File metadata and controls

1077 lines (621 loc) · 20.2 KB

MISRA:C

Guidelines for the use of the C language in critical systems.

8.1 A Standard C Environment

Rule 1.1

✔️ No equivalent.

See Rule_1_1.rs

Rule 1.2

✔️ No equivalent.

See Rule_1_2.rs

Rule 1.3

✔️ Enforceable by default.

See Rule_1_3.rs

8.2 Unused Code

Rule 2.1

✔️ Enforceable by default.

See Rule_2_1.rs

Rule 2.2

✔️ Enforceable by default.

See Rule_2_2.rs

Rule 2.3

✔️ Enforceable by default.

See Rule_2_3.rs

Rule 2.4

✔️ Enforceable by default.

See Rule_2_4.rs

Rule 2.5

✔️ Enforceable by default.

See Rule_2_5.rs

Rule 2.6

✔️ Enforceable by default.

See Rule_2_6.rs

Rule 2.7

✔️ Enforceable by default.

See Rule_2_7.rs

8.3 Comments

Rule 3.1

Not enforceable by default

See Rule_3_1.rs

Rule 3.2

✔️ Enforceable by default.

See Rule_3_2.rs

8.4 Character sets and lexical conventions

Rule 4.1

✔️ Enforceable by default.

See Rule_4_1.rs

Rule 4.2

✔️ No equivalent.

See Rule_4_2.rs

8.5 Identifiers

Rule 5.1

Not enforceable by default

See Rule_5_1.rs

Rule 5.2

Not enforceable by default

See Rule_5_2.rs

Rule 5.3

Not enforceable by default

See Rule_5_3.rs

Rule 5.4

Not enforceable by default

See Rule_5_4.rs

Rule 5.5

✔️ Enforceable by default.

See Rule_5_5.rs

Rule 5.6

Not enforceable by default

See Rule_5_6.rs

Rule 5.7

Not enforceable by default

See Rule_5_7.rs

Rule 5.8

✔️ Enforceable by default.

See Rule_5_8.rs

Rule 5.9

✔️ Enforceable by default.

See Rule_5_9.rs

8.6 Types

Rule 6.1

✔️ No equivalent.

See Rule_6_1.rs

Rule 6.2

✔️ No equivalent.

See Rule_6_2.rs

8.7 Literals and Constants

Rule 7.1

✔️ No equivalent.

See Rule_7_1.rs

Rule 7.2

Not enforceable by default

See Rule_7_2.rs

Rule 7.3

✔️ No equivalent.

See Rule_7_3.rs

Rule 7.4

Not enforceable by default

See Rule_7_4.rs

8.8 Literals and Constants

Rule 8.1

Not enforceable by default

See Rule_8_1.rs

Rule 8.2

✔️ No equivalent.

See Rule_8_2.rs

Rule 8.3

✔️ No equivalent.

See Rule_8_3.rs

Rule 8.4

✔️ No equivalent.

See Rule_8_4.rs

Rule 8.5

✔️ Enforceable by default.

See Rule_8_5.rs

Rule 8.6

✔️ Enforceable by default.

See Rule_8_6.rs

Rule 8.7

Not enforceable by default

See Rule_8_7.rs

Rule 8.8

✔️ No equivalent.

See Rule_8_8.rs

Rule 8.9

Not enforceable by default

See Rule_8_9.rs

Rule 8.10

✔️ No equivalent.

See Rule_8_10.rs

Rule 8.11

✔️ Enforceable by default.

See Rule_8_11.rs

Rule 8.12

✔️ Enforceable by default.

See Rule_8_12.rs

Rule 8.13

Not enforceable by default

See Rule_8_13.rs

Rule 8.14

✔️ No equivalent.

See Rule_8_14.rs

8.9 Initialization

Rule 9.1

✔️ Enforceable by default.

See Rule_9_1.rs

Rule 9.2

✔️ Enforceable by default.

See Rule_9_2.rs

Rule 9.3

✔️ Enforceable by default.

See Rule_9_3.rs

Rule 9.4

✔️ Enforceable by default.

See Rule_9_4.rs

Rule 9.5

✔️ Enforceable by default.

See Rule_9_5.rs

8.10 The Essential Type Model

Rule 10.1

Not enforceable by default

See Rule_10_1.rs

Rule 10.2

✔️ Enforceable by default.

See Rule_10_2.rs

Rule 10.3

✔️ Enforceable by default.

See Rule_10_3.rs

Rule 10.4

✔️ Enforceable by default.

See Rule_10_4.rs

Rule 10.5

✔️ Enforceable by default.

See Rule_10_5.rs

Rule 10.6

✔️ Enforceable by default.

See Rule_10_6.rs

Rule 10.7

✔️ Enforceable by default.

See Rule_10_7.rs

Rule 10.8

Not enforceable by default

See Rule_10_8.rs

8.11 Pointer Type Conversions

Rule 11.1

✔️ Enforceable by default.

See Rule_11_1.rs

Rule 11.2

✔️ Enforceable by default.

See Rule_11_2.rs

Rule 11.3

✔️ Enforceable by default.

See Rule_11_3.rs

Rule 11.4

✔️ Enforceable by default.

See Rule_11_4.rs

Rule 11.5

✔️ No equivalent.

See Rule_11_5.rs

Rule 11.6

✔️ No equivalent.

See Rule_11_6.rs

Rule 11.7

✔️ Enforceable by default.

See Rule_11_7.rs

Rule 11.8

✔️ Enforceable by default.

See Rule_11_8.rs

Rule 11.9

✔️ No equivalent.

See Rule_11_9.rs

8.12 Expressions

Rule 12.1

Not enforceable by default

See Rule_12_1.rs

Rule 12.2

✔️ Enforceable by default.

See Rule_12_2.rs

Rule 12.3

✔️ No equivalent.

See Rule_12_3.rs

Rule 12.4

Not enforceable by default

See Rule_12_4.rs

8.13 Side Effects

Rule 13.1

✔️ Enforceable by default.

See Rule_13_1.rs

Rule 13.2

Not enforceable by default

See Rule_13_2.rs

Rule 13.3

✔️ No equivalent.

See Rule_13_3.rs

Rule 13.4

✔️ Enforceable by default.

See Rule_13_4.rs

Rule 13.5

Not enforceable by default

See Rule_13_5.rs

Rule 13.6

✔️ No equivalent.

See Rule_13_6.rs

8.14 Control Statement Expressions

Rule 14.1

Not enforceable by default

See Rule_14_1.rs

Rule 14.2

Not enforceable by default

See Rule_14_2.rs

Rule 14.3

Not enforceable by default

See Rule_14_3.rs

Rule 14.4

✔️ Enforceable by default.

See Rule_14_4.rs

8.15 Control Flow

Rule 15.1

✔️ No equivalent.

See Rule_15_1.rs

Rule 15.2

✔️ No equivalent.

See Rule_15_2.rs

Rule 15.3

✔️ No equivalent.

See Rule_15_3.rs

Rule 15.4

✔️ No equivalent.

See Rule_15_4.rs

Rule 15.5

Not enforceable by default

See Rule_15_5.rs

Rule 15.6

✔️ Enforceable by default.

See Rule_15_6.rs

Rule 15.7

Not enforceable by default

See Rule_15_7.rs

8.16 Control Flow

Rule 16.1

✔️ No equivalent.

See Rule_16_1.rs

Rule 16.2

✔️ Enforceable by default.

See Rule_16_2.rs

Rule 16.3

✔️ No equivalent.

See Rule_16_3.rs

Rule 16.4

✔️ Enforceable by default.

See Rule_16_4.rs

Rule 16.5

✔️ Enforceable by default.

See Rule_16_5.rs

Rule 16.6

Not enforceable by default

See Rule_16_6.rs

Rule 16.7

Not enforceable by default

See Rule_16_7.rs

8.17 Functions

Rule 17.1

✔️ No equivalent.

See Rule_17_1.rs

Rule 17.2

Not enforceable by default

See Rule_17_2.rs

Rule 17.3

✔️ No equivalent.

See Rule_17_3.rs

Rule 17.4

✔️ Enforceable by default.

See Rule_17_4.rs

Rule 17.5

✔️ Enforceable by default.

See Rule_17_5.rs

Rule 17.6

✔️ No equivalent.

See Rule_17_6.rs

Rule 17.7

Not enforceable by default

See Rule_17_7.rs

Rule 17.8

See Rule_17_8.rs

Not enforceable by default

8.18 Pointers and arrays

Rule 18.1

✔️ Enforceable by default.

See Rule_18_1.rs

Rule 18.2

✔️ Enforceable by default.

See Rule_18_2.rs

Rule 18.3

✔️ No equivalent.

See Rule_18_3.rs

Rule 18.4

✔️ Enforceable by default.

See Rule_18_4.rs

Rule 18.5

Not enforceable by default

See Rule_18_5.rs

Rule 18.6

✔️ Enforceable by default.

See Rule_18_6.rs

Rule 18.7

✔️ Enforceable by default.

See Rule_18_7.rs

Rule 18.8

✔️ Enforceable by default.

See Rule_18_8.rs

8.19 Overlapping storage

Rule 19.1

✔️ Enforceable by default.

See Rule_19_1.rs

Rule 19.2

Not enforceable by default

See Rule_19_2.rs

8.20 Overlapping storage

Rule 20.1

Not enforceable by default

See Rule_20_1.rs

Rule 20.2

Not enforceable by default

See Rule_20_2.rs

Rule 20.3

✔️ No equivalent.

See Rule_20_3.rs

Rule 20.4

✔️ Enforceable by default.

See Rule_20_4.rs

Rule 20.5

✔️ No equivalent.

See Rule_20_5.rs

Rule 20.6

✔️ Enforceable by default.

See Rule_20_6.rs

Rule 20.7

✔️ Enforceable by default.

See Rule_20_7.rs

Rule 20.8

✔️ No equivalent.

See Rule_20_8.rs

Rule 20.9

✔️ No equivalent.

See Rule_20_9.rs

Rule 20.10

✔️ No equivalent.

See Rule_20_10.rs

Rule 20.11

✔️ No equivalent.

See Rule_20_11.rs

Rule 20.12

✔️ No equivalent.

See Rule_20_12.rs

Rule 20.13

✔️ No equivalent.

See Rule_20_13.rs

Rule 20.14

✔️ No equivalent.

See Rule_20_14.rs

8.21 Standard libraries

Rule 21.1

Not enforceable by default

See Rule_21_1.rs

Rule 21.2

Not enforceable by default

See Rule_21_2.rs

Rule 21.3

✔️ No equivalent.

See Rule_21_3.rs

Rule 21.4

✔️ No equivalent.

See Rule_21_4.rs

Rule 21.5

✔️ No equivalent.

See Rule_21_5.rs

Rule 21.6

✔️ No equivalent.

See Rule_21_6.rs

Rule 21.7

✔️ No equivalent.

See Rule_21_7.rs

Rule 21.8

✔️ No equivalent.

See Rule_21_8.rs

Rule 21.9

✔️ No equivalent.

See Rule_21_9.rs

Rule 21.10

✔️ No equivalent.

See Rule_21_10.rs

Rule 21.11

✔️ No equivalent.

See Rule_21_11.rs

Rule 21.12

✔️ No equivalent.

See Rule_21_12.rs

8.22 Resources

Rule 22.1

✔️ No equivalent.

See Rule_22_1.rs

Rule 22.2

✔️ No equivalent.

See Rule_22_2.rs

Rule 22.3

✔️ No equivalent.

See Rule_22_3.rs

Rule 22.4

✔️ No equivalent.

See Rule_22_4.rs

Rule 22.5

✔️ No equivalent.

See Rule_22_5.rs

Rule 22.6

✔️ No equivalent.

See Rule_22_6.rs