Intel® oneAPI DPC++/C++ Compiler
Talk to fellow users of Intel® oneAPI DPC++/C++ Compiler and companion tools like Intel® oneAPI DPC++ Library, Intel® DPC++ Compatibility Tool, and Intel® Distribution for GDB*
873 Discussions

Missing implicit include paths with clang-tidy

julien-j
Beginner
69 Views

Hello, I believe there is an issue in the way clang-tidy, as provided by oneAPI, handles implicit include paths.

Given this file:

// test.cpp
#include <omp.h>

A run of `icpx -c test.cpp` passes without issues, but a run of `/opt/intel/oneapi/compiler/latest/bin/compiler/clang-tidy --checks=* test.cpp` fails with the following error:

Error while processing test.cpp.
test.cpp:1:10: error: 'omp.h' file not found [clang-diagnostic-error]
1 | #include <omp.h>
| ^~~~~~~
Found compiler error(s).

I tried with various combinations of -fiopenmp and -fopenmp for the same result.

If we check default include paths with `icpx -x c++ -v -c /dev/null`:

#include <...> search starts here:
/opt/intel/oneapi/dev-utilities/2026.0/include
/opt/intel/oneapi/umf/1.1/include
/opt/intel/oneapi/tbb/2023.0/env/../include
/opt/intel/oneapi/dpl/2022.12/include
/opt/intel/oneapi/compiler/2026.0/bin/compiler/../../opt/compiler/include
/usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15
/usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/x86_64-linux-gnu/c++/15
/usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/backward
/opt/intel/oneapi/compiler/2026.0/lib/clang/22/include
/usr/local/include
/usr/include/x86_64-linux-gnu
/usr/include

 And compare with those of clang-tidy with `clang-tidy /dev/null -- -x c++ -v -c /dev/null`:

#include <...> search starts here:
/opt/intel/oneapi/dev-utilities/2026.0/include
/opt/intel/oneapi/umf/1.1/include
/opt/intel/oneapi/tbb/2023.0/env/../include
/opt/intel/oneapi/dpl/2022.12/include
/usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15
/usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/x86_64-linux-gnu/c++/15
/usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/backward
/usr/lib/llvm-20/lib/clang/20/include
/usr/local/include
/usr/include/x86_64-linux-gnu
/usr/include

We can see that the path `/opt/intel/oneapi/compiler/2026.0/bin/compiler/../../opt/compiler/include`, which contains omp.h, is missing from the latter.

 

0 Kudos
0 Replies
Reply