From c58e6d75e6b1677c54365370a97eaa3ba41ff575 Mon Sep 17 00:00:00 2001 From: Jason Turner Date: Fri, 27 Apr 2018 19:28:12 -0600 Subject: [PATCH] Update 02-Use_the_Tools_Available.md --- 02-Use_the_Tools_Available.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/02-Use_the_Tools_Available.md b/02-Use_the_Tools_Available.md index 0c7e001..9164e03 100644 --- a/02-Use_the_Tools_Available.md +++ b/02-Use_the_Tools_Available.md @@ -280,6 +280,10 @@ Both of these tools use coverage reporting to find new code execution paths and MSVC's [Control Flow Guard](https://msdn.microsoft.com/en-us/library/windows/desktop/mt637065%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396) adds high performance runtime security checks. +### Checked STL Implementations + + * `_GLIBCXX_DEBUG` with GCC's implementation libstdc++ implementation. See [Krister's blog article](https://kristerw.blogspot.se/2018/03/detecting-incorrect-c-stl-usage.html). + ## Ignoring Warnings If it is determined by team consensus that the compiler or analyzer is warning on something that is either incorrect or unavoidable, the team will disable the specific error to as localized part of the code as possible. @@ -316,6 +320,10 @@ Don't forget to make sure that your error handling is being tested and works pro ## Other Tools +### Lizard + +[Lizard](http://www.lizard.ws/) provides a very simple interface for running complexity analysis against a C++ codebase. + ### Metrix++ [Metrix++](http://metrixplusplus.sourceforge.net/) can identify and report on the most complex sections of your code. Reducing complex code helps you and the compiler understand it better and optimize it better.