c-family: Avoid ICEs on calls to internal functions [PR95963]
authorJakub Jelinek <jakub@redhat.com>
Tue, 30 Jun 2020 09:42:54 +0000 (11:42 +0200)
committerJakub Jelinek <jakub@redhat.com>
Tue, 30 Jun 2020 09:42:54 +0000 (11:42 +0200)
commit8dc933c12f489626339b3ba1a8e2dc23eb4de98e
tree38dda892d7b271f8ffad39eac675776fce741dc5
parent458f12eda16ee19354ca1937daef45d79bc7ad46
c-family: Avoid ICEs on calls to internal functions [PR95963]

The following testcase ICEs since recent Martin's -Wnonnull changes,
we see a CALL_EXPR and ICE because CALL_EXPR_FN is NULL, which is
valid for internal function calls.  Internal function calls don't have a
function type, and will never have format_arg attribute on them nor will
serve as the i18n routines -Wformat cares about.

2020-06-30  Jakub Jelinek  <jakub@redhat.com>

PR c++/95963
* c-common.c (check_function_arguments_recurse): Don't crash on
calls to internal functions.

* g++.dg/cpp1z/launder9.C: New test.
gcc/c-family/c-common.c
gcc/testsuite/g++.dg/cpp1z/launder9.C [new file with mode: 0644]