From ec878114208b62dd14c8f6bc5e15a1217d7b6293 Mon Sep 17 00:00:00 2001 From: Ayke van Laethem Date: Thu, 6 Jun 2019 12:07:59 +0200 Subject: [PATCH] compiler: do not panic on duplicate functions Instead, show a regular error message. This is much more user-friendly. --- compiler/compiler.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compiler/compiler.go b/compiler/compiler.go index 8b430083..3a588b98 100644 --- a/compiler/compiler.go +++ b/compiler/compiler.go @@ -826,7 +826,8 @@ func (c *Compiler) parseFunc(frame *Frame) { fmt.Printf("\nfunc %s:\n", frame.fn.Function) } if !frame.fn.LLVMFn.IsDeclaration() { - panic("function is already defined: " + frame.fn.LLVMFn.Name()) + c.addError(frame.fn.Pos(), "function is already defined:"+frame.fn.LLVMFn.Name()) + return } if !frame.fn.IsExported() { frame.fn.LLVMFn.SetLinkage(llvm.InternalLinkage)