gcc/analyzer/ChangeLog:
PR analyzer/124139
* engine.cc (exploded_node::on_throw): Bail out if we can't get
the fndecl for the call.
gcc/testsuite/ChangeLog:
PR analyzer/124139
* g++.dg/analyzer/exception-ice-pr124139.C: New test.
Signed-off-by: David Malcolm <dmalcolm@redhat.com>
region_model *model = new_state->m_region_model;
call_details cd (throw_call, model, ctxt);
+ if (!cd.get_fndecl_for_call ())
+ return;
+
/* Create an enode and eedge for the "throw". */
tree type = NULL_TREE;
if (is_rethrow)
--- /dev/null
+// { dg-additional-options "--param=analyzer-max-svalue-depth=0" }
+
+void
+foo()
+{
+ throw;
+}