From mboxrd@z Thu Jan 1 00:00:00 1970 From: nathan@gcc.gnu.org To: nathan@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org Subject: Re: c++/1654 Date: Sun, 01 Apr 2001 00:00:00 -0000 Message-id: <20010119202600.26450.qmail@sourceware.cygnus.com> X-SW-Source: 2001-q1/msg00496.html List-Id: The following reply was made to PR c++/1654; it has been noted by GNATS. From: nathan@gcc.gnu.org To: gcc-gnats@gcc.gnu.org, johan@gewestpallieter.org, nathan@gcc.gnu.org, nobody@gcc.gnu.org Cc: Subject: Re: c++/1654 Date: 19 Jan 2001 20:18:52 -0000 Synopsis: This (incorrect) code generates an internal compiler error. Responsible-Changed-From-To: unassigned->nathan Responsible-Changed-By: nathan Responsible-Changed-When: Fri Jan 19 12:18:52 2001 Responsible-Changed-Why: patch in progress http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=1654&database=gcc >>From jreiser@BitWagon.com Sun Apr 01 00:00:00 2001 From: jreiser@BitWagon.com To: gcc-gnats@gcc.gnu.org Subject: c/2047: Internal compiler error in `require_complete_type', at c-typeck.c:96 Date: Sun, 01 Apr 2001 00:00:00 -0000 Message-id: <20010221035417.11790.qmail@sourceware.cygnus.com> X-SW-Source: 2001-q1/msg01553.html Content-length: 11292 >Number: 2047 >Category: c >Synopsis: Internal compiler error in `require_complete_type', at c-typeck.c:96 >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Tue Feb 20 19:56:01 PST 2001 >Closed-Date: >Last-Modified: >Originator: John Reiser >Release: 2.96-ia64-000717 snap 001117 >Organization: >Environment: $ gcc -v -save-temps frame.c Reading specs from /usr/lib/gcc-lib/ia64-redhat-linux/2.96-ia64-000717/specs gcc version 2.96-ia64-000717 snap 001117 /usr/lib/gcc-lib/ia64-redhat-linux/2.96-ia64-000717/cpp -lang-c -v -D__GNUC__=2 -D__GNUC_MINOR__=96 -D__GNUC_PATCHLEVEL__=0 -D__ia64 -D__ia64__ -D__linux -D__linux__ -D_LONGLONG -Dlinux -Dunix -D__LP64__ -D__ELF__ -D__ia64 -D__ia64__ -D__linux -D__linux__ -D_LONGLONG -D__linux__ -D__unix__ -D__LP64__ -D__ELF__ -D__linux -D__unix -Asystem(linux) -Acpu(ia64) -Amachine(ia64) -D__LONG_MAX__=9223372036854775807L frame.c frame.i GNU CPP version 2.96-ia64-000717 snap 001117 (cpplib) (IA-64) ignoring duplicate directory "/usr/include" #include "..." search starts here: #include <...> search starts here: /usr/include /usr/lib/gcc-lib/ia64-redhat-linux/2.96-ia64-000717/include /usr/ia64-redhat-linux/include End of search list. /usr/lib/gcc-lib/ia64-redhat-linux/2.96-ia64-000717/cc1 frame.i -ma-step -mb-step -quiet -dumpbase frame.c -version -o frame.s GNU C version 2.96-ia64-000717 snap 001117 (ia64-redhat-linux) compiled by GNU C version 2.96-ia64-000717 snap 001117. >Description: $ gcc -c frame.c frame.c:49: parse error before `fde' frame.c:49: warning: no semicolon at end of struct or union frame.c:50: warning: data definition has no type or storage class frame.c:51: warning: data definition has no type or storage class frame.c:55: parse error before `fde_vector' frame.c:55: warning: no semicolon at end of struct or union frame.c:56: warning: data definition has no type or storage class frame.c:57: warning: data definition has no type or storage class frame.c:60: parse error before `*' frame.c: In function `start_fde_sort': frame.c:62: `accu' undeclared (first use in this function) frame.c:62: (Each undeclared identifier is reported only once frame.c:62: for each function it appears in.) frame.c:62: `fde' undeclared (first use in this function) frame.c:62: parse error before `)' frame.c:64: parse error before `)' frame.c:68: `NULL' undeclared (first use in this function) frame.c: At top level: frame.c:72: parse error before `*' frame.c: In function `fde_insert': frame.c:74: `accu' undeclared (first use in this function) frame.c:75: `this_fde' undeclared (first use in this function) frame.c: At top level: frame.c:90: parse error before `*' frame.c: In function `fde_split': frame.c:92: syntax error before `*' frame.c:93: `size_t' undeclared (first use in this function) frame.c:94: `fde' undeclared (first use in this function) frame.c:94: `chain_end' undeclared (first use in this function) frame.c:94: `marker' undeclared (first use in this function) frame.c:94: Tree check: expected class 't', have 'x' (error_mark) frame.c:94: Internal compiler error in `require_complete_type', at c-typeck.c:96Please submit a full bug report. See for instructions. >How-To-Repeat: compile a copy of src/gcc/frame.c in a directory having only defaults.h frame.c frame.s gthr.h frame-ia64.c frame.h gthr-posix.h ia64.h frame-ia64.o frame.i gthr-single.h tconfig.h >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="frame.i" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="frame.i" IyAxICJmcmFtZS5jIgojIDQ3ICJmcmFtZS5jIgp0eXBlZGVmIHN0cnVjdCBmZGVfdmVjdG9yCnsK ICBmZGUgKiphcnJheTsKICBzaXplX3QgY291bnQ7Cn0gZmRlX3ZlY3RvcjsKCnR5cGVkZWYgc3Ry dWN0IGZkZV9hY2N1bXVsYXRvcgp7CiAgZmRlX3ZlY3RvciBsaW5lYXI7CiAgZmRlX3ZlY3RvciBl cnJhdGljOwp9IGZkZV9hY2N1bXVsYXRvcjsKCnN0YXRpYyBpbmxpbmUgaW50CnN0YXJ0X2ZkZV9z b3J0IChmZGVfYWNjdW11bGF0b3IgKmFjY3UsIHNpemVfdCBjb3VudCkKewogIGFjY3UtPmxpbmVh ci5hcnJheSA9IGNvdW50ID8gKGZkZSAqKikgbWFsbG9jIChzaXplb2YgKGZkZSAqKSAqIGNvdW50 KSA6IE5VTEw7CiAgYWNjdS0+ZXJyYXRpYy5hcnJheSA9IGFjY3UtPmxpbmVhci5hcnJheSA/CiAg ICAgIChmZGUgKiopIG1hbGxvYyAoc2l6ZW9mIChmZGUgKikgKiBjb3VudCkgOiBOVUxMOwogIGFj Y3UtPmxpbmVhci5jb3VudCA9IDA7CiAgYWNjdS0+ZXJyYXRpYy5jb3VudCA9IDA7CgogIHJldHVy biBhY2N1LT5saW5lYXIuYXJyYXkgIT0gTlVMTDsKfQoKc3RhdGljIGlubGluZSB2b2lkCmZkZV9p bnNlcnQgKGZkZV9hY2N1bXVsYXRvciAqYWNjdSwgZmRlICp0aGlzX2ZkZSkKewogIGlmIChhY2N1 LT5saW5lYXIuYXJyYXkpCiAgICBhY2N1LT5saW5lYXIuYXJyYXlbYWNjdS0+bGluZWFyLmNvdW50 KytdID0gdGhpc19mZGU7Cn0KIyA4OSAiZnJhbWUuYyIKc3RhdGljIGlubGluZSB2b2lkCmZkZV9z cGxpdCAoZmRlX3ZlY3RvciAqbGluZWFyLCBmZGVfdmVjdG9yICplcnJhdGljKQp7CiAgc3RhdGlj IGZkZSAqbWFya2VyOwogIHNpemVfdCBjb3VudCA9IGxpbmVhci0+Y291bnQ7CiAgZmRlICoqY2hh aW5fZW5kID0gJm1hcmtlcjsKICBzaXplX3QgaSwgaiwgazsKCgoKCiAgaWYgKHNpemVvZiAoZmRl ICopICE9IHNpemVvZiAoZmRlICoqKSkKICAgIGFib3J0ICgpOwoKICBmb3IgKGkgPSAwOyBpIDwg Y291bnQ7IGkrKykKICAgIHsKICAgICAgZmRlICoqcHJvYmU7CgogICAgICBmb3IgKHByb2JlID0g Y2hhaW5fZW5kOwogICAgICAgICAgIHByb2JlICE9ICZtYXJrZXIgJiYgZmRlX2NvbXBhcmUgKGxp bmVhci0+YXJyYXlbaV0sICpwcm9iZSkgPCAwOwogICAgICAgICAgIHByb2JlID0gY2hhaW5fZW5k KQogICAgICAgIHsKICAgICAgICAgIGNoYWluX2VuZCA9IChmZGUgKiopZXJyYXRpYy0+YXJyYXlb cHJvYmUgLSBsaW5lYXItPmFycmF5XTsKICAgICAgICAgIGVycmF0aWMtPmFycmF5W3Byb2JlIC0g bGluZWFyLT5hcnJheV0gPSBOVUxMOwogICAgICAgIH0KICAgICAgZXJyYXRpYy0+YXJyYXlbaV0g PSAoZmRlICopY2hhaW5fZW5kOwogICAgICBjaGFpbl9lbmQgPSAmbGluZWFyLT5hcnJheVtpXTsK ICAgIH0KCgoKCiAgZm9yIChpID0gaiA9IGsgPSAwOyBpIDwgY291bnQ7IGkrKykKICAgIGlmIChl cnJhdGljLT5hcnJheVtpXSkKICAgICAgbGluZWFyLT5hcnJheVtqKytdID0gbGluZWFyLT5hcnJh eVtpXTsKICAgIGVsc2UKICAgICAgZXJyYXRpYy0+YXJyYXlbaysrXSA9IGxpbmVhci0+YXJyYXlb aV07CiAgbGluZWFyLT5jb3VudCA9IGo7CiAgZXJyYXRpYy0+Y291bnQgPSBrOwp9CgoKCnN0YXRp YyBpbmxpbmUgdm9pZApmcmFtZV9oZWFwc29ydCAoZmRlX3ZlY3RvciAqZXJyYXRpYykKewoKCgog IGZkZSAqKiBhID0gZXJyYXRpYy0+YXJyYXk7CgoKCgogIHNpemVfdCBuID0gZXJyYXRpYy0+Y291 bnQ7CiAgc2l6ZV90IG0gPSBuOwogIHNpemVfdCBpOwoKICB3aGlsZSAobSA+IDApCiAgICB7Cgog ICAgICBtLS07CiAgICAgIGZvciAoaSA9IG07IDIqaSsxIDwgbjsgKQogICAgICAgIHsKICAgICAg ICAgIGlmICgyKmkrMiA8IG4KICAgICAgICAgICAgICAmJiBmZGVfY29tcGFyZSAoYVsyKmkrMl0s IGFbMippKzFdKSA+IDAKICAgICAgICAgICAgICAmJiBmZGVfY29tcGFyZSAoYVsyKmkrMl0sIGFb aV0pID4gMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgIGRvIHsgZmRlICogdG1wID0gYVtp XTsgYVtpXSA9IGFbMippKzJdOyBhWzIqaSsyXSA9IHRtcDsgfSB3aGlsZSAoMCk7CiAgICAgICAg ICAgICAgaSA9IDIqaSsyOwogICAgICAgICAgICB9CiAgICAgICAgICBlbHNlIGlmIChmZGVfY29t cGFyZSAoYVsyKmkrMV0sIGFbaV0pID4gMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgIGRv IHsgZmRlICogdG1wID0gYVtpXTsgYVtpXSA9IGFbMippKzFdOyBhWzIqaSsxXSA9IHRtcDsgfSB3 aGlsZSAoMCk7CiAgICAgICAgICAgICAgaSA9IDIqaSsxOwogICAgICAgICAgICB9CiAgICAgICAg ICBlbHNlCiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgIH0KICB3aGlsZSAobiA+IDEp CiAgICB7CgogICAgICBuLS07CiAgICAgIGRvIHsgZmRlICogdG1wID0gYVswXTsgYVswXSA9IGFb bl07IGFbbl0gPSB0bXA7IH0gd2hpbGUgKDApOwogICAgICBmb3IgKGkgPSAwOyAyKmkrMSA8IG47 ICkKICAgICAgICB7CiAgICAgICAgICBpZiAoMippKzIgPCBuCiAgICAgICAgICAgICAgJiYgZmRl X2NvbXBhcmUgKGFbMippKzJdLCBhWzIqaSsxXSkgPiAwCiAgICAgICAgICAgICAgJiYgZmRlX2Nv bXBhcmUgKGFbMippKzJdLCBhW2ldKSA+IDApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICBk byB7IGZkZSAqIHRtcCA9IGFbaV07IGFbaV0gPSBhWzIqaSsyXTsgYVsyKmkrMl0gPSB0bXA7IH0g d2hpbGUgKDApOwogICAgICAgICAgICAgIGkgPSAyKmkrMjsKICAgICAgICAgICAgfQogICAgICAg ICAgZWxzZSBpZiAoZmRlX2NvbXBhcmUgKGFbMippKzFdLCBhW2ldKSA+IDApCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICBkbyB7IGZkZSAqIHRtcCA9IGFbaV07IGFbaV0gPSBhWzIqaSsxXTsg YVsyKmkrMV0gPSB0bXA7IH0gd2hpbGUgKDApOwogICAgICAgICAgICAgIGkgPSAyKmkrMTsKICAg ICAgICAgICAgfQogICAgICAgICAgZWxzZQogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAg ICB9Cgp9CgoKc3RhdGljIHZvaWQKZmRlX21lcmdlIChmZGVfdmVjdG9yICp2MSwgY29uc3QgZmRl X3ZlY3RvciAqdjIpCnsKICBzaXplX3QgaTEsIGkyOwogIGZkZSAqIGZkZTI7CgogIGkyID0gdjIt PmNvdW50OwogIGlmIChpMiA+IDApCiAgICB7CiAgICAgIGkxID0gdjEtPmNvdW50OwogICAgICBk byB7CiAgICAgICAgaTItLTsKICAgICAgICBmZGUyID0gdjItPmFycmF5W2kyXTsKICAgICAgICB3 aGlsZSAoaTEgPiAwICYmIGZkZV9jb21wYXJlICh2MS0+YXJyYXlbaTEtMV0sIGZkZTIpID4gMCkK ICAgICAgICAgIHsKICAgICAgICAgICAgdjEtPmFycmF5W2kxK2kyXSA9IHYxLT5hcnJheVtpMS0x XTsKICAgICAgICAgICAgaTEtLTsKICAgICAgICAgIH0KICAgICAgICB2MS0+YXJyYXlbaTEraTJd ID0gZmRlMjsKICAgICAgfSB3aGlsZSAoaTIgPiAwKTsKICAgICAgdjEtPmNvdW50ICs9IHYyLT5j b3VudDsKICAgIH0KfQoKc3RhdGljIGZkZSAqKgplbmRfZmRlX3NvcnQgKGZkZV9hY2N1bXVsYXRv ciAqYWNjdSwgc2l6ZV90IGNvdW50KQp7CiAgaWYgKGFjY3UtPmxpbmVhci5hcnJheSAmJiBhY2N1 LT5saW5lYXIuY291bnQgIT0gY291bnQpCiAgICBhYm9ydCAoKTsKCiAgaWYgKGFjY3UtPmVycmF0 aWMuYXJyYXkpCiAgICB7CiAgICAgIGZkZV9zcGxpdCAoJmFjY3UtPmxpbmVhciwgJmFjY3UtPmVy cmF0aWMpOwogICAgICBpZiAoYWNjdS0+bGluZWFyLmNvdW50ICsgYWNjdS0+ZXJyYXRpYy5jb3Vu dCAhPSBjb3VudCkKICAgICAgICBhYm9ydCAoKTsKICAgICAgZnJhbWVfaGVhcHNvcnQgKCZhY2N1 LT5lcnJhdGljKTsKICAgICAgZmRlX21lcmdlICgmYWNjdS0+bGluZWFyLCAmYWNjdS0+ZXJyYXRp Yyk7CiAgICAgIGZyZWUgKGFjY3UtPmVycmF0aWMuYXJyYXkpOwogICAgfQogIGVsc2UKICAgIHsK CgogICAgICBmcmFtZV9oZWFwc29ydCAoJmFjY3UtPmxpbmVhcik7CiAgICB9CiAgcmV0dXJuIGFj Y3UtPmxpbmVhci5hcnJheTsKfQoKCgp2b2lkCl9fcmVnaXN0ZXJfZnJhbWVfaW5mbyAodm9pZCAq YmVnaW4sIHN0cnVjdCBvYmplY3QgKm9iKQp7CiAgb2ItPmZkZV9iZWdpbiA9IGJlZ2luOwoKICBv Yi0+cGNfYmVnaW4gPSBvYi0+cGNfZW5kID0gMDsKICBvYi0+ZmRlX2FycmF5ID0gMDsKICBvYi0+ Y291bnQgPSAwOwoKICBpbml0X29iamVjdF9tdXRleF9vbmNlICgpOwogIF9fZ3RocmVhZF9tdXRl eF9sb2NrICgmb2JqZWN0X211dGV4KTsKCiAgb2ItPm5leHQgPSBvYmplY3RzOwogIG9iamVjdHMg PSBvYjsKCiAgX19ndGhyZWFkX211dGV4X3VubG9jayAoJm9iamVjdF9tdXRleCk7Cn0KCnZvaWQK X19yZWdpc3Rlcl9mcmFtZSAodm9pZCAqYmVnaW4pCnsKICBzdHJ1Y3Qgb2JqZWN0ICpvYiA9IChz dHJ1Y3Qgb2JqZWN0ICopIG1hbGxvYyAoc2l6ZW9mIChzdHJ1Y3Qgb2JqZWN0KSk7CiAgX19yZWdp c3Rlcl9mcmFtZV9pbmZvIChiZWdpbiwgb2IpOwp9CgoKCgoKdm9pZApfX3JlZ2lzdGVyX2ZyYW1l X2luZm9fdGFibGUgKHZvaWQgKmJlZ2luLCBzdHJ1Y3Qgb2JqZWN0ICpvYikKewogIG9iLT5mZGVf YmVnaW4gPSBiZWdpbjsKICBvYi0+ZmRlX2FycmF5ID0gYmVnaW47CgogIG9iLT5wY19iZWdpbiA9 IG9iLT5wY19lbmQgPSAwOwogIG9iLT5jb3VudCA9IDA7CgogIGluaXRfb2JqZWN0X211dGV4X29u Y2UgKCk7CiAgX19ndGhyZWFkX211dGV4X2xvY2sgKCZvYmplY3RfbXV0ZXgpOwoKICBvYi0+bmV4 dCA9IG9iamVjdHM7CiAgb2JqZWN0cyA9IG9iOwoKICBfX2d0aHJlYWRfbXV0ZXhfdW5sb2NrICgm b2JqZWN0X211dGV4KTsKfQoKdm9pZApfX3JlZ2lzdGVyX2ZyYW1lX3RhYmxlICh2b2lkICpiZWdp bikKewogIHN0cnVjdCBvYmplY3QgKm9iID0gKHN0cnVjdCBvYmplY3QgKikgbWFsbG9jIChzaXpl b2YgKHN0cnVjdCBvYmplY3QpKTsKICBfX3JlZ2lzdGVyX2ZyYW1lX2luZm9fdGFibGUgKGJlZ2lu LCBvYik7Cn0KCgoKdm9pZCAqCl9fZGVyZWdpc3Rlcl9mcmFtZV9pbmZvICh2b2lkICpiZWdpbikK ewogIHN0cnVjdCBvYmplY3QgKipwOwoKICBpbml0X29iamVjdF9tdXRleF9vbmNlICgpOwogIF9f Z3RocmVhZF9tdXRleF9sb2NrICgmb2JqZWN0X211dGV4KTsKCiAgcCA9ICZvYmplY3RzOwogIHdo aWxlICgqcCkKICAgIHsKICAgICAgaWYgKCgqcCktPmZkZV9iZWdpbiA9PSBiZWdpbikKICAgICAg ICB7CiAgICAgICAgICBzdHJ1Y3Qgb2JqZWN0ICpvYiA9ICpwOwogICAgICAgICAgKnAgPSAoKnAp LT5uZXh0OwoKCiAgICAgICAgICBpZiAob2ItPmZkZV9hcnJheSAmJiBvYi0+ZmRlX2FycmF5ICE9 IGJlZ2luKQogICAgICAgICAgICBmcmVlIChvYi0+ZmRlX2FycmF5KTsKCiAgICAgICAgICBfX2d0 aHJlYWRfbXV0ZXhfdW5sb2NrICgmb2JqZWN0X211dGV4KTsKICAgICAgICAgIHJldHVybiAodm9p ZCAqKSBvYjsKICAgICAgICB9CiAgICAgIHAgPSAmKCgqcCktPm5leHQpOwogICAgfQoKICBfX2d0 aHJlYWRfbXV0ZXhfdW5sb2NrICgmb2JqZWN0X211dGV4KTsKICBhYm9ydCAoKTsKfQoKdm9pZApf X2RlcmVnaXN0ZXJfZnJhbWUgKHZvaWQgKmJlZ2luKQp7CiAgZnJlZSAoX19kZXJlZ2lzdGVyX2Zy YW1lX2luZm8gKGJlZ2luKSk7Cn0K