[PATCH] D36253: [Sema] Add a comment on an identified bug on default arguments.
Tim Shen via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Aug 2 17:19:08 PDT 2017
This revision was automatically updated to reflect the committed changes.
Closed by commit rL309908: [Sema] Add a comment on an identified bug on default arguments. (authored by timshen).
Changed prior to commit:
https://reviews.llvm.org/D36253?vs=109461&id=109464#toc
Repository:
rL LLVM
https://reviews.llvm.org/D36253
Files:
cfe/trunk/lib/Sema/SemaExpr.cpp
Index: cfe/trunk/lib/Sema/SemaExpr.cpp
===================================================================
--- cfe/trunk/lib/Sema/SemaExpr.cpp
+++ cfe/trunk/lib/Sema/SemaExpr.cpp
@@ -4477,6 +4477,22 @@
*this, ExpressionEvaluationContext::PotentiallyEvaluated, Param);
// Instantiate the expression.
+ //
+ // FIXME: Pass in a correct Pattern argument, otherwise
+ // getTemplateInstantiationArgs uses the lexical context of FD, e.g.
+ //
+ // template<typename T>
+ // struct A {
+ // static int FooImpl();
+ //
+ // template<typename Tp>
+ // // bug: default argument A<T>::FooImpl() is evaluated with 2-level
+ // // template argument list [[T], [Tp]], should be [[Tp]].
+ // friend A<Tp> Foo(int a);
+ // };
+ //
+ // template<typename T>
+ // A<T> Foo(int a = A<T>::FooImpl());
MultiLevelTemplateArgumentList MutiLevelArgList
= getTemplateInstantiationArgs(FD, nullptr, /*RelativeToPrimary=*/true);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D36253.109464.patch
Type: text/x-patch
Size: 991 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170803/5d0ceff8/attachment.bin>
More information about the cfe-commits
mailing list