https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105489
Bug ID: 105489
Summary: Internal Compiler Error for 6 line source code (using
C++20 modules) doing nothing
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: sandipan.mohanty at gmail dot com
Target Milestone: ---
Created attachment 52928
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52928&action=edit
Preprocessed source generated by g++ -freport-bug
The following 6 line code defining a struct with only one member type causes an
ICE in GCC git version (4 May 2022 / 4a2061610726becfa5158e418c69800f5634b4c1):
// Start : Module_ICE_1.cc
module;
import <vector>;
export module SomeModule;
struct SomeClass {
using iterator = std::vector<int>::iterator;
};
// End
Steps used to compile:
$ rm -rf gcm.cache
$ g++ -std=c++20 -fmodules-ts -xc++-system-header vector
$ g++ -std=c++20 -fmodules-ts -c Module_ICE_1.cc
Expected: (i) the module interface unit compiles without issues if code is
correct (ii) an error message from the compiler about what exactly is going
wrong, if the user code is incorrect
Not expected: compiler crash caused by 6 lines of user code.
Tested on: Reborn OS (Arch Linux), OpenSuSE 15.3, Kubuntu 22.04, Rocky Linux
(RHEL/CentOS/Fedora)
The release version of GCC 11.2.0 does not have this ICE.
The configuration options used to build GCC were:
../configure --prefix=blah --enable-languages=c,c++,fortran --disable-multilib
--enable-optimized --enable-linux-futex
I can do additional experiments if it will help detect/resolve this issue.