Skip to content
Snippets Groups Projects
Commit 4f40164a authored by David Malcolm's avatar David Malcolm
Browse files

analyzer: fix ICE on failed casts [PR 93777]

PR analyzer/93777 reports ICEs in a Fortran and C++ case involving
a cast of a NULL pointer to a REFERENCE_TYPE.

In both cases the call to build_cast fails and returns a NULL type, but
region_model::maybe_cast_1 asserts that a non-NULL type was returned.

This patch fixes the ICEs by converting the assertion to a conditional.

gcc/analyzer/ChangeLog:
	PR analyzer/93777
	* region-model.cc (region_model::maybe_cast_1): Replace assertion
	that build_cast returns non-NULL with a conditional, falling
	through to the logic which returns a new unknown value of the
	desired type if it fails.

gcc/testsuite/ChangeLog:
	PR analyzer/93777
	* g++.dg/analyzer/pr93777.C: New test.
	* gfortran.dg/analyzer/pr93777.f90: New test.
parent 2e623393
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment