MicrosoftMangle.cpp, isTemplate, TemplateArgumentLoc and TemplateArgument::Pack

Hi.

Current Clang versions throws assert when TemplateArgumentLoc constructed with TemplateArgument::Pack type.

Can someone tell, how to avoid it? In release version assert was removed and code works fine, but this is not correct.

Itanium mangle eliminates TemplateArgumentLoc construction here, but MicrosoftMangle need a SourceRange to mangle template types.

Hi,

Hi.

Current Clang versions throws assert when TemplateArgumentLoc constructed
with TemplateArgument::Pack type.

Can someone tell, how to avoid it? In release version assert was removed and
code works fine, but this is not correct.

Itanium mangle eliminates TemplateArgumentLoc construction here, but
MicrosoftMangle need a SourceRange to mangle template types.

MicrosoftMange needs a SourceRange to print "not implemented yet"
error messages, but that code is crashy: http://llvm.org/PR13984

I'm guessing mangling for this just isn't implemented yet?

Nico

Hi,

Hi.

Current Clang versions throws assert when TemplateArgumentLoc constructed
with TemplateArgument::Pack type.

Can someone tell, how to avoid it? In release version assert was removed and
code works fine, but this is not correct.

Itanium mangle eliminates TemplateArgumentLoc construction here, but
MicrosoftMangle need a SourceRange to mangle template types.

MicrosoftMange needs a SourceRange to print "not implemented yet"
error messages, but that code is crashy: http://llvm.org/PR13984

I'm guessing mangling for this just isn't implemented yet?

He has a patch (that I'm supposed to be reviewing) here:

http://llvm-reviews.chandlerc.com/D99

If Clang assert(3)'s on creating a TemplateArgumentLoc of type TemplateArgument::Pack, then maybe we shouldn't create one like that :). Feel free to make that change.

Chip