Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Feb 2014 14:05:33 +0100
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Julio Merino <jmmv@outlook.com>
Cc:        Garrett Cooper <yanegomi@gmail.com>, freebsd-testing@FreeBSD.org, David Chisnall <theraven@FreeBSD.org>
Subject:   Re: Compile error with gcc
Message-ID:  <849648F5-7834-45DD-8BDF-6385BF4F82DB@FreeBSD.org>
In-Reply-To: <BLU0-SMTP284F6428835416F4D9E3727C09E0@phx.gbl>
References:  <695E42A3-2009-4DD7-B10E-BF8465C89D39@gmail.com> <A8EF2DCC-5F11-4405-88D1-05A193AB7BAF@gmail.com> <D10C2EBB-36EC-4292-A944-4356EA5657F2@FreeBSD.org> <BLU0-SMTP284F6428835416F4D9E3727C09E0@phx.gbl>

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

--Apple-Mail=_151A528F-60B3-40E0-81CE-70AFA50EE14E
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=windows-1252

On 16 Feb 2014, at 13:45, Julio Merino <jmmv@outlook.com> wrote:
> On Feb 16, 2014, at 7:11, Dimitry Andric <dim@FreeBSD.org> wrote:
>>=20
>> I don't think this will always work correctly.  If MK_LIBCPLUSPLUS is
>> defined in bsd.own.mk, it only means libc++ is being *built*, not =
that
>> it is being used.
>>=20
>> It is probably easier and more fool-proof to check if _LIBCPP_VERSION =
is
>> defined (which is the case when you use libc++) in bconfig.h, like =
so:
>>=20
>> Index: contrib/atf/bconfig.h
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>> --- contrib/atf/bconfig.h       (revision 261974)
>> +++ contrib/atf/bconfig.h       (working copy)
>> @@ -56,7 +56,9 @@
>> #define HAVE_UNSETENV 1
>>=20
>> /* Define to 1 if vsnprintf is in std */
>> +#ifdef _LIBCPP_VERSION
>> #define HAVE_VSNPRINTF_IN_STD 1
>> +#endif
>=20
> Let's not do that unless we can change configure.ac to generate these =
same contents.
>=20
> Maybe we can just revert this to _not_ define HAVE_VSNPRINTF_IN_STD as =
it used to be the case before the new import?  Things were working just =
fine with both libstdc++ and libc++ even if that setting was not =
accurate for the latter...

Well, contrib/atf/atf-c++/detail/application.cpp has:

#if !defined(HAVE_VSNPRINTF_IN_STD)
namespace std {
using ::vsnprintf;
}
#endif // !defined(HAVE_VSNPRINTF_IN_STD)

so it sort of hacks around it anyway. :-)

-Dimitry


--Apple-Mail=_151A528F-60B3-40E0-81CE-70AFA50EE14E
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)

iEYEARECAAYFAlMAt6EACgkQsF6jCi4glqO9UQCffr080erKWdZGeIkyoR2he62G
KSgAnjjnX+otNPHleTZ8ia8YNUd6akUM
=4OEg
-----END PGP SIGNATURE-----

--Apple-Mail=_151A528F-60B3-40E0-81CE-70AFA50EE14E--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?849648F5-7834-45DD-8BDF-6385BF4F82DB>