bug-libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

libtool runs compiler command in wrong locale


From: Bruno Haible
Subject: libtool runs compiler command in wrong locale
Date: Sun, 20 Jan 2008 17:28:40 +0100
User-agent: KMail/1.5.4

Hi,

I have my environment variables set to German (LANG=de_DE.UTF-8), and
nevertheless the gcc compiler emits its warnings in English *if* invoked
by libtool.

Example (when compiling CLN-1.2.0):

$ /bin/sh ../libtool --mode=compile g++ -g -O2 -Wall -I../include -I../include 
-I./base  -c ./base/cl_as_exception.cc
 g++ -g -O2 -Wall -I../include -I../include -I./base -c 
./base/cl_as_exception.cc  -fPIC -DPIC -o .libs/cl_as_exception.o
In file included from ./base/cl_N.h:6,
                 from ./base/cl_as_exception.cc:13:
../include/cln/number.h: In constructor 'cln::cl_number::cl_number(float)':
../include/cln/number.h:238: warning: type-punning to incomplete type might 
break strict-aliasing rules
../include/cln/number.h: In member function 'cln::cl_number& 
cln::cl_number::operator=(float)':
../include/cln/number.h:238: warning: type-punning to incomplete type might 
break strict-aliasing rules
../include/cln/number.h: In constructor 'cln::cl_number::cl_number(double)':
../include/cln/number.h:239: warning: type-punning to incomplete type might 
break strict-aliasing rules
../include/cln/number.h: In member function 'cln::cl_number& 
cln::cl_number::operator=(double)':
../include/cln/number.h:239: warning: type-punning to incomplete type might 
break strict-aliasing rules
 g++ -g -O2 -Wall -I../include -I../include -I./base -c 
./base/cl_as_exception.cc -o cl_as_exception.o >/dev/null 2>&1

But just copying the shown command into a shell prompt yields the warnings
in English:

$ g++ -g -O2 -Wall -I../include -I../include -I./base -c 
./base/cl_as_exception.cc  -fPIC -DPIC -o .libs/cl_as_exception.o
In file included from ./base/cl_N.h:6,
                 from ./base/cl_as_exception.cc:13:
../include/cln/number.h: In constructor »cln::cl_number::cl_number(float)«:
../include/cln/number.h:238: Warnung: Type-Punning auf unvollständigen Typen 
kann strict-aliasing-Regeln verletzen
../include/cln/number.h: In member function »cln::cl_number& 
cln::cl_number::operator=(float)«:
../include/cln/number.h:238: Warnung: Type-Punning auf unvollständigen Typen 
kann strict-aliasing-Regeln verletzen
../include/cln/number.h: In constructor »cln::cl_number::cl_number(double)«:
../include/cln/number.h:239: Warnung: Type-Punning auf unvollständigen Typen 
kann strict-aliasing-Regeln verletzen
../include/cln/number.h: In member function »cln::cl_number& 
cln::cl_number::operator=(double)«:
../include/cln/number.h:239: Warnung: Type-Punning auf unvollständigen Typen 
kann strict-aliasing-Regeln verletzen

Find attached a patch for it, relative to libtool-1.5.24 (tested),
and a tentative patch relative to the libtool CVS (untested).

Note that $ltenv can only be applied to commands that run a program, not to
shell builtins like "eval ..." or "(cd ... && ...)".

Bruno

Attachment: libtool-1.5.24-patch
Description: Text Data

Attachment: libtool-cvs-patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]