Hi!
On Tue, Apr 27, 2021 at 10:32:42AM -0500, Bill Schmidt via Gcc-patches wrote:
> +enum void_status {
The { goes on a new line, in our coding style.
> +struct typeinfo {
The same is true in structs (but that is violated in some places).
> + char isvoid;
bool? I'm not asking you to change it, but, is there a reason to use an
integer type?
> + int val1;
> + int val2;
Lol :-) Oh the suspense!
> +/* Match one of the allowable base types. Consumes one token unless the
> + token is "long", which must be paired with a second "long". Optionally
> + consumes a following '*' token for pointers. Return 1 for success,
> + 0 for failure. */
> +static int
> +match_basetype (typeinfo *typedata)
> +{
> + return 1;
> +}
This will be implemented later?
> +/* A const int argument may be restricted to certain values. This is
> + indicated by one of the following occurring after the "int' token:
> +
> + <x> restricts the constant to x bits, interpreted as unsigned
> + <x,y> restricts the constant to the inclusive range [x,y]
> + [x,y] restricts the constant to the inclusive range [x,y],
> + but only applies if the argument is constant.
> + {x,y} restricts the constant to one of two values, x or y.
> +
> + Here x and y are integer tokens. Note that the "const" token is a
> + lie when the restriction is [x,y], but this simplifies the parsing
> + significantly and is hopefully forgivable.
> +
> + Return 1 for success, else 0. */
> +static int
> +match_const_restriction (typeinfo *typedata)
> +{
> + return 1;
> +}
And this.
Okay for trunk with the trivialities fixed. Thanks!
Segher