From octave-maintainers-request at bevo dot che dot wisc dot edu Tue Jan 30 13:28:07 2001 Subject: Re: ISO C++ and Octave From: Mumit Khan To: "John W. Eaton" cc: octave-maintainers at bevo dot che dot wisc dot edu Date: Tue, 30 Jan 2001 13:28:04 -0600 (CST) On Tue, 30 Jan 2001, John W. Eaton wrote: > On 30-Jan-2001, Mumit Khan wrote: > | > | 1. Just a few remaining missing namespace qualifiers, a minutes fixed > | those. > > OK, if you have a patch, please send it on. Will do, but it'll be a few days before I get to it again. > | 2. The code for equal (src/mx-inlines.cc) currently causes a problem > | for gcc-2.97/libstdc++-v3, but I haven't been able to reduce the testcase > | yet. Easy workarounds: (1) use std::equal, which works with older > | compilers as well, (2) explicitly use ::equal. It is not a problem in > | Octave code as far as I can see. > > I'd also be willing to rename those functions to be mx_XXX to avoid > this kind of problem. Easily done. I'll add that as a separate patch from (1). > | 3. This is the sticky one - the interface to the streams has changed > | significantly and so we do need to update anything built on top of > | std::filebuf. > > If I can build a current snapshot of gcc 3.0 maybe I can get an idea > of how hard this would be to fix. As of about a week or ago, libstdc++-v3 actually somewhat works on Linux, at least any program linked against the library doesn't crash at startup. It's been stable on Solaris 8 for a while now. > Do you think it would be possible to write code that would work with > both old and new compilers in these cases? If not, then the idea of > using a macro seems OK, or we can hide the details in some function(s). For my own code, I had no choice but to use the macro to separate old from the new, but I'll have to understand the Octave implementation more before I know what will work. From a quick look, it's a question of just a few changes, but that's being over-optimistic. I'll dig into it this weekend, and hopefully have an implementation, or at least a much better idea. Regards, Mumit