LINUX.ORG.RU

История изменений

Исправление fsb4000, (текущая версия) :

gcc -Wall -Wextra/clang -Weverything молча срабатывают.

clang-tidy это тоже находит. (правда пока это в альфа версии проверок clang-tidy)

https://imgur.com/a/2IXgVDI

https://clang.llvm.org/docs/analyzer/checkers.html#alpha-cplusplus-misusedmovedobject-c

gcc -fanalyzer тоже что-то страшное выдал :)

 In member function 'void vec<T>::push_back(const T&) [with T = int]':
<source>:36:17: warning: dereference of NULL '0' [CWE-476] [-Wanalyzer-null-dereference]
   36 |                 new(current) T{i};
      |                 ^~~~~~~~~~~~~~~~~

https://gcc.godbolt.org/z/Tr84E4hKP

Исходная версия fsb4000, :

gcc -Wall -Wextra/clang -Weverything молча срабатывают.

clang-tidy это тоже находит. (правда пока это в альфа версии проверок clang-tidy)

https://imgur.com/a/2IXgVDI

https://clang.llvm.org/docs/analyzer/checkers.html#alpha-cplusplus-misusedmovedobject-c

gcc -fanalyzer тоже что-то страшное выдал :)

https://gcc.godbolt.org/z/Tr84E4hKP