mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-23 01:50:33 +08:00
middle-end: always find a basename for -fdiagnostics-format=*
In some situations, x_dump_base_name is NULL and thus we can and should use x_main_input_basename which should never be NULL. PR middle-end/106133 gcc/ChangeLog: * gcc.cc (driver_handle_option): Use x_main_input_basename if x_dump_base_name is null. * opts.cc (common_handle_option): Likewise. gcc/testsuite/ChangeLog: * c-c++-common/pr106133.c: New test.
This commit is contained in:
parent
bd2d206b7b
commit
c5e2c3dd6a
10
gcc/gcc.cc
10
gcc/gcc.cc
@ -4291,9 +4291,13 @@ driver_handle_option (struct gcc_options *opts,
|
||||
break;
|
||||
|
||||
case OPT_fdiagnostics_format_:
|
||||
diagnostic_output_format_init (dc, opts->x_dump_base_name,
|
||||
(enum diagnostics_output_format)value);
|
||||
break;
|
||||
{
|
||||
const char *basename = (opts->x_dump_base_name ? opts->x_dump_base_name
|
||||
: opts->x_main_input_basename);
|
||||
diagnostic_output_format_init (dc, basename,
|
||||
(enum diagnostics_output_format)value);
|
||||
break;
|
||||
}
|
||||
|
||||
case OPT_Wa_:
|
||||
{
|
||||
|
10
gcc/opts.cc
10
gcc/opts.cc
@ -2878,9 +2878,13 @@ common_handle_option (struct gcc_options *opts,
|
||||
break;
|
||||
|
||||
case OPT_fdiagnostics_format_:
|
||||
diagnostic_output_format_init (dc, opts->x_dump_base_name,
|
||||
(enum diagnostics_output_format)value);
|
||||
break;
|
||||
{
|
||||
const char *basename = (opts->x_dump_base_name ? opts->x_dump_base_name
|
||||
: opts->x_main_input_basename);
|
||||
diagnostic_output_format_init (dc, basename,
|
||||
(enum diagnostics_output_format)value);
|
||||
break;
|
||||
}
|
||||
|
||||
case OPT_fdiagnostics_parseable_fixits:
|
||||
dc->extra_output_kind = (value
|
||||
|
3
gcc/testsuite/c-c++-common/pr106133.c
Normal file
3
gcc/testsuite/c-c++-common/pr106133.c
Normal file
@ -0,0 +1,3 @@
|
||||
/* PR middle-end/106133 */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-fdiagnostics-format=json-file -E" } */
|
Loading…
x
Reference in New Issue
Block a user