[comp.lang.c++] AT&T C++ 2.1 Task Library

cojrp@lut.ac.uk (JR Pitchers) (06/04/91)

We have purchased AT&T C++ for our HP 840 system. We have ported all but the
Task Library. According to the documentation, AT&T have ported it to various
targets, eg: AT&T 3B20, DEC VAX, Sun2s & Sun3s etc. However, it has not been
ported to RISC based targets, such HP 800s. Furthermore, the documentation
makes it clear that porting the Task Library to RISC based targets is very
difficult and beyond the scope of the of the manual. I have studied the manual
and come to the conclusion that it is well beyond my capability.

Has anyone out there ported the AT&T C++ Task Library to an HP 800 series
target? I should be most grateful for any assistance.

Thanks in advance, Jeff Pitchers Loughborough University.

E-Mail: J.R.Pitchers@uk.ac.lut (JANET)

rml@bighornuswest.com (Robert Lund) (06/04/91)

In article <1991Jun04.082950.1918@lut.ac.uk>, cojrp@lut.ac.uk (JR Pitchers) writes:
> We have purchased AT&T C++ for our HP 840 system. We have ported all but the
> Task Library. According to the documentation, AT&T have ported it to various
> targets, eg: AT&T 3B20, DEC VAX, Sun2s & Sun3s etc. However, it has not been
> ported to RISC based targets, such HP 800s. Furthermore, the documentation
> makes it clear that porting the Task Library to RISC based targets is very
> difficult and beyond the scope of the of the manual. I have studied the manual
> and come to the conclusion that it is well beyond my capability.
> 
> Has anyone out there ported the AT&T C++ Task Library to an HP 800 series
> target? I should be most grateful for any assistance.
> 
> Thanks in advance, Jeff Pitchers Loughborough University.
> 
> E-Mail: J.R.Pitchers@uk.ac.lut (JANET)

I have not ported the task library to an HP RISC but I have ported it
to a sun 4 (SPARC).  Sun 4 os provides support for lightweight processes
(LWPs).  I used these as a basis for creation and scheduling of C++
tasks.  If the HP os provides threads or LWPs, then you may be able to
do a similar port.

Basically, what I did was to make every C++ task a LWP.  I got rid of
the C++ task scheduler because the LWP system provides its own scheduler.
The LWP system provides an inter-LWP communication facility but I elected to port the qhead and qtail classes provided in the task library.

The resulting library has the same classes (except for the scheduler) and interfaces as the original AT&T release, except for the minor point that each task must define a void main() as the task entry point (rather than the task's constructor).

The port took a couple of days, which included learning enough about
the task library and the LWP system to write the code (which turned out
to be a minor effort).

Hope this helps.

Bob Lund

bla@hpcupt1.cup.hp.com (Brad Ahlf) (06/06/91)

> We have purchased AT&T C++ for our HP 840 system. We have ported all but the
> Task Library. According to the documentation, AT&T have ported it to various
> targets, eg: AT&T 3B20, DEC VAX, Sun2s & Sun3s etc. However, it has not been
> ported to RISC based targets, such HP 800s. Furthermore, the documentation
> makes it clear that porting the Task Library to RISC based targets is very
> difficult and beyond the scope of the of the manual. I have studied the manual
> and come to the conclusion that it is well beyond my capability.

> Has anyone out there ported the AT&T C++ Task Library to an HP 800 series
> target? I should be most grateful for any assistance.

Yes, HP has!  HP C++ is a native true compiler based on ATT cfront 2.1.
It is available under HP-UX on HP9000 S300/400, S800/600, and S700
systems.  The ATT Task Library has been ported to all platforms and is
part of the HP C++ product.  I did not do this port, but I have been
told that porting this library is indeed a tricky "task".

I'll see if I can dig up some AT&T Task Library porting hints for you.
(It's not too late to get HP C++ :-)

> Thanks in advance, Jeff Pitchers Loughborough University.

Brad Ahlf
bla@hplgsup1.cup.hp.com
P.S. More info on HP C++ products available upon request.

mnm@hpcupt3.cup.hp.com (Michey Mehta) (06/06/91)

We have indeed ported the task library to HPPA platforms, and
the task library is available as part of our C++ product. If
you are attempting your own port, a good starting point is the
manual entitled "PA-RISC Procedure Calling Conventions Reference Manual".

Michey Mehta
Hewlett-Packard California Language Laboratory
mnm@hpda.hp.com