https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106820
Bug ID: 106820 Summary: internal compiler error: in function_and_variable_visibility [for std::dynamic_pointer_cast use via <memory> module] Product: gcc Version: 12.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: markmigm at gmail dot com Target Milestone: --- Failing command sequence (from a FreeBSD context) for a reduced/small test case: // g++12 -std=c++20 -fmodules-ts -xc++-system-header memory // g++12 -std=c++20 -freport-bug -fmodules-ts -c gpp12_module_dynamic_pointer_cast_failure.cpp For: # more /tmp/ccvYB09K.out // Target: aarch64-portbld-freebsd14.0 // Configured with: /wrkdirs/usr/ports/lang/gcc12/work/gcc-12.2.0/configure --disable-multilib --disable-bootstrap --disable-nls --enable-gnu-indirect-function --enable-host-shared --enable-plugin --libdir=/usr/local/lib/gcc12 --libexecdir=/usr/local/libexec/gcc12 --program-suffix=12 --with-as=/usr/local/bin/as --with-gmp=/usr/local --with-gxx-include-dir=/usr/local/lib/gcc12/include/c++/ --with-gxx-libcxx-include-dir=/usr/include/c++/v1 --with-ld=/usr/local/bin/ld --with-pkgversion='FreeBSD Ports Collection' --with-system-zlib --without-zstd --enable-languages=c,c++,objc,fortran,jit --prefix=/usr/local --localstatedir=/var --mandir=/usr/local/man --infodir=/usr/local/share/info/gcc12 --build=aarch64-portbld-freebsd14.0 // Thread model: posix // Supported LTO compression algorithms: zlib // gcc version 12.2.0 (FreeBSD Ports Collection) // // during IPA pass: visibility // gpp12_module_dynamic_pointer_cast_failure.cpp:21:1: internal compiler error: in function_and_variable_visibility, at ipa-visibility.cc:716 // 21 | } // | ^ // Please submit a full bug report, with preprocessed source. // See <https://gcc.gnu.org/bugs/> for instructions. // /usr/local/libexec/gcc12/gcc/aarch64-portbld-freebsd14.0/12.2.0/cc1plus -quiet gpp12_module_dynamic_pointer_cast_failure.cpp -quiet -dumpbase gpp12_module_dynamic_pointer_cast_failure.cpp -dumpbase-ext .cpp -mlittle-endian -mabi=lp64 -std=c++20 -freport-bug -fmodules-ts -o - -frandom-seed=0 -fdump-noaddr # 0 "gpp12_module_dynamic_pointer_cast_failure.cpp" # 0 "<built-in>" # 0 "<command-line>" # 1 "gpp12_module_dynamic_pointer_cast_failure.cpp" # 11 "gpp12_module_dynamic_pointer_cast_failure.cpp" import "/usr/local/lib/gcc12/include/c++/memory"; struct data { virtual ~data() = default; }; void test(std::shared_ptr<data> b) { auto dpc = std::dynamic_pointer_cast<data>(b); }