.. title:: clang-tidy - modernize-deprecated-headers modernize-deprecated-headers ============================ Some headers from C library were deprecated in C++ and are no longer welcome in C++ codebases. Some have no effect in C++. For more details refer to the C++ 14 Standard [depr.c.headers] section. This check replaces C standard library headers with their C++ alternatives and removes redundant ones. Important note: the Standard doesn't guarantee that the C++ headers declare all the same functions in the global namespace. The check in its current form can break the code that uses library symbols from the global namespace. * `<assert.h>` * `<complex.h>` * `<ctype.h>` * `<errno.h>` * `<fenv.h>` // deprecated since C++11 * `<float.h>` * `<inttypes.h>` * `<limits.h>` * `<locale.h>` * `<math.h>` * `<setjmp.h>` * `<signal.h>` * `<stdarg.h>` * `<stddef.h>` * `<stdint.h>` * `<stdio.h>` * `<stdlib.h>` * `<string.h>` * `<tgmath.h>` // deprecated since C++11 * `<time.h>` * `<uchar.h>` // deprecated since C++11 * `<wchar.h>` * `<wctype.h>` If the specified standard is older than C++11 the check will only replace headers deprecated before C++11, otherwise -- every header that appeared in the previous list. These headers don't have effect in C++: * `<iso646.h>` * `<stdalign.h>` * `<stdbool.h>`