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

            Bug ID: 94755
           Summary: [10 Regression] internal compiler error: Segmentation
                    fault
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: anbu1024.me at gmail dot com
  Target Milestone: ---

$ cat reduced.c 

extern void foo ( void ) ; 

void bar ( double x ) 
{ 
        if ( x == __builtin_speculation_safe_value() ) 
                foo ( ) ; 
} 

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

$ gcc-10 --version
gcc (GCC) 10.0.1 20200419 (experimental)
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

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

$ gcc-10 reduced.c 
reduced.c: In function ‘bar’:
reduced.c:6:2: error: too few arguments to function
‘__builtin_speculation_safe_value’
    6 |  if ( x == __builtin_speculation_safe_value() )
      |  ^~
reduced.c:6:2: internal compiler error: Segmentation fault
0xdab3ef crash_signal
        ../../gcc-10-20200419/gcc/toplev.c:328
0x89132f vec<tree_node*, va_gc, vl_embed>::operator[](unsigned int)
        ../../gcc-10-20200419/gcc/vec.h:867
0x89132f resolve_overloaded_builtin(unsigned int, tree_node*, vec<tree_node*,
va_gc, vl_embed>*)
        ../../gcc-10-20200419/gcc/c-family/c-common.c:7405
0x81a6c9 c_build_function_call_vec(unsigned int, vec<unsigned int, va_heap,
vl_ptr>, tree_node*, vec<tree_node*, va_gc, vl_embed>*, vec<tree_node*, va_gc,
vl_embed>*)
        ../../gcc-10-20200419/gcc/c/c-typeck.c:3199
0x838cde c_parser_postfix_expression_after_primary
        ../../gcc-10-20200419/gcc/c/c-parser.c:10501
0x8307a1 c_parser_postfix_expression
        ../../gcc-10-20200419/gcc/c/c-parser.c:10176
0x834ada c_parser_unary_expression
        ../../gcc-10-20200419/gcc/c/c-parser.c:8273
0x83632d c_parser_cast_expression
        ../../gcc-10-20200419/gcc/c/c-parser.c:8115
0x83671a c_parser_binary_expression
        ../../gcc-10-20200419/gcc/c/c-parser.c:8041
0x837595 c_parser_conditional_expression
        ../../gcc-10-20200419/gcc/c/c-parser.c:7652
0x837bb0 c_parser_expr_no_commas
        ../../gcc-10-20200419/gcc/c/c-parser.c:7569
0x837e11 c_parser_expression
        ../../gcc-10-20200419/gcc/c/c-parser.c:10637
0x8394a4 c_parser_expression_conv
        ../../gcc-10-20200419/gcc/c/c-parser.c:10670
0x8394a4 c_parser_condition
        ../../gcc-10-20200419/gcc/c/c-parser.c:6329
0x839597 c_parser_paren_condition
        ../../gcc-10-20200419/gcc/c/c-parser.c:6349
0x82e3e0 c_parser_if_statement
        ../../gcc-10-20200419/gcc/c/c-parser.c:6528
0x82e3e0 c_parser_statement_after_labels
        ../../gcc-10-20200419/gcc/c/c-parser.c:6160
0x82ff71 c_parser_compound_statement_nostart
        ../../gcc-10-20200419/gcc/c/c-parser.c:5805
0x84c8c4 c_parser_compound_statement
        ../../gcc-10-20200419/gcc/c/c-parser.c:5617
0x84e381 c_parser_declaration_or_fndef
        ../../gcc-10-20200419/gcc/c/c-parser.c:2505
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.

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

$ gcc-9 --version
gcc (GCC) 9.2.1 20191102
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

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

$ gcc-9 reduced.c 
reduced.c: In function ‘bar’:
reduced.c:6:2: error: too few arguments to function
‘__builtin_speculation_safe_value’
    6 |  if ( x == __builtin_speculation_safe_value() )
      |  ^~

Reply via email to