This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ 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: [v3] abi docs, testsuite


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


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