summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2022-11-30 13:57:12 -0500
committerTavian Barnes <tavianator@tavianator.com>2022-11-30 14:10:18 -0500
commit33a6a3027f0b1ec931824a4b2206bf6659df53a4 (patch)
tree27b7946f34848695723f087c62e35439d02d22be
parent1d68b43f1554ee82b3ac5772534a5ecbd57855a7 (diff)
downloadbfs-33a6a3027f0b1ec931824a4b2206bf6659df53a4.tar.xz
parse: Pass the right argument when warning about -O9
-rw-r--r--src/parse.c2
-rw-r--r--tests/bfs/warn_O9.out19
-rw-r--r--tests/bfs/warn_O9.sh3
3 files changed, 23 insertions, 1 deletions
diff --git a/src/parse.c b/src/parse.c
index 16132f3..5ef71f8 100644
--- a/src/parse.c
+++ b/src/parse.c
@@ -1016,7 +1016,7 @@ static struct bfs_expr *parse_optlevel(struct parser_state *state, int arg1, int
}
if (*optlevel > 4) {
- parse_expr_warning(state, expr, "${cyn}-O${bld}%s${rs} is the same as ${cyn}-O${bld}4${rs}.\n\n", state->argv[0] + 2);
+ parse_expr_warning(state, expr, "${cyn}-O${bld}%s${rs} is the same as ${cyn}-O${bld}4${rs}.\n\n", expr->argv[0] + 2);
}
return expr;
diff --git a/tests/bfs/warn_O9.out b/tests/bfs/warn_O9.out
new file mode 100644
index 0000000..336a6e8
--- /dev/null
+++ b/tests/bfs/warn_O9.out
@@ -0,0 +1,19 @@
+.
+./a
+./b
+./c
+./c/d
+./e
+./e/f
+./g
+./g/h
+./i
+./j
+./j/foo
+./k
+./k/foo
+./k/foo/bar
+./l
+./l/foo
+./l/foo/bar
+./l/foo/bar/baz
diff --git a/tests/bfs/warn_O9.sh b/tests/bfs/warn_O9.sh
new file mode 100644
index 0000000..821789f
--- /dev/null
+++ b/tests/bfs/warn_O9.sh
@@ -0,0 +1,3 @@
+# Regression test: don't crash when warning if -O9 is the last argument
+cd basic
+bfs_diff -warn -O9