Re: [PATCH v5 5/9] powerpc/mm/book3s64: Update tlb flush routines to take a page walk cache flush argument

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi!

On Thu, May 20, 2021 at 05:37:20PM +1000, Michael Ellerman wrote:
> Segher Boessenkool <segher@xxxxxxxxxxxxxxxxxxx> writes:
> > On Tue, May 18, 2021 at 07:45:14PM -0500, Segher Boessenkool wrote:
> >> On Wed, May 19, 2021 at 10:26:22AM +1000, Michael Ellerman wrote:
> >> > Guenter Roeck <linux@xxxxxxxxxxxx> writes:
> >> > > Ah, sorry. I wasn't aware that the following is valid C code
> >> > >
> >> > > void f1()
> >> > > {
> >> > >      return f2();
> >> > >      ^^^^^^
> >> > > }
> >> > >
> >> > > as long as f2() is void as well. Confusing, but we live and learn.
> >> > 
> >> > It might be valid, but it's still bad IMHO.
> >> > 
> >> > It's confusing to readers, and serves no useful purpose.
> >> 
> >> And it actually explicitly is undefined behaviour in C90 already
> >> (3.6.6.4 in C90, 6.8.6.4 in C99 and later).
> 
> We use gnu89, which presumably does not make it UB.

Indeed.  That is kind of implied by the "as a GNU extension" below, but
some explicit statement would be better, yup.

> > ... but there is a GCC extension that allows this by default:
> > <https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wreturn-type>
> >   For C only, warn about a 'return' statement with an expression in a
> >   function whose return type is 'void', unless the expression type is
> >   also 'void'.  As a GNU extension, the latter case is accepted
> >   without a warning unless '-Wpedantic' is used.
> 
> There's no chance we'll ever enable -Wpedantic,

Good, because -pedantic adds a lot of much more annoying warnings as
well.  I find this extension questionable (like Guenter says it is
confusing and has no purpose), so the only thing it is "good" for is it
causes long email threads ;-)

Other than those things it is harmless though.

> so I guess it's allowed
> for practical purposes. I guess clang must accept it too or we'd be
> seeing warnings from it.

Yup.


Segher




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux