diff options
author | Marek Polacek <polacek@redhat.com> | 2024-02-09 12:03:50 -0500 |
---|---|---|
committer | Marek Polacek <polacek@redhat.com> | 2024-02-09 16:40:54 -0500 |
commit | f29f7f86935e29786bf9f976ec99d7639b381b14 (patch) | |
tree | b5c5b33af1b627e104ec6ee250ca2a4b844d2b86 /libgcc | |
parent | 3a3e0f1b46a3ad71ebeedc419393e3a36f1ce6db (diff) | |
download | gcc-f29f7f86935e29786bf9f976ec99d7639b381b14.zip gcc-f29f7f86935e29786bf9f976ec99d7639b381b14.tar.gz gcc-f29f7f86935e29786bf9f976ec99d7639b381b14.tar.bz2 |
c++: fix ICE with __type_pack_element [PR113834]
Here we crash on this invalid code because we seem to infinitely recurse
and end up with __type_pack_element with index that doesn't tree_fits_shwi_p
which then crashes on tree_to_shwi.
Thanks to Jakub for suggesting a nicer fix than my original one.
PR c++/113834
gcc/cp/ChangeLog:
* semantics.cc (finish_type_pack_element): Perform range checking
before tree_to_shwi.
gcc/testsuite/ChangeLog:
* g++.dg/ext/type_pack_element4.C: New test.
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions