Clang-CL 编译器错误:尚无法处理此“自动”类型 Clang-CL 编译器错误:还不能修改这个“自动”类型

问题描述

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 (将#修改为@)