aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2019-04-01 09:17:38 +0200
committerMartin Liska <marxin@gcc.gnu.org>2019-04-01 07:17:38 +0000
commit90f1430589e2f3efa8136346615fc08edfd936f3 (patch)
tree3a3157c04dae0517a76d552a6e57170e47b398e3
parent2a82beaa820410600441f36e49e91a3a18e04fc5 (diff)
downloadgcc-90f1430589e2f3efa8136346615fc08edfd936f3.zip
gcc-90f1430589e2f3efa8136346615fc08edfd936f3.tar.gz
gcc-90f1430589e2f3efa8136346615fc08edfd936f3.tar.bz2
Enhance option suggestion for options expected an argument (PR driver/89861).
2019-04-01 Martin Liska <mliska@suse.cz> PR driver/89861 * opt-suggestions.c (option_proposer::build_option_suggestions): Add variant without any argument in order to provide better hints. 2019-04-01 Martin Liska <mliska@suse.cz> PR driver/89861 * gcc.dg/spellcheck-options-18.c: New test. * gcc.dg/spellcheck-options-19.c: New test. * gcc.dg/spellcheck-options-20.c: New test. * gcc.dg/spellcheck-options-13.c: Adjust expected output. * gcc.dg/completion-2.c: Add one variant with no argument. From-SVN: r270053
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/opt-suggestions.c8
-rw-r--r--gcc/testsuite/ChangeLog9
-rw-r--r--gcc/testsuite/gcc.dg/completion-2.c1
-rw-r--r--gcc/testsuite/gcc.dg/spellcheck-options-13.c2
-rw-r--r--gcc/testsuite/gcc.dg/spellcheck-options-18.c3
-rw-r--r--gcc/testsuite/gcc.dg/spellcheck-options-19.c3
-rw-r--r--gcc/testsuite/gcc.dg/spellcheck-options-20.c3
8 files changed, 35 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6982daa..e123db0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2019-04-01 Martin Liska <mliska@suse.cz>
+
+ PR driver/89861
+ * opt-suggestions.c (option_proposer::build_option_suggestions):
+ Add variant without any argument in order to provide better
+ hints.
+
2019-04-01 Richard Biener <rguenther@suse.de>
PR c/71598
diff --git a/gcc/opt-suggestions.c b/gcc/opt-suggestions.c
index c14c29d..415dcc9 100644
--- a/gcc/opt-suggestions.c
+++ b/gcc/opt-suggestions.c
@@ -134,6 +134,10 @@ option_proposer::build_option_suggestions (const char *prefix)
with_arg);
free (with_arg);
}
+
+ /* Add also variant without an option argument. */
+ add_misspelling_candidates (m_option_suggestions, option,
+ opt_text);
}
else
{
@@ -172,6 +176,10 @@ option_proposer::build_option_suggestions (const char *prefix)
"-fsanitize=address"
rather than to "-Wframe-address" (PR driver/69265). */
{
+ /* Add also variant without an option argument. */
+ add_misspelling_candidates (m_option_suggestions, option,
+ opt_text);
+
for (int j = 0; sanitizer_opts[j].name != NULL; ++j)
{
struct cl_option optb;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a6ac581..15b32a2 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,12 @@
+2019-04-01 Martin Liska <mliska@suse.cz>
+
+ PR driver/89861
+ * gcc.dg/spellcheck-options-18.c: New test.
+ * gcc.dg/spellcheck-options-19.c: New test.
+ * gcc.dg/spellcheck-options-20.c: New test.
+ * gcc.dg/spellcheck-options-13.c: Adjust expected output.
+ * gcc.dg/completion-2.c: Add one variant with no argument.
+
2019-04-01 Richard Biener <rguenther@suse.de>
PR c/71598
diff --git a/gcc/testsuite/gcc.dg/completion-2.c b/gcc/testsuite/gcc.dg/completion-2.c
index ac75085..166bfdc 100644
--- a/gcc/testsuite/gcc.dg/completion-2.c
+++ b/gcc/testsuite/gcc.dg/completion-2.c
@@ -7,4 +7,5 @@
-flto-partition=max
-flto-partition=none
-flto-partition=one
+-flto-partition=
{ dg-end-multiline-output "" } */
diff --git a/gcc/testsuite/gcc.dg/spellcheck-options-13.c b/gcc/testsuite/gcc.dg/spellcheck-options-13.c
index 19b63af..0d00642 100644
--- a/gcc/testsuite/gcc.dg/spellcheck-options-13.c
+++ b/gcc/testsuite/gcc.dg/spellcheck-options-13.c
@@ -2,4 +2,4 @@
/* { dg-do compile } */
/* { dg-options "-fsanitize" } */
-/* { dg-error "unrecognized command line option .-fsanitize..$" "" { target *-*-* } 0 } */
+/* { dg-error "unrecognized command line option '-fsanitize'; did you mean '-fsanitize='?" "" { target *-*-* } 0 } */
diff --git a/gcc/testsuite/gcc.dg/spellcheck-options-18.c b/gcc/testsuite/gcc.dg/spellcheck-options-18.c
new file mode 100644
index 0000000..387d04e
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/spellcheck-options-18.c
@@ -0,0 +1,3 @@
+/* { dg-do compile } */
+/* { dg-options "-fprofile-update" } */
+/* { dg-error "unrecognized command line option '-fprofile-update'; did you mean '-fprofile-update='?" "" { target *-*-* } 0 } */
diff --git a/gcc/testsuite/gcc.dg/spellcheck-options-19.c b/gcc/testsuite/gcc.dg/spellcheck-options-19.c
new file mode 100644
index 0000000..5a10476
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/spellcheck-options-19.c
@@ -0,0 +1,3 @@
+/* { dg-do compile } */
+/* { dg-options "-fno-sanitize" } */
+/* { dg-error "unrecognized command line option '-fno-sanitize'; did you mean '-fno-sanitize='?" "" { target *-*-* } 0 } */
diff --git a/gcc/testsuite/gcc.dg/spellcheck-options-20.c b/gcc/testsuite/gcc.dg/spellcheck-options-20.c
new file mode 100644
index 0000000..dfc6149
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/spellcheck-options-20.c
@@ -0,0 +1,3 @@
+/* { dg-do compile } */
+/* { dg-options "-Walloc-size-larger-than" } */
+/* { dg-error "unrecognized command line option '-Walloc-size-larger-than'; did you mean '-Walloc-size-larger-than='?" "" { target *-*-* } 0 } */