SYCL compiler can not be installed in system default location
- Dominant language
- LLVM
- Stars
- 1.5k
- Forks
- 854
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 137
Description
Steps to reproduce:
Build SYCL toolchain as described in Get Started Guide
Deploy to /usr
```
echo "#include " > test.cpp"
clang++ test.cpp
clang++ -fsycl test.cpp
```
The last command will fail with the message like below:
```
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/cstdlib:75:15: fatal error: 'stdlib.h' file not found
#include_next
```
Here's the search order for normal mode:
```
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/backward
/usr/lib/clang/14.0.0/include
/usr/local/include
/usr/include/x86_64-linux-gnu
/usr/include
```
And here's the search order with `-fsycl` enabled:
```
/usr/bin/../include/sycl
/usr/bin/../include
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/backward
/usr/lib/clang/14.0.0/include
/usr/local/include
/usr/include/x86_64-linux-gnu
```
Apparently, `-fsycl` moves `/usr/include` to the top of the list, which breaks `include_next` directive.
Contributor guide
Assessment
This issue has not been assessed yet.