Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: UAVCAN UAVCAN_Subscriber
Diff: libuavcan/tools/coverity_scan_model.cpp
- Revision:
- 0:dfe6edabb8ec
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libuavcan/tools/coverity_scan_model.cpp Sat Apr 14 10:25:32 2018 +0000 @@ -0,0 +1,45 @@ +/* + * Coverity Scan model. + * + * - A model file can't import any header files. + * - Therefore only some built-in primitives like int, char and void are + * available but not wchar_t, NULL etc. + * - Modeling doesn't need full structs and typedefs. Rudimentary structs + * and similar types are sufficient. + * - An uninitialized local pointer is not an error. It signifies that the + * variable could be either NULL or have some data. + * + * Coverity Scan doesn't pick up modifications automatically. The model file + * must be uploaded by an admin in the analysis settings of + * https://scan.coverity.com/projects/1513 + */ + +namespace std +{ + typedef unsigned long size_t; +} + +namespace uavcan +{ + +void handleFatalError(const char* msg) +{ + __coverity_panic__(); +} + +template <std::size_t PoolSize, std::size_t BlockSize> +class PoolAllocator +{ +public: + void* allocate(std::size_t size) + { + return __coverity_alloc__(size); + } + + void deallocate(const void* ptr) + { + __coverity_free__(ptr); + } +}; + +}