http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51239
Bug #: 51239 Summary: ICE with variadic template alias Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: illiss...@gmail.com The following code (self-contained): template<typename T, typename...> using head = T; template<typename... Ts> using x = head<Ts...>; results for me in the following error: $ LD_LIBRARY_PATH=/opt/gcc4.7/lib:$LD_LIBRARY_PATH PATH=/opt/gcc4.7/bin/:$PATH g++ -std=c++11 test68.cpp test68.cpp:2:15: internal compiler error: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst_pack_expansion, at cp/pt.c:9298 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. GCC version: $ LD_LIBRARY_PATH=/opt/gcc4.7/lib:$LD_LIBRARY_PATH PATH=/opt/gcc4.7/bin/:$PATH g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/opt/gcc4.7/libexec/gcc/x86_64-unknown-linux-gnu/4.7.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../trunk/configure --disable-bootstrap --enable-languages=c,c++ --prefix=/opt/gcc4.7 Thread model: posix gcc version 4.7.0 20111120 (experimental) (GCC) SVN revision: 181530 A version from 20111109 produced the same error (at a different line number). The line in question in the current revision, and the two lines before it: levels = TMPL_ARGS_DEPTH (args); if (level <= levels) arg_pack = TMPL_ARG (args, level, idx);