diff options
author | Eric Anholt <[email protected]> | 2010-08-23 13:26:52 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2010-08-23 13:27:36 -0700 |
commit | 76e96d74f49cc262ceaf2ed6c48d2f4ed21d219f (patch) | |
tree | d53c5b2d21b5abdb6183a1e7e1d1f070226d001b /src/glsl | |
parent | 6fb39f0fa2cad668fd6c49d0b739c33954a6946c (diff) |
glsl: Cleanly fail when a function has an unknown return type.
Bug #29608.
Diffstat (limited to 'src/glsl')
-rw-r--r-- | src/glsl/ast_to_hir.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp index 8e4c3299aa6..7ac24b06fe7 100644 --- a/src/glsl/ast_to_hir.cpp +++ b/src/glsl/ast_to_hir.cpp @@ -2138,7 +2138,13 @@ ast_function::hir(exec_list *instructions, const glsl_type *return_type = this->return_type->specifier->glsl_type(& return_type_name, state); - assert(return_type != NULL); + if (!return_type) { + YYLTYPE loc = this->get_location(); + _mesa_glsl_error(&loc, state, + "function `%s' has undeclared return type `%s'", + name, return_type_name); + return_type = glsl_type::error_type; + } /* From page 56 (page 62 of the PDF) of the GLSL 1.30 spec: * "No qualifier is allowed on the return type of a function." |