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

            Bug ID: 71297
           Summary: ICE on invalid code in
                    altivec_resolve_overloaded_builtin (rs6000-c.c:5106)
                    on powerpc64le-linux
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
  Target Milestone: ---

Following code snippet ICEs with a cross-compiler
../configure --enable-languages=c,c++ --disable-bootstrap
--target=ppc64le-suse-linux:

$ cat /tmp/ice3.c 
int main()
{
  __builtin_vec_st();
}

$ ./xgcc -B. /tmp/ice3.c 
/tmp/ice3.c: In function ‘main’:
/tmp/ice3.c:3:3: internal compiler error: Segmentation fault
   __builtin_vec_st();
   ^~~~~~~~~~~~~~~~
0xe4e584 crash_signal
        ../../gcc/toplev.c:333
0x787155 vec<tree_node*, va_gc, vl_embed>::operator[](unsigned int)
        ../../gcc/vec.h:727
0x8971b6 altivec_resolve_overloaded_builtin(unsigned int, tree_node*, void*)
        ../../gcc/config/rs6000/rs6000-c.c:5106
0x8484f4 resolve_overloaded_builtin(unsigned int, tree_node*, vec<tree_node*,
va_gc, vl_embed>*)
        ../../gcc/c-family/c-common.c:11329
0x796e15 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/c/c-typeck.c:3113
0x7da27d c_parser_postfix_expression_after_primary
        ../../gcc/c/c-parser.c:8307
0x7d9a57 c_parser_postfix_expression
        ../../gcc/c/c-parser.c:8123
0x7d5bfe c_parser_unary_expression
        ../../gcc/c/c-parser.c:6939
0x7d5077 c_parser_cast_expression
        ../../gcc/c/c-parser.c:6768
0x7d3d7d c_parser_binary_expression
        ../../gcc/c/c-parser.c:6577
0x7d3643 c_parser_conditional_expression
        ../../gcc/c/c-parser.c:6348
0x7d3353 c_parser_expr_no_commas
        ../../gcc/c/c-parser.c:6265
0x7daa33 c_parser_expression
        ../../gcc/c/c-parser.c:8449
0x7dac88 c_parser_expression_conv
        ../../gcc/c/c-parser.c:8482
0x7d1037 c_parser_statement_after_labels
        ../../gcc/c/c-parser.c:5284
0x7d03f1 c_parser_compound_statement_nostart
        ../../gcc/c/c-parser.c:4858
0x7cfde2 c_parser_compound_statement
        ../../gcc/c/c-parser.c:4693
0x7caa3a c_parser_declaration_or_fndef
        ../../gcc/c/c-parser.c:2105
0x7c94ec c_parser_external_declaration
        ../../gcc/c/c-parser.c:1549
0x7c9043 c_parser_translation_unit
        ../../gcc/c/c-parser.c:1430

and very similar ICE:

$ cat /tmp/ice4.c 
int main()
{
  __builtin_vec_ld();
}

$ ./xgcc -B. /tmp/ice4.c 
/tmp/ice4.c: In function ‘main’:
/tmp/ice4.c:3:3: internal compiler error: Segmentation fault
   __builtin_vec_ld();
   ^~~~~~~~~~~~~~~~
0xe4e584 crash_signal
        ../../gcc/toplev.c:333
0x787155 vec<tree_node*, va_gc, vl_embed>::operator[](unsigned int)
        ../../gcc/vec.h:727
0x896c2c altivec_resolve_overloaded_builtin(unsigned int, tree_node*, void*)
        ../../gcc/config/rs6000/rs6000-c.c:5044
0x8484f4 resolve_overloaded_builtin(unsigned int, tree_node*, vec<tree_node*,
va_gc, vl_embed>*)
        ../../gcc/c-family/c-common.c:11329
0x796e15 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/c/c-typeck.c:3113
0x7da27d c_parser_postfix_expression_after_primary
        ../../gcc/c/c-parser.c:8307
0x7d9a57 c_parser_postfix_expression
        ../../gcc/c/c-parser.c:8123
0x7d5bfe c_parser_unary_expression
        ../../gcc/c/c-parser.c:6939
0x7d5077 c_parser_cast_expression
        ../../gcc/c/c-parser.c:6768
0x7d3d7d c_parser_binary_expression
        ../../gcc/c/c-parser.c:6577
0x7d3643 c_parser_conditional_expression
        ../../gcc/c/c-parser.c:6348
0x7d3353 c_parser_expr_no_commas
        ../../gcc/c/c-parser.c:6265
0x7daa33 c_parser_expression
        ../../gcc/c/c-parser.c:8449
0x7dac88 c_parser_expression_conv
        ../../gcc/c/c-parser.c:8482
0x7d1037 c_parser_statement_after_labels
        ../../gcc/c/c-parser.c:5284
0x7d03f1 c_parser_compound_statement_nostart
        ../../gcc/c/c-parser.c:4858
0x7cfde2 c_parser_compound_statement
        ../../gcc/c/c-parser.c:4693
0x7caa3a c_parser_declaration_or_fndef
        ../../gcc/c/c-parser.c:2105
0x7c94ec c_parser_external_declaration
        ../../gcc/c/c-parser.c:1549
0x7c9043 c_parser_translation_unit
        ../../gcc/c/c-parser.c:1430

Thanks

Reply via email to