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;
                                                  ^

Reply via email to