Date: Thu, 10 Jul 2014 17:53:43 +0200 From: Baptiste Daroussin <bapt@FreeBSD.org> To: Pietro Cerutti <gahr@FreeBSD.org> Cc: svn-src-head@freebsd.org, Ed Schouten <ed@80386.nl>, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r268491 - head/usr.bin/users Message-ID: <20140710155342.GB93051@ivaldir.etoilebsd.net> In-Reply-To: <20140710154213.GG1812@ptrcrt.ch> References: <201407101215.s6ACF3v1055260@svn.freebsd.org> <CAJOYFBCQjjN7ep12zivnmFjfeeP1SeoYa963mQbMJr9DD%2BfUnw@mail.gmail.com> <20140710152353.GF1812@ptrcrt.ch> <CAJOYFBDZiEpQ5e86%2BdBhRZobSjdf785bKBwh%2B3Eywhzn_iJJCQ@mail.gmail.com> <20140710154213.GG1812@ptrcrt.ch>
next in thread | previous in thread | raw e-mail | index | archive | help
--zx4FCpZtqtKETZ7O Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Jul 10, 2014 at 05:42:13PM +0200, Pietro Cerutti wrote: > On 2014-Jul-10, 17:29, Ed Schouten wrote: > > On 10 July 2014 17:23, Pietro Cerutti <gahr@freebsd.org> wrote: > > > It's because of the standard library. Examples: > > > > > > /usr/include/c++/v1/memory:1454:47: error: unused parameter '__a' > > > [-Werror,-Wunused-parameter] > > > static void construct(allocator_type& __a, _Tp* __p) > > > > > > /usr/include/c++/v1/__functional_base:85:12: error: cast from 'const > > > volatile char *' to 'wchar_t *' increases required alignment from 1 t= o 4 > > > [-Werror,-Wcast-align] > > > return (_Tp*)&reinterpret_cast<const volatile char&>(__x); > >=20 > > Then I would suggest that these specific warnings (-Wunused-parameter) > > were to be disabled for C++ programs. The actual consumers should not > > have to lower their WARNS, simply because the standard library is > > broken. > >=20 > > > Yes, except std::set implements bidirection iterators instead of rand= om > > > access iterators. Bidirectional iterators do not support arithmetic w= ith > > > integers, which I need to get to the previous-to-last element in the > > > very next line of code. > >=20 > > The decrement operator is sufficient for this: > >=20 > > http://80386.nl/pub/20140710-users.txt > >=20 > > >> Even though I actually think C++ is a lot nicer than C, do we really > > >> think it is actually worth proactively replacing already existent > > >> tools? This specific tool has now become three times as big as the > > >> previous version (7128 -> 23840 bytes). > > > > > > No, I'm not going to systematically replace everything with c++. The > > > thing is, I had already begun to refactor a bit users(1), and this > > > looked like the natural next step to me. Of course, here the trade off > > > between code readability and object size shows. > >=20 > > With the patch above, the binary shrinks to 15640 bytes, so my > > concerns are somewhat addressed. :-) >=20 > Yep that's a valid approach too. Feel free to get it in :) >=20 Just make sure not to break mips, powerpc and sparc64 which are still using gcc 4.2 :) regards, Bapt --zx4FCpZtqtKETZ7O Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAlO+twYACgkQ8kTtMUmk6EzVYQCeN6mj0RBYZTcCyAxMdgIRb7jm I7AAoIn3fj3P3GafwVwkc9xVsqtOFc/5 =aJag -----END PGP SIGNATURE----- --zx4FCpZtqtKETZ7O--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140710155342.GB93051>