MISRA Discussion Forums
What is the intention of the rule 18-0-1? - Printable Version

+- MISRA Discussion Forums (https://forum.misra.org.uk)
+-- Forum: MISRA C++ (https://forum.misra.org.uk/forumdisplay.php?fid=18)
+--- Forum: MISRA C++:2008 rules (https://forum.misra.org.uk/forumdisplay.php?fid=19)
+---- Forum: 6.18 Language support library (C++) (https://forum.misra.org.uk/forumdisplay.php?fid=146)
+---- Thread: What is the intention of the rule 18-0-1? (/showthread.php?tid=580)



What is the intention of the rule 18-0-1? - nakagawat - 11-09-2008

The Rule 18-0-1 of the MISRA-C++:2008 prohibits developers from using
C libraries entirely. At the same time, the 'Rationale' section of this
rule admits the use of the C++ libraries which correspond to C libraries.

Many of the C++ libraries corresponding to C libraries are defined
as the C libraries surrounded by the std namespace. For the reason,
we think even if the C++ libraries corresponding to C libraries
are used, it is impossible to avoid such vulnerability C libraries
have as undefined behavior and unspecified behavior.

Why does the Rule 18-0-1 admit the use of the C++ libraries corresponding
to C libraries?


Re: What is the intention of the rule 18-0-1? - misra cpp - 07-10-2015

In some cases, C++ places additional requirements for its library resulting in a slightly different library to that of C. For example, the cmath header adds overloads.

The goal of 18-0-1 is to ensure that such differences are visible and so "the C++ library" be used. Other rules in the section cover specific issues with the features provided by the library.