svn commit: r368187 - head/sys/dev/nvme
Ian Lepore
ian at freebsd.org
Mon Nov 30 17:43:33 UTC 2020
On Mon, 2020-11-30 at 17:56 +0100, Michal Meloun wrote:
>
> On 30.11.2020 17:02, Ian Lepore wrote:
> > On Mon, 2020-11-30 at 14:51 +0000, Michal Meloun wrote:
> > > Author: mmel
> > > Date: Mon Nov 30 14:51:48 2020
> > > New Revision: 368187
> > > URL: https://svnweb.freebsd.org/changeset/base/368187
> > >
> > > Log:
> > > Unbreak r368167 in userland. Decorate unused arguments.
> > >
> > > Reported by: kp, tuexen, jenkins, and many others
> > > MFC with: r368167
> > >
> > > Modified:
> > > head/sys/dev/nvme/nvme.h
> > >
> > > Modified: head/sys/dev/nvme/nvme.h
> > > =================================================================
> > > ====
> > > =========
> > > --- head/sys/dev/nvme/nvme.h Mon Nov 30 14:49:13 2020 (
> > > r368186)
> > > +++ head/sys/dev/nvme/nvme.h Mon Nov 30 14:51:48 2020 (
> > > r368187)
> > > @@ -1728,9 +1728,15 @@ extern int nvme_use_nvd;
> > >
> > > #endif /* _KERNEL */
> > >
> > > +#if _BYTE_ORDER != _LITTLE_ENDIAN
> > > +#define MODIF
> > > +#else
> > > +#define MODIF __unused
> > > +#endif
> > > +
> > > /* Endianess conversion functions for NVMe structs */
> > > static inline
> > > -void nvme_completion_swapbytes(struct nvme_completion *s)
> > > +void nvme_completion_swapbytes(struct nvme_completion *s
> > > MODIF)
> >
> > IMO, this is pretty ugly, it causes the brain to screech to a halt
> > when
> > you see it. Why not just add an unconditional __unused to the
> > functions? The unused attribute is defined as marking the variable
> > as
> > "potentially unused" -- there is no penalty for having it there and
> > then actually using the variable.
> >
>
> I understand, (and I have significant tendency to agree) but I did
> not
> find more correct way how to do it.
> Are you sure that __unused is defined as *potentially* unused? I
> cannot
> find nothing about this and you known how are compiler guys creative
> with generating of new warnings...
> I known that C++17 have 'maybe_unused' attribute, but relationship
> to
> standard '__unused' looks unclear.
>
> In any case, I have not single problem to change this to the
> proposed
> style if we found that this is the optimal way.
>
> Michal
The __unused macro is defined in cdefs.h under
#if __GNUC_PREREQ__(2, 7)
as attribute((unused)) and the gcc docs for that attribute say
"This attribute, attached to a [variable|function], means that the
variable is meant to be possibly unused. GCC will not produce a
warning for this variable."
-- Ian
More information about the svn-src-all
mailing list