aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard@metafoo.co.uk>2020-07-15 19:38:46 -0700
committerRichard Smith <richard@metafoo.co.uk>2020-12-17 23:23:05 -0800
commit71886c56f336667969be4cac0b6a17a3f75b7555 (patch)
treeb7d9f44a2ebdd56775f743c3863e14f80d3dd494 /clang/lib/Frontend/CompilerInvocation.cpp
parent638867afd4bce4a2c56dea041299428af3727d61 (diff)
downloadllvm-71886c56f336667969be4cac0b6a17a3f75b7555.zip
llvm-71886c56f336667969be4cac0b6a17a3f75b7555.tar.gz
llvm-71886c56f336667969be4cac0b6a17a3f75b7555.tar.bz2
Where possible, don't try to ask whether a template argument is
dependent until it's been converted to match its parameter. The type of a non-type template parameter can in general affect whether the template argument is dependent. Note that this is not always possible. For template arguments that name static local variables in templates, the type of the template parameter affects whether the argument is dependent, so the query is imprecise until we know the parameter type. For example, in: template<typename T> void f() { static const int n = 5; typename T::template X<n> x; } ... we don't know whether 'n' is dependent until we know whether the corresponding template parameter is of type 'int' or 'const int&'.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions