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

Igor Zamyatin <izamyatin at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |izamyatin at gmail dot com

--- Comment #2 from Igor Zamyatin <izamyatin at gmail dot com> ---
ICE could be seen even for

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

#define ALEN 1024

int main(int argc, char* argv[])
{
    int b[ALEN];

    b[:] = 100;
    _Cilk_spawn foo();
    return 0;
}

The "bad" VAR_DECL here is the initial variable for the loop that is created
during array annotation expression expanding. The problem seems to be in the
way how this var_decl is created.
For C++ case create_temp_var is used where DECL_CONTEXT is set up. For C case
build_decl is used where no DECL_CONTEXT is filled

Reply via email to