OOO "Program Verification Systems" announces the issue of a new version of the static code analyzer - VivaMP 1.10. VivaMP tool is designed for searching parallel errors in the code of applications developed in C++ language with the use of OpenMP technology.
In the new version, class static functions support is enhanced, this lets perform more precise diagnostics.
The mechanism which hides double errors in header files indicated in relative views has been enhanced. Before that, during a project testing, the error in #include "lib\file.h" and #include "lib\..\lib\file.h" would be considered as if located in different files. Two diagnostic warnings would be given. Now paths are exposed, and the analyzer does not indicate twice the errors contained in the file "file.h".
Three new diagnostic rules connected with the use of exceptions inside parallel regions have been added. According to OpenMP specification, exceptions generated inside a parallel region are to be caught and processed inside this region with the use of try/catch constructions. The analyzer diagnoses the following situations:
V1301. The 'throw' keyword cannot be used outside of a try..catch block in a parallel section
V1302. The 'new' operator cannot be used outside of a try..catch block in a parallel section.
V1303. The FOO function which throws an exception cannot be used in a parallel section outside of a try..catch block.