C++ working group home page
This page last changed Feb. 14, 1997
Method For indicating new material.
Items appearing on this page which are new and significant will henceforth be
marked with the
When new significant items are present here or on a linked page, the icon will
also appear in this spot, along with a brief description of the new item.
Items marked with a red ball either:
- Are undergoing ongoing change and have recently been modified;
- A new reference to some established material;
- Or a reference to material in preliminary form.
Possible Change in Interim Compiler Recommendations
People at FNAL and elsewhere have learned that (contrary to our
implicit assumption) the g++ complier behavior with regard to feature
compliance and correctness in understanding syntax is different
on different platforms.
Because of this we may be changing our interim recommendations.
This issue will be discussed at the working group meeting on 2/13/97, and
the revised reommendation (if any) will be placed on the Web shortly
A bug in the SGI version only of the GNU C++ compiler was discovered,
preventing proper pass-through handling of exceptions.
Scott Snyder has created a patch that repairs this (which has been sent to the
Free Software Foundation), and Marc Mengel has put the patch into
a distribution of a new, local version of the gcc compiler.
Contact Marc Mengel to obtain the
working compiler if you are using exceptions and running on an SGI platform.
Information may be brought to the attention of
the committee by sending e-mail (or clicking one of these automated mailer
The C++ Working Group, plus divsion management, at
A wider distribution, directed at the the C++ Working Group
and spectators, at
to request inclusion on that list of spectators.
The following categories of comments
are particularly solicited at this time:
Comments about the C++ Compiler Standards document.
Comments about the Interim C++ Compiler/Feature Usage document.
Users with particular concerns about conformance of compilers with particular
ANSI features ("does the exception handling really handle destructors
properly") should convey those to the working group.
These may lead to new items incorporated into the compliance test suite.
Any information about mis-behavior of particular compilers (including gross
inefficiency when particular features are used) and any information about
useful or inadequate debuggers is appreciated.
List of Reports and actions
which will constitute the output of this working group.
It will be proposed that the working group activities be declared
completed once the reports on this list are all complete and accepted.
Among these, some key completed documents are:
Charge of C++ Working Group
from parent Run2 Computing Committee.
Fermilab Physics Class Library
Task Force: The recommendation for forming such a group.
Interim C++ Compiler/Feature Usage Recommendations
for Early Run 2 Development.
C++ Compiler Standards Document.
- Has undergone revision,
concerning use of g++ and improved vendor compilers
- It is recommended that D0 and CDF users creating modules which might
become part of larger projects read and consider following these guidelines.
- Comments are solicited about:
Please send such comments to email@example.com.
- "I can't/won't follow these because...";
- Recommendations that a user feels should be done in a different way;
- Further tips and recommendations which others should be aware of.
- Comments, particularly those received by November 15,
will be considered when preparing our final document about
Compiler/Debugger/Platform and C++ Coding Recommendations.
- Note that the table of
ANSI C++ test conformance information
will periodically be updated on the Web version.
This defines the
required compiler and debugger features that any FNAL Run II user can count
on to be implemented in all sanctioned compiler/debugger/platform combinations.
Tips and guidance documents:
ANSI C++ test conformance information .
The Working Group will be preparing a series of short (a few pages)
guidance documents, on the following topics. (These are the "tips and
guidance documents" which will be listed above as they become completed.)
It is likely that these will become part of the final compiler/feature
usage document, but they should have an independant existence since a user
is more likely to absorb a few-page, bulletted guide than a book or a long
- Logical Design Guidance
- Guidance on Form of Implementation
Physical Design Rules
- File organization guidelines
- Names and scope issues
- Linkage and dependencies
- Tools for nice lexical
structure and readable C++ code
- How to write efficient C++ code by avoiding grossly inefficient
Techniques in interfacing C++ code with Fortran
(an area with a rather incomplete postscript version and materials for
- Basic subroutine calling and argument passing
- Subtleties such as exception handling
This Web Page is now in operation.
Any committee members are asked to please send appropriate miscellaneous
information (or locations of that information) to
a distribution point for the Working Group
for inclusion of
links from this page.
Fermilab Physics Class Library Task Force---
Preliminary thoughts and organizational matters.
This working group is under the auspices of the
Fermilab Run 2 Computing Strategy Committee.
This page was prepared by Mark Fischler and
Fermilab at Work -