Re: Clang 6.0.[01]: UNREACHABLE executed

2018-07-13 Thread Dimitry Andric
On 13 Jul 2018, at 18:45, Dimitry Andric  wrote:
> 
> On 13 Jul 2018, at 14:30, Jonathan Anderson  wrote:
>> 
>> 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).
>> 
>> creduce managed to shrink my 2.8 MiB preprocessed sources down to a 604
>> B test case:
>> 
>> https://gist.github.com/trombonehero/2da555bd1292be973f9d14c843c56ae5
>> 
>> 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:
>> 
>> https://gist.github.com/trombonehero/8fce4a8f39ae121a2f9f14b45b0b65a1
>> 
>> Any thoughts?
> 
> 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=28793,
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



signature.asc
Description: Message signed with OpenPGP


Clang 6.0.[01]: UNREACHABLE executed

2018-07-13 Thread Jonathan Anderson
Hi all,

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).

creduce managed to shrink my 2.8 MiB preprocessed sources down to a 604
B test case:

https://gist.github.com/trombonehero/2da555bd1292be973f9d14c843c56ae5

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:

https://gist.github.com/trombonehero/8fce4a8f39ae121a2f9f14b45b0b65a1

Any thoughts?


Jonathan Anderson
--
jonat...@freebsd.org
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"