From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id CB6B53858002; Tue, 30 Mar 2021 01:13:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CB6B53858002 From: "mpolacek at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: =?UTF-8?B?W0J1ZyBjKysvOTk1NzNdIElDRSBpbiBtb2R1bGU6IGludGVybmFs?= =?UTF-8?B?IGNvbXBpbGVyIGVycm9yOiB0cmVlIGNoZWNrOiBleHBlY3RlZCBjbGFzcyA=?= =?UTF-8?B?4oCYdHlwZeKAmSwgaGF2ZSDigJhleGNlcHRpb25hbOKAmSAoZXJyb3JfbWFy?= =?UTF-8?B?aykgaW4gc3RhcnRfZW51bSwgYXQgY3AvZGVjbC5jOjE1NjYz?= Date: Tue, 30 Mar 2021 01:13:53 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 11.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: mpolacek at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: everconfirmed bug_status keywords cf_reconfirmed_on cc Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Mar 2021 01:13:53 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D99573 Marek Polacek changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Keywords| |ice-on-valid-code Last reconfirmed| |2021-03-30 CC| |mpolacek at gcc dot gnu.org --- Comment #1 from Marek Polacek --- Confirmed. I hit this with another, simplified example: // x.h namespace std { enum class align_val_t: decltype(sizeof(int)) {}; } // z.cc export module A:base; #include "x.h" $ ./cc1plus -quiet z.cc -fmodules-ts In file included from z.cc:2: x.h:2:27: error: cannot define =E2=80=98enum class std::align_val_t=E2=80= =99 in different module 2 | enum class align_val_t: decltype(sizeof(int)) {}; | ^~~~~~~~~~~~~~~~~~~~~ : note: declared here x.h:2:27: internal compiler error: tree check: expected class =E2=80=98type= =E2=80=99, have =E2=80=98exceptional=E2=80=99 (error_mark) in start_enum, at cp/decl.c:15699 0x1a18873 tree_class_check_failed(tree_node const*, tree_code_class, char const*, int, char const*) /home/mpolacek/src/gcc/gcc/tree.c:9866 0xa1e03c tree_class_check(tree_node*, tree_code_class, char const*, int, ch= ar const*) /home/mpolacek/src/gcc/gcc/tree.h:3476 0xb4d2e1 start_enum(tree_node*, tree_node*, tree_node*, tree_node*, bool, bool*) /home/mpolacek/src/gcc/gcc/cp/decl.c:15699 0xc9a49d cp_parser_enum_specifier /home/mpolacek/src/gcc/gcc/cp/parser.c:19986 0xc9725b cp_parser_type_specifier /home/mpolacek/src/gcc/gcc/cp/parser.c:18412 0xc91963 cp_parser_decl_specifier_seq /home/mpolacek/src/gcc/gcc/cp/parser.c:15062 0xc90054 cp_parser_simple_declaration /home/mpolacek/src/gcc/gcc/cp/parser.c:14319 0xc8ffdc cp_parser_block_declaration /home/mpolacek/src/gcc/gcc/cp/parser.c:14266 0xc8fca8 cp_parser_declaration /home/mpolacek/src/gcc/gcc/cp/parser.c:14137 0xc8fd9d cp_parser_toplevel_declaration /home/mpolacek/src/gcc/gcc/cp/parser.c:14166 0xc8f53e cp_parser_declaration_seq_opt /home/mpolacek/src/gcc/gcc/cp/parser.c:13954 0xc9b41c cp_parser_namespace_body /home/mpolacek/src/gcc/gcc/cp/parser.c:20454 0xc9b3c5 cp_parser_namespace_definition /home/mpolacek/src/gcc/gcc/cp/parser.c:20432 0xc8fb8d cp_parser_declaration /home/mpolacek/src/gcc/gcc/cp/parser.c:14117 0xc8fd9d cp_parser_toplevel_declaration /home/mpolacek/src/gcc/gcc/cp/parser.c:14166 0xc7b6e5 cp_parser_translation_unit /home/mpolacek/src/gcc/gcc/cp/parser.c:4942 0xcde6f6 c_parse_file() /home/mpolacek/src/gcc/gcc/cp/parser.c:45257 0xea11b4 c_common_parse_file() /home/mpolacek/src/gcc/gcc/c-family/c-opts.c:1218=