https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109723
Bug ID: 109723
Summary: [14 regression] ICE in instantiate_decl, at
cp/pt.cc:27066 when building opencv-4.7.0
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: sjames at gcc dot gnu.org
Target Milestone: ---
Created attachment 54987
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54987&action=edit
bimef.cpp.ii.xz
This may be a dupe of PR109645 or PR109658, not sure, but I figure it's worth
the test case anyway even if it is.
Hit this when building opencv-4.7.0 with gcc 14.
---
```
FAILED:
modules/intensity_transform/CMakeFiles/opencv_intensity_transform.dir/src/bimef.cpp.o
/usr/bin/aarch64-unknown-linux-gnu-g++ -DCVAPI_EXPORTS -D_USE_MATH_DEFINES
-D__OPENCV_BUILD=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS
-D__STDC_LIMIT_MACROS -I/var/tmp/portage/me
dia-libs/opencv-4.7.0/work/opencv_contrib-4.7.0/modules/intensity_transform/include
-I/var/tmp/portage/media-libs/opencv-4.7.0/work/opencv-4.7.0_build-.arm64/modules/intensity_transform
-I/var/tmp/portage/media-libs/opencv-4.7.0/work/opencv-4.7.0/modules/core/include
-I/var/tmp/portage/media-libs/opencv-4.7.0/work/opencv-4.7.0/modules/imgproc/include
-isystem /var/tmp
/portage/media-libs/opencv-4.7.0/work/opencv-4.7.0_build-.arm64 -isystem
/usr/include/eigen3 -O2 -pipe -mcpu=native -fsigned-char -W -Wall
-Wreturn-type -Wnon-virtual-dtor -Waddress
-Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wundef
-Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized
-Wsuggest-override -Wno-delete-non-virtual-d
tor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow
-fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections
-fdata-sections -fvisibility=hidden -fvisibil
ity-inlines-hidden -fopenmp -std=c++11 -fPIC -MD -MT
modules/intensity_transform/CMakeFiles/opencv_intensity_transform.dir/src/bimef.cpp.o
-MF modules/intensity_transform/CMakeFiles/ope
ncv_intensity_transform.dir/src/bimef.cpp.o.d -o
modules/intensity_transform/CMakeFiles/opencv_intensity_transform.dir/src/bimef.cpp.o
-c /var/tmp/portage/media-libs/opencv-4.7.0/work/o
pencv_contrib-4.7.0/modules/intensity_transform/src/bimef.cpp
[...]
/var/tmp/portage/media-libs/opencv-4.7.0/work/opencv-4.7.0/modules/core/include/opencv2/core/utility.hpp:645:27:
internal compiler error: in instantiate_decl, at cp/pt.cc:27066
645 | this->rowCall2(row, COLS);
| ~~~~~~^~~~~~~~
0x9d5eb7 instantiate_decl(tree_node*, bool, bool)
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:27066
0x8356df mark_used(tree_node*, int)
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/decl2.cc:5875
0x9b7aeb tsubst_baselink
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:16910
0x9a0443 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*)
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:21415
0x99e1eb tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*)
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:21022
0x9ae4cb tsubst_expr(tree_node*, tree_node*, int, tree_node*)
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:19878
0x9aff37 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:18855
0x9af3cb tsubst_expr(tree_node*, tree_node*, int, tree_node*)
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:19058
0x9af79f tsubst_expr(tree_node*, tree_node*, int, tree_node*)
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:19207
0x9b214b tsubst_expr(tree_node*, tree_node*, int, tree_node*)
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:19176
0x9afb57 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:18827
0x9af79f tsubst_expr(tree_node*, tree_node*, int, tree_node*)
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:19207
0x9be0c7 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:18813
0x9be0c7 instantiate_body
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:26889
0x9d5667 instantiate_decl(tree_node*, bool, bool)
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:27182
0x9afef3 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:19369
0x9afb57 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:18827
0x9af79f tsubst_expr(tree_node*, tree_node*, int, tree_node*)
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:19207
0x9be0c7 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:18813
0x9be0c7 instantiate_body
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:26889
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
```
---
```
$ g++ -O2 bimef.cpp.ii -c
[...]
0x9d5eb7 instantiate_decl(tree_node*, bool, bool)
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/pt.cc:27066
0x8356df mark_used(tree_node*, int)
/usr/src/debug/sys-devel/gcc-14.0.0.9999/gcc-14.0.0.9999/gcc/cp/decl2.cc:5875
[...]
```
$ gcc --version
gcc (Gentoo 14.0.0.9999 p, commit 490c1c096ca1d3a1f4a84801a46231d64c07ba49)
14.0.0 20230503 (experimental) 6cff5f3da7f263bb11cf48e6011931422b62b364
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
```