2012-09-02 12:02:59 Raphael Kubo da Costa napisał(a):
> Daniel Shahaf <d...@daniel.shahaf.name> writes:
> > Raphael Kubo da Costa wrote on Sat, Sep 01, 2012 at 11:05:02 -0300:
> > > c++locale.h does not seem to exist in
> > > libstdc++ 4.7.1 in a Linux machine I have access to, and it does not
> > > include libintl.h on libstdc++ 4.2.1 here on FreeBSD.

c++locale.h definitely still exists:
$ find /usr/lib/gcc -name c++locale.h
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/include/g++-v4/x86_64-pc-linux-gnu/32/bits/c++locale.h
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.1/include/g++-v4/x86_64-pc-linux-gnu/32/bits/c++locale.h
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h

--disable-nls causes that subversion/svn_private_config.h defines gettext() and 
dgettext() macros.
If libintl.h was somewhere included, then compilation failure would still occur:
$ cat test.cpp
#define gettext(x) (x)
#define dgettext(domain, x) (x)
#include <libintl.h>
$ g++ -c test.cpp
In file included from test.cpp:3:0:
/usr/include/libintl.h:40:14: error: expected unqualified-id before ‘__const’
/usr/include/libintl.h:40:14: error: expected ‘)’ before ‘__const’
/usr/include/libintl.h:40:14: error: expected initializer before ‘__const’
/usr/include/libintl.h:45:14: error: expected unqualified-id before ‘__const’
/usr/include/libintl.h:45:14: error: expected ‘)’ before ‘__const’
/usr/include/libintl.h:45:14: error: expected initializer before ‘__const’

Build system of GCC creates bits/c++locale.h from 
libstdc++-v3/config/locale/gnu/c_locale.h on GNU systems and
from libstdc++-v3/config/locale/generic/c_locale.h on other systems (e.g. 
FreeBSD).

GCC r124803 [1] deleted inclusion of libintl.h in bits/c++locale.h on GNU 
systems.
This change was released in GCC 4.3.0 [2] and was never backported to 
gcc-4_2-branch branch [3].
[1] http://gcc.gnu.org/viewcvs?view=revision&revision=124803
[2] http://gcc.gnu.org/viewcvs?view=revision&revision=132392
[3] 
http://gcc.gnu.org/viewcvs/branches/gcc-4_2-branch/libstdc%2B%2B-v3/config/locale/gnu/c_locale.h?view=markup

> > > What else needs to be done for it to be decided whether it makes sense
> > > to remove the check now?

We need to decide if we support GCC <4.3.0 on GNU systems.

-- 
Arfrever Frehtes Taifersar Arahesis

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to