[Bug c++/78774] [6/7 Regression] ICE in constexpr string literals and templates

msebor at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Dec 12 16:31:00 GMT 2016


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

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |msebor at gcc dot gnu.org
      Known to fail|                            |6.2.1, 7.0

--- Comment #5 from Martin Sebor <msebor at gcc dot gnu.org> ---
The ICE can be avoided by using a struct instead of a template alias:

template <int> struct ops {
  template <int> struct A;
  template <int *Ptr> struct explode {
    typedef typename A<*Ptr>::join type;
  };
};
template <typename Ts> typename ops<'\0'>::explode<Ts::join>::type a;


More information about the Gcc-bugs mailing list