aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2019-04-27 08:33:29 +0200
committerMartin Liska <marxin@gcc.gnu.org>2019-04-27 06:33:29 +0000
commit23ab63504249add3ac588fe44a4214d36812eeeb (patch)
tree868a9a9f30bb1858698b55c4ee65c22f65f65b74
parent5117550700dc9b81a0073e8e802be9992a7a59e9 (diff)
downloadgcc-23ab63504249add3ac588fe44a4214d36812eeeb.zip
gcc-23ab63504249add3ac588fe44a4214d36812eeeb.tar.gz
gcc-23ab63504249add3ac588fe44a4214d36812eeeb.tar.bz2
Add missing target options (PR middle-end/90258).
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-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. From-SVN: r270622
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/opt-suggestions.c5
-rw-r--r--gcc/testsuite/ChangeLog6
-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, 29 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e5de2df..5d5f03c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+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-26 Jim Wilson <jimw@sifive.com>
* config/riscv/riscv-protos.h (riscv_move_integer): Add machine_mode
diff --git a/gcc/opt-suggestions.c b/gcc/opt-suggestions.c
index 415dcc9..a820c78 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 4c68148..6a52a9b 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+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-26 Jim Wilson <jimw@sifive.com>
* gcc.target/riscv/load-immediate.c: New.
diff --git a/gcc/testsuite/gcc.dg/completion-5.c b/gcc/testsuite/gcc.dg/completion-5.c
new file mode 100644
index 0000000..6719cfb
--- /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 0000000..4a878ba
--- /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 } */