This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: C++ ABI testing issues, gcc-3.3 <-> gcc-3.2 compatibility


Janis:

Please see my answers to your questions below.  We have recorded your
suggestions and will take them into account in our future ABI testing
efforts.

Joe Goodman
Intel Corporation
Software Solutions Group

The views expressed in this message do not necessarily represent those of
Intel Corporation

-----Original Message-----
From: Janis Johnson [mailto:janis187@us.ibm.com]
Sent: Wednesday, August 21, 2002 2:15 PM
To: Goodman, Joe
Cc: bkoz@redhat.com; gcc@gcc.gnu.org
Subject: Re: C++ ABI testing issues, gcc-3.3 <-> gcc-3.2 compatibility


On Sun, Aug 04, 2002 at 10:20:12PM -0700, Goodman, Joe wrote:
> We provide a C++ ABI test suite you can download from
> http://developer.intel.com/software/products/opensource/.  Please feel
free
> to download and run this suite.
> 
> Joe Goodman
> Intel Corporation
> Software Solutions Group

Joe,

I downloaded Intel's C++ ABI test suite and tried it with GCC 3.2 on
ia64-unknown-linux-gnu and i686-pc-linux-gnu.  It's a great start; here
are some comments about how to make it better.  I'm also sending this
information to Intel via the feedback link at the web page, as
requested in the test suite itself.

- The documentation doesn't really describe just what is being tested.
  From the overview at your web site: "Intel is providing the C++ ABI
  test suite on Linux.  The tests contained in this test suite check a
  C++ compiler for conformance with the C++ ABI."  The C++ ABI has
  generic specifications that apply to all platforms, and specific
  specifications for Itanium.  The test suite apparently is meant for
  use on Itanium, since everything passes there but I got a lot of
  failures on a Pentium III system.

- The config.mk file in the distribution doesn't match comments in the
  README file about what belongs there.  I removed the -D options from
  CXXFLAGS and things didn't work at all, so a comment explaining why
  they're needed would be useful.

- The test suite covers things at a very large granularity; if one check
  in a test fails, then the entire test fails.  That's probably OK for
  getting an answer to "Does this compiler conform to the ABI?" but not
  for "How close is my compiler to conforming to the ABI, and what do I
  need to change to get there?".   I changed abi-test.hpp so that
  ABI_TEST wouldn't exit for a failure and got lots more information
  about failures on i686-linux.  Speaking of which, there's nothing in
  the README or the web site about how to find out what failed, although
  it wasn't difficult to figure out.

- Does Intel intend to add new tests as problems with the ABI are
  uncovered, and for ABI issues with which specific compilers have had
  problems, like the changes that went into GCC between 3.1.1 and 3.2?

>>> Yes, we do plan to add new tests to the suite.

- Each file says "All rights reserved" after Intel's copyright notice,
  but it's accessible via a web page labeled "Open Source from Intel",
  which sends mixed signals about what can be done with the tests.  Does
  Intel allow other people to modify and redistribute these tests?  It
  would be useful to have a version that applies to platforms that
  follow the generic specifications of the C++ ABI, and to make that
  available as a plug-in to the GCC test suite as is done now with the
  Mauve test suite for Java.  Would Intel allow that?

>>> The tests can be modified and redistributed if those tests are licensed
under the Intel 'open source / modified BSD license'.

The GCC community is discussing ways to test C++ compatibility from
release to release, and Intel's test suite could be a valuable part of
that testing.

Janis Johnson
IBM Linux Technology Center


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]