[Issue 22030] importC: Wrong error with bad declarator
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Jun 16 17:04:26 UTC 2021
https://issues.dlang.org/show_bug.cgi?id=22030
Iain Buclaw <ibuclaw at gdcproject.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ibuclaw at gdcproject.org
--- Comment #1 from Iain Buclaw <ibuclaw at gdcproject.org> ---
A further example:
---
int , int;
---
When compiled with GCC:
---
test.c:1: error: expected identifier or ‘(’ before ‘,’ token
---
However DMD compiles with no errors. So DMD is not respecting the grammar in
C11 6.7 (and in particular 6.7.6), which says that `int;` is valid
(declaration-specifier without an init-declarator-list), but `int,` is not.
declaration:
declaration-specifiers init-declarator-list(opt);
init-declarator-list:
init-declarator
init-declarator-list , init-declarator
init-declarator:
declarator
declarator = initializer
declarator:
pointer(opt) direct-declarator
direct-declarator:
identifier attribute-specifier-sequence(opt)
( declarator ) array-declarator attribute-specifier-sequence(opt)
function-declarator attribute-specifier-sequence(opt)
--
More information about the Digitalmars-d-bugs
mailing list