https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120381
Bug ID: 120381 Summary: internal compiler error: in composite_type_internal, at c/c-typeck.cc:848 Product: gcc Version: 16.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: xieym3 at zohomail dot com Target Milestone: --- $ cat file.c struct A { struct A { struct A *p; } *p; }; int foo(const struct A *q) { return q->p == q; } void bar(int); void baz() { struct A a; while (foo(&a)) bar(foo(&a)); } $ gcc -v Using built-in specs. COLLECT_GCC=/data/xieym/work-rgf/misc_tools/install/gcc-trunk/bin/gcc COLLECT_LTO_WRAPPER=/data/xieym/work-rgf/misc_tools/install/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/16.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /data/xieym/work-rgf/misc_tools/src/gcc-trunk/configure --enable-coverage --enable-checking --disable-multilib --disable-shared --disable-bootstrap --enable-language=c,c++ --prefix=/data/xieym/work-rgf/misc_tools/install/gcc-trunk Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 16.0.0 20250519 (experimental) (GCC) $ gcc -c file.c -o /dev/null <source>:6:22: internal compiler error: in composite_type_internal, at c/c-typeck.cc:848 6 | int foo(const struct A *q) { return q->p == q; } | ^ 0x260c7a5 diagnostic_context::diagnostic_impl(rich_location*, diagnostic_metadata const*, diagnostic_option_id, char const*, __va_list_tag (*) [1], diagnostic_t) ???:0 0x262a516 internal_error(char const*, ...) ???:0 0x9f37e0 fancy_abort(char const*, int, char const*) ???:0 0xa53093 build_binary_op(unsigned long, tree_code, tree_node*, tree_node*, bool) ???:0 0xa55496 parser_build_binary_op(unsigned long, tree_code, c_expr, c_expr) ???:0 0xabbbee c_parse_file() ???:0 0xb3c959 c_common_parse_file() ???:0 Godbolt url: https://godbolt.org/z/PKefohbPv