X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/b2983f3591981a916f748362d91ff0e2817552cb..02840f3dba856d042fe27a0adfb0367346447cda:/src/sod-module.5 diff --git a/src/sod-module.5 b/src/sod-module.5 index 66937da..949e781 100644 --- a/src/sod-module.5 +++ b/src/sod-module.5 @@ -735,15 +735,49 @@ class-definition .B _Complex .| .I qualifier +.| +.I storage-specifier +.| +.I atomic-type .br .I qualifier ::= +.I atomic +| .B const | .B volatile | .B restrict .br +.I atomic-type +::= +.I +atomic +.B ( +.IR declaration-specifier \*+ +.I abstract-declarator +.B ) +.br +.I atomic +::= +.B atomic +| +.B _Atomic +.br +.I storage-specifier +::= +.I alignas +.B ( +.I c-fragment +.B ) +.br +.I alignas +::= +.B alignas +| +.B _Alignas +.br .I type-name ::= .I identifier @@ -765,6 +799,8 @@ However, not all combinations are permitted. A declaration specifier must consist of zero or more .IR qualifier s, +zero or more +.IR storage-specifier s, and one of the following, up to reordering. .hP \*o .I type-name @@ -877,6 +913,10 @@ and one of the following, up to reordering. .IR declaration-specifier \*+ .I argument-declarator .br +.I abstract-declarator +::= +.IR declarator "[\*e, " argument-list ] +.br .I argument-declarator ::= .IR declarator [ identifier " | \*e, " argument-list ]