Internal compiler error 9
Mark Mitchell
mmitchell@usa.net
Wed Jan 7 00:57:00 GMT 1998
>>>>> "Mark" == Mark Johnstone <markj@ibmoto.com> writes:
Mark> Hello,
Mark> Here is a small test case that generates in internal
Mark> compiler error 9. This test case is a very slight
Mark> modification on the previous bug I reported a few minutes
Mark> ago:
Mark> test.h:
Mark> #include<iostream.h>
Mark> struct test_box { void print(void) {cout << "this is a test"
Mark> << endl;} };
Mark> void test<class BOX> (test_box *);
Mark> class test_square { friend void test<class BOX> (test_box
Mark> *); }
Mark> test.C:
Mark> #include "test.h"
Mark> template <class BOX> void test(BOX *the_box) {
the_box-> print();
Mark> };
Mark> template void test<> (test_box *);
Mark> donatello:~/tmp> g++ -c -v -fno-implicit-templates test.C
Mark> In file included from test.C:1: test.h:12: Internal compiler
Mark> error 9. test.h:12: Please submit a full bug report to
Mark> `egcs-bugs@cygnus.com'.
Patches I have already submitted (but not all of them made it to this
list), cause the following sensible sequence of error messages on this
code:
supernova% test-g++ -c test.cc
test.cc:8: explicit specialization not preceded by `template <>'
test.cc:15: semicolon missing after declaration of `test_square'
test.cc:15: parse error before `template'
test.cc:20: no matching template for `test<>(test_box *)' found
--
Mark Mitchell mmitchell@usa.net
Stanford University http://www.stanford.edu
More information about the Gcc-bugs
mailing list