public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r14-10192] driver: Move -fdiagnostics-urls= early like -fdiagnostics-color= [PR114980]
@ 2024-05-10  3:21 Xi Ruoyao
  0 siblings, 0 replies; only message in thread
From: Xi Ruoyao @ 2024-05-10  3:21 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:21051de4bed3d541804bf965cbdc3e8047698777

commit r14-10192-g21051de4bed3d541804bf965cbdc3e8047698777
Author: Xi Ruoyao <xry111@xry111.site>
Date:   Wed May 8 11:25:57 2024 +0800

    driver: Move -fdiagnostics-urls= early like -fdiagnostics-color= [PR114980]
    
    In GCC 14 we started to emit URLs for "command-line option <option> is
    valid for <language> but not <another language>" and "-Werror= argument
    '-Werror=<option>' is not valid for <language>" warnings.  So we should
    have moved -fdiagnostics-urls= early like -fdiagnostics-color=, or
    -fdiagnostics-urls= wouldn't be able to control URLs in these warnings.
    
    No test cases are added because with TERM=xterm-256colors PR114980
    already triggers some test failures.
    
    gcc/ChangeLog:
    
            PR driver/114980
            * opts-common.cc (prune_options): Move -fdiagnostics-urls=
            early like -fdiagnostics-color=.
    
    (cherry picked from commit f75806ec63ec1af2d76a194e5fa73e114b2b8857)

Diff:
---
 gcc/opts-common.cc | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/gcc/opts-common.cc b/gcc/opts-common.cc
index 4a2dff243b0c..2d1e86ff94fa 100644
--- a/gcc/opts-common.cc
+++ b/gcc/opts-common.cc
@@ -1152,6 +1152,7 @@ prune_options (struct cl_decoded_option **decoded_options,
   unsigned int options_to_prepend = 0;
   unsigned int Wcomplain_wrong_lang_idx = 0;
   unsigned int fdiagnostics_color_idx = 0;
+  unsigned int fdiagnostics_urls_idx = 0;
 
   /* Remove arguments which are negated by others after them.  */
   new_decoded_options_count = 0;
@@ -1185,6 +1186,12 @@ prune_options (struct cl_decoded_option **decoded_options,
 	    ++options_to_prepend;
 	  fdiagnostics_color_idx = i;
 	  continue;
+	case OPT_fdiagnostics_urls_:
+	  gcc_checking_assert (i != 0);
+	  if (fdiagnostics_urls_idx == 0)
+	    ++options_to_prepend;
+	  fdiagnostics_urls_idx = i;
+	  continue;
 
 	default:
 	  gcc_assert (opt_idx < cl_options_count);
@@ -1248,6 +1255,12 @@ keep:
 	    = old_decoded_options[fdiagnostics_color_idx];
 	  new_decoded_options_count++;
 	}
+      if (fdiagnostics_urls_idx != 0)
+	{
+	  new_decoded_options[argv_0 + options_prepended++]
+	    = old_decoded_options[fdiagnostics_urls_idx];
+	  new_decoded_options_count++;
+	}
       gcc_checking_assert (options_to_prepend == options_prepended);
     }

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-05-10  3:21 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-05-10  3:21 [gcc r14-10192] driver: Move -fdiagnostics-urls= early like -fdiagnostics-color= [PR114980] Xi Ruoyao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).