From 2619b1c96feed72444499021d8a870eab1c37e00 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Mon, 30 Aug 2010 20:42:19 -0700 Subject: linker: Require an exact matching signature when looking for prototypes. Fixes piglit test glsl-override-builtin. The linker incorrectly found the prototype for the float signature, rather than adding a new prototype with the int return type. This caused ir_calls with type int to have their callees set to the float signature, triggering an assert. --- src/glsl/link_functions.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/glsl/link_functions.cpp') diff --git a/src/glsl/link_functions.cpp b/src/glsl/link_functions.cpp index 6374573e61..78c8b48cf1 100644 --- a/src/glsl/link_functions.cpp +++ b/src/glsl/link_functions.cpp @@ -111,7 +111,7 @@ public: f = new(linked) ir_function(name); ir_function_signature *linked_sig = - f->matching_signature(&callee->parameters); + f->exact_matching_signature(&callee->parameters); if (linked_sig == NULL) { linked_sig = new(linked) ir_function_signature(callee->return_type); f->add_signature(linked_sig); -- cgit v1.2.3