Date: Mon, 20 May 2019 15:17:05 -0700 From: Conrad Meyer <cem@freebsd.org> To: Konstantin Belousov <kostikbel@gmail.com> Cc: Alan Somers <asomers@freebsd.org>, src-committers <src-committers@freebsd.org>, svn-src-projects@freebsd.org Subject: Re: svn commit: r348007 - projects/fuse2/lib/libc/gen Message-ID: <CAG6CVpVZCVDdyR%2BBOXfV4Z98_hEP8UbE3yvpUVfZGQPiUU_q5w@mail.gmail.com> In-Reply-To: <20190520205057.GU2748@kib.kiev.ua> References: <201905201936.x4KJaaIC023310@repo.freebsd.org> <20190520202210.GT2748@kib.kiev.ua> <CAOtMX2i6Z7=QPG3LNBdGLDKE3Gm-JJGQ_jzdAuQPF=JFn9e9yQ@mail.gmail.com> <20190520205057.GU2748@kib.kiev.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, May 20, 2019 at 1:51 PM Konstantin Belousov <kostikbel@gmail.com> wrote: > > On Mon, May 20, 2019 at 02:43:36PM -0600, Alan Somers wrote: > > True, but I though that strlen would be more readable. Clang is smart > > enough to realize that strlen's argument is a constant and omit the > > call to strlen, so that's what I went with. Is there any other reason > > to prefer sizeof() - 1 ? > > The reason is that it would also work for not so smart compiler, or with > a smart compiler after we finally turn on -ffreestanding for libc, as it > ought to be. If we did that, it might make sense to implement strlen() as a macro that did essentially the same thing using __builtin_strlen() (and __builtin_constant_p, if necessary) extensions. Best, Conrad
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAG6CVpVZCVDdyR%2BBOXfV4Z98_hEP8UbE3yvpUVfZGQPiUU_q5w>