From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45401) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aTBoS-0005Xa-1d for qemu-devel@nongnu.org; Tue, 09 Feb 2016 12:10:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aTBoO-0006U1-Li for qemu-devel@nongnu.org; Tue, 09 Feb 2016 12:10:51 -0500 Received: from mx1.redhat.com ([209.132.183.28]:42896) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aTBoO-0006TH-AO for qemu-devel@nongnu.org; Tue, 09 Feb 2016 12:10:48 -0500 References: <1455031511-23684-1-git-send-email-peter.maydell@linaro.org> <56BA0F09.8060302@redhat.com> <56BA0F98.2040300@redhat.com> From: Eric Blake Message-ID: <56BA1D97.5040705@redhat.com> Date: Tue, 9 Feb 2016 10:10:47 -0700 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="WNV76k5two9hUv7Lw7kD4El4LlBRND7QU" Subject: Re: [Qemu-devel] [PATCH 00/14] More #include cleanups List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: QEMU Developers , Patch Tracking This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --WNV76k5two9hUv7Lw7kD4El4LlBRND7QU Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 02/09/2016 09:21 AM, Peter Maydell wrote: > On 9 February 2016 at 16:11, Eric Blake wrote: >> But failed testing: >> >> CC disas/arm.o >> CXX disas/arm-a64.o >> In file included from /usr/include/c++/5.3.1/cmath:41:0, >> from /home/eblake/qemu-tmp/disas/libvixl/vixl/utils.h= :31, >> from >> /home/eblake/qemu-tmp/disas/libvixl/vixl/a64/disasm-a64.h:31, >> from disas/arm-a64.cc:25: >> /usr/include/c++/5.3.1/x86_64-redhat-linux/bits/c++config.h:1991:10: >> error: expected unqualified-id before =E2=80=98namespace=E2=80=99 >> inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }= >> ^ >> >> Not sure what went wrong there, but 3/14 probably needs tweaking. >=20 > Weird. Your machine does compile libvixl right in current master? > The patch does build fine for me, and it's not clear to me why > moving the disasm-a64.h include below osdep.h and disas/bfd.h > would make it stop building. Google suggests that missing > semicolons can provoke this kind of error so maybe there's > a latent error in the headers somewhere :-( Yes, I bisected to 3/14; where things compiled after 1/14 (and 2/14 is already in-tree). Looking at the c++config.h header, I see a context of: #if _GLIBCXX_USE_CXX11_ABI namespace std { inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } } Comparing pre- and post-patch on the preprocessor output, it used to expand to: # 1989 "/usr/include/c++/5.3.1/x86_64-redhat-linux/bits/c++config.h" 3 namespace std { inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } } but with the new header order it expands to: # 1989 "/usr/include/c++/5.3.1/x86_64-redhat-linux/bits/c++config.h" 3 namespace std { # 1991 "/usr/include/c++/5.3.1/x86_64-redhat-linux/bits/c++config.h" __attribute__ (( always_inline )) __inline__ # 1991 "/usr/include/c++/5.3.1/x86_64-redhat-linux/bits/c++config.h" 3 namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } } So _something_ in osdep.h is redefining 'inline' with disastrous effects to C++. --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --WNV76k5two9hUv7Lw7kD4El4LlBRND7QU Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJWuh2XAAoJEKeha0olJ0NqBDgH+wfbSwzo6eHBt/w2AZ0ZVao7 dXsgVtxBcDiSG6zO0j91+cZYy8hPEHJCZtWe27/Dpr4BPNfMjm8I6kohWpLpEehx v4Y/H6Omh3oF481i1fOH3T/Zbp6sJvd1bvcAau2ZhRXWwTbWwhR1ZcDPeJ6ojiYJ xM0lalQwhqnBGEGguWiX+hS7vvZLFwXV3BACyjBbBKXahVjsUFqFw6gAovngv3Hg 2dUBvOdZmAiNLbDuiwsm/fsauhecQHuGcCA6QKR+3CK7RzuxLJNja0gvOvV/ryaS ro5ZeBvWJTWHxjS5IW3oAcrGkd5xVTL3mLLqLa02pvnHQdRBdiLhTtgDM1HcSbo= =zqP6 -----END PGP SIGNATURE----- --WNV76k5two9hUv7Lw7kD4El4LlBRND7QU--