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
next prev parent 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).