
Attached patch clears the current failures in regex_regress on Tru64/CXX.
Basically it adds an explicit instantiation of a template class needed because otherwise CXX ends up with multiple instances of the static variable used in the class, which is because of the template compilation model chosen for the compiler. As it shouldn't hurt other compilers, I didn't wrap it in #if ... #endif.
Secondly it avoids three tricky test cases which hang the test program otherwise.
Ok to commit?
Not quite: the explicit instantiation are not legal C++ if applied in more than one translation unit. If you wrap them in the appropriate #ifdef's then it's probably OK to commit. (I say probably, because I'm not sure what Tru64 cxx does in other template instantiation modes, I suspect the patch may actually mess some of them up). John.