Rule A16-7-1 (required, implementation, automated)
The #pragma directive shall not be used.
Rationale
The #pragma directive is implementation-defined and causes the implementation to behave in implementation-defined manner.
Example
// $Id: A16-7-1.hpp 270497 2017-03-14 14:58:50Z piotr.tanski $
// #pragma once // Non-compliant - implementation-defined manner
#ifndef A16_7_1_HPP // Compliant - equivalent to #pragma once directive
#define A16_7_1_HPP
// ...
#endif
See also
MISRA C++ 2008 [7]: Rule 16-6-1 All uses of the #pragma directive shall be documented.