On Mon, May 31, 2010 at 5:29 PM, David Fang <f...@csl.cornell.edu> wrote: >> For example, I think it goes without question that at this point we are >> limiting ourselves to C++98 (plus "long long" so that we have a 64-bit >> integer type); C++0x features should not be used. Using multiple >> inheritance, templates (other than when using the C++ standard library, >> e.g. std::list<X>), or exceptions also seems overly aggressive to me. >> We should use features that are relatively easy for C programmers to >> understand and relatively hard for new C++ programmers to misuse. (For >> example, I think constructors and destructors are pretty easy and hard >> to misuse.) > > This sort of leads to questions about C++ libraries used by gcc: > > 1) is there interest in using libstdc++ (gcc's version) in whole or a > subset? (which subset?) For example, I think it would be reasonable to use > most standard containers. <algorithm> could be useful, but itself relies on > function overloading for optimization in some places. Overloading in any > form could be debatable, if you're being conservative about feature > selection. > > 2) should there be a double standard w.r.t. std library use? Allowing a > greater set of language features for the sake of using libstdc++, but a > restricted set of C++ for non-libstdc++ libraries and data structures? > iostreams, for example, uses multiple inheritance (even multiple virtual > inheritance), should that be sufficient grounds for forbidding use of > iostreams?
We expect a C++98 compiler to provide a conformant standard library. Implementation details of libstdc++ do not matter here (we certainly can't use our own libstdc++ implementation together with the host compiler). Richard. > Fang > > David Fang > http://www.csl.cornell.edu/~fang/ > http://www.achronix.com/ > >