Being relatively new to Mozilla development I thought the document was a 
little pessimistic. Then I saw the wide variety of compilers Mozilla is 
compiled on, some of which are rather dated.

I sympathize with Scott, and I know many are trying to push compiler 
vendors to be standard compliant. It's unfortunate that there are so 
many compilers out there that aren't mostly standard compliant. It's the 
reality we have to live in unless Mozilla is going to stop supporting 
platforms based on available standard confirming compilers.

I know with versions of VC++ prior to 6.0 templates were problematic. 
While in general they worked fine, in combination with other constructs 
they often caused mysterious compiler errors, the infamous "Internal 
Compiler Error". I imagine the same is true on some of the older more 
obscure systems Mozilla is compiled on. Even today VC++ 6.0 has problems 
with templates in combination with some constructs, I think nested 
classes still cause problems and you have to be very careful when using 
member templates.

It can also cause a lot of work. I and other developers don't have all 
these other compilers. So if I add code that uses some C++ facility that 
some obscure compiler either doesn't support or the has bugs in that 
support I won't find out there's a problem until it's built on that 
platform. And then it can be difficult and time consuming to figure out 
a way around it. I've spent a fair amount of time figuring out how to 
rearrange code so that VC++ 6.0 won't generate Internal Compiler 
Error's. Now imagine trying to get around such problems when you have to 
wait for some remote site to build and report back and then go through 
the whole check-in process just to test again.


Reply via email to