aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/opt-functions.awk10
-rw-r--r--gcc/opt-read.awk10
3 files changed, 20 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cbdc550..5f18676 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
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>
+
PR driver/94330
* lto-wrapper.c (run_gcc): When using -flto=jobserver,
report warning when the jobserver is not detected.
diff --git a/gcc/opt-functions.awk b/gcc/opt-functions.awk
index 2f0442d..b4952b8 100644
--- a/gcc/opt-functions.awk
+++ b/gcc/opt-functions.awk
@@ -72,6 +72,16 @@ function opt_args(name, 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
# if S does not contain N elements.
function nth_arg(n, s)
diff --git a/gcc/opt-read.awk b/gcc/opt-read.awk
index a2e16f2..9bb9dfc 100644
--- a/gcc/opt-read.awk
+++ b/gcc/opt-read.awk
@@ -81,8 +81,8 @@ BEGIN {
}
else if ($1 == "Enum") {
props = $2
- name = opt_args("Name", props)
- type = opt_args("Type", props)
+ name = opt_args_non_empty("Name", props)
+ type = opt_args_non_empty("Type", props)
unknown_error = opt_args("UnknownError", props)
enum_names[n_enums] = name
enum_type[name] = type
@@ -93,9 +93,9 @@ BEGIN {
}
else if ($1 == "EnumValue") {
props = $2
- enum_name = opt_args("Enum", props)
- string = opt_args("String", props)
- value = opt_args("Value", props)
+ enum_name = opt_args_non_empty("Enum", props)
+ string = opt_args_non_empty("String", props)
+ value = opt_args_non_empty("Value", props)
val_flags = "0"
val_flags = val_flags \
test_flag("Canonical", props, "| CL_ENUM_CANONICAL") \