https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80973
Bug ID: 80973 Summary: ICE with lambda and -fsanitize=undefined Product: gcc Version: 8.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: sanitizer Assignee: unassigned at gcc dot gnu.org Reporter: reichelt at gcc dot gnu.org CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org, jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, marxin at gcc dot gnu.org Target Milestone: --- The testcase g++.dg/cpp1y/pr77739.C triggers an ICE when compiled with -std=c++1y -fsanitize=undefined since GCC 4.9.0: pr77739.C: In member function 'auto B::g(Args&& ...) [with Args = {A, const char (&)[1]}]': pr77739.C:10:36: error: invalid offset operand in MEM_REF template <typename... Args> auto g(Args &&... p1) { ^ MEM[(struct __lambda0 &)<retval> + UBSAN_NULL (0, 2B, 8);, 0]; MEM[(struct __lambda0 &)<retval> + UBSAN_NULL (0, 2B, 8);, 0].__p1#1 = *p1#1; pr77739.C:10:36: internal compiler error: verify_gimple failed 0xdb728d verify_gimple_in_seq(gimple*) ../../gcc/gcc/tree-cfg.c:4954 0xb0f08d gimplify_body(tree_node*, bool) ../../gcc/gcc/gimplify.c:12562 0xb0f3f4 gimplify_function_tree(tree_node*) ../../gcc/gcc/gimplify.c:12652 0x9720e7 cgraph_node::analyze() ../../gcc/gcc/cgraphunit.c:665 0x974f79 analyze_functions ../../gcc/gcc/cgraphunit.c:1126 0x976182 symbol_table::finalize_compilation_unit() ../../gcc/gcc/cgraphunit.c:2611 Please submit a full bug report, [etc.]