Previously this argument passed multiple times would result in the first
being silently ignored.
Details
- Reviewers
jansvoboda11
Diff Detail
- Repository
- rG LLVM Github Monorepo
Time | Test | |
---|---|---|
70 ms | x64 debian > Clang.PCH::multiple-include-pch.c Script:
--
: 'RUN: at line 1'; /mnt/disks/ssd0/agent/llvm-project/build/bin/clang -cc1 -internal-isystem /mnt/disks/ssd0/agent/llvm-project/build/lib/clang/12.0.0/include -nostdsysteminc -emit-pch -o /mnt/disks/ssd0/agent/llvm-project/build/tools/clang/test/PCH/Output/multiple-include-pch.c.tmp1.pch /mnt/disks/ssd0/agent/llvm-project/clang/test/PCH/multiple-include-pch.c
| |
220 ms | x64 windows > Clang.PCH::multiple-include-pch.c Script:
--
: 'RUN: at line 1'; c:\ws\w16-1\llvm-project\premerge-checks\build\bin\clang.exe -cc1 -internal-isystem c:\ws\w16-1\llvm-project\premerge-checks\build\lib\clang\12.0.0\include -nostdsysteminc -emit-pch -o C:\ws\w16-1\llvm-project\premerge-checks\build\tools\clang\test\PCH\Output\multiple-include-pch.c.tmp1.pch C:\ws\w16-1\llvm-project\premerge-checks\clang\test\PCH\multiple-include-pch.c
|
Event Timeline
There are many options whether the latter one overrides the previous ones. How is this special?
Fair question! I think this case is a bit different since it's quite subtle. The strange thing here is that the header you're intending to provide a pch for can still be read successfully, but not getting the benefits of the pch that you were expecting without knowing about it.
Is there any reason that -include-pch shouldn't follow the precedent of -include, which can be used multiple times? If not, then the end goal should be to support multiple uses, but in the mean time a warning is helpful.
Yea seems like a reasonable request, looking through the uses nothing immediately pops out as being not supporting multiple PCHs but I guess before I went down that path I'd want someone who knew the code better to agree on that