This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug ipa/71146] [7 Regression] error: __builtin_unreachable or __builtin_trap call with arguments
- From: "mpolacek at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 17 May 2016 13:56:37 +0000
- Subject: [Bug ipa/71146] [7 Regression] error: __builtin_unreachable or __builtin_trap call with arguments
- Auto-submitted: auto-generated
- References: <bug-71146-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71146
--- Comment #7 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
I'm afraid I can't really answer that. I can see that while
inline_small_functions -> inline_call -> inline_merge_summary ->
remap_edge_summaries -> edge_set_predicate determine that for
(gdb) p e->caller
$29 = <cgraph_node* 0x7ffff00c8e60 "_ZThn8_N1C13OnReadSegmentEPKciPi">
(gdb) p e->callee
$30 = <cgraph_node* 0x7ffff00b7a10 "*.LTHUNK0">
false_predicate_p (predicate) is true so we redirect caller to
__builtin_unreachable.
If it helps:
$ c++filt <<< _ZThn8_N1C13OnReadSegmentEPKciPi
non-virtual thunk to C::OnReadSegment(char const*, int, int*)
Does that explain anything? Should I post the patch? (It regtested fine.)