Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Jul 2014 17:42:13 +0200
From:      Pietro Cerutti <gahr@FreeBSD.org>
To:        Ed Schouten <ed@80386.nl>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r268491 - head/usr.bin/users
Message-ID:  <20140710154213.GG1812@ptrcrt.ch>
In-Reply-To: <CAJOYFBDZiEpQ5e86%2BdBhRZobSjdf785bKBwh%2B3Eywhzn_iJJCQ@mail.gmail.com>
References:  <201407101215.s6ACF3v1055260@svn.freebsd.org> <CAJOYFBCQjjN7ep12zivnmFjfeeP1SeoYa963mQbMJr9DD%2BfUnw@mail.gmail.com> <20140710152353.GF1812@ptrcrt.ch> <CAJOYFBDZiEpQ5e86%2BdBhRZobSjdf785bKBwh%2B3Eywhzn_iJJCQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--reI/iBAAp9kzkmX4
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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 to 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 random
> > access iterators. Bidirectional iterators do not support arithmetic with
> > 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. :-)

Yep that's a valid approach too. Feel free to get it in :)

--=20
Pietro Cerutti
The FreeBSD Project
gahr@FreeBSD.org

PGP Public Key:
http://gahr.ch/pgp

--reI/iBAAp9kzkmX4
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQJ8BAEBCgBmBQJTvrRVXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXREQTZERTEwNkE1Qjg1NEI4NUREODZENDlB
REQwRDM4RUExOTIwODlFAAoJEK3Q046hkgiexdwQAIVWmKhkkBYOKg7bMSgnaBCL
rqMms1UAt3uveydoBACyjTqmNy4CtQwJgWHzItLUtJjfIM+1Y0InImIU9np7gQPV
Xfk7hFYln7KzUDbQNLyyiIcru5UQsscwcwz4BtyQMwcu1uV5jCWeZcw0GaBQOo7p
xI7nGIShFs6hmlHmaoz8Myzz1hzvV2+9U3Lt/ru6L5Pqq7/drYesAcnNL/Fy4uab
CWoEQb/7k4iVQn3oj/0ARgnI+t3iC9GVY07f9t4dW/CHddlcMenRcLD6a8NMsNL0
G25SaJrW546KFa1L1FSx2ZmIdWXceqfi7b5ThNvgr7l4tOAxoP+TVIA/4pkr4Hsu
eyAMB8jIOIucnFRLpTdo+pdSGr8iPPyomP4y2xuy5iBeKnp6VFo6JHpbPIXF2Cf1
3EPkGJhfemGNQBwETX2JeEGxl2shT2dzDVwANz+8B3SiSYizfJ7wTq8I3nvmorNt
puXBmxcKy4bfX6AyWDYhGk0YsDBRcUMp4Qnf/C/RFP2jQPfPGKRNR40XNgIqws/w
K7mOI1MgkoxJeLT5Se8iKv09wGcdWvGC7cf4KK+dMYLrZ8LVZQd11CnWEB2JSE89
+HBMOhkoTCYLvg0W/K664IkAJDgjVe5qPnaT1gYdfLG7YVBOwqMUzMKIO+CyZWsq
0u8ncNFZbYqkSMPaKmkg
=LYE0
-----END PGP SIGNATURE-----

--reI/iBAAp9kzkmX4--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140710154213.GG1812>