From 5b98c1cb418d4e4b2594ff406748e2a9d9af83e9 Mon Sep 17 00:00:00 2001
From: Raymond Toy <toy.raymond@gmail.com>
Date: Mon, 10 Dec 2012 21:17:43 -0800
Subject: [PATCH] Print out more info on specialization errors.

---
 src/compiler/disassem.lisp | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/compiler/disassem.lisp b/src/compiler/disassem.lisp
index 2ffeb1bb2..13f6b3554 100644
--- a/src/compiler/disassem.lisp
+++ b/src/compiler/disassem.lisp
@@ -1670,7 +1670,13 @@
 	    (> (specializer-rank i1) (specializer-rank i2)))))
 
 (defun specialization-error (insts)
-  (error (intl:gettext "Instructions either aren't related or conflict in some way:~% ~s") insts))
+  (error
+   (with-output-to-string (s)
+     (let ((*standard-output* s))
+       (format s (intl:gettext "Instructions either aren't related or conflict in some way:~%"))
+       (dolist (inst insts)
+	 (print-inst-bits inst)
+	 (format s "  ~S~%" inst))))))
 
 (defun try-specializing (insts)
   "Given a list of instructions INSTS, Sees if one of these instructions is a
-- 
GitLab