Created attachment 35527 [details] 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; ^
Fixed on trunk with r222529.
Still a regression for GCC 5 (works with 4.9.2 for me and indeed fixed on trunk).
GCC 5.2 is being released, adjusting target milestone to 5.3.
Fixed for 5.3 as well.