Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Jul 2018 23:06:39 +0200
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Jonathan Anderson <jonathan@freebsd.org>
Cc:        freebsd-toolchain@freebsd.org
Subject:   Re: Clang 6.0.[01]: UNREACHABLE executed
Message-ID:  <0CAE4E5F-E501-4173-8716-72EAAEF5C55F@FreeBSD.org>
In-Reply-To: <51FD8F40-A5B8-4292-ACD4-A0105E428311@FreeBSD.org>
References:  <95573ED5-49CD-4BC6-863D-849C1CAA774D@FreeBSD.org> <51FD8F40-A5B8-4292-ACD4-A0105E428311@FreeBSD.org>

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

--Apple-Mail=_C790293D-CDC5-4B58-9D6F-4CD3C310FD4E
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

On 13 Jul 2018, at 18:45, Dimitry Andric <dim@FreeBSD.org> wrote:
>=20
> On 13 Jul 2018, at 14:30, Jonathan Anderson <jonathan@freebsd.org> =
wrote:
>>=20
>> I recently ran into an unreachable statement execution in Clang 6, =
both
>> with v6.0.0 from the llvm60 package and v6.0.1 from HEAD (FreeBSD
>> r335799 / LLVM r335540). I don't see this issue in Clang 5 or in the
>> version that ships with macOS High Sierra (which they're calling =
9.1.0,
>> but that's apparently more of a "marketing version" than a true =
version
>> number).
>>=20
>> creduce managed to shrink my 2.8 MiB preprocessed sources down to a =
604
>> B test case:
>>=20
>> https://gist.github.com/trombonehero/2da555bd1292be973f9d14c843c56ae5
>>=20
>> This isn't a valid C++ file (e.g., it cuts off after `return o` on =
line
>> 23), but I would expect it to cause compiler errors rather than a
>> compiler crash. You can see the output from the crash at:
>>=20
>> https://gist.github.com/trombonehero/8fce4a8f39ae121a2f9f14b45b0b65a1
>>=20
>> Any thoughts?
>=20
> It doesn't crash for me, at least not with the command line you =
provided
> in the gist.

Ah, I had a clang without assertions, but with assertions enabled, it
indeed results in:

Invalid operator call kind
UNREACHABLE executed at =
/usr/src/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp:1250!
Abort trap

This looks very much like https://bugs.llvm.org/show_bug.cgi?id=3D28793,
which is also something about a lamdba function with an invalid or
incomplete syntax.

I will dig a bit further; if it is the same bug, and reproduces with
clang trunk, I can bump the upstream bug, and/or ping a few people that
might be able to fix it.

-Dimitry


--Apple-Mail=_C790293D-CDC5-4B58-9D6F-4CD3C310FD4E
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.2

iF0EARECAB0WIQR6tGLSzjX8bUI5T82wXqMKLiCWowUCW0kUYAAKCRCwXqMKLiCW
oz+ZAKDxO3VDkmna60zdDoK8zpF9LYWSYQCcCTCUVGSNafolfdDmf1B90jtGXzo=
=V+jU
-----END PGP SIGNATURE-----

--Apple-Mail=_C790293D-CDC5-4B58-9D6F-4CD3C310FD4E--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0CAE4E5F-E501-4173-8716-72EAAEF5C55F>