[cfe-dev] Assertion failure when mangling complex decltype

Erik Pilkington via cfe-dev cfe-dev at lists.llvm.org
Thu Jan 24 10:05:59 PST 2019


Wait, why are we trying to mangle the local var decl here? Doesn't seem 
to repro on TOT for me, can you provide a backtrace/preprocessed 
source/a clang invocation for this?

Erik

On 1/24/19 3:22 AM, Ding Fei via cfe-dev wrote:
> Hi all,
>
> On release_70, for the example code:
> *
> *
>
>     *#include <type_traits>**
>     **class Node {};**
>     **template<typename GetBeginT>
>     **void buildGenericSCCs(GetBeginT &&GetBegin) {
>     **  decltype(GetBegin(std::declval<Node &>())) DFSStack;
>     **}
>     *
>
> In Mangle.h when calling mangleCXXName() on VarDecl of DFSStack, 
> assertion triggered:
>
> *tools/clang/lib/AST/ItaniumMangle.cpp:4317: void (anonymous 
> namespace)::CXXNameMangler::mangleFunctionParam(const 
> clang::ParmVarDecl *): Assertion `parmDepth < 
> FunctionTypeDepth.getDepth()' failed.*
> *
> *Do anyone have any ideas on the cause of it? Thanks
> --
> Best Regards
>
> Ding Fei
> E-mail: danix800 at gmail.com <mailto:danix800 at gmail.com>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20190124/99daea88/attachment.html>


More information about the cfe-dev mailing list