Skip to content

"Unsupported encoding"' failed. Aborted #81555

Closed
@PiJoules

Description

@PiJoules

The following code crashes with: "/usr/local/google/home/leonardchan/llvm-project-build/bin/llvm" "clang++" "-cc1" "-triple" "x86_64-unknown-linux-gnu" "-emit-obj" "-disable-free" "-clear-ast-before-backend" "-main-file-name" "test.cc" "-mrelocation-model" "pic" "-pic-level" "2" "-pic-is-pie" "-mframe-pointer=none" "-fmath-errno" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-funwind-tables=2" "-target-cpu" "x86-64" "-tune-cpu" "generic" "-debug-info-kind=constructor" "-dwarf-version=5" -x c++ /tmp/test.cc -ffixed-point -Oz

float func2(float);

template <typename T = _Sat _Accum>
class C {
 public:
  C(T intercept) : intercept_(intercept){};

  T func() const {
    return func2(1.0k);
  }

 private:
  T intercept_;
};

void func() {
  C<> c(1.0k);
  c.func();
}
llvm: llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp:229: static bool llvm::DebugHandlerBase::isUnsignedDIType(const DIType *): Assertion `(Encoding == dwarf::DW_ATE_unsigned || Encoding == dwarf::DW_ATE_unsigned_char || Encoding == dwarf::DW_ATE_signed || Encoding == dwarf::DW_ATE_signed_char || Encoding == dwarf::DW_ATE_float || Encoding == dwarf::DW_ATE_UTF || Encoding == dwarf::DW_ATE_boolean || Encoding == dwarf::DW_ATE_complex_float || (Ty->getTag() == dwarf::DW_TAG_unspecified_type && Ty->getName() == "decltype(nullptr)")) && "Unsupported encoding"' failed.
Aborted

It looks like fixed types just need to be handled in the check at llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp:229.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions