On Fri, Aug 5, 2011 at 1:48 PM, Chad Versace <c...@chad-versace.us> wrote: > On 08/04/2011 06:18 PM, Chad Versace wrote: >> On 08/04/2011 01:29 PM, Eric Anholt wrote: >>> On Thu, 4 Aug 2011 12:59:35 +0900, Chia-I Wu <olva...@gmail.com> wrote: >>>> From: Chia-I Wu <o...@lunarg.com> >>>> >>>> Unlike C++, empty declarations such as >>>> >>>> float; >>>> >>>> should be valid. The spec is not explicit about this actually. >>>> >>>> Some apps that generate their shader sources may rely on this. This was >>>> noted when porting one of them to Linux from Windows. >>> >>> Ew. Looking the GLSL 1.20 spec, I see: >>> >>> statement: >>> declaration_statement >>> >>> declaration_statement: >>> declaration >>> >>> declaration: >>> init_declarator_list SEMICOLON >>> >>> init_declarator_list: >>> single_declaration >>> >>> single_declaration: >>> fully_specified_type >>> fully_specified_type IDENTIFIER >>> >>> so it looks like that is actually valid code. That's awful. >> >> I first suspected that this was a spec grammar bug. But it is still present >> in >> the GLSL 4.10 spec, so it's unlikely to be a bug. >> >> Surprisingly, C also allows empty declarations. Compiling this >> float; >> int main() { return 0; } >> with `gcc --std=c99` succeeds and emits this warning: >> warning: useless type name in empty declaration [enabled by default] >> >> I hate to say this, but I believe the spec grammar intentionally allows empty >> declarations. C allows it, and GLSL tries to mimic C. >> >> Even though I don't like empty declarations, this patch is >> Reviewed-by: Chad Versace <c...@chad-versace.us> > > > Also, please update the commit message to say that `gcc --std=c99` allows > empty > declrations and include the appropriate quotation from the GLSL 1.20 spec's > grammar. Without that extra info, someone may stumble onto this commit and > say WTF. Oops. I've already committed it... > -- > Chad Versace > c...@chad-versace.us > > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > >
-- o...@lunarg.com _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev