From be2062be9a629ae18a0c87c6b9cbe1885978417e Mon Sep 17 00:00:00 2001 From: Marek Polacek Date: Mon, 9 Dec 2024 08:19:35 -0500 Subject: [PATCH] driver: fix crash with --diagnostics-plain-output [PR117942] We are crashing here because decode_cmdline_options_to_array has: if (!strcmp (opt, "-fdiagnostics-plain-output")) ... but that doesn't handle the '--FLAG' variant. PR driver/117942 gcc/ChangeLog: * opts-common.cc (decode_cmdline_options_to_array): Also detect --diagnostics-plain-output. Reviewed-by: Joseph Myers --- gcc/opts-common.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gcc/opts-common.cc b/gcc/opts-common.cc index 2594e5a5643..e85920bcb65 100644 --- a/gcc/opts-common.cc +++ b/gcc/opts-common.cc @@ -1077,7 +1077,9 @@ decode_cmdline_options_to_array (unsigned int argc, const char **argv, /* Expand -fdiagnostics-plain-output to its constituents. This needs to happen here so that prune_options can handle -fdiagnostics-color specially. */ - if (!strcmp (opt, "-fdiagnostics-plain-output")) + if (opt[0] == '-' + && (opt[1] == '-' || opt[1] == 'f') + && !strcmp (opt + 2, "diagnostics-plain-output")) { /* If you have changed the default diagnostics output, and this new output is not appropriately "plain" (e.g., the change needs to be