glsl: Don't emit empty declaration warning for a struct specifier
authorIan Romanick <ian.d.romanick@intel.com>
Wed, 27 Nov 2013 19:22:27 +0000 (11:22 -0800)
committerIan Romanick <ian.d.romanick@intel.com>
Fri, 6 Dec 2013 16:06:54 +0000 (08:06 -0800)
The intention is that things like

   int;

will generate a warning.  However, we were also accidentally emitting
the same warning for things like

  struct Foo { int x; };

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68838
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: Aras Pranckevicius <aras@unity3d.com>
Cc: "9.2 10.0" <mesa-stable@lists.freedesktop.org>
src/glsl/ast_to_hir.cpp

index 43cf49745573a772d5d56d26ac6ac7b93fbf81a1..37be1cb75623ec9d08ea663a3de71edec332f7db 100644 (file)
@@ -2940,7 +2940,7 @@ ast_declarator_list::hir(exec_list *instructions,
                                precision_names[this->type->qualifier.precision],
                                type_name);
          }
-      } else {
+      } else if (this->type->specifier->structure == NULL) {
          _mesa_glsl_warning(&loc, state, "empty declaration");
       }
    }