tgo: Print IR on panic (sometimes)
Этот коммит содержится в:
родитель
cafdcecb60
коммит
bb60912fa1
1 изменённых файлов: 10 добавлений и 4 удалений
8
tgo.go
8
tgo.go
|
@ -1601,10 +1601,16 @@ func Compile(pkgName, runtimePath, outpath, target string, printIR bool) error {
|
|||
}
|
||||
|
||||
// Compile Go code to IR.
|
||||
parseErr := c.Parse(pkgName, buildTags)
|
||||
parseErr := func() error {
|
||||
if printIR {
|
||||
// Run this even if c.Parse() panics.
|
||||
defer func() {
|
||||
fmt.Println("IR until the error:")
|
||||
fmt.Println(c.IR())
|
||||
}()
|
||||
}
|
||||
return c.Parse(pkgName, buildTags)
|
||||
}()
|
||||
if parseErr != nil {
|
||||
return parseErr
|
||||
}
|
||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче