From mboxrd@z Thu Jan 1 00:00:00 1970 From: yann.droneaud@iupmime.univ-lemans.fr To: gcc-gnats@gcc.gnu.org Subject: preprocessor/2928: out of memory during macros expansion Date: Thu, 24 May 2001 12:56:00 -0000 Message-id: <20010524194727.14567.qmail@sourceware.cygnus.com> X-SW-Source: 2001-05/msg00728.html List-Id: >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==