clover: Avoid using typename to allow compilation of clover by clang
authorAlbert Freeman <albertwdfreeman@gmail.com>
Tue, 8 Sep 2015 13:06:40 +0000 (13:06 +0000)
committerEmil Velikov <emil.l.velikov@gmail.com>
Thu, 10 Sep 2015 13:56:40 +0000 (14:56 +0100)
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>
src/gallium/state_trackers/clover/llvm/invocation.cpp

index 7c23a27150bf023245b5e23783885c05d00b307d..d74b50df45a504063767ba4a3a3922db554b7ad4 100644 (file)
@@ -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) {