From owner-freebsd-toolchain@freebsd.org Thu Sep 20 19:02:52 2018 Return-Path: Delivered-To: freebsd-toolchain@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1857E10A626A for ; Thu, 20 Sep 2018 19:02:52 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic303-4.consmr.mail.bf2.yahoo.com (sonic303-4.consmr.mail.bf2.yahoo.com [74.6.131.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B6ACF7A800 for ; Thu, 20 Sep 2018 19:02:51 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-YMail-OSG: tNDYXmcVM1kvW5a1UPdvwXlTq59pTo1cfWwSUdgTfkbMT0vJmBB0RI1suczRrJ6 RQvoejS_MUBeCxKVvYt2dGauvVpszpHr96TBJtgsms7BI7zM8zhQsAbNgGmyHoDDY_xoWIrYc0L_ _DYJRZ9ypk0ibI_FheYaSXbr.pFLI3XO1BzYQoANBtNwGzuoNTM3Tt5zolD5vES3O82lOol98LVN _N2El4qyIDQL9AwpABCeoIhFBLHVua9gzoHL.jqVUrdT85C2vx4BWQGy7LLUinv_9xRHlAwnbJd. EA2KQFLv.z98mSOHnR2JuVu5WikyM.G73_g8UnBVu0lN1_mD8cGINWtIyodWGTZZVTS5cNQnDVDa vwiq8fZc6uvsPRKOSLPmRZMTJE2mEGNDzztb2FOFQ9jjn1YkbLUgbO7hkjfRNNyQXbEbR9A0y.x3 rwR8zMjIhIzdr0o9YG8UtI7LpSCH9VrFEAmStNbPPcWldw1KK0z7dzQDlk30JNrugJ1PeZ53AHC_ uw1HF8BfX6H9vn6jvqdt2psc96C4vmIvpzOW7hgkUQwVTDzkJWvo9sLWtk0rRynWjFzUkX.hBqlr 29e4eN7xOsx1k6inic38AShW8TH4WGq0RZ3tDhJsanjYtb6ou2nshzTBc8_vvIaLsYU7GkjRdqY0 s7H1USHRjMSH9EeL2okCVLmwvHlOPgZIUuWiJAkIy7Tpr4ZTJjywRy8Uh5aj6v8bbhUdU353I6gI IoRPS04gjzAhP.g2PgfnJ5_sokvDC1vmyv_FQq6YjgAWucSwfQB9DQi3nA4avtLgq90xUFHFS.BX nMn6zNnhMDBSyQ8S_NGEfr9YFEV4L9goupux0N2HwnHQh8hqXLxau9ikyfNrWiuK6sRZsEjhVEzA wD0ftFRwI0GnKd8Qu.PWwAL9OYowLikvVxzRIJkwu3wL9imTev5yrh56dCN54mAeZGfPrqLRvqVk GiQ_E5PvNEjdHfoZ8olVwaDWp9UJ2gNuy2jca8xqSM0mw2Wr3OC4XizI23krDIAp9V22AuQ-- Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.bf2.yahoo.com with HTTP; Thu, 20 Sep 2018 19:02:51 +0000 Received: from ip70-189-131-151.lv.lv.cox.net (EHLO [192.168.0.105]) ([70.189.131.151]) by smtp409.mail.bf1.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID 799ec75241f4da65f5f9c9d9af866cab for ; Thu, 20 Sep 2018 19:02:48 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\)) Subject: Re: svn commit: r480180 - in head/devel: . xtoolchain-llvm70 [FYI: 2 ABI changes compared to older clangs] Message-Id: <4B81760C-251A-4DCA-B322-495E3A535A38@yahoo.com> Date: Thu, 20 Sep 2018 12:02:46 -0700 To: FreeBSD Toolchain X-Mailer: Apple Mail (2.3445.9.1) X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Sep 2018 19:02:52 -0000 When I looked at = http://releases.llvm.org/7.0.0/tools/clang/docs/ReleaseNotes.html I found notes about 2 ABI breakages compared to clang 6 and before: QUOTE =E2=80=A2 Clang=E2=80=99s handling of the GCC packed class = attribute in C++ has been fixed to apply only to non-static data members = and not to base classes. This fixes an ABI difference between Clang and = GCC, but creates an ABI difference between Clang 7 and earlier versions. = The old behavior can be restored by setting -fclang-abi-compat to 6 or = lower. =E2=80=A2 Clang implements the proposed resolution of LWG issue = 2358, along with the corresponding change to the Itanium C++ ABI, which = make classes containing only unnamed non-zero-length bit-fields be = considered non-empty. This is an ABI break compared to prior Clang = releases, but makes Clang generate code that is ABI-compatible with = other compilers. The old behavior can be restored by setting = -fclang-abi-compat to 6 or lower. END QUOTE Also it reports: QUOTE libc++ Changes Users that wish to link together translation units built with different = versions of libc++=E2=80=99s headers into the same final linked image = should define the _LIBCPP_HIDE_FROM_ABI_PER_TU macro to 1 when building = those translation units. In a future release, not defining = _LIBCPP_HIDE_FROM_ABI_PER_TU to 1 and linking translation units built = with different versions of libc++=E2=80=99s headers together may lead to = ODR violations and ABI issues. END QUOTE =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)