
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
32 lines
1.1 KiB
Plaintext
32 lines
1.1 KiB
Plaintext
== Why is this an issue?
|
|
|
|
The ``++#pragma++`` directive is implementation-defined, hence it is important both to demonstrate that all uses are correct, and to minimize, localize and encapsulate any use of pragmas within dedicated functions whenever possible.
|
|
|
|
|
|
The meaning of each pragma shall be documented.
|
|
|
|
There shall be sufficient supporting description to demonstrate that the behavior of the pragma and its implications for the application, have been fully understood.
|
|
|
|
|
|
This rule flags all instances of ``++#pragma++`` directives, and leaves it to the user to determine whether they have been properly documented.
|
|
|
|
|
|
== Resources
|
|
|
|
* MISRA C:2004, 3.4 - All uses of the #pragma directive shall be documented and explained
|
|
* MISRA {cpp}:2008, 16-6-1 - All uses of the #pragma directive shall be documented
|
|
* https://wiki.sei.cmu.edu/confluence/x/6NUxBQ[CERT, MSC00-C] - Compile cleanly at high warning levels
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
Document this #pragma directive
|
|
|
|
|
|
endif::env-github,rspecator-view[]
|