Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет Linux.org.ru: Новости ([info]syn_lor)
@ 2021-07-05 10:07:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Cppcheck 2.5

Вышла новая версия статического анализатора для С и С++.

В новой версии:

В парсере:

  • различные исправления;
  • теперь поддерживаются все возможности c++11, c++14, c++17;
  • частичная поддержка с++20.

Также анализатор теперь:

  • знает больше об API;
  • показывает меньше ненужных предупреждений;
  • находит больше багов;
  • исправлены вылеты и ложные срабатывания в Misra.

Добавлены новые проверки:

  • подозрительное присваивание контейнера/итератора в условии;
  • повторное пробрасывание текущего исключения с помощью throw;.

Примеры кода, которые демонстрируют новые проверки:

void f(std::string s) {
  if (s = "123") {
  }
}
Assignment in condition should probably be comparison
void func1(const bool flag) { try{ if(!flag) throw; } catch (int&) { ; } }
Rethrowing current exception with 'throw;', it seems there is no current exception to rethrow.
If there is no current exception this calls std::terminate(). More: https://isocpp.org/wiki/faq/exceptions#throw-without-an-object

 , , ,



(Читать комментарии) (Добавить комментарий)