From owner-svn-src-all@freebsd.org Fri May 27 16:19:57 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7DF27B4B0B8; Fri, 27 May 2016 16:19:57 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 2EFA416D2; Fri, 27 May 2016 16:19:56 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from [IPv6:2001:7b8:3a7::89b4:6d81:b8c1:5a81] (unknown [IPv6:2001:7b8:3a7:0:89b4:6d81:b8c1:5a81]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id E20DA173E3; Fri, 27 May 2016 18:19:53 +0200 (CEST) Subject: Re: svn commit: r300770 - in head: . contrib/libc++/include contrib/libc++/include/experimental contrib/libc++/include/ext contrib/libc++/src contrib/libc++/src/include contrib/libc++/src/support lib/l... Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: multipart/signed; boundary="Apple-Mail=_91EE3D21-D070-4DE2-B0EA-21E83357C3B9"; protocol="application/pgp-signature"; micalg=pgp-sha1 X-Pgp-Agent: GPGMail 2.6b2 (ebbf3ef) From: Dimitry Andric In-Reply-To: Date: Fri, 27 May 2016 18:19:48 +0200 Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Message-Id: References: <201605261852.u4QIqn5w073953@repo.freebsd.org> To: Alan Somers X-Mailer: Apple Mail (2.3124) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 May 2016 16:19:57 -0000 --Apple-Mail=_91EE3D21-D070-4DE2-B0EA-21E83357C3B9 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 27 May 2016, at 18:01, Alan Somers wrote: >=20 > On Fri, May 27, 2016 at 9:42 AM, Dimitry Andric = wrote: ... >> My guess is that either ${MAKEOBJDIRPREFIX}/usr/include/c++/v1 needs = to >> be added to the C++ include path, or some other path in the list is >> missing, at least for C++ compilation. >>=20 >> -Dimitry >=20 > Here it is. It looks right to me; > $MAKEOBJDIRPREFIX/home/asomers/freebsd/head/lib32/usr/include/c++/v1 > is in the path, and stddef.h exists in that directory. >=20 > $ c++ -v -m32 -DCOMPAT_32BIT -march=3Di686 -mmmx -msse -msse2 > -L/scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32/usr/lib32 > --sysroot=3D/scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32 > -B/scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32/usr/lib32 > -isystem = /scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32/usr/include > -O2 -pipe -MD -MF.depend.consumer.o -MTconsumer.o > -fstack-protector-strong -Wsystem-headers -Werror -Wall > -Wno-format-y2k -W -Wno-unused-parameter -Wpointer-arith > -Wno-uninitialized -Wno-empty-body -Wno-string-plus-int > -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value > -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion > -Wno-unused-local-typedef -Qunused-arguments -Wno-c++11-extensions > -c /home/asomers/freebsd/head/lib/libdevdctl/consumer.cc -o consumer.o > FreeBSD clang version 3.8.0 (tags/RELEASE_380/final 262564) (based on > LLVM 3.8.0) > Target: i386-unknown-freebsd11.0 > Thread model: posix > InstalledDir: = /scratch/tmp/asomers/obj/home/asomers/freebsd/head/tmp/usr/bin > "/scratch/tmp/asomers/obj/home/asomers/freebsd/head/tmp/usr/bin/c++" > -cc1 -triple i386-unknown-freebsd11.0 -emit-obj -disable-free > -main-file-name consumer.cc -mrelocation-model static -mthread-model > posix -mdisable-fp-elim -masm-verbose -mconstructor-aliases > -target-cpu i686 -target-feature +mmx -target-feature +sse > -target-feature +sse2 -v -dwarf-column-info -debugger-tuning=3Dgdb > -coverage-file = /scratch/tmp/asomers/obj/home/asomers/freebsd/head/world32/home/asomers/fr= eebsd/head/lib/libdevdctl/consumer.o > -resource-dir = /scratch/tmp/asomers/obj/home/asomers/freebsd/head/tmp/usr/bin/../lib/clan= g/3.8.0 > -dependency-file .depend.consumer.o -sys-header-deps -MT consumer.o > -isystem = /scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32/usr/include > -D COMPAT_32BIT -isysroot > /scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32 > -internal-isystem > = /scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32/usr/include/c++/v= 1 > -O2 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W > -Wno-unused-parameter -Wpointer-arith -Wno-uninitialized > -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable > -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality > -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef > -Wno-c++11-extensions -fdeprecated-macro -fdebug-compilation-dir > = /scratch/tmp/asomers/obj/home/asomers/freebsd/head/world32/home/asomers/fr= eebsd/head/lib/libdevdctl > -ferror-limit 19 -fmessage-length 80 -stack-protector 2 > -fobjc-runtime=3Dgnustep -fcxx-exceptions -fexceptions > -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops > -vectorize-slp -o consumer.o -x c++ > /home/asomers/freebsd/head/lib/libdevdctl/consumer.cc > clang -cc1 version 3.8.0 based upon LLVM 3.8.0 default target > x86_64-unknown-freebsd11.0 > ignoring duplicate directory > "/scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32/usr/include" > #include "..." search starts here: > #include <...> search starts here: > /scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32/usr/include > = /scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32/usr/include/c++/v= 1 > = /scratch/tmp/asomers/obj/home/asomers/freebsd/head/tmp/usr/bin/../lib/clan= g/3.8.0/include > End of search list. The problem appears to be that the .../usr/include/c++/v1 directory should come *before* the .../usr/include directory, otherwise the #include_next<> logic will not work as expected. This is most likely caused by the option: -isystem = /scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32/usr/include because that forces this path to become before any auto-detected system include directory. Note that this option is not needed, since the other option: --sysroot=3D/scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32 is already taking care of adding the right include directories. It even warns about the duplicate directory: ignoring duplicate directory "/scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32/usr/include" So what happens if you delete the -isystem option and its argument? -Dimitry --Apple-Mail=_91EE3D21-D070-4DE2-B0EA-21E83357C3B9 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.30 iEYEARECAAYFAldIc6kACgkQsF6jCi4glqMloACgzn41J+VYNH1mQmGdIFCyrZ4c kcAAoO/CguO2a467IOnIw1qP5ireBRJs =yAU+ -----END PGP SIGNATURE----- --Apple-Mail=_91EE3D21-D070-4DE2-B0EA-21E83357C3B9--