From owner-freebsd-toolchain@FreeBSD.ORG Mon Mar 16 14:03:53 2015 Return-Path: Delivered-To: freebsd-toolchain@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 99C4CD02 for ; Mon, 16 Mar 2015 14:03:53 +0000 (UTC) Received: from asp.reflexion.net (outbound-241.asp.reflexion.net [69.84.129.241]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 54956391 for ; Mon, 16 Mar 2015 14:03:52 +0000 (UTC) Received: (qmail 23044 invoked from network); 16 Mar 2015 14:03:51 -0000 Received: from unknown (HELO mail-cs-01.app.dca.reflexion.local) (10.81.19.1) by 0 (rfx-qmail) with SMTP; 16 Mar 2015 14:03:51 -0000 Received: by mail-cs-01.app.dca.reflexion.local (Reflexion email security v7.40.1) with SMTP; Mon, 16 Mar 2015 10:03:51 -0400 (EDT) Received: (qmail 4301 invoked from network); 16 Mar 2015 14:03:51 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with (DHE-RSA-AES256-SHA encrypted) SMTP; 16 Mar 2015 14:03:51 -0000 X-No-Relay: not in my network X-No-Relay: not in my network Received: from [192.168.1.8] (c-67-189-19-145.hsd1.or.comcast.net [67.189.19.145]) by iron2.pdx.net (Postfix) with ESMTPSA id 62E8CB1E002; Mon, 16 Mar 2015 07:03:48 -0700 (PDT) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Subject: powerpc64-xtoolchain-gcc (gcc 4.9.1) reports: /usr/srcC/lib/libnv/tests/dnv_tests.cc:453:2: error: ambiguous overload Message-Id: <90144A01-AD41-4B9A-B040-D342B60EAE02@dsl-only.net> Date: Mon, 16 Mar 2015 07:03:49 -0700 To: FreeBSD PowerPC ML , freebsd-toolchain@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2070.6\)) X-Mailer: Apple Mail (2.2070.6) X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Mar 2015 14:03:53 -0000 Basic context (more is listed later): # freebsd-version -ku ; uname -ap 11.0-CURRENT 11.0-CURRENT FreeBSD FBSDG5C0 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r279514M: Wed Mar = 11 19:23:14 PDT 2015 = root@FBSDG4C0:/usr/obj/powerpc.powerpc64/usr/srcC/sys/GENERIC64vtsc-NODEBU= G powerpc powerpc64 With my limping-along powerpc64-xtoolchain-gcc being used on a powerpc64 = with CROSS_TOOLCHAIN=3Dpowerpc64-gcc I recently got it as far as... The reported ambiguous overload... In file included from = /usr/obj/usr/srcC/tmp/usr/include/atf-c++.hpp:29:0,^M from /usr/srcC/lib/libnv/tests/dnv_tests.cc:30:^M /usr/srcC/lib/libnv/tests/dnv_tests.cc: In member function 'virtual void = {anonymous}::atfu_tc_dnvlist_take_nvlist__empty::body() const':^M /usr/srcC/lib/libnv/tests/dnv_tests.cc:453:2: error: ambiguous overload = for 'operator<<' (operand types are 'std::__1::basic_ostream' and = 'std::nullptr_t')^M ATF_REQUIRE_EQ(actual_val, NULL);^M ^^M /usr/srcC/lib/libnv/tests/dnv_tests.cc:453:2: note: candidates are:^M In file included from = /usr/obj/usr/srcC/tmp/usr/include/c++/v1/sstream:174:0,^M from = /usr/obj/usr/srcC/tmp/usr/include/atf-c++/macros.hpp:29,^M from = /usr/obj/usr/srcC/tmp/usr/include/atf-c++.hpp:29,^M from /usr/srcC/lib/libnv/tests/dnv_tests.cc:30:^M /usr/obj/usr/srcC/tmp/usr/include/c++/v1/ostream:320:1: note: = std::__1::basic_ostream<_CharT, _Traits>& = std::__1::basic_ostream<_CharT, = _Traits>::operator<<(std::__1::basic_ostream<_CharT, _Traits>& ( *)(std::__1::basic_ostream<_CharT, _Traits>&)) [with _CharT =3D char; = _Traits =3D std::__1::char_traits]^M basic_ostream<_CharT, _Traits>::operator<<(basic_ostream& = (*__pf)(basic_ostream&))^M ^^M /usr/obj/usr/srcC/tmp/usr/include/c++/v1/ostream:328:1: note: = std::__1::basic_ostream<_CharT, _Traits>& = std::__1::basic_ostream<_CharT, = _Traits>::operator<<(std::__1::basic_ios<_CharT, _Traits>& (*)(s td::__1::basic_ios<_CharT, _Traits>&)) [with _CharT =3D char; _Traits =3D = std::__1::char_traits]^M basic_ostream<_CharT, _Traits>::operator<<(basic_ios&^M ^^M /usr/obj/usr/srcC/tmp/usr/include/c++/v1/ostream:338:1: note: = std::__1::basic_ostream<_CharT, _Traits>& = std::__1::basic_ostream<_CharT, _Traits>::operator<<(std::__1::ios_base& = (*)(std::__1::ios_base& )) [with _CharT =3D char; _Traits =3D std::__1::char_traits]^M basic_ostream<_CharT, _Traits>::operator<<(ios_base& = (*__pf)(ios_base&))^M ^^M /usr/obj/usr/srcC/tmp/usr/include/c++/v1/ostream:398:1: note: = std::__1::basic_ostream<_CharT, _Traits>& = std::__1::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = =3D char; _Traits =3D std::_ _1::char_traits]^M basic_ostream<_CharT, _Traits>::operator<<(bool __n)^M ^^M /usr/obj/usr/srcC/tmp/usr/include/c++/v1/ostream:718:1: note: = std::__1::basic_ostream<_CharT, _Traits>& = std::__1::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with = _CharT =3D char; _Traits =3D std::__1::char_traits]^M basic_ostream<_CharT, _Traits>::operator<<(const void* __n)^M ^^M /usr/obj/usr/srcC/tmp/usr/include/c++/v1/ostream:346:1: note: = std::__1::basic_ostream<_CharT, _Traits>& = std::__1::basic_ostream<_CharT, = _Traits>::operator<<(std::__1::basic_streambuf<_CharT, _Traits>* ) [with _CharT =3D char; _Traits =3D std::__1::char_traits]^M basic_ostream<_CharT, _Traits>::operator<<(basic_streambuf* __sb)^M ^^M /usr/obj/usr/srcC/tmp/usr/include/c++/v1/ostream:907:1: note: = std::__1::basic_ostream& = std::__1::operator<<(std::__1::basic_ostream&, const = unsigned char*) [with _Traits =3D std::__1::char_traits]^M operator<<(basic_ostream& __os, const unsigned char* = __str)^M ^^M /usr/obj/usr/srcC/tmp/usr/include/c++/v1/ostream:899:1: note: = std::__1::basic_ostream& = std::__1::operator<<(std::__1::basic_ostream&, const = signed char*) [with _Traits =3D std::__1::char_traits]^M operator<<(basic_ostream& __os, const signed char* = __str)^M ^^M /usr/obj/usr/srcC/tmp/usr/include/c++/v1/ostream:892:1: note: = std::__1::basic_ostream& = std::__1::operator<<(std::__1::basic_ostream&, const = char*) [with _Traits =3D std::__ 1::char_traits]^M operator<<(basic_ostream& __os, const char* __str)^M ^^M /usr/obj/usr/srcC/tmp/usr/include/c++/v1/ostream:846:1: note: = std::__1::basic_ostream<_CharT, _Traits>& = std::__1::operator<<(std::__1::basic_ostream<_CharT, _Traits>&, const = char*) [with _CharT =3D char ; _Traits =3D std::__1::char_traits]^M operator<<(basic_ostream<_CharT, _Traits>& __os, const char* __strn)^M ^^M Other context details: make CROSS_TOOLCHAIN=3Dpowerpc64-gcc \ WITHOUT_CLANG_BOOTSTRAP=3D \ WITHOUT_CLANG_IS_CC=3D WITHOUT_CLANG=3D WITHOUT_CLANG_EXTRAS=3D = WITHOUT_CLANG_FULL=3D \ WITHOUT_LLDB=3D \ WITHOUT_GCC_BOOTSTRAP=3D WITHOUT_GCC=3D \ WITHOUT_BINUTILS_BOOTSTRAP=3D WITHOUT_BINUTILS=3D buildworld buildkernel KERNCONF=3DGENERIC64vtsc-NODEBUG \ TARGET=3Dpowerpc TARGET_ARCH=3Dpowerpc64 (Yes I was being paranoid about various automatic settings that are = based on other ones. Any form of WITH_CLANG=3D blocks getting as far as = I did above.) This is a clang-not-in-use context (in fact not built at all, not even = an old one present), but in order to get by an issue where gcc 4.2.1 is = unfortunately used but was being told -std=3Dc++11 based on = clang.build.mk during some of my experiments, I have the local/personal = hack: # svnlite diff lib/clang/clang.build.mk Index: lib/clang/clang.build.mk =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 --- lib/clang/clang.build.mk (revision 279514) +++ lib/clang/clang.build.mk (working copy) @@ -34,8 +34,8 @@ CFLAGS+=3D -DLLVM_DEFAULT_TARGET_TRIPLE=3D\"${TARGET_TRIPLE}\" \ -DLLVM_HOST_TRIPLE=3D\"${BUILD_TRIPLE}\" \ -DDEFAULT_SYSROOT=3D\"${TOOLS_PREFIX}\" -CXXFLAGS+=3D -std=3Dc++11 -fno-exceptions -fno-rtti -CXXFLAGS.clang+=3D -stdlib=3Dlibc++ +CXXFLAGS+=3D -fno-exceptions -fno-rtti +CXXFLAGS.clang+=3D -std=3Dc++11 -stdlib=3Dlibc++ =20 .PATH: ${LLVM_SRCS}/${SRCDIR} As has been pointed out by Dimitry Andric: this hack is not appropriate = to the FreeBSD code base since it would only set up -std=3Dc++11 for = clang contexts were CXXFLAGS+=3D${CXXFLAGS.${COMPILER_TYPE}} was also in = use. =3D=3D=3D Mark Millard markmi at dsl-only.net