Маркировка функции noexcept
может иметь смысл, даже если вызываемая функция не помечена. Возьмите простой пример, такой как квадрат root, который может выдать, если вы передадите отрицательное число. При использовании его в функции, которая обеспечивает только вызовы с положительными номерами, вы можете пометить его. То же самое верно, если вы поймаете исключение.
Тем не менее, наличие инструмента для маркировки подозрительных вызовов имеет смысл. Мне известно, что в clang есть предупреждение компилятора об исключении функции noexcept (direct). (См. https://clang.llvm.org/docs/DiagnosticsReference.html#wexceptions). Для моего пользовательского макроса assert, который работает в constexpr, я его подавил, MSV C также работает.
Для косвенного случая, то есть вызова non отмеченная функция, я еще не увидел предупреждение компилятора. Я знаю, что Clangd сообщает об этом, скорее всего, из-за Clang-Tidy. Быстрая проверка на этой странице заставляет меня поверить, что это следующая проверка: https://clang.llvm.org/extra/clang-tidy/checks/bugprone-exception-escape.html
Я не могу сказать о G CC, так как не использую его достаточно.