<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/121212>121212</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            error: 'mpi.h' file not found [clang-diagnostic-error]
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          pierre-24
      </td>
    </tr>
</table>

<pre>
    While running clang-tidy, using `clang-tidy -checks=* openmpi_test.cpp `, on this file, I get (among other things) `error: 'mpi.h' file not found [clang-diagnostic-error]`:

```c++
#include <mpi.h>
#include <cstdio>

void print_processors() {

    // Initialize the MPI environment
    MPI_Init(nullptr, nullptr);

    // Get the number of processes
    int world_size;
    MPI_Comm_size(MPI_COMM_WORLD, &world_size);

    // Get the rank of the process
    int world_rank;
 MPI_Comm_rank(MPI_COMM_WORLD, &world_rank);

    // Get the name of the processor
    char processor_name[MPI_MAX_PROCESSOR_NAME];
    int name_len;
    MPI_Get_processor_name(processor_name, &name_len);

    // Print off a hello world message
    printf("Hello world from processor %s, rank %d out of %d processors\n",
    processor_name, world_rank, world_size);

    // Finalize the MPI environment.
 MPI_Finalize();
}
``` 

However, while using `mpicxx main.cpp openmpi_test.cpp -o test` (`main.cpp` only calls `print_processors()`), everything goes well. Thus, this is not supposed to be reported :)

Furthermore, it is not possible to supress this "error" with `NOLINT`.

Tested with:

+ Clang-tidy v19.1.5 on Fedora 41, with OpenMPI,
+ Clang-tidy v19.1.6 on Ubuntu 22.04 (Github runner) with OpenMPI/Intel MPI (installed using [this action](https://github.com/mpi4py/setup-mpi)).

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJykVVGP2jgQ_jXmZUQUJgSShzwAW1qkUlZtT703FJJJ4qtjR7YD3f76k50scLt7ew8nIuHY33zfeDz-khvDa0mUsXjN4odJ3ttG6azjpDVNcT45qfIp-9FwQaB7KbmsoRC5rKeWl08MN9AbN8cW4W0apkVDxU_DogeGK1AdybbjR0vGBkXXObCLVBJsww1UXJB730FNFhgmeatkDco2pB1C1oZh6qJIa6VZtAKGy7bjQcNw6cNBKguV6mUJLF4PmZQ8r6UylhfTIS5-cMLRioX-WYTDUzBcuydcMYy4LERfErBoMwhEH14tFMaWXI0r4eqseAmd5tIeO60KMkZpwzDxOS_XAwgAgOGW4RZ2klueC_6bwDYE-8cdkDxzrWRL0o7Y_ePu6IAME9kL0VntKnQdpix6TfyRrGeUfXsiDaqCMR8yI5BLCxelRXk0_DcNHM9qG9W2wzQm_v2w3x9_HL5-fnDKDBd3ge_r61z-dOpuPGbwSt9hRv2ruJ97V3xAvL_5vKUX4kqP0KLJ9W3y6KAsXju9_erP4-PXw-bDt2-Hr8cvq_0H1y3X-ri8HfooSP6zah_p7tQHRkxeTvgdXOPfzv_RNRCoqoIcGhJCDYWClozJaxrBvs0q31z46Q5VadXedgYMY-Nk_UkwjEtQvSMfxnddGm8kQ2S4ufK_zPy-8Bv4zx7YcvmvrR08n_YzaLgkI83y4f5SwsD8SV3oTL73L96Drm7Tdrz49QvanEvvKa9MZqrAjT0XJi5ihLoZJcUTFLkQxnG9fXm9S6VO2qXw5I0IakUGLiREAN-b3hfZexg33oJM33XKUAlWwYlAU6e0pRKc62A67Gnba-dsrdK-wNw-B3fKGH4S5IJN32kyZiBniIODIcKF28bl_OXwefflO1uEwcD6nYwTcss3i8M1bG6ufJ6lwSyIne9uqVQ6h_nMV9ZRHjqS-8fd0ApvBi5c4B-nXtoeEINw7ur6kdumP_lPgzum9AXZdictCd8IDBMujc2FoPL5GOO1319eWK6ku3GYNNZ2xpfL9VPt6YNCtQy3bcfn3RPDrSHbd9O24_58UleBSZlFZRql-YSy2TKKo1kYJ_GkyeanimYJUR5VMUWI6WJWLMM0TpOyKDE5TXiGIc5niMvZfB6FcRClFeIsWi7KhLCKKzYPqc25CIQ4t4HS9YQb01M2Q_ebiPxEwvjvJ6KkC_hVd6vih4nOXND01NeGzUPBjTU3GsutoOz_ftMmvRbZO1VzcuPftNPqLyosw61P0jDcjrs4Z_h3AAAA__9t2YL4">