https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80095
Bug ID: 80095 Summary: [5/6/7 Regression] ICE with this pointer in NSDMI Product: gcc Version: unknown Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: reichelt at gcc dot gnu.org Target Milestone: --- The following valid code snippet triggers an ICE since GCC 5.1.0 (when compiled with -std=c++1y): =========================== struct A { void* p = this; }; void foo() { const A& a = A{}; } =========================== bug.cc: In function 'void foo()': bug.cc:8:18: internal compiler error: in gimplify_expr, at gimplify.c:11957 const A& a = A{}; ^ 0xaee4e1 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gcc/gimplify.c:11957 0xaead60 gimplify_addr_expr ../../gcc/gcc/gimplify.c:5859 0xaead60 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gcc/gimplify.c:11245 0xafd43b gimplify_modify_expr ../../gcc/gcc/gimplify.c:5457 0xaebd4c gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gcc/gimplify.c:11198 0xaeeca8 gimplify_stmt(tree_node**, gimple**) ../../gcc/gcc/gimplify.c:6478 0xaeb2fa gimplify_cleanup_point_expr ../../gcc/gcc/gimplify.c:6230 0xaeb2fa gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gcc/gimplify.c:11574 0xaeeca8 gimplify_stmt(tree_node**, gimple**) ../../gcc/gcc/gimplify.c:6478 0xaef8fd gimplify_compound_expr ../../gcc/gcc/gimplify.c:5715 0xaf60cf gimplify_modify_expr_rhs ../../gcc/gcc/gimplify.c:5069 0xafd2f1 gimplify_modify_expr ../../gcc/gcc/gimplify.c:5417 0xaebd4c gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gcc/gimplify.c:11198 0xaeeca8 gimplify_stmt(tree_node**, gimple**) ../../gcc/gcc/gimplify.c:6478 0xaeb2fa gimplify_cleanup_point_expr ../../gcc/gcc/gimplify.c:6230 0xaeb2fa gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gcc/gimplify.c:11574 0xaeeca8 gimplify_stmt(tree_node**, gimple**) ../../gcc/gcc/gimplify.c:6478 0xaea51b gimplify_statement_list ../../gcc/gcc/gimplify.c:1716 0xaea51b gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gcc/gimplify.c:11626 0xaeeca8 gimplify_stmt(tree_node**, gimple**) ../../gcc/gcc/gimplify.c:6478 Please submit a full bug report, [etc.]