This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/11969] -foptimize-sibling-calls from -O2 creates bad code
- From: "grhoten at jtcsv dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 18 Aug 2003 17:28:16 -0000
- Subject: [Bug optimization/11969] -foptimize-sibling-calls from -O2 creates bad code
- References: <20030818162309.11969.grhoten@jtcsv.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11969
------- Additional Comments From grhoten at jtcsv dot com 2003-08-18 17:28 -------
I haven't been able to find a simplier example that reproduces this bug yet.
Though I have narrowed the problem down a bit further. If I just declare the
function incWeight() as the following, the build error for ja.txt goes away.
Maybe the other functions don't need to be inlined.
static U_INLINE uint32_t
incWeight(uint32_t weight, int32_t length, uint32_t maxByte) {
I just know that this code initializes several data structures incorrectly, and
it causes our genrb build tool to fail. Specifically it fails during the build
of ICU when this is run.
(Information from our bug reports)
On Solaris
ICU_DATA=../data/out/build
LD_LIBRARY_PATH=../common:../i18n:../tools/toolutil:.
./layout:../extra/ustdio:../tools/ctestfw:../data/out:../data:../stubdata/:$LD_L
IBRARY_PATH ../tools/genrb/genrb -k -q -p icudt24l -s ../data/locales -d
../data/out/build ja.txt
../data/locales/ja.txt:15: parse error. Stopped parsing with
U_INVALID_FORMAT_ERROR
couldn't parse the file ja.txt. Error:U_INVALID_FORMAT_ERROR
make[1]: *** [../data/out/build/icudt24l_ja.res] Error 3
make[1]: Leaving directory `/export/home/sys/test/icu/source/data'
make: *** [all-recursive] Error 2
On Linux
ICU_DATA=../data/out/build
LD_LIBRARY_PATH=../common:../i18n:../tools/toolutil:../layout:../layoutex:../ext
ra/ustdio:../tools/ctestfw:../data/out:../data:../stubdata/:$LD_LIBRARY_PATH
../tools/genrb/genrb -k -q -p icudt26l -s ../data/locales -d ../data/out/build
ja.txt
../data/locales/ja.txt:15: parse error. Stopped parsing with
U_INVALID_FORMAT_ERROR
couldn't parse the file ja.txt. Error:U_INVALID_FORMAT_ERROR
make[1]: *** [../data/out/build/icudt26l_ja.res] Fehler 3
make[1]: Leaving directory `/workspace/software/libraries/icu/source/data'