aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>2019-04-30 08:35:28 +0000
committermarxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>2019-04-30 08:35:28 +0000
commitfb21c1e3dcadfdd2b179ae79014c3d7b4047fa61 (patch)
tree923274debd2ddcb1729bdd57822c689e50145629
parentb42cf7dc6d5f1508e24e489f69212e1391a7ff0e (diff)
Subject: Backport r270622
2019-04-30 Martin Liska <mliska@suse.cz> Backport from mainline 2019-04-27 Martin Liska <mliska@suse.cz> PR middle-end/90258 * opt-suggestions.c (option_proposer::build_option_suggestions): When get_valid_option_values returns empty values, add the misspelling candidate. 2019-04-30 Martin Liska <mliska@suse.cz> Backport from mainline 2019-04-27 Martin Liska <mliska@suse.cz> PR middle-end/90258 * gcc.dg/completion-5.c: New test. * gcc.target/i386/spellcheck-options-5.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-9-branch@270676 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/opt-suggestions.c5
-rw-r--r--gcc/testsuite/ChangeLog9
-rw-r--r--gcc/testsuite/gcc.dg/completion-5.c7
-rw-r--r--gcc/testsuite/gcc.target/i386/spellcheck-options-5.c5
5 files changed, 35 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 44e64ddd1b5..a4a2c8ec70c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,13 @@
+2019-04-30 Martin Liska <mliska@suse.cz>
+
+ Backport from mainline
+ 2019-04-27 Martin Liska <mliska@suse.cz>
+
+ PR middle-end/90258
+ * opt-suggestions.c (option_proposer::build_option_suggestions):
+ When get_valid_option_values returns empty values, add the
+ misspelling candidate.
+
2019-04-30 Richard Biener <rguenther@suse.de>
PR tree-optimization/90273
diff --git a/gcc/opt-suggestions.c b/gcc/opt-suggestions.c
index 415dcc9fc45..a820c78ff56 100644
--- a/gcc/opt-suggestions.c
+++ b/gcc/opt-suggestions.c
@@ -141,12 +141,14 @@ option_proposer::build_option_suggestions (const char *prefix)
}
else
{
+ bool option_added = false;
if (option->flags & CL_TARGET)
{
vec<const char *> option_values
= targetm_common.get_valid_option_values (i, prefix);
if (!option_values.is_empty ())
{
+ option_added = true;
for (unsigned j = 0; j < option_values.length (); j++)
{
char *with_arg = concat (opt_text, option_values[j],
@@ -158,7 +160,8 @@ option_proposer::build_option_suggestions (const char *prefix)
}
option_values.release ();
}
- else
+
+ if (!option_added)
add_misspelling_candidates (m_option_suggestions, option,
opt_text);
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index bd697d10581..592b2b5f6fa 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,12 @@
+2019-04-30 Martin Liska <mliska@suse.cz>
+
+ Backport from mainline
+ 2019-04-27 Martin Liska <mliska@suse.cz>
+
+ PR middle-end/90258
+ * gcc.dg/completion-5.c: New test.
+ * gcc.target/i386/spellcheck-options-5.c: New test.
+
2019-04-25 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/90240
diff --git a/gcc/testsuite/gcc.dg/completion-5.c b/gcc/testsuite/gcc.dg/completion-5.c
new file mode 100644
index 00000000000..6719cfb6717
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/completion-5.c
@@ -0,0 +1,7 @@
+/* { dg-do compile { target { i?86-*-* x86_64-*-* } } } */
+/* { dg-options "--completion=-mfm" } */
+
+/* { dg-begin-multiline-output "" }
+-mfma
+-mfma4
+ { dg-end-multiline-output "" } */
diff --git a/gcc/testsuite/gcc.target/i386/spellcheck-options-5.c b/gcc/testsuite/gcc.target/i386/spellcheck-options-5.c
new file mode 100644
index 00000000000..4a878ba2da0
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/spellcheck-options-5.c
@@ -0,0 +1,5 @@
+/* PR middle-end/90258. */
+
+/* { dg-do compile } */
+/* { dg-options "-mandroidX" } */
+/* { dg-error "unrecognized command line option '-mandroidX'; did you mean '-mandroid'" "" { target *-*-* } 0 } */