Mesa (master): linker: Require an exact matching signature when looking for prototypes.
Kenneth Graunke
kwg at kemper.freedesktop.org
Tue Aug 31 04:07:13 UTC 2010
Module: Mesa
Branch: master
Commit: 2619b1c96feed72444499021d8a870eab1c37e00
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2619b1c96feed72444499021d8a870eab1c37e00
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Aug 30 20:42:19 2010 -0700
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 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/glsl/link_functions.cpp b/src/glsl/link_functions.cpp
index 6374573..78c8b48 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);
More information about the mesa-commit
mailing list