When parsing an variable declaration qualified with the typename keyword, clang attempted to declare a variable with the type of non type member "enum type type" of module::argument (within the header file clover/core/module.hpp) instead of the typed member of module::argument "enum type". Replaced "typename" with "enum" to force clang to declare the variable marg_type with type "enum type" of module::argument. CC: "11.0" <mesa-stable@lists.freedesktop.org> Reviewed-by: Francisco Jerez <currojerez@riseup.net> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Albert Freeman <albertwdfreeman@gmail.com>tags/11.1-branchpoint
@@ -465,7 +465,7 @@ namespace { | |||
const bool is_write_only = access_qual == "write_only"; | |||
const bool is_read_only = access_qual == "read_only"; | |||
typename module::argument::type marg_type; | |||
enum module::argument::type marg_type; | |||
if (is_image2d && is_read_only) { | |||
marg_type = module::argument::image2d_rd; | |||
} else if (is_image2d && is_write_only) { |