问题描述
clang-cl 编译器错误:还不能修改这个“自动”类型
上下文:
cannot mangle this 'auto' type yet
因为此错误消息没有带有文件名或错误行,
很难找到什么代码是其根本原因。
此外,为了提供信息,这里有一个完整的日志,例如:
[1/2] Building CXX object tests\CMakeFiles\gcl_test_binary.dir\Main.cpp.obj
Failed: tests/CMakeFiles/gcl_test_binary.dir/Main.cpp.obj
C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\Llvm\x64\bin\clang-cl.exe /nologo -TP -I..\..\..\includes -m64 -fdiagnostics-absolute-paths /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 -std:c++latest /showIncludes /Fotests\CMakeFiles\gcl_test_binary.dir\Main.cpp.obj /Fdtests\CMakeFiles\gcl_test_binary.dir\ -c -- ..\..\..\tests\Main.cpp
gcl_cpp\out\build\x64-Clang-Debug\EXEC : error : cannot mangle this 'auto' type yet
1 error generated.
ninja: build stopped: subcommand Failed.
问题:有谁知道识别错误来自哪里的方便技巧?
提示:我怀疑这部分编译器来源(见here on github):
void MicrosoftCXXNameMangler::mangleType(const AutoType *T,Qualifiers,SourceRange Range) {
assert(T->getDeducedType().isNull() && "expecting a dependent type!");
DiagnosticsEngine &Diags = Context.getDiags();
unsigned DiagID = Diags.getCustomDiagID(DiagnosticsEngine::Error,"cannot mangle this 'auto' type yet");
Diags.Report(Range.getBegin(),DiagID)
<< Range;
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)