From 63a8463edd3d205ea8f8bb43a0ae1f91cee3addc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Capucho?= Date: Mon, 20 Sep 2021 23:04:45 +0100 Subject: [PATCH] [glsl-in] Support function declarations with void as arguments --- src/front/glsl/parser/functions.rs | 4 ++++ src/front/glsl/parser_tests.rs | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/front/glsl/parser/functions.rs b/src/front/glsl/parser/functions.rs index 4b956a0da4..cfcb2f9899 100644 --- a/src/front/glsl/parser/functions.rs +++ b/src/front/glsl/parser/functions.rs @@ -586,6 +586,10 @@ impl<'source> ParsingContext<'source> { context: &mut Context, body: &mut Block, ) -> Result<()> { + if self.bump_if(parser, TokenValue::Void).is_some() { + return Ok(()); + } + loop { if self.peek_type_name(parser) || self.peek_parameter_qualifier(parser) { let qualifier = self.parse_parameter_qualifier(parser); diff --git a/src/front/glsl/parser_tests.rs b/src/front/glsl/parser_tests.rs index 9ec7ad2152..5f865e9752 100644 --- a/src/front/glsl/parser_tests.rs +++ b/src/front/glsl/parser_tests.rs @@ -104,7 +104,7 @@ fn version() { parser .parse( &Options::from(ShaderStage::Vertex), - "#version 450 core\nvoid main() {}", + "#version 450 core\nvoid main(void) {}", ) .unwrap(); assert_eq!(