Skip to content
This repository has been archived by the owner on Dec 31, 2020. It is now read-only.

Latest commit

 

History

History
578 lines (508 loc) · 32.2 KB

cpp2008.md

File metadata and controls

578 lines (508 loc) · 32.2 KB

Unnecessary constructs

Rule Supported by Remarks
0-1-1 TBD
0-1-2 TBD
0-1-3 TBD
0-1-4 TBD
0-1-5 TBD
0-1-6 TBD
0-1-7 TBD
0-1-8 TBD
0-1-9 TBD
0-1-10 TBD
0-1-11 TBD
0-1-12 TBD

Storage

Rule Supported by Remarks
0-2-1 TBD

Runtime failures

Rule Supported by Remarks
0-3-1 TBD
0-3-2 TBD

Arithmetic

Rule Supported by Remarks
0-4-1 TBD
0-4-2 TBD
0-4-3 TBD

Language

Rule Supported by Remarks
1-0-1 TBD
1-0-2 TBD
1-0-3 TBD

Character sets

Rule Supported by Remarks
2-2-1 TBD

Trigraph sequences

Rule Supported by Remarks
2-3-1 -Wtrigraphs

Alternative tokens

Rule Supported by Remarks
2-5-1 TBD

Comments

Rule Supported by Remarks
2-7-1 -Wcomment
2-7-2 TBD
2-7-3 TBD

Identifiers

Rule Supported by Remarks
2-10-1 TBD
2-10-2 TBD
2-10-3 TBD
2-10-4 TBD
2-10-5 TBD
2-10-6 TBD

Literals

Rule Supported by Remarks
2-13-1 TBD
2-13-2 TBD
2-13-3 misra-cpp2008-2-13-3
2-13-4 TBD
2-13-5 TBD

Declarations and definitions

Rule Supported by Remarks
3-1-1 TBD
3-1-2 TBD
3-1-3 TBD

One Definition Rule

Rule Supported by Remarks
3-2-1 TBD
3-2-2 TBD
3-2-3 TBD
3-2-4 TBD

Declarative regions and scope

Rule Supported by Remarks
3-3-1 TBD
3-3-2 TBD

Name lookup

Rule Supported by Remarks
3-4-1 TBD

Types

Rule Supported by Remarks
3-9-1 TBD
3-9-2 TBD
3-9-3 TBD

Integral promotions

Rule Supported by Remarks
4-5-1 TBD
4-5-2 TBD
4-5-3 TBD

Pointer conversions

Rule Supported by Remarks
4-10-1 -Wnull-conversion
4-10-2 misra-cpp2008-4-10-2

Expressions

Rule Supported by Remarks
5-0-1 -Wunsequenced
5-0-2 TBD
5-0-3 TBD
5-0-4 -Wsign-conversion
5-0-5 -Wliteral-conversion
5-0-6 -Wconversion
5-0-7 TBD
5-0-8 TBD
5-0-9 TBD
5-0-10 TBD
5-0-11 TBD
5-0-12 TBD
5-0-13 TBD
5-0-14 TBD
5-0-15 TBD
5-0-16 TBD
5-0-17 TBD
5-0-18 TBD
5-0-19 TBD
5-0-20 TBD
5-0-21 TBD

Postfix expressions

Rule Supported by Remarks
5-2-1 TBD
5-2-2 TBD
5-2-3 TBD
5-2-4 TBD
5-2-5 TBD
5-2-6 TBD
5-2-7 TBD
5-2-8 TBD
5-2-9 TBD
5-2-10 TBD
5-2-11 TBD
5-2-12 TBD

Unary expressions

Rule Supported by Remarks
5-3-1 TBD
5-3-2 TBD
5-3-3 TBD
5-3-4 TBD

Shift operators

Rule Supported by Remarks
5-8-1 TBD

Logical AND operator

Rule Supported by Remarks
5-14-1 TBD

Assignment operators

Rule Supported by Remarks
5-17-1 TBD

Comma operator

Rule Supported by Remarks
5-18-1 TBD

Constant expressions

Rule Supported by Remarks
5-19-1 TBD

Expression statement

Rule Supported by Remarks
6-2-1 TBD
6-2-2 TBD
6-2-3 TBD

Compound statement

Rule Supported by Remarks
6-3-1 TBD

Selection statements

Rule Supported by Remarks
6-4-1 misra-cpp2008-6-4-1
6-4-2 misra-cpp2008-6-4-2
6-4-3 TBD
6-4-4 misra-cpp2008-6-4-4
6-4-5 TBD
6-4-6 TBD
6-4-7 -Wswitch-bool
6-4-8 TBD

Iteration statements

Rule Supported by Remarks
6-5-1 TBD
6-5-2 TBD
6-5-3 TBD
6-5-4 TBD
6-5-5 TBD
6-5-6 TBD

Jump statements

Rule Supported by Remarks
6-6-1 TBD
6-6-2 TBD
6-6-3 TBD
6-6-4 TBD
6-6-5 TBD

Specifiers

Rule Supported by Remarks
7-1-1 TBD
7-1-2 TBD

Enumeration declarations

Rule Supported by Remarks
7-2-1 TBD

Namespaces

Rule Supported by Remarks
7-3-1 TBD
7-3-2 TBD
7-3-3 TBD
7-3-4 TBD
7-3-5 TBD
7-3-6 TBD

The asm declaration

Rule Supported by Remarks
7-4-1 TBD
7-4-2 TBD
7-4-3 TBD

Linkage specifications

Rule Supported by Remarks
7-5-1 TBD
7-5-2 TBD
7-5-3 TBD
7-5-4 TBD

Declarators - General

Rule Supported by Remarks
8-0-1 TBD

Meaning of declarators

Rule Supported by Remarks
8-3-1 TBD

Function definitions

Rule Supported by Remarks
8-4-1 TBD
8-4-2 TBD
8-4-3 TBD
8-4-4 TBD

Declarators - Initializers

Rule Supported by Remarks
8-5-1 TBD
8-5-2 TBD
8-5-3 TBD

Member functions

Rule Supported by Remarks
9-3-1 TBD
9-3-2 TBD
9-3-3 TBD

Unions

Rule Supported by Remarks
9-5-1 misra-cpp2008-9-5-1

Bit-fields

Rule Supported by Remarks
9-6-1 TBD
9-6-2 TBD
9-6-3 TBD
9-6-4 TBD

Multiple base classes

Rule Supported by Remarks
10-1-1 TBD
10-1-2 TBD
10-1-3 TBD

Member name lookup

Rule Supported by Remarks
10-2-1 TBD

Virtual functions

Rule Supported by Remarks
10-3-1 TBD
10-3-2 misra-cpp2008-10-3-2
10-3-3 misra-cpp2008-10-3-3

Member access control - General

Rule Supported by Remarks
11-0-1 misra-cpp2008-11-0-1

Constructors

Rule Supported by Remarks
12-1-1 TBD
12-1-2 TBD
12-1-3 TBD

Copying class objects

Rule Supported by Remarks
12-8-1 TBD
12-8-2 misra-cpp2008-12-8-2

Template declarations

Rule Supported by Remarks
14-5-1 TBD
14-5-2 TBD
14-5-3 TBD

Name resolution

Rule Supported by Remarks
14-6-1 TBD
14-6-2 TBD

Template instantiation and specialization

Rule Supported by Remarks
14-7-1 TBD
14-7-2 TBD
14-7-3 TBD

Function template specialization

Rule Supported by Remarks
14-8-1 TBD
14-8-2 TBD

Exception handling - General

Rule Supported by Remarks
15-0-1 TBD
15-0-2 TBD
15-0-3 TBD

Throwing an exception

Rule Supported by Remarks
15-1-1 TBD
15-1-2 TBD
15-1-3 TBD

Handling an exception

Rule Supported by Remarks
15-3-1 TBD
15-3-2 TBD
15-3-3 TBD
15-3-4 TBD
15-3-5 TBD
15-3-6 TBD
15-3-7 TBD

Exception specifications

Rule Supported by Remarks
15-4-1 TBD

Exception handling - Special functions

Rule Supported by Remarks
15-5-1 misra-cpp2008-15-5-1 Not tested on real world code!
15-5-2 TBD
15-5-3 TBD

Preprocessing directives - General

Rule Supported by Remarks
16-0-1 TBD
16-0-2 TBD
16-0-3 TBD
16-0-4 TBD
16-0-5 TBD
16-0-6 TBD
16-0-7 TBD
16-0-8 TBD

Conditional inclusion

Rule Supported by Remarks
16-1-1 TBD
16-1-2 TBD

Source file inclusion

Rule Supported by Remarks
16-2-1 TBD
16-2-2 TBD
16-2-3 TBD
16-2-4 TBD
16-2-5 TBD
16-2-6 TBD

Macro replacement

Rule Supported by Remarks
16-3-1 clang-tidy-misra
16-3-2 clang-tidy-misra

Pragma directive

Rule Supported by Remarks
16-6-1 TBD

Library introduction - General

Rule Supported by Remarks
17-0-1 misra-cpp2008-17-0-1 -Wreserved-id-macro, -Wmacro-redefined, -Wbuiltin-macro-redefined are helpfull as well
17-0-2 TBD
17-0-3 TBD
17-0-4 TBD
17-0-5 misra-cpp2008-17-0-1

Language support library - General

Rule Supported by Remarks
18-0-1 misra-cpp2008-18-0-1
18-0-2 misra-cpp2008-18-0-2
18-0-3 misra-cpp2008-18-0-3
18-0-4 misra-cpp2008-18-0-4
18-0-5 misra-cpp2008-18-0-5

Language support library - Implementation properties

Rule Supported by Remarks
18-2-1 misra-cpp2008-18-2-1

Language support library - Dynamic memory management

Rule Supported by Remarks
18-4-1 misra-cpp2008-18-4-1

Language support library - Other runtime support

Rule Supported by Remarks
18-7-1 misra-cpp2008-18-7-1

Diagnostics library - Error numbers

Rule Supported by Remarks
19-3-1 misra-cpp2008-19-3-1

Input/output library - General

Rule Supported by Remarks
27-0-1 misra-cpp2008-27-0-1