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