[Bug c++/51191] New: [C++0x] SEGV on deducing template aliases with non-template alias declarations

gintensubaru at gmail dot com gcc-bugzilla@gcc.gnu.org
Thu Nov 17 12:43:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51191

             Bug #: 51191
           Summary: [C++0x] SEGV on deducing template aliases with
                    non-template alias declarations
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: gintensubaru@gmail.com


Code:

template< class T >
class ClassTemplate {};

template< class T >
struct Metafunction {
  typedef T type;
};

template< class T >
using TemplateAlias = ClassTemplate< typename Metafunction<T>::type >;

using Alias = TemplateAlias<int>;
// no SEGV if changed to "typedef TemplateAlias<int> Alias;"

template< class T >
void f( TemplateAlias<T> );

int main()
{
  Alias x; // no SEGV if changed to "TemplateAlias<int> x;"
  f( x );  // no SEGV if changed to "f<int>(x);"
}


Message:

In function 'int main()':
Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


GCC version:
gcc-4.7-20111112



More information about the Gcc-bugs mailing list