From: Kenneth Graunke Date: Tue, 31 Aug 2010 03:42:19 +0000 (-0700) Subject: linker: Require an exact matching signature when looking for prototypes. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2619b1c96feed72444499021d8a870eab1c37e00;p=mesa.git 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. --- diff --git a/src/glsl/link_functions.cpp b/src/glsl/link_functions.cpp index 6374573e614..78c8b48cf17 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);