This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/69017] New: [cilkplus] ICE with valid cilk_spawn


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

            Bug ID: 69017
           Summary: [cilkplus] ICE with valid cilk_spawn
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ryan.burn at gmail dot com
  Target Milestone: ---

The below valid code causes this ICE:

t1.cpp: In function âvoid g()â:
t1.cpp:18:22: internal compiler error: gimplification failed
   b = _Cilk_spawn f2();
                      ^

0xd6388a gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../src-fix/gcc/gimplify.c:11047
0xd493c6 gimplify_addr_expr
        ../../src-fix/gcc/gimplify.c:5075
0xd60829 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../src-fix/gcc/gimplify.c:10162
0xd4b2fd gimplify_stmt(tree_node**, gimple**)
        ../../src-fix/gcc/gimplify.c:5616
0xd48e5e gimplify_compound_expr
        ../../src-fix/gcc/gimplify.c:4943
0xd48de0 gimplify_compound_expr
        ../../src-fix/gcc/gimplify.c:4930
0xd6049b gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../src-fix/gcc/gimplify.c:10105
0xd4b2fd gimplify_stmt(tree_node**, gimple**)
        ../../src-fix/gcc/gimplify.c:5616
0xd4a9e5 gimplify_cleanup_point_expr
        ../../src-fix/gcc/gimplify.c:5392
0xd61c92 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../src-fix/gcc/gimplify.c:10481
0xd4b2fd gimplify_stmt(tree_node**, gimple**)
        ../../src-fix/gcc/gimplify.c:5616
0xd3c296 gimplify_statement_list
        ../../src-fix/gcc/gimplify.c:1526
0xd62039 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../src-fix/gcc/gimplify.c:10533
0xd4b2fd gimplify_stmt(tree_node**, gimple**)
        ../../src-fix/gcc/gimplify.c:5616
0xd38d23 gimplify_and_add(tree_node*, gimple**)
        ../../src-fix/gcc/gimplify.c:425
0xd619a9 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../src-fix/gcc/gimplify.c:10455
0xd4b2fd gimplify_stmt(tree_node**, gimple**)
        ../../src-fix/gcc/gimplify.c:5616
0xd3c296 gimplify_statement_list
        ../../src-fix/gcc/gimplify.c:1526
0xd62039 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../src-fix/gcc/gimplify.c:10533
0xd4b2fd gimplify_stmt(tree_node**, gimple**)
        ../../src-fix/gcc/gimplify.c:5616
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.

///////////////////////////////////////////////////////////////////////
struct A {                                                                      
  A() = default;                                                                
  A(const A&) {}                                                                
};                                                                              

struct B {                                                                      
  B() = default;                                                                

  B& operator=(A a) {                                                           
  }                                                                             
};                                                                              

B f() { return {}; }                                                            

void g() {                                                                      
  B b;                                                                          
  b = _Cilk_spawn f();                                                          
}                                                                               

int main() {                                                                    
  g();                                                                          
  return 0;                                                                     
}  
///////////////////////////////////////////////////////////////////////

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]