https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63730

            Bug ID: 63730
           Summary: C++11 ICE REGRESSION mangling template alias into
                    function template
           Product: gcc
           Version: 4.9.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: eric.niebler at gmail dot com

Compile this:

  template <class T>
  using identity_t = T;

  template <template <class> class It>
  void test() {
  }

  int main() {
    test<identity_t>();
  }

For me, with gcc 4.9.2, command-line "g++ -std=gnu++11 -c test.cpp", I get:

test.cpp: In instantiation of ‘void test() [with It = identity_t]’:
test.cpp:12:22:   required from here
test.cpp:6:6: internal compiler error: in write_name, at cp/mangle.c:800
 void test()
      ^

test.cpp:6:6: internal compiler error: Aborted
g++: internal compiler error: Aborted (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


It worked on gcc 4.9.0, but started failing in 4.9.1.

Reply via email to