ianlancetaylor / demangle

C++ symbol name demangler written in Go

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

panic: TemplateParam Template field is nil

octoploid opened this issue · comments

markus@x4 /tmp % c++filt_ _Z1jI1AEDTcldtfp_cvPT_EES1_
panic: TemplateParam Template field is nil

goroutine 1 [running]:
github.com/ianlancetaylor/demangle.(*TemplateParam).print(0xc420072630, 0xc4200a2000)
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/ast.go:373 +0x10b
github.com/ianlancetaylor/demangle.(*printState).print(0xc4200a2000, 0x571ca0, 0xc420072630)
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/ast.go:102 +0x16f
github.com/ianlancetaylor/demangle.printBase(0xc4200a2000, 0x571880, 0xc420072640, 0x571ca0, 0xc420072630)
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/ast.go:565 +0xa3
github.com/ianlancetaylor/demangle.(*PointerType).print(0xc420072640, 0xc4200a2000)
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/ast.go:578 +0x52
github.com/ianlancetaylor/demangle.(*printState).print(0xc4200a2000, 0x571880, 0xc420072640)
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/ast.go:102 +0x16f
github.com/ianlancetaylor/demangle.(*Cast).print(0xc420072650, 0xc4200a2000)
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/ast.go:1763 +0x64
github.com/ianlancetaylor/demangle.(*printState).print(0xc4200a2000, 0x570fe0, 0xc420072650)
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/ast.go:102 +0x16f
github.com/ianlancetaylor/demangle.parenthesize(0xc4200a2000, 0x570fe0, 0xc420072650)
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/ast.go:1812 +0x8d
github.com/ianlancetaylor/demangle.(*Binary).print(0xc420078870, 0xc4200a2000)
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/ast.go:2012 +0x17c
github.com/ianlancetaylor/demangle.(*printState).print(0xc4200a2000, 0x570f20, 0xc420078870)
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/ast.go:102 +0x16f
github.com/ianlancetaylor/demangle.parenthesize(0xc4200a2000, 0x570f20, 0xc420078870)
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/ast.go:1812 +0x8d
github.com/ianlancetaylor/demangle.(*Binary).print(0xc4200788a0, 0xc4200a2000)
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/ast.go:1995 +0xf5
github.com/ianlancetaylor/demangle.(*printState).print(0xc4200a2000, 0x570f20, 0xc4200788a0)
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/ast.go:102 +0x16f
github.com/ianlancetaylor/demangle.(*Decltype).print(0xc420072660, 0xc4200a2000)
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/ast.go:1297 +0x64
github.com/ianlancetaylor/demangle.(*printState).print(0xc4200a2000, 0x5711c0, 0xc420072660)
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/ast.go:102 +0x16f
github.com/ianlancetaylor/demangle.(*FunctionType).print(0xc420078900, 0xc4200a2000)
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/ast.go:946 +0xab
github.com/ianlancetaylor/demangle.(*printState).print(0xc4200a2000, 0x571460, 0xc420078900)
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/ast.go:102 +0x16f
github.com/ianlancetaylor/demangle.(*Typed).print(0xc42006c240, 0xc4200a2000)
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/ast.go:148 +0xf5
github.com/ianlancetaylor/demangle.ASTToString(0x571dc0, 0xc42006c240, 0xc420072208, 0x1, 0x1, 0x571dc0, 0xc42006c240)
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/ast.go:46 +0x102
github.com/ianlancetaylor/demangle.ToString(0x7ffe77ba3848, 0x1b, 0xc420072208, 0x1, 0x1, 0x0, 0x40, 0x40, 0xc4200881c0)
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/demangle.go:57 +0xce
github.com/ianlancetaylor/demangle.Filter(0x7ffe77ba3848, 0x1b, 0xc420072208, 0x1, 0x1, 0xc420072208, 0x0)
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/demangle.go:41 +0x57
main.doDemangle(0xc4200881c0, 0x7ffe77ba3848, 0x1b)
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/c++filt.go:122 +0xea
main.main()
        /var/tmp/go/src/github.com/ianlancetaylor/demangle/c++filt.go:73 +0x54f

markus@x4 /tmp % llvm-cxxfilt _Z1jI1AEDTcldtfp_cvPT_EES1_
decltype(fp.operator A*()) j<A>(A)