public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Marek Polacek <polacek@redhat.com>
To: Florian Weimer <fweimer@redhat.com>
Cc: gcc-patches@gcc.gnu.org
Subject: Re: [PATCH v3 07/11] c: Turn -Wimplicit-int into a permerror
Date: Thu, 30 Nov 2023 14:48:26 -0500	[thread overview]
Message-ID: <ZWjnCsKL5HD1CSSO@redhat.com> (raw)
In-Reply-To: <39a598d6663a50d6df47aaeb01d097bcb62e11a7.1700473918.git.fweimer@redhat.com>

On Mon, Nov 20, 2023 at 10:56:20AM +0100, Florian Weimer wrote:
> Most of these new permerrors are currently not diagnosed in system
> headers.
> 
> gcc/
> 
> 	PR c/91093
> 	PR c/96284
> 	* doc/invoke.texi (Warning Options): Document changes.
> 
> gcc/c/
> 
> 	* c-decl.cc (warn_defaults_to): Remove.
> 	(grok_declarator, start_function): Call permerror_opt
> 	instead of warn_defaults_to.
> 	(store_parm_decls_oldstyle): Call permerror_opt for
> 	OPT_Wimplicit_int.
> 
> gcc/testsuite/
> 
> 	* gcc.dg/permerror-default.c (implicit_int_1, implicit_int_2)
> 	(implicit_int_3, implicit_int_4): Expect new permerror.
> 	* gcc.dg/permerror-system.c: Expect a single new permerror.
> 	* gcc.dg/Wimplicit-int-1.c: Compile with -fpermissive due to
> 	expected warning.
> 	* gcc.dg/Wimplicit-int-4.c: Likewise.
> 	* gcc.dg/Wimplicit-int-1a.c: New test.  Copied from
> 	gcc.dg/Wimplicit-int-1.c, but expect errors.
> 	* gcc.dg/Wimplicit-int-4a.c: New test.  Copied from
> 	gcc.dg/Wimplicit-int-4.c, but expect errors.
> 	* gcc.dg/gnu23-attr-syntax-2.c: Compile with -fpermissive
> 	due to expected implicit-int error.
> 	* gcc.dg/gnu23-attr-syntax-3.c: New test.  Copied from
> 	gcc.dg/gnu23-attr-syntax-2.c, but expect an error.
> 	* gcc.dg/pr105635.c: Build with -fpermissive due to implicit
> 	int.
> 	* gcc.dg/pr105635-2.c: New test.  Copied from
> 	gcc.dg/pr105635.c.  Expect implicit int error.
> 	* gcc.dg/noncompile/pr79758.c: Build with -fpermissive due to
> 	implicit	int.

Some extra whitespaces here.

The patch looks good.

> 	* gcc.dg/noncompile/pr79758-2.c: New test.  Copied from
> 	gcc.dg/noncompile/pr79758.c.  Expect implicit int error.
> ---
>  gcc/c/c-decl.cc                             | 43 ++++++---------------
>  gcc/doc/invoke.texi                         |  7 +++-
>  gcc/testsuite/gcc.dg/Wimplicit-int-1.c      |  2 +-
>  gcc/testsuite/gcc.dg/Wimplicit-int-1a.c     | 11 ++++++
>  gcc/testsuite/gcc.dg/Wimplicit-int-4.c      |  2 +-
>  gcc/testsuite/gcc.dg/Wimplicit-int-4a.c     | 11 ++++++
>  gcc/testsuite/gcc.dg/gnu23-attr-syntax-2.c  |  2 +-
>  gcc/testsuite/gcc.dg/gnu23-attr-syntax-3.c  | 17 ++++++++
>  gcc/testsuite/gcc.dg/noncompile/pr79758-2.c |  6 +++
>  gcc/testsuite/gcc.dg/noncompile/pr79758.c   |  1 +
>  gcc/testsuite/gcc.dg/permerror-default.c    | 12 +++---
>  gcc/testsuite/gcc.dg/permerror-system.c     |  2 +
>  gcc/testsuite/gcc.dg/pr105635-2.c           | 11 ++++++
>  gcc/testsuite/gcc.dg/pr105635.c             |  2 +-
>  14 files changed, 86 insertions(+), 43 deletions(-)
>  create mode 100644 gcc/testsuite/gcc.dg/Wimplicit-int-1a.c
>  create mode 100644 gcc/testsuite/gcc.dg/Wimplicit-int-4a.c
>  create mode 100644 gcc/testsuite/gcc.dg/gnu23-attr-syntax-3.c
>  create mode 100644 gcc/testsuite/gcc.dg/noncompile/pr79758-2.c
>  create mode 100644 gcc/testsuite/gcc.dg/pr105635-2.c
> 
> diff --git a/gcc/c/c-decl.cc b/gcc/c/c-decl.cc
> index 011f0bf0a69..893e24f7dc6 100644
> --- a/gcc/c/c-decl.cc
> +++ b/gcc/c/c-decl.cc
> @@ -647,8 +647,6 @@ static tree grokdeclarator (const struct c_declarator *,
>  			    bool *, enum deprecated_states);
>  static tree grokparms (struct c_arg_info *, bool);
>  static void layout_array_type (tree);
> -static void warn_defaults_to (location_t, int, const char *, ...)
> -    ATTRIBUTE_GCC_DIAG(3,4);
>  static const char *header_for_builtin_fn (tree);
>  \f
>  /* T is a statement.  Add it to the statement-tree.  This is the
> @@ -6570,23 +6568,6 @@ warn_variable_length_array (tree name, tree size)
>      }
>  }
>  
> -/* Print warning about defaulting to int if necessary.  */
> -
> -static void
> -warn_defaults_to (location_t location, int opt, const char *gmsgid, ...)
> -{
> -  diagnostic_info diagnostic;
> -  va_list ap;
> -  rich_location richloc (line_table, location);
> -
> -  va_start (ap, gmsgid);
> -  diagnostic_set_info (&diagnostic, gmsgid, &ap, &richloc,
> -                       flag_isoc99 ? DK_PEDWARN : DK_WARNING);
> -  diagnostic.option_index = opt;
> -  diagnostic_report_diagnostic (global_dc, &diagnostic);
> -  va_end (ap);
> -}
> -
>  /* Returns the smallest location != UNKNOWN_LOCATION in LOCATIONS,
>     considering only those c_declspec_words found in LIST, which
>     must be terminated by cdw_number_of_elements.  */
> @@ -6875,12 +6856,12 @@ grokdeclarator (const struct c_declarator *declarator,
>        else
>  	{
>  	  if (name)
> -	    warn_defaults_to (loc, OPT_Wimplicit_int,
> -			      "type defaults to %<int%> in declaration "
> -			      "of %qE", name);
> +	    permerror_opt (loc, OPT_Wimplicit_int,
> +			   "type defaults to %<int%> in declaration "
> +			   "of %qE", name);
>  	  else
> -	    warn_defaults_to (loc, OPT_Wimplicit_int,
> -			      "type defaults to %<int%> in type name");
> +	    permerror_opt (loc, OPT_Wimplicit_int,
> +			   "type defaults to %<int%> in type name");
>  	}
>      }
>  
> @@ -10290,10 +10271,10 @@ start_function (struct c_declspecs *declspecs, struct c_declarator *declarator,
>      }
>  
>    if (warn_about_return_type)
> -    warn_defaults_to (loc, flag_isoc99 ? OPT_Wimplicit_int
> -			   : (warn_return_type > 0 ? OPT_Wreturn_type
> -			      : OPT_Wimplicit_int),
> -		      "return type defaults to %<int%>");
> +    permerror_opt (loc, flag_isoc99 ? OPT_Wimplicit_int
> +		   : (warn_return_type > 0 ? OPT_Wreturn_type
> +		      : OPT_Wimplicit_int),
> +		   "return type defaults to %<int%>");
>  
>    /* Make the init_value nonzero so pushdecl knows this is not tentative.
>       error_mark_node is replaced below (in pop_scope) with the BLOCK.  */
> @@ -10635,9 +10616,9 @@ store_parm_decls_oldstyle (tree fndecl, const struct c_arg_info *arg_info)
>  	  warn_if_shadowing (decl);
>  
>  	  if (flag_isoc99)
> -	    pedwarn (DECL_SOURCE_LOCATION (decl),
> -		     OPT_Wimplicit_int, "type of %qD defaults to %<int%>",
> -		     decl);
> +	    permerror_opt (DECL_SOURCE_LOCATION (decl),
> +			   OPT_Wimplicit_int, "type of %qD defaults to %<int%>",
> +			   decl);
>  	  else
>  	    warning_at (DECL_SOURCE_LOCATION (decl),
>  			OPT_Wmissing_parameter_type,
> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
> index 055cca08f1c..eb7417fd9be 100644
> --- a/gcc/doc/invoke.texi
> +++ b/gcc/doc/invoke.texi
> @@ -6182,6 +6182,7 @@ that have their own flag:
>  
>  @gccoptlist{
>  -Wimplicit-function-declaration @r{(C)}
> +-Wimplicit-int @r{(C)}
>  -Wint-conversion @r{(C)}
>  -Wnarrowing @r{(C++)}
>  }
> @@ -6853,8 +6854,10 @@ This warning is enabled by @option{-Wall} in C++.
>  @opindex Wno-implicit-int
>  @item -Wno-implicit-int @r{(C and Objective-C only)}
>  This option controls warnings when a declaration does not specify a type.
> -This warning is enabled by default in C99 and later dialects of C,
> -and also by @option{-Wall}.
> +This warning is enabled by default, as an error, in C99 and later
> +dialects of C, and also by @option{-Wall}.  The error can be downgraded
> +to a warning using @option{-fpermissive} (along with certain other
> +errors), or for this error alone, with @option{-Wno-error=implicit-int}.
>  
>  This warning is upgraded to an error by @option{-pedantic-errors}.
>  
> diff --git a/gcc/testsuite/gcc.dg/Wimplicit-int-1.c b/gcc/testsuite/gcc.dg/Wimplicit-int-1.c
> index 4a96e8f505d..fc7726c517e 100644
> --- a/gcc/testsuite/gcc.dg/Wimplicit-int-1.c
> +++ b/gcc/testsuite/gcc.dg/Wimplicit-int-1.c
> @@ -1,5 +1,5 @@
>  /* { dg-do compile } */
> -/* { dg-options "" } */
> +/* { dg-options "-fpermissive" } */
>  
>  static l; /* { dg-warning "type defaults to" } */
>  
> diff --git a/gcc/testsuite/gcc.dg/Wimplicit-int-1a.c b/gcc/testsuite/gcc.dg/Wimplicit-int-1a.c
> new file mode 100644
> index 00000000000..ef1835e2d3a
> --- /dev/null
> +++ b/gcc/testsuite/gcc.dg/Wimplicit-int-1a.c
> @@ -0,0 +1,11 @@
> +/* { dg-do compile } */
> +/* { dg-options "" } */
> +
> +static l; /* { dg-error "type defaults to" } */
> +
> +foo (a) /* { dg-error "return type defaults to" } */
> +/* { dg-error "type of .a. defaults to .int." "type" { target *-*-* } .-1 } */
> +{
> +  auto p; /* { dg-error "type defaults to" } */
> +  typedef bar; /* { dg-error "type defaults to" } */
> +}
> diff --git a/gcc/testsuite/gcc.dg/Wimplicit-int-4.c b/gcc/testsuite/gcc.dg/Wimplicit-int-4.c
> index c9c6e8e5e95..99c61a76ecf 100644
> --- a/gcc/testsuite/gcc.dg/Wimplicit-int-4.c
> +++ b/gcc/testsuite/gcc.dg/Wimplicit-int-4.c
> @@ -1,5 +1,5 @@
>  /* { dg-do compile } */
> -/* { dg-options "-Wno-implicit -Wimplicit-int" } */
> +/* { dg-options "-fpermissive -Wno-implicit -Wimplicit-int" } */
>  
>  static l; /* { dg-warning "type defaults to" } */
>  
> diff --git a/gcc/testsuite/gcc.dg/Wimplicit-int-4a.c b/gcc/testsuite/gcc.dg/Wimplicit-int-4a.c
> new file mode 100644
> index 00000000000..920a088f02b
> --- /dev/null
> +++ b/gcc/testsuite/gcc.dg/Wimplicit-int-4a.c
> @@ -0,0 +1,11 @@
> +/* { dg-do compile } */
> +/* { dg-options "-Wno-implicit -Wimplicit-int" } */
> +
> +static l; /* { dg-error "type defaults to" } */
> +
> +foo (a) /* { dg-error "return type defaults to" } */
> +/* { dg-error "type of .a. defaults to .int." "type" { target *-*-* } .-1 } */
> +{
> +  auto p; /* { dg-error "type defaults to" } */
> +  typedef bar; /* { dg-error "type defaults to" } */
> +}
> diff --git a/gcc/testsuite/gcc.dg/gnu23-attr-syntax-2.c b/gcc/testsuite/gcc.dg/gnu23-attr-syntax-2.c
> index ba60f7a095a..8943534f2b2 100644
> --- a/gcc/testsuite/gcc.dg/gnu23-attr-syntax-2.c
> +++ b/gcc/testsuite/gcc.dg/gnu23-attr-syntax-2.c
> @@ -1,7 +1,7 @@
>  /* Test C23 attribute syntax.  Invalid uses of attributes with GNU C
>     features.  */
>  /* { dg-do compile } */
> -/* { dg-options "-std=gnu23 -w" } */
> +/* { dg-options "-fpermissive -std=gnu23 -w" } */
>  
>  /* Attributes cannot be used as prefix attributes on old-style
>     parameter declarations or on function declarators with identifier
> diff --git a/gcc/testsuite/gcc.dg/gnu23-attr-syntax-3.c b/gcc/testsuite/gcc.dg/gnu23-attr-syntax-3.c
> new file mode 100644
> index 00000000000..d73d6a3cfa8
> --- /dev/null
> +++ b/gcc/testsuite/gcc.dg/gnu23-attr-syntax-3.c
> @@ -0,0 +1,17 @@
> +/* Test C23 attribute syntax.  Invalid uses of attributes with GNU C
> +   features.  Non-permissive variant.  */
> +/* { dg-do compile } */
> +/* { dg-options "-std=gnu23 -w" } */
> +
> +/* Attributes cannot be used as prefix attributes on old-style
> +   parameter declarations or on function declarators with identifier
> +   lists (removed from C23).  */
> +
> +void (*f(a, b) [[]])() int a, b; { } /* { dg-error "expected" } */
> +
> +void f(x, y) int x; [[]] int y; { } /* { dg-error "expected" } */
> +/* { dg-error "type of 'y' defaults to 'int'" "" { target *-*-* } .-1 } */
> +
> +/* Nonempty attributes cannot be used as postfix attributes with
> +   __auto_type.  */
> +__auto_type [[gnu::no_such_attr]] x = 1; /* { dg-error "'__auto_type' followed by" } */
> diff --git a/gcc/testsuite/gcc.dg/noncompile/pr79758-2.c b/gcc/testsuite/gcc.dg/noncompile/pr79758-2.c
> new file mode 100644
> index 00000000000..e6a27f952ef
> --- /dev/null
> +++ b/gcc/testsuite/gcc.dg/noncompile/pr79758-2.c
> @@ -0,0 +1,6 @@
> +/* PR c/79758 */
> +/* { dg-do compile } */
> +
> +void fn1 (int[a]) { }; /* { dg-error "undeclared here" } */
> +void fn1 (b) { }; /* { dg-error "redefinition" } */
> +/* { dg-error "defaults to 'int'" "" { target *-*-* } .-1 } */
> diff --git a/gcc/testsuite/gcc.dg/noncompile/pr79758.c b/gcc/testsuite/gcc.dg/noncompile/pr79758.c
> index a31216068f0..e42a44380fa 100644
> --- a/gcc/testsuite/gcc.dg/noncompile/pr79758.c
> +++ b/gcc/testsuite/gcc.dg/noncompile/pr79758.c
> @@ -1,5 +1,6 @@
>  /* PR c/79758 */
>  /* { dg-do compile } */
> +/* { dg-additional-options "-fpermissive" } */
>  
>  void fn1 (int[a]) { }; /* { dg-error "undeclared here" } */
>  void fn1 (b) { }; /* { dg-error "redefinition" } */
> diff --git a/gcc/testsuite/gcc.dg/permerror-default.c b/gcc/testsuite/gcc.dg/permerror-default.c
> index f37f9189e41..90f2220037c 100644
> --- a/gcc/testsuite/gcc.dg/permerror-default.c
> +++ b/gcc/testsuite/gcc.dg/permerror-default.c
> @@ -10,13 +10,13 @@ implicit_function_declaration (void)
>    f1 (); /* { dg-error "'f1' \\\[-Wimplicit-function-declaration\\\]" } */
>  }
>  
> -extern implicit_int_1; /* { dg-warning "'implicit_int_1' \\\[-Wimplicit-int\\\]" } */
> -typedef implicit_int_2; /* { dg-warning "'implicit_int_2' \\\[-Wimplicit-int\\\]" } */
> -extern implicit_int_3 (void); /* { dg-warning "'implicit_int_3' \\\[-Wimplicit-int\\]" } */
> -implicit_int_4 (i) /* { dg-warning "return type defaults to 'int' \\\[-Wimplicit-int\\\]" } */
> -/* { dg-warning "type of 'i' defaults to 'int' \\\[-Wimplicit-int\\\]" "" { target *-*-*} .-1 } */
> +extern implicit_int_1; /* { dg-error "'implicit_int_1' \\\[-Wimplicit-int\\\]" } */
> +typedef implicit_int_2; /* { dg-error "'implicit_int_2' \\\[-Wimplicit-int\\\]" } */
> +extern implicit_int_3 (void); /* { dg-error "'implicit_int_3' \\\[-Wimplicit-int\\]" } */
> +implicit_int_4 (i) /* { dg-error "return type defaults to 'int' \\\[-Wimplicit-int\\\]" } */
> +/* { dg-error "type of 'i' defaults to 'int' \\\[-Wimplicit-int\\\]" "" { target *-*-*} .-1 } */
>  {
> -  (const) 0; /* { dg-warning "type defaults to 'int' in type name \\\[-Wimplicit-int\\\]" } */
> +  (const) 0; /* { dg-error "type defaults to 'int' in type name \\\[-Wimplicit-int\\\]" } */
>  }
>  
>  extern int missing_parameter_type (i); /* { dg-warning "parameter names \\\(without types\\\) in function declaration\n" } */
> diff --git a/gcc/testsuite/gcc.dg/permerror-system.c b/gcc/testsuite/gcc.dg/permerror-system.c
> index e4da4a99e9a..60c65ffc1d4 100644
> --- a/gcc/testsuite/gcc.dg/permerror-system.c
> +++ b/gcc/testsuite/gcc.dg/permerror-system.c
> @@ -10,6 +10,8 @@
>  
>  /* { dg-error "'f1' \\\[-Wimplicit-function-declaration\\\]" "" { target *-*-* } 10 } */
>  
> +/* { dg-error "type of 'i' defaults to 'int' \\\[-Wimplicit-int\\\]" "" { target *-*-*} 16 } */
> +
>  /* { dg-error "pointer/integer type mismatch in conditional expression \\\[-Wint-conversion\\\]" "" { target *-*-* } 29 } */
>  /* { dg-error "pointer/integer type mismatch in conditional expression \\\[-Wint-conversion\\\]" "" { target *-*-* } 30 } */
>  /* { dg-error "passing argument 1 of 'f2' makes pointer from integer without a cast \\\[-Wint-conversion\\\]" "" { target *-*-* } 31 } */
> diff --git a/gcc/testsuite/gcc.dg/pr105635-2.c b/gcc/testsuite/gcc.dg/pr105635-2.c
> new file mode 100644
> index 00000000000..807eef0b7cd
> --- /dev/null
> +++ b/gcc/testsuite/gcc.dg/pr105635-2.c
> @@ -0,0 +1,11 @@
> +/* PR c/105635 */
> +/* { dg-do compile } */
> +/* { dg-options "-Wall" } */
> +
> +void foo (int, int[*]);	/* { dg-message "previous declaration of 'foo' with type" } */
> +
> +foo (int x, int y)	/* { dg-error "return type defaults to 'int'" } */
> +{			/* { dg-warning "conflicting types for 'foo'" "" { target *-*-* } .-1 } */
> +			/* { dg-message "declared here" "" { target *-*-* } .-2 } */
> +  return (x >= 0) != (y < 0);	/* { dg-warning "'return' with a value, in function returning void" } */
> +}
> diff --git a/gcc/testsuite/gcc.dg/pr105635.c b/gcc/testsuite/gcc.dg/pr105635.c
> index aa02f593bfa..b98ea1b3c3b 100644
> --- a/gcc/testsuite/gcc.dg/pr105635.c
> +++ b/gcc/testsuite/gcc.dg/pr105635.c
> @@ -1,6 +1,6 @@
>  /* PR c/105635 */
>  /* { dg-do compile } */
> -/* { dg-options "-Wall" } */
> +/* { dg-options "-fpermissive -Wall" } */
>  
>  void foo (int, int[*]);	/* { dg-message "previous declaration of 'foo' with type" } */
>  
> -- 
> 2.42.0
> 
> 

Marek


  reply	other threads:[~2023-11-30 19:48 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-20  9:55 [PATCH v3 00/11] : More warnings as errors by default Florian Weimer
2023-11-20  9:55 ` [PATCH v3 01/11] aarch64: Avoid -Wincompatible-pointer-types warning in Linux unwinder Florian Weimer
2023-11-22 23:24   ` Joseph Myers
2023-11-20  9:55 ` [PATCH v3 02/11] aarch64: Call named function in gcc.target/aarch64/aapcs64/ice_1.c Florian Weimer
2023-11-22 23:25   ` Joseph Myers
2023-11-20  9:55 ` [PATCH v3 03/11] gm2: Add missing declaration of m2pim_M2RTS_Terminate to test Florian Weimer
2023-11-22 23:28   ` Joseph Myers
2023-11-20  9:56 ` [PATCH v3 04/11] Add tests for validating future C permerrors Florian Weimer
2023-11-30 17:31   ` Marek Polacek
2023-11-30 17:37     ` Florian Weimer
2023-11-30 17:39       ` Marek Polacek
2023-11-30 18:25         ` Jakub Jelinek
2023-11-20  9:56 ` [PATCH v3 05/11] c: Turn int-conversion warnings into permerrors Florian Weimer
2023-11-30 19:04   ` Marek Polacek
2023-11-30 19:46     ` Florian Weimer
2023-11-20  9:56 ` [PATCH v3 06/11] c: Turn -Wimplicit-function-declaration into a permerror Florian Weimer
2023-11-30 19:15   ` Marek Polacek
2023-12-01 15:54   ` c: Turn -Wimplicit-function-declaration into a permerror: Fix 'gcc.dg/gnu23-builtins-no-dfp-1.c' (was: [PATCH v3 06/11] c: Turn -Wimplicit-function-declaration into a permerror) Thomas Schwinge
2023-12-03  5:55     ` [committed] Fix gnu23-builtins-no-dfp Jeff Law
2023-12-03  7:41       ` Florian Weimer
2023-12-03 12:23         ` Thomas Schwinge
2023-12-03 20:57           ` Jeff Law
2023-12-05  9:31             ` [v2] c: Turn -Wimplicit-function-declaration into a permerror: Fix 'gcc.dg/gnu23-builtins-no-dfp-1.c' (was: [committed] Fix gnu23-builtins-no-dfp) Thomas Schwinge
2024-04-09 11:40   ` [PATCH v3 06/11] c: Turn -Wimplicit-function-declaration into a permerror Sebastian Huber
2024-04-09 12:10     ` Sam James
2024-04-09 12:26       ` Sebastian Huber
2024-04-09 12:56         ` Sam James
2023-11-20  9:56 ` [PATCH v3 07/11] c: Turn -Wimplicit-int " Florian Weimer
2023-11-30 19:48   ` Marek Polacek [this message]
2023-11-20  9:56 ` [PATCH v3 08/11] c: Do not ignore some forms of -Wimplicit-int in system headers Florian Weimer
2023-11-30 19:53   ` Marek Polacek
2023-11-20  9:56 ` [PATCH v3 09/11] c: Turn -Wreturn-mismatch into a permerror Florian Weimer
2023-11-23 17:32   ` Marek Polacek
2023-11-23 18:22     ` Florian Weimer
2023-11-30 16:17       ` Marek Polacek
2023-11-20  9:56 ` [PATCH v3 10/11] c: Turn -Wincompatible-pointer-types " Florian Weimer
2023-11-30 20:47   ` Marek Polacek
2023-11-30 21:02   ` Marek Polacek
2023-11-30 21:11     ` Florian Weimer
2023-11-30 21:15       ` Marek Polacek
2023-11-30 21:23         ` Jakub Jelinek
2023-11-30 21:27           ` Florian Weimer
2023-11-30 21:30             ` Jakub Jelinek
2023-11-30 21:36               ` Marek Polacek
2023-12-10 19:23                 ` Jason Merrill
2023-12-05  9:37   ` Richard Earnshaw
2023-12-05  9:46     ` Florian Weimer
2023-12-05 10:11       ` Richard Earnshaw
2023-12-05 10:33       ` [PATCH] libgfortran: Fix -Wincompatible-pointer-types errors Jakub Jelinek
2023-12-05 10:47         ` Richard Earnshaw
2023-12-05 10:51           ` Jakub Jelinek
2023-12-05 10:57             ` Richard Earnshaw
2023-12-05 10:59               ` Jakub Jelinek
2023-12-05 17:35                 ` Richard Earnshaw
2023-12-05 11:00               ` Florian Weimer
2023-12-05 13:35         ` Tobias Burnus
2023-12-06 12:04   ` [PATCH v3 10/11] c: Turn -Wincompatible-pointer-types into a permerror Prathamesh Kulkarni
2023-12-06 12:12     ` Florian Weimer
2023-11-20  9:56 ` [PATCH v3 11/11] c: Add new -Wdeclaration-missing-parameter-type permerror Florian Weimer
2023-11-20 19:12   ` Eric Gallager
2023-11-20 19:32     ` Florian Weimer
2023-11-30 21:10   ` Marek Polacek
2023-12-11  9:11     ` Florian Weimer
2023-11-23  0:54 ` [PATCH v3 00/11] : More warnings as errors by default Jeff Law
2023-11-23  1:04   ` Florian Weimer
2023-11-27 20:23     ` Sam James
2023-11-30 21:35       ` Florian Weimer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZWjnCsKL5HD1CSSO@redhat.com \
    --to=polacek@redhat.com \
    --cc=fweimer@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).