I'm in a similar position, except with gcc instead of perl.
The project I'm working on is written in C++, and
is compiled with gcc 3.0. I once tried to compile everything
with gcc 3.4. I've got loads of compilation errors, because
newer versions of gcc try to approximate the C++ standard more
closely, especially with templates.
I started to correct them. I wanted to achive that
those modules of the project that I need would compile cleany
with both versions of gcc. (There are lots of other modules.)
I've got permission to do any
corrections, as long as they don't break with the
older gcc, and they are clearly marked in the CVS log.
I temporarily abandonned the whole proting thing when I
realized that it's not only syntax issues that I'd have
to change, but also the code depends on an internal
class of the older version of libstdc++. The class is
clearly marked internal and "may disappear in future
versions", and its name starts with an underscore.
I don't really understand what the class does,
so I didn't dare touch it.
Since then, gcc 4.0.0 came out.
|