[all-commits] [llvm/llvm-project] 66e4f0: Add ability to turn off -fpch-instantiate-template...
Hans via All-commits
all-commits at lists.llvm.org
Tue Oct 6 07:23:56 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 66e4f07198761bbb4dcd55235024c1081ed15c75
https://github.com/llvm/llvm-project/commit/66e4f07198761bbb4dcd55235024c1081ed15c75
Author: Shivanshu Goyal <Shivanshu.Goyal at microsoft.com>
Date: 2020-10-06 (Tue, 06 Oct 2020)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/pch-instantiate-templates.c
Log Message:
-----------
Add ability to turn off -fpch-instantiate-templates in clang-cl
A lot of our code building with clang-cl.exe using Clang 11 was failing with
the following 2 type of errors:
1. explicit specialization of 'foo' after instantiation
2. no matching function for call to 'bar'
Note that we also use -fdelayed-template-parsing in our builds.
I tried pretty hard to get a small repro for these failures, but couldn't. So
there is some subtle edge case in the -fpch-instantiate-templates feature
introduced by this change: https://reviews.llvm.org/D69585
When I tried turning this off using -fno-pch-instantiate-templates, builds
would silently fail with the same error without any indication that
-fno-pch-instantiate-templates was being ignored by the compiler. Then I
realized this "no" option wasn't actually working when I ran Clang under a
debugger.
Differential revision: https://reviews.llvm.org/D88680
More information about the All-commits
mailing list