]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Subject: Backport r270622
authorMartin Liska <mliska@suse.cz>
Tue, 30 Apr 2019 08:35:28 +0000 (10:35 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Tue, 30 Apr 2019 08:35:28 +0000 (08:35 +0000)
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.

From-SVN: r270676

gcc/ChangeLog
gcc/opt-suggestions.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/completion-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/spellcheck-options-5.c [new file with mode: 0644]

index 44e64ddd1b54b90e59e7d29fa1959be5d6ddeb6d..a4a2c8ec70cfc303f7726559dc10091a7be005bc 100644 (file)
@@ -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
index 415dcc9fc45c5925baead2c71c7aa9c37e8b67b5..a820c78ff56fe985dc53e3d9edc16f64297cc650 100644 (file)
@@ -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);
            }
index bd697d105819ce135660a4780c8f64de257db4b2..592b2b5f6fa1aecc7c725cfd49b2ecc0fd0ddf8a 100644 (file)
@@ -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 (file)
index 0000000..6719cfb
--- /dev/null
@@ -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 (file)
index 0000000..4a878ba
--- /dev/null
@@ -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 } */