diff options
author | Richard Biener <rguenther@suse.de> | 2023-11-13 09:24:08 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2023-11-13 15:00:39 +0100 |
commit | 5021fa7076acd5a987362c8695ae3ebeff877d02 (patch) | |
tree | 89381db0e025554ea5e0cc2022eacf0c24bbf084 /gcc/cppdefault.cc | |
parent | a0b2abef4e62d816f669df478a3cc320647c3b31 (diff) | |
download | gcc-5021fa7076acd5a987362c8695ae3ebeff877d02.zip gcc-5021fa7076acd5a987362c8695ae3ebeff877d02.tar.gz gcc-5021fa7076acd5a987362c8695ae3ebeff877d02.tar.bz2 |
middle-end/112487 - inline and parameter mismatch
When passing an aggregate to a implicitly declared function that's
later declared as receiving a register type we can run into a
sanity assert that cannot hold for such gross mismatches. Instead
of asserting avoid emitting a debug temp that's invalid.
PR middle-end/112487
* tree-inline.cc (setup_one_parameter): When the parameter
is unused only insert a debug bind when there's not a gross
mismatch in value and declared parameter type. Do not assert
there effectively isn't.
* gcc.dg/torture/pr112487.c: New testcase.
Diffstat (limited to 'gcc/cppdefault.cc')
0 files changed, 0 insertions, 0 deletions