MaskRay wrote:
Current behavior with a relative "directory", for reference.
```
proj/compile_commands.json -> build/compile_commands.json
proj/build/compile_commands.json
proj/build/include/config.h
proj/src/a.c # #include "config.h"
[{"directory": ".", "arguments": ["clang", "-Iinclude", "-c", "../src/a.c",
"-o", "a.o"], "file": "../src/a.c"}]
```
Before this patch:
```
$ clang-check -p proj/build proj/src/a.c
Skipping /tmp/t/compdb/proj/src/a.c. Compile command not found.
$ clangd --check=proj/src/a.c
Loaded compilation database from /tmp/t/compdb/proj/compile_commands.json
Generic fallback command is: [/tmp/t/compdb/proj/src] /usr/bin/clang
-resource-dir=... -- /tmp/t/compdb/proj/src/a.c
[pp_file_not_found] Line 1: 'config.h' file not found
All checks completed, 2 errors
```
After this patch:
```
$ clang-check -p proj/build proj/src/a.c # exit 0
$ clang-check -p proj proj/src/a.c # exit 0, via the symlink
$ clangd --check=proj/src/a.c
Compile command from CDB is: [/tmp/t/compdb/proj/build] /usr/bin/clang
-Iinclude -c -o a.o -resource-dir=... -- /tmp/t/compdb/proj/src/a.c
All checks completed, 0 errors
```
https://github.com/llvm/llvm-project/pull/235400
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits