https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66121
Bug ID: 66121 Summary: internal compiler error: in strip_typedefs, at cp/tree.c:1369 Product: gcc Version: 5.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: dennis.demidov at gmail dot com Target Milestone: --- Created attachment 35527 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35527&action=edit The preprocessed code stripped with the delta tool. The following code (reduced from [vexcl](https://github.com/ddemidov/vexcl) library) leads to an internal compiler error: $ cat strip_typedefs_ice.cpp #include <memory> typedef int32_t cl_int __attribute__((aligned(4))); struct buffer_unmapper { void operator()(cl_int* ptr) const { } }; typedef std::unique_ptr<cl_int[], buffer_unmapper> mapped_array; $ g++ -c -std=c++11 strip_typedefs_ice.cpp strip_typedefs_ice.cpp:7:50: internal compiler error: in strip_typedefs, at cp/tree.c:1369 typedef std::unique_ptr<cl_int[], buffer_unmapper> mapped_array; ^