https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90998

Dan Stahlke <dan at stahlke dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dan at stahlke dot org

--- Comment #3 from Dan Stahlke <dan at stahlke dot org> ---
Me too, with gcc 9.2.0.

g++ -std=c++17 -Wconversion gcc-Wconversion-crash.cpp

----------------------

struct B;

struct A {
    operator B();
};

struct B {
    B(A const &rs);
    B(B const &rs);
};

B f(A x) {
    return B(x);
}

----------------------

gcc-Wconversion-crash.cpp: In function ‘B f(A)’:
gcc-Wconversion-crash.cpp:15:15: internal compiler error: Segmentation fault
   15 |     return B(x);
      |               ^
0xb8d10f crash_signal
        ../.././gcc/toplev.c:326
0x5ff192 compare_ics
        ../.././gcc/cp/call.c:10124
0x603090 joust
        ../.././gcc/cp/call.c:10737
0x603a2c tourney
        ../.././gcc/cp/call.c:11096
0x60b5f6 build_new_method_call_1
        ../.././gcc/cp/call.c:9805
0x60b5f6 build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc,
vl_embed>**, tree_node*, int, tree_node**, int)
        ../.././gcc/cp/call.c:9973
0x600773 build_special_member_call(tree_node*, tree_node*, vec<tree_node*,
va_gc, vl_embed>**, tree_node*, int, int)
        ../.././gcc/cp/call.c:9397
0x60ca93 perform_direct_initialization_if_possible(tree_node*, tree_node*,
bool, int)
        ../.././gcc/cp/call.c:11314
0x746ab9 build_static_cast_1
        ../.././gcc/cp/typeck.c:7211
0x749807 cp_build_c_cast(tree_node*, tree_node*, int)
        ../.././gcc/cp/typeck.c:8007
0x749807 cp_build_c_cast(tree_node*, tree_node*, int)
        ../.././gcc/cp/typeck.c:7924
0x751c2a build_functional_cast(tree_node*, tree_node*, int)
        ../.././gcc/cp/typeck2.c:2284
0x6b3b16 cp_parser_functional_cast
        ../.././gcc/cp/parser.c:28385
0x6c4864 cp_parser_postfix_expression
        ../.././gcc/cp/parser.c:7101
0x6d1409 cp_parser_unary_expression
        ../.././gcc/cp/parser.c:8472
0x6af31f cp_parser_cast_expression
        ../.././gcc/cp/parser.c:9357
0x6afb0a cp_parser_binary_expression
        ../.././gcc/cp/parser.c:9460
0x6b08a7 cp_parser_assignment_expression
        ../.././gcc/cp/parser.c:9758
0x6b0bca cp_parser_expression
        ../.././gcc/cp/parser.c:9925
0x6bef8a cp_parser_jump_statement
        ../.././gcc/cp/parser.c:12910
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

----------------------

g++ -v

Reading specs from
/xxx/gcc/9.2.0/.bin/../lib64/gcc/x86_64-suse-linux/9.2.0/specs
COLLECT_GCC=/xxx/gcc/9.2.0/.bin/g++
COLLECT_LTO_WRAPPER=/xxx/gcc/9.2.0/.bin/../libexec/gcc/x86_64-suse-linux/9.2.0/lto-wrapper
Target: x86_64-suse-linux
Configured with: ./configure --prefix=/xxx/gcc/9.2.0
--libdir=/xxx/gcc/9.2.0/lib64 --libexecdir=/xxx/gcc/9.2.0/libexec
--bindir=/xxx/gcc/9.2.0/bin --with-isl=/xxx/gcc/9.2.0
--with-libelf=/xxx/gcc/9.2.0 --with-mpfr=/xxx/gcc/9.2.0
--with-gmp=/xxx/gcc/9.2.0 --with-mpc=/xxx/gcc/9.2.0 --enable-gold=yes
--enable-lto --enable-languages=c,c++,objc,fortran --build=x86_64-suse-linux
--host=x86_64-suse-linux --target=x86_64-suse-linux --enable-libotm
--disable-libstdcxx-pch
Thread model: posix
gcc version 9.2.0 (GCC)

Reply via email to