optgen: make more sanity checks for enums.
* opt-functions.awk (opt_args_non_empty): New function. * opt-read.awk: Use the function for various option arguments.
This commit is contained in:
parent
0f62caf58b
commit
2d8a60a63c
|
@ -1,3 +1,8 @@
|
||||||
|
2020-05-05 Martin Liska <mliska@suse.cz>
|
||||||
|
|
||||||
|
* opt-functions.awk (opt_args_non_empty): New function.
|
||||||
|
* opt-read.awk: Use the function for various option arguments.
|
||||||
|
|
||||||
2020-05-05 Martin Liska <mliska@suse.cz>
|
2020-05-05 Martin Liska <mliska@suse.cz>
|
||||||
|
|
||||||
PR driver/94330
|
PR driver/94330
|
||||||
|
|
|
@ -72,6 +72,16 @@ function opt_args(name, flags)
|
||||||
return flags
|
return flags
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# If FLAGS contains a "NAME(...argument...)" flag, return the value
|
||||||
|
# of the argument. Print error message otherwise.
|
||||||
|
function opt_args_non_empty(name, flags, description)
|
||||||
|
{
|
||||||
|
args = opt_args(name, flags)
|
||||||
|
if (args == "")
|
||||||
|
print "#error Empty option argument '" name "' during parsing of: " flags
|
||||||
|
return args
|
||||||
|
}
|
||||||
|
|
||||||
# Return the Nth comma-separated element of S. Return the empty string
|
# Return the Nth comma-separated element of S. Return the empty string
|
||||||
# if S does not contain N elements.
|
# if S does not contain N elements.
|
||||||
function nth_arg(n, s)
|
function nth_arg(n, s)
|
||||||
|
|
|
@ -81,8 +81,8 @@ BEGIN {
|
||||||
}
|
}
|
||||||
else if ($1 == "Enum") {
|
else if ($1 == "Enum") {
|
||||||
props = $2
|
props = $2
|
||||||
name = opt_args("Name", props)
|
name = opt_args_non_empty("Name", props)
|
||||||
type = opt_args("Type", props)
|
type = opt_args_non_empty("Type", props)
|
||||||
unknown_error = opt_args("UnknownError", props)
|
unknown_error = opt_args("UnknownError", props)
|
||||||
enum_names[n_enums] = name
|
enum_names[n_enums] = name
|
||||||
enum_type[name] = type
|
enum_type[name] = type
|
||||||
|
@ -93,9 +93,9 @@ BEGIN {
|
||||||
}
|
}
|
||||||
else if ($1 == "EnumValue") {
|
else if ($1 == "EnumValue") {
|
||||||
props = $2
|
props = $2
|
||||||
enum_name = opt_args("Enum", props)
|
enum_name = opt_args_non_empty("Enum", props)
|
||||||
string = opt_args("String", props)
|
string = opt_args_non_empty("String", props)
|
||||||
value = opt_args("Value", props)
|
value = opt_args_non_empty("Value", props)
|
||||||
val_flags = "0"
|
val_flags = "0"
|
||||||
val_flags = val_flags \
|
val_flags = val_flags \
|
||||||
test_flag("Canonical", props, "| CL_ENUM_CANONICAL") \
|
test_flag("Canonical", props, "| CL_ENUM_CANONICAL") \
|
||||||
|
|
Loading…
Reference in New Issue