[PATCH] D42734: [DebugInfo] Improvements to representation of enumeration types (PR36168)

Volodymyr Sapsai via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 13 15:22:06 PST 2018

vsapsai added a comment.

Hi, Momchil. I suspect this change caused

> Assertion failed: (DTy), function constructEnumTypeDIE, file /Users/buildslave/jenkins/workspace/clang-stage1-configure-RA/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp, line 1436.

on the build bot http://green.lab.llvm.org/green/job/clang-stage2-Rthinlto/ For example, see http://green.lab.llvm.org/green/job/clang-stage2-Rthinlto/8694/console

Earlier instead of `assert(DTy);` we had

  if (DTy) {
    addType(Buffer, DTy);
    addFlag(Buffer, dwarf::DW_AT_enum_class);

I don't know where the bug is but maybe it makes sense to remove assertion for now and correctly handle nullptr `DTy`? This will unblock the build bot for others and after that you can work on better fix if required.

Comment at: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:1435
+  if (DD->getDwarfVersion() >= 4 && (CTy->getFlags() & DINode::FlagFixedEnum)) {
+    assert(DTy);
+    addFlag(Buffer, dwarf::DW_AT_enum_class);
Talking about this assertion.



More information about the llvm-commits mailing list