Answers to recent requests

Masaharu Goto (MXJ02154@niftyserve.or.jp)
Fri, 23 Jan 1998 23:32:00 +0900


Rooters,

Answers to recent bug reports and requests. Following fixes are in
cint5.13.42.

1) Slow 'cout << endl' due to bytecode compiler problem
Following code used to fail bytecode compilation. This was a bug. I
fixed this so that this is executed as bytecode.

for(int i=0;i<10;i++) if(i) cout << "abc" << endl;

Similar problem may happen in future. I added a feature to Cint so
that a user can monitor status of bytecode compilation. '.debug'
command will turn on/off bytecode status monitor. The report is
not so detail, but will be some help.

2) Protected baseclass ctor
Following program caused problem calling ctor B(int). This is fixed.

class B {
protected:
B(int in) { }
};

class A : public B {
public:
A(int n) : B(n) { }
};

3) const keyword
In some cases 'template<class T> T const* A<T>::f()' caused problem.
This is somehow fixed.

4) ANSI/ISO C++ compliant iostream
Fons requested to support standard iostream by egcs. I just removed
seekp and seekg functions from iostream dictionary.

> the new egcs compiler (and now also gcc 2.8) support the
>STL (includes the new iostream.h). The following routines
>don't exist anymore in the standard iostream.h:
> ostream::seekp(long)(code)
> istream::seekg(long)(code)
> ostream::seekp(long, ios::seek_dir)(code)
> istream::seekg(long, ios::seek_dir)(code)
>Could you try building a iostream dictionary based on this new
>standard iostream.h (on getting egcs see http://www.cygnus.com/egcs/).

Masaharu Goto