This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
preprocessor/2928: out of memory during macros expansion
- To: gcc-gnats at gcc dot gnu dot org
- Subject: preprocessor/2928: out of memory during macros expansion
- From: yann dot droneaud at iupmime dot univ-lemans dot fr
- Date: 24 May 2001 19:47:27 -0000
- Reply-To: yann dot droneaud at iupmime dot univ-lemans dot fr
>Number: 2928
>Category: preprocessor
>Synopsis: out of memory during macros expansion
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu May 24 12:56:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Yann Droneaud
>Release: gcc >= 2.95.2
>Organization:
>Environment:
i586-pc-linux-gnu
linux-2.4.3
glibc-2.2.3
gcc-2.95.3
>Description:
compile the code with flag -O2 (so using optimized string macro from glibc in bits/string2.h)
lead to
"cpp0: Memory exhausted." with gcc-2.95.3
with gcc-3.0 snapshot:
Reading specs from /usr/local/bin/../lib/gcc-lib/i386-pc-linux-gnu/3.0/specs
Configured with: ../configure --prefix=/tmp/gcc-20010524-root/usr/local --enable-shared --enable-threads --disable-checking i386-pc-linux-gnu : (reconfigured)
Thread model: posix
gcc version 3.0 20010524 (prerelease)
/usr/local/bin/../lib/gcc-lib/i386-pc-linux-gnu/3.0/cc1 -lang-c -v -iprefix /usr/local/bin/../lib/gcc-lib/i386-pc-linux-gnu/3.0/ -D__GNUC__=3 -D__GNUC_MINOR__=0 -D__GNUC_PATCHLEVEL__=0 -D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux -Asystem=posix -D__OPTIMIZE__ -D__STDC_HOSTED__=1 -W -Wall -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i386__ /usr/tmp/@6807.7.c -quiet -dumpbase @6807.7.c -O2 -W -Wall -version -o /tmp/ccbLIkCc.s
GNU CPP version 3.0 20010524 (prerelease) (cpplib) (i386 Linux/ELF)
GNU C version 3.0 20010524 (prerelease) (i386-pc-linux-gnu)
compiled by GNU C version 3.0 20010524 (prerelease).
ignoring nonexistent directory "/usr/local/i386-pc-linux-gnu/include"
ignoring nonexistent directory "/tmp/gcc-20010524-root/usr/local/lib/gcc-lib/i386-pc-linux-gnu/3.0/include"
ignoring nonexistent directory "/tmp/gcc-20010524-root/usr/local/lib/gcc-lib/i386-pc-linux-gnu/3.0/../../../../i386-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/lib/gcc-lib/i386-pc-linux-gnu/3.0/include
/usr/local/include
/usr/include
End of search list.
cc1: Cannot allocate 50331648 bytes after allocating 650952 bytes
>How-To-Repeat:
compile the source with -O2 on a glibc system
(__OPTIMIZE__ defined)
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="traite.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="traite.c"
I2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0cmluZy5o
PgoKaW50Cm1haW4gKHZvaWQpCnsKICBjaGFyICpmaWNoaWVyRW50cmVlOwogIGNoYXIgKmZpY2hp
ZXJTb3J0aWU7CiAgY2hhciB0ZW1wc1sxMDI0XTsKICBpbnQgcmVzOwogIEZJTEUgKmZwaW47CiAg
RklMRSAqZnBvdXQ7CiAgY2hhciBub21bMjU2XSA9ICIiOwogIGNoYXIgcHJlbm9tWzI1Nl0gPSAi
IjsKICBmbG9hdCBwb2lkczsKICBmbG9hdCB0YWlsbGU7CiAgY2hhciBNZXNzYWdlWzI1Nl0gPSAi
IjsKICBmbG9hdCBzb21tZXBkczsKICBmbG9hdCBuYjsKICBjaGFyIE1ldWhbMjU2XSA9ICIiOwog
IGZsb2F0IHBkczsKICBmbG9hdCBtb3lwZHM7CiAgZmljaGllckVudHJlZSA9ICJkb25uZWVzLmRh
dCI7CiAgZmljaGllclNvcnRpZSA9ICJyZXN1bHRhdDIudHh0IjsKCiAgcHJpbnRmICgiXG5PdXZl
cnR1cmUgZHUgZmljaGllciAlcyA6IFxuIiwgZmljaGllckVudHJlZSk7CiAgZnBpbiA9IGZvcGVu
IChmaWNoaWVyRW50cmVlLCAiciIpOwogIGlmIChmcGluID09IE5VTEwpCiAgICB7CiAgICAgIGZw
cmludGYgKHN0ZGVyciwgIlxuTEUgRklDSElFUiAlcyBORSBQRVVUIEVUUkUgT1VWRVJUXG5cblxu
IiwKCSAgICAgICBmaWNoaWVyRW50cmVlKTsKICAgICAgZXhpdCAoMCk7CiAgICB9CiAgZnBvdXQg
PSBmb3BlbiAoZmljaGllclNvcnRpZSwgInciKTsKICBpZiAoZnBvdXQgPT0gTlVMTCkKICAgIHsK
ICAgICAgZnByaW50ZiAoc3RkZXJyLCAiXG5MRSBGSUNISUVSICVzIE5FIFBFVVQgRVRSRSBPVVZF
UlRcblxuXG4iLAoJICAgICAgIGZpY2hpZXJTb3J0aWUpOwogICAgICBleGl0ICgwKTsKICAgIH0K
ICBzdHJjcHkgKE1lc3NhZ2UsICJIaWhpXG4iKTsKICBmcHJpbnRmIChmcG91dCwgTWVzc2FnZSk7
CiAgc29tbWVwZHMgPSAwLjA7CiAgbmIgPSAwLjA7CiAgcmVzID0gZnNjYW5mIChmcGluLCAiJXMi
LCBub20pOwogIHJlcyA9IGZzY2FuZiAoZnBpbiwgIiVzIiwgcHJlbm9tKTsKICByZXMgPSBmc2Nh
bmYgKGZwaW4sICIlZiIsICZwb2lkcyk7CiAgcmVzID0gZnNjYW5mIChmcGluLCAiJWYiLCAmdGFp
bGxlKTsKICB3aGlsZSAocmVzICE9IEVPRikKICAgIHsKICAgICAgZnByaW50ZiAoZnBvdXQsICJU
b3RvPSgiKTsKICAgICAgZnByaW50ZiAoZnBvdXQsICIlaSIsIDIpOwogICAgICBmcHJpbnRmIChm
cG91dCwgIiwiKTsKICAgICAgZnByaW50ZiAoZnBvdXQsICIlZyIsIDAuNik7CiAgICAgIGZwcmlu
dGYgKGZwb3V0LCAiKSIpOwogICAgICBzdHJjcHkgKE1ldWgsICJNZXVoIik7CiAgICAgIG5iID0g
bmIgKyAxLjA7CiAgICAgIHN0cmNweSAocHJlbm9tLCAiQmxhaCIpOwogICAgICBzdHJjcHkgKHBy
ZW5vbSwKCSAgICAgIChzdHJjcHkKCSAgICAgICAodGVtcHMsCgkJKHN0cmNweQoJCSAodGVtcHMs
CgkJICAoc3ByaW50ZgoJCSAgICh0ZW1wcywgIiVzJWciLAoJCSAgICAoc3RyY3B5CgkJICAgICAo
dGVtcHMsCgkJICAgICAgKHN0cmNweSAodGVtcHMsICJQcmVub20gPSAiKSwgc3RyY2F0ICh0ZW1w
cywgcHJlbm9tKSwKCQkgICAgICAgdGVtcHMpKSwgc3RyY2F0ICh0ZW1wcywgIigiKSwgdGVtcHMp
LCBuYiksIHRlbXBzKSksCgkJIHN0cmNhdCAodGVtcHMsICIpIiksIHRlbXBzKSksIHN0cmNhdCAo
dGVtcHMsICJcdCIpLCB0ZW1wcykpOwogICAgICBzdHJjcHkgKG5vbSwKCSAgICAgIChzdHJjcHkK
CSAgICAgICAodGVtcHMsCgkJKHN0cmNweQoJCSAodGVtcHMsCgkJICAoc3RyY3B5CgkJICAgKHRl
bXBzLAoJCSAgICAoc3ByaW50ZgoJCSAgICAgKHRlbXBzLCAiJXMlZyIsCgkJICAgICAgKHN0cmNw
eQoJCSAgICAgICAodGVtcHMsCgkJCShzcHJpbnRmICh0ZW1wcywgIiVzJWciLCAiTm9tID0gIiwg
MTUuNiksIHRlbXBzKSksCgkJICAgICAgIHN0cmNhdCAodGVtcHMsICIgLS0gIiksIHRlbXBzKSwg
Mi4wKSwgdGVtcHMpKSwKCQkgICBzdHJjYXQgKHRlbXBzLCAiOjoiKSwgdGVtcHMpKSwgc3RyY2F0
ICh0ZW1wcywgbm9tKSwKCQkgdGVtcHMpKSwgc3RyY2F0ICh0ZW1wcywgIlx0IiksIHRlbXBzKSk7
CiAgICAgIGZwcmludGYgKGZwb3V0LCBwcmVub20pOwogICAgICBmcHJpbnRmIChmcG91dCwgbm9t
KTsKICAgICAgcGRzID0gKHRhaWxsZSAqIHRhaWxsZSk7CiAgICAgIHBkcyA9IHBvaWRzIC8gcGRz
OwogICAgICBmcHJpbnRmIChmcG91dCwgIiVnIiwgcGRzKTsKICAgICAgc29tbWVwZHMgPSBzb21t
ZXBkcyArIHBvaWRzOwogICAgICBmcHJpbnRmIChmcG91dCwgIlxuIik7CiAgICAgIHJlcyA9IGZz
Y2FuZiAoZnBpbiwgIiVzIiwgbm9tKTsKICAgICAgcmVzID0gZnNjYW5mIChmcGluLCAiJXMiLCBw
cmVub20pOwogICAgICByZXMgPSBmc2NhbmYgKGZwaW4sICIlZiIsICZwb2lkcyk7CiAgICAgIHJl
cyA9IGZzY2FuZiAoZnBpbiwgIiVmIiwgJnRhaWxsZSk7CgogICAgfQogIG1veXBkcyA9IHNvbW1l
cGRzIC8gbmI7CgogIGZjbG9zZSAoZnBpbik7CiAgZmNsb3NlIChmcG91dCk7CgogIHJldHVybiAw
Owp9Cg==