c++/3543: gcc-3.0 Internal error #56 in resolve_offset_ref, at cp/init.c:1963
niemayer@isg.de
niemayer@isg.de
Tue Jul 3 06:57:00 GMT 2001
>Number: 3543
>Category: c++
>Synopsis: gcc-3.0 Internal error #56 in resolve_offset_ref, at cp/init.c:1963
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: ice-on-legal-code
>Submitter-Id: net
>Arrival-Date: Tue Jul 03 06:56:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Peter Niemayer
>Release: gcc version 3.0
>Organization:
>Environment:
i686-pc-linux-gnu
>Description:
When compiling the attached test-case source:
> gcc -O3 -c ise_56.cxx
ise_56.cxx: In member function `virtual long unsigned int Pipe::ewrite(const
void*, long unsigned int)':
ise_56.cxx:55: Internal error #56.
ise_56.cxx:55: Internal compiler error in resolve_offset_ref, at cp/init.c:1963
The same small test source compiled with "-O2" instead of
"-O3" works fine, so I assume the new inliner is the cause
of the problem.
>How-To-Repeat:
>Fix:
small rearrangements of the code let the bug disappear,
e.g. replacing
(Writeable::blocking_mode)
by
(Writeable::blocking_mode == true)
That of course is an ugly workaround, only... :-)
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="ise_56.cxx"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="ise_56.cxx"
CmNsYXNzIFJlYWRhYmxlIHsKcHJvdGVjdGVkOgogICAgICAgIGJvb2wgYmxvY2tpbmdfbW9kZTsK
CnB1YmxpYzoKICAgICAgICBSZWFkYWJsZSh2b2lkKSA6IGJsb2NraW5nX21vZGUodHJ1ZSkgeyB9
OwogICAgICAgIHZpcnR1YWwgflJlYWRhYmxlKHZvaWQpIHsgfTsKCn07CgpjbGFzcyBXcml0ZWFi
bGUgewpwcm90ZWN0ZWQ6CiAgICAgICAgYm9vbCBibG9ja2luZ19tb2RlOwoKcHVibGljOgogICAg
ICAgIFdyaXRlYWJsZSh2b2lkKSA6IGJsb2NraW5nX21vZGUodHJ1ZSkgeyB9OwogICAgICAgIHZp
cnR1YWwgfldyaXRlYWJsZSh2b2lkKSB7IH07CgogICAgICAgIHZpcnR1YWwgdW5zaWduZWQgbG9u
ZyBld3JpdGUoY29uc3Qgdm9pZCAqIGJ1ZiwgdW5zaWduZWQgbG9uZyBsZW4pID0gMDsKCn07Cgpj
bGFzcyBSV2FibGUgOiBwdWJsaWMgUmVhZGFibGUsIHB1YmxpYyBXcml0ZWFibGUgewpwdWJsaWM6
CgogICAgICAgIFJXYWJsZSh2b2lkKSA6IFJlYWRhYmxlKCksIFdyaXRlYWJsZSgpIHsgfTsKICAg
ICAgICB2aXJ0dWFsIH5SV2FibGUodm9pZCkgeyB9OwoKfTsKCmNsYXNzIFBpcGUgOiBwdWJsaWMg
UldhYmxlIHsKCnB1YmxpYzoKICAgICAgICBQaXBlKHZvaWQpOwogICAgICAgIH5QaXBlKHZvaWQp
OwoKICAgICAgICB1bnNpZ25lZCBsb25nIGV3cml0ZShjb25zdCB2b2lkICogYnVmLCB1bnNpZ25l
ZCBsb25nIGxlbik7CgogICAgICAgIGludCBzZXRfd3JpdGVfYmxvY2tpbmcodm9pZCk7Cn07Cgp1
bnNpZ25lZCBsb25nIFBpcGU6OmV3cml0ZShjb25zdCB2b2lkICogYnVmLCB1bnNpZ25lZCBsb25n
IGxlbikgewoKICAgICAgICBpZiggIVdyaXRlYWJsZTo6YmxvY2tpbmdfbW9kZSApIHsKICAgICAg
ICAgICAgICAgIGlmIChzZXRfd3JpdGVfYmxvY2tpbmcoKSkgewogICAgICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICB9Cgp9CgppbnQgUGlwZTo6
c2V0X3dyaXRlX2Jsb2NraW5nKHZvaWQpIHsKCiAgICAgICAgaWYgKFdyaXRlYWJsZTo6YmxvY2tp
bmdfbW9kZSkgcmV0dXJuIDA7Cgp9Cg==
More information about the Gcc-bugs
mailing list