http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60469

            Bug ID: 60469
           Summary: simple cilk plus program ICEs
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: andi-gcc at firstfloor dot org

gcc version 4.9.0 20140209 (experimental) (GCC) 

gcc -fcilkplus test.c

cilk.c: In function 'main':
tcilk.c:14:5: internal compiler error: Segmentation fault
 int main()
     ^
0x8a5df7 crash_signal
        ../../gcc/gcc/toplev.c:337
0x9048e3 get_frame_type
        ../../gcc/gcc/tree-nested.c:234
0x9048e3 get_chain_decl
        ../../gcc/gcc/tree-nested.c:342
0x9056bc get_chain_decl
        ../../gcc/gcc/tree-nested.c:851
0x9056bc get_nonlocal_debug_decl
        ../../gcc/gcc/tree-nested.c:856
0x905932 convert_nonlocal_reference_op
        ../../gcc/gcc/tree-nested.c:934
0xa61f7c walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, pointer_set_t*, tree_node* (*)(tree_node**, int*, tree_node*
(*)(tree_node**, int*, void*), void*, pointer_set_t*))
        ../../gcc/gcc/tree.c:10920
0x725263 walk_gimple_op(gimple_statement_base*, tree_node* (*)(tree_node**,
int*, void*), walk_stmt_info*)
        ../../gcc/gcc/gimple-walk.c:221
0x725476 walk_gimple_stmt(gimple_stmt_iterator*, tree_node*
(*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**,
int*, void*), walk_stmt_info*)
        ../../gcc/gcc/gimple-walk.c:535
0x725629 walk_gimple_seq_mod(gimple_statement_base**, tree_node*
(*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**,
int*, void*), walk_stmt_info*)
        ../../gcc/gcc/gimple-walk.c:577
0x725629 walk_gimple_seq_mod(gimple_statement_base**, tree_node*
(*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**,
int*, void*), walk_stmt_info*)
        ../../gcc/gcc/gimple-walk.c:58
0x725551 walk_gimple_stmt(gimple_stmt_iterator*, tree_node*
(*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**,
int*, void*), walk_stmt_info*)
        ../../gcc/gcc/gimple-walk.c:577
0x725629 walk_gimple_seq_mod(gimple_statement_base**, tree_node*
(*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**,
int*, void*), walk_stmt_info*)
        ../../gcc/gcc/gimple-walk.c:58
0x725521 walk_gimple_stmt(gimple_stmt_iterator*, tree_node*
(*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**,
int*, void*), walk_stmt_info*)
        ../../gcc/gcc/gimple-walk.c:545
0x725629 walk_gimple_seq_mod(gimple_statement_base**, tree_node*
(*)(gimple_stmt_iterator*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**,
int*, void*), walk_stmt_info*)
        ../../gcc/gcc/gimple-walk.c:58
0x904127 walk_body
        ../../gcc/gcc/tree-nested.c:603
0x9060ee walk_function
        ../../gcc/gcc/tree-nested.c:614
0x9060ee walk_all_functions
        ../../gcc/gcc/tree-nested.c:679
0x90739f lower_nested_functions(tree_node*)
        ../../gcc/gcc/tree-nested.c:2724
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.


test program:


void foo() { asm("" ::: "memory"); }

#define ALEN 1024


void f(int *a, int *b, int *c)
{
        int i;
#pragma simd
        for (i = 0; i < ALEN; i++)
                a[i] = b[i] * c[i];
}

int main()
{
        int a[ALEN], b[ALEN], c[ALEN];

        b[:] = 100;
        c[0:ALEN:2] = 99;
        c[1:ALEN:2] = 101;

        f(a, b, c);

        asm("" ::: "memory"); /* Make sure a,b,c, are not optimized away */

        _Cilk_spawn foo();
        _Cilk_spawn foo();
        _Cilk_sync;
        return 0;
}

Reply via email to