This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [v3] abi docs, testsuite
- From: Jonathan Wakely <cow at compsoc dot man dot ac dot uk>
- To: Benjamin Kosnik <bkoz at redhat dot com>
- Cc: libstdc++ at gcc dot gnu dot org
- Date: Thu, 13 May 2004 14:24:06 +0100
- Subject: Re: [v3] abi docs, testsuite
- References: <20040513074820.1e7856e2.bkoz@redhat.com>
I was literally _just_ about to post an update to abi.txt!
This is far better than my tweaks, but there are a couple of points
that may or may not be worth changing:
On Thu, May 13, 2004 at 07:48:20AM -0500, Benjamin Kosnik wrote:
> + <li>
> + <p>Incremental bumping of a compiler pre-defined macro,
> + __GXX_ABI_VERSION. This macro is defined as the version of the
> + compiler v3 ABI, with g++ 3.0.x being version 100. This macro will
> + be automatically defined whenever g++ is used (the curious can
> + test this by invoking g++ with the '-v' flag.)
> + </p>
> +
> + <p>
> + This macro is defined in the file "lang-specs.h" in the gcc/cp directory.
> + Later versions define it in "c-common.c" in the gcc directory.
> + </p>
AFAICT it's defined in c-cppbuiltin.c since 3.4, and its value is affected
by -fabi-version=n
I was going to suggest something like this, although I think it could be
said in a clearer way:
This macro was defined in the file "lang-specs.h" in the gcc/cp directory.
Later versions defined it in "c-common.c" in the gcc directory, and from
G++ 3.4 it is defined in c-cppbuiltin.c and its value determined by the
-fabi-version=n command line option.
It is versioned as follows:
gcc-3.0.x: 100
gcc-3.1.x: 100 (Error, should be 101)
gcc-3.2.x: 102
gcc-3.3.x: 102
gcc-3.4.x (n=1): 102
gcc-3.4.x (n>1): 1000+n
Then again, maybe that much detail is overdoing it.
> + <p>
> + It is versioned as follows:
> + </p>
> + <ul>
> + <li>gcc-3.0.x: 100</li>
> + <li>gcc-3.1.x: 100 (Error, should be 101)</li>
> + <li>gcc-3.2.x: 102</li>
> + <li>gcc-3.3.x: 102</li>
> + <li>gcc-3.4.x: 1002</li>
> + </ul>
Also,
> + Incremental bumping of a library pre-defined macro,
> + _GLIBCPP_VERSION. This macro is defined as the released version of
> + the library, as a string literal. This is only implemented in
> + gcc-3.1.0 releases and higher, and is deprecated in 3.4.
It's name changed (CPP -> CXX) as well as being deprecated.
> + All C++ includes are installed in include/c++, then nest in a
> + directory hierarchy corresponding to the C++ compiler's released
> + version. This version corresponds to the variable "gcc_version" in
> + "libstdc++-v3/acinclude.m4," and more details can be found in that
> + file's macro GLIBCPP_CONFIGURE.
Again, CPP -> CXX
There are also some XHTML fixes that I'll do after you've committed it
and I'm looking for something exciting to do ;-)
jon
--
"Anybody who wants the presidency so much that he'll spend two years
organizing and campaigning for it is not to be trusted with the office."
- David Broder