| .. title:: clang-tidy - readability-redundant-preprocessor |
| |
| readability-redundant-preprocessor |
| ================================== |
| |
| Finds potentially redundant preprocessor directives. At the moment the |
| following cases are detected: |
| |
| * `#ifdef` .. `#endif` pairs which are nested inside an outer pair with the |
| same condition. For example: |
| |
| .. code-block:: c++ |
| |
| #ifdef FOO |
| #ifdef FOO // inner ifdef is considered redundant |
| void f(); |
| #endif |
| #endif |
| |
| * Same for `#ifndef` .. `#endif` pairs. For example: |
| |
| .. code-block:: c++ |
| |
| #ifndef FOO |
| #ifndef FOO // inner ifndef is considered redundant |
| void f(); |
| #endif |
| #endif |
| |
| * `#ifndef` inside an `#ifdef` with the same condition: |
| |
| .. code-block:: c++ |
| |
| #ifdef FOO |
| #ifndef FOO // inner ifndef is considered redundant |
| void f(); |
| #endif |
| #endif |
| |
| * `#ifdef` inside an `#ifndef` with the same condition: |
| |
| .. code-block:: c++ |
| |
| #ifndef FOO |
| #ifdef FOO // inner ifdef is considered redundant |
| void f(); |
| #endif |
| #endif |
| |
| * `#if` .. `#endif` pairs which are nested inside an outer pair with the same |
| condition. For example: |
| |
| .. code-block:: c++ |
| |
| #define FOO 4 |
| #if FOO == 4 |
| #if FOO == 4 // inner if is considered redundant |
| void f(); |
| #endif |
| #endif |
| |