From 45f596c3f2f5d832ba6045c70a4ee71f7e043a2c Mon Sep 17 00:00:00 2001 From: Chad Versace Date: Mon, 15 Nov 2010 17:55:35 -0800 Subject: [PATCH] glsl: Implicitly convert return values when necessary See https://bugs.freedesktop.org/show_bug.cgi?id=31576 --- src/glsl/ast_to_hir.cpp | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp index 4540e98..7322e10 100644 --- a/src/glsl/ast_to_hir.cpp +++ b/src/glsl/ast_to_hir.cpp @@ -2636,11 +2636,10 @@ ast_jump_statement::hir(exec_list *instructions, state->current_function->function_name()); } - ir_expression *const ret = (ir_expression *) - opt_return_value->hir(instructions, state); + ir_rvalue *ret = opt_return_value->hir(instructions, state); assert(ret != NULL); - - /* Implicit conversions are not allowed for return values. */ + apply_implicit_conversion(state->current_function->return_type, ret, + state); if (state->current_function->return_type != ret->type) { YYLTYPE loc = this->get_location(); -- 1.7.1