From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id C0BC23858C27; Wed, 24 Nov 2021 17:49:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C0BC23858C27 From: "gscfq@t-online.de" To: gcc-bugs@gcc.gnu.org Subject: [Bug c/103415] [12 Regression] ICE in cpp_interpret_string_1, at libcpp/charset.c:1739 Date: Wed, 24 Nov 2021 17:49:01 +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: 12.0 X-Bugzilla-Keywords: ice-on-invalid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: gscfq@t-online.de X-Bugzilla-Status: UNCONFIRMED 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: keywords 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: Wed, 24 Nov 2021 17:49:01 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D103415 G. Steinmetz changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice-on-invalid-code --- Comment #1 from G. Steinmetz --- Probably related : $ cat z2.c #define n(x...) #__VA_OPT__(x##__VA_ARGS__##c) const char *c n(1) $ cat z3.c #define n(x...) =3D #__VA_OPT__(x##__VA_ARGS__##c) const char *c n(1); $ gcc-12-20211121 -c z2.c z2.c:1:18: warning: __VA_OPT__ can only appear in the expansion of a C++20 variadic macro 1 | #define n(x...) #__VA_OPT__(x##__VA_ARGS__##c) | ^ z2.c:1:32: warning: __VA_ARGS__ can only appear in the expansion of a C99 variadic macro 1 | #define n(x...) #__VA_OPT__(x##__VA_ARGS__##c) | ^ z2.c:2:1: internal compiler error: Segmentation fault 2 | const char *c n(1) | ^~~~~ 0xcb463f crash_signal ../../gcc/toplev.c:322 0x18d0cca new_string_token ../../libcpp/macro.c:472 0x18d0cca stringify_arg ../../libcpp/macro.c:941 0x18d32e3 replace_args ../../libcpp/macro.c:2068 0x18d32e3 enter_macro_context ../../libcpp/macro.c:1496 0x18d3750 cpp_get_token_1 ../../libcpp/macro.c:2986 0x7ff27d c_lex_with_flags(tree_node**, unsigned int*, unsigned char*, int) ../../gcc/c-family/c-lex.c:483 0x78743f c_lex_one_token ../../gcc/c/c-parser.c:279 0x788414 c_parser_peek_nth_token(c_parser*, unsigned int) ../../gcc/c/c-parser.c:517 0x7889a0 c_parser_nth_token_starts_std_attributes ../../gcc/c/c-parser.c:5092 0x79524b c_parser_direct_declarator ../../gcc/c/c-parser.c:3951 0x79524b c_parser_declarator(c_parser*, bool, c_dtr_syn, bool*) ../../gcc/c/c-parser.c:3894 0x795033 c_parser_declarator(c_parser*, bool, c_dtr_syn, bool*) ../../gcc/c/c-parser.c:3886 0x7ae573 c_parser_declaration_or_fndef ../../gcc/c/c-parser.c:2154 0x7b70cf c_parser_external_declaration ../../gcc/c/c-parser.c:1780 0x7b79fb c_parser_translation_unit ../../gcc/c/c-parser.c:1653 0x7b79fb c_parse_file() ../../gcc/c/c-parser.c:23280 0x808eb2 c_common_parse_file() ../../gcc/c-family/c-opts.c:1240=