------- Comment #2 from cppljevans at suddenlink dot net 2009-11-21 16:46 ------- Created an attachment (id=19075) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19075&action=view) zip archive with test case and Makefile and compile output
The recently attached .zip file contains: M Filemode Length Date Time File - ---------- -------- ----------- -------- --------------------- -rw-r--r-- 1621 21-Nov-2009 09:40:04 bug.value_wrap.cpp -rw-r--r-- 1061 21-Nov-2009 09:57:30 bug.value_wrap.report -rw-r--r-- 1215 21-Nov-2009 09:53:30 Makefile - ---------- -------- ----------- -------- --------------------- 3897 3 files The .cpp File is the source file which was compiled with the Makefile to produce the .report file. The .report shows the compilation of the .cpp with every possible combination of {defined,undefined} properties for Macros in {OUTER_ARG0_SPECIALIZED,INNER_ARG1_NON_TYPE}. All compiles with -DOUTER_ARG0_SPECIALIZED succeed. Both compiles with -UOUTER_ARG0_SPECIALIZED fail; however, the one with -DINNER_ARG1_NON_TYPE produces the ICE. I suspect the problem is related to the attempt to substitute an outer template argument into the slot for an inner template parameter as noted in the following post to the gcc.devel newsgroup: http://article.gmane.org/gmane.comp.gcc.devel/110111/match=pt+c+most_specialized_class -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41727