public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* c++/2717: g++ fails to compile code that should be correct
@ 2001-05-02 12:36 gerald.roth
  0 siblings, 0 replies; only message in thread
From: gerald.roth @ 2001-05-02 12:36 UTC (permalink / raw)
  To: gcc-gnats; +Cc: stefan

>Number:         2717
>Category:       c++
>Synopsis:       g++ fails to compile code that should be correct
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          rejects-legal
>Submitter-Id:   net
>Arrival-Date:   Wed May 02 12:36:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     CVS
>Release:        3_0-branch
>Organization:
>Environment:
SuSE linux 7.0, kernel 2.4.4, target i686-pc-linux-gnu
>Description:
the following code out of the kdelibs package (kdelibs/arts/flow/convert.cc) fails to compile with the following error:

the code:

[snip]
#ifdef HAVE_X86_FLOAT_INT
static inline long QRound (float inval)
{
  long ret;
  asm ("fistpl %0" : "=m" (ret) : "t" (inval) : "st");
  return ret;
}
#else
static inline long QRound (float inval)
{
  return (long)inval;
}
#endif/
[snip]

the error:

[snip]
make[1]: Entering directory `/usr/src/kde2/cvs/kdelibs/arts/flow'
/bin/sh ../../libtool --mode=compile --tag=CXX g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../dcop -I../../libltdl -I../../kdecore -I../../kdeui -I../../kssl -I/usr/src/kde2/cvs/qt-copy/include -I/usr/X11R6/include -I/opt/kde/include  -I../../arts/mcop  -DQT_THREAD_SUPPORT -pthread -D_REENTRANT  -O2 -DNDEBUG -fno-exceptions -fno-check-new -O3 -march=athlon -frtti -ftemplate-depth-99 -DQT_NO_TRANSLATION -DQT_CLEAN_NAMESPACE -DQT_NO_COMPAT -DQT_NO_ASCII_CAST  -c convert.cc
g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../dcop -I../../libltdl -I../../kdecore -I../../kdeui -I../../kssl -I/usr/src/kde2/cvs/qt-copy/include -I/usr/X11R6/include -I/opt/kde/include -I../../arts/mcop -DQT_THREAD_SUPPORT -pthread -D_REENTRANT -O2 -DNDEBUG -fno-exceptions -fno-check-new -O3 -march=athlon -frtti -ftemplate-depth-99 -DQT_NO_TRANSLATION -DQT_CLEAN_NAMESPACE -DQT_NO_COMPAT -DQT_NO_ASCII_CAST -Wp,-MD,.deps/convert.pp -c convert.cc  -fPIC -DPIC -o .libs/convert.o
convert.cc: In function `void Arts::convert_stereo_2float_i16le(long unsigned
   int, float*, float*, unsigned char*)':
convert.cc:33: output number 0 not directly addressable
convert.cc:33: output number 0 not directly addressable
convert.cc:33: inconsistent operand constraints in an `asm'
convert.cc:33: inconsistent operand constraints in an `asm'
convert.cc: In function `void Arts::convert_mono_float_16le(long unsigned int,
   float*, unsigned char*)':
convert.cc:33: output number 0 not directly addressable
convert.cc:33: inconsistent operand constraints in an `asm'
convert.cc: In function `void Arts::convert_stereo_2float_i16be(long unsigned
   int, float*, float*, unsigned char*)':
convert.cc:33: output number 0 not directly addressable
convert.cc:33: output number 0 not directly addressable
convert.cc:33: inconsistent operand constraints in an `asm'
convert.cc:33: inconsistent operand constraints in an `asm'
convert.cc: In function `void Arts::convert_mono_float_16be(long unsigned int,
   float*, unsigned char*)':
convert.cc:33: output number 0 not directly addressable
convert.cc:33: inconsistent operand constraints in an `asm'
make[1]: *** [convert.lo] Error 1
make[1]: Leaving directory `/usr/src/kde2/cvs/kdelibs/arts/flow'
make: *** [all-recursive] Error 1
[snip]

i've already contacted stefan westerfeld, the arts developer, about this issue, but he thinks the code is legal and correct (2.95.3 compiles it without errors)

i'll attach the whole convert.cc file
>How-To-Repeat:
try to compile kdelibs on an i686-pc-linux-gnu target with gcc-3_0-branch version
>Fix:
not known
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/x-c++src; name="convert.cc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="convert.cc"

ICAgIC8qCgogICAgQ29weXJpZ2h0IChDKSAyMDAwIFN0ZWZhbiBXZXN0ZXJmZWxkCiAgICAgICAg
ICAgICAgICAgICAgICAgc3RlZmFuQHNwYWNlLnR3Yy5kZQoKICAgIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAgIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCiAgICBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KICAKICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAgICBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICAgCiAgICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCiAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwogICAgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAogICAgQm9zdG9uLCBN
QSAwMjExMS0xMzA3LCBVU0EuCgogICAgKi8KCiNpbmNsdWRlICJjb252ZXJ0LmgiCiNpbmNsdWRl
IDxtYXRoLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPGFzc2VydC5oPgojaW5jbHVk
ZSA8Y29uZmlnLmg+CgojaWZkZWYgSEFWRV9YODZfRkxPQVRfSU5UCnN0YXRpYyBpbmxpbmUgbG9u
ZyBRUm91bmQgKGZsb2F0IGludmFsKQp7CiAgbG9uZyByZXQ7IAogIGFzbSAoImZpc3RwbCAlMCIg
OiAiPW0iIChyZXQpIDogInQiIChpbnZhbCkgOiAic3QiKTsgCiAgcmV0dXJuIHJldDsgCn0KI2Vs
c2UKc3RhdGljIGlubGluZSBsb25nIFFSb3VuZCAoZmxvYXQgaW52YWwpCnsKICByZXR1cm4gKGxv
bmcpaW52YWw7Cn0KI2VuZGlmCgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gbmV3IGNv
ZGUgYmVnaW4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCiNkZWZpbmUgY29tcG9zZV8x
NmxlKHB0cikgXAoJKCgoKCooKHB0cikrMSkrMTI4KSYweGZmKSA8PCA4KSsqKHB0cikpCgojZGVm
aW5lIGNvbXBvc2VfMTZiZShwdHIpIFwKCSgoKCgqKHB0cikrMTI4KSYweGZmKSA8PCA4KSsqKChw
dHIpKzEpKQoKI2RlZmluZSBjb252XzE2X2Zsb2F0KHgpIFwKCSgoZmxvYXQpKCh4KS0zMjc2OCkv
MzI3NjguMCkKCiNkZWZpbmUgY29udmVydF8xNmxlX2Zsb2F0KHgpIGNvbnZfMTZfZmxvYXQoY29t
cG9zZV8xNmxlKCYoeCkpKQojZGVmaW5lIGNvbnZlcnRfMTZiZV9mbG9hdCh4KSBjb252XzE2X2Zs
b2F0KGNvbXBvc2VfMTZiZSgmKHgpKSkKCiNkZWZpbmUgY29udl84X2Zsb2F0KHgpIFwKCSgoZmxv
YXQpKCh4KS0xMjgpLzEyOC4wKQoKI2RlZmluZSBjb252ZXJ0XzhfZmxvYXQoeCkgXAoJKChmbG9h
dCkoKHgpLTEyOCkvMTI4LjApCgojZGVmaW5lIGNvbnZlcnRfZmxvYXRfZmxvYXQoeCkgeAoKLyoK
ICogMTZsZSwgMTZiZSwgOCwgZmxvYXQKICovCgojZGVmaW5lIGRhdGF0eXBlXzE2bGUgdW5zaWdu
ZWQgY2hhcgojZGVmaW5lIGRhdGFzaXplXzE2bGUgMgoKI2RlZmluZSBkYXRhdHlwZV8xNmJlIHVu
c2lnbmVkIGNoYXIKI2RlZmluZSBkYXRhc2l6ZV8xNmJlIDIKCiNkZWZpbmUgZGF0YXR5cGVfOCB1
bnNpZ25lZCBjaGFyCiNkZWZpbmUgZGF0YXNpemVfOCAxCgojZGVmaW5lIGRhdGF0eXBlX2Zsb2F0
IGZsb2F0CiNkZWZpbmUgZGF0YXNpemVfZmxvYXQgMQoKI2RlZmluZSBta19jb252ZXJ0ZXIoZnJv
bV9mb3JtYXQsdG9fZm9ybWF0KSBcCnZvaWQgQXJ0czo6Y29udmVydF9tb25vXyAjIyBmcm9tX2Zv
cm1hdCAjIyBfICMjIHRvX2Zvcm1hdCAodW5zaWduZWQgbG9uZyBzYW1wbGVzLCBcCgkJCQkJCQkJ
CWRhdGF0eXBlXyAjIyBmcm9tX2Zvcm1hdCAqZnJvbSwgXAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkYXRhdHlwZV8gIyMgdG9fZm9ybWF0ICp0bykgXAp7IFwKCWRhdGF0eXBl
XyAjIyB0b19mb3JtYXQgKmVuZCA9IHRvK3NhbXBsZXMgKiAoZGF0YXNpemVfICMjIHRvX2Zvcm1h
dCk7IFwKCXdoaWxlKHRvPGVuZCkgeyBcCgkJKnRvID0gY29udmVydF8gIyMgZnJvbV9mb3JtYXQg
IyMgXyAjIyB0b19mb3JtYXQoKmZyb20pOyBcCgkJZnJvbSArPSBkYXRhc2l6ZV8gIyMgZnJvbV9m
b3JtYXQ7IFwKCQl0byArPSBkYXRhc2l6ZV8gIyMgdG9fZm9ybWF0OyBcCgl9IFwKfSBcCnZvaWQg
QXJ0czo6aW50ZXJwb2xhdGVfbW9ub18gIyMgZnJvbV9mb3JtYXQgIyMgXyAjIyB0b19mb3JtYXQg
KHVuc2lnbmVkIGxvbmcgc2FtcGxlcyxcCgkJCQkJCQkJCWRvdWJsZSBzdGFydHBvcywgZG91Ymxl
IHNwZWVkLCBcCgkJCQkJCQkJCWRhdGF0eXBlXyAjIyBmcm9tX2Zvcm1hdCAqZnJvbSwgXAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhdHlwZV8gIyMgdG9fZm9ybWF0ICp0
bykgXAp7IFwKCWRvdWJsZSBmbHBvcyA9IHN0YXJ0cG9zOyBcCgl3aGlsZShzYW1wbGVzKSB7IFwK
CQlsb25nIHBvc2l0aW9uID0gKChsb25nKShmbHBvcykpICogKGRhdGFzaXplXyAjIyBmcm9tX2Zv
cm1hdCk7IFwKCQlkb3VibGUgZXJyb3IgPSBmbHBvcyAtIGZsb29yKGZscG9zKTsgXAoJCSp0byA9
CShjb252ZXJ0XyAjIyBmcm9tX2Zvcm1hdCAjIyBfICMjIHRvX2Zvcm1hdChmcm9tW3Bvc2l0aW9u
XSkpICogXAoJCQkJKDEuMC1lcnJvcikgKyAoY29udmVydF8gIyMgZnJvbV9mb3JtYXQgIyMgXyAj
IyBcCgkJCQl0b19mb3JtYXQoZnJvbVtwb3NpdGlvbiArIGRhdGFzaXplXyAjIyBmcm9tX2Zvcm1h
dF0pKSAqIGVycm9yOyBcCgkJdG8gKz0gZGF0YXNpemVfICMjIHRvX2Zvcm1hdDsgXAoJCWZscG9z
ICs9IHNwZWVkOyBcCgkJc2FtcGxlcy0tOyBcCgl9IFwKfSBcCnZvaWQgQXJ0czo6Y29udmVydF9z
dGVyZW9faSAjIyBmcm9tX2Zvcm1hdCAjIyBfMiAjIyB0b19mb3JtYXQgKHVuc2lnbmVkIGxvbmcg
c2FtcGxlcyxcCgkJCQkJCQkJCWRhdGF0eXBlXyAjIyBmcm9tX2Zvcm1hdCAqZnJvbSwgXAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhdHlwZV8gIyMgdG9fZm9ybWF0ICps
ZWZ0LCBcCgkJCQkJCQkJCWRhdGF0eXBlXyAjIyB0b19mb3JtYXQgKnJpZ2h0KSBcCnsgXAoJZGF0
YXR5cGVfICMjIHRvX2Zvcm1hdCAqZW5kID0gbGVmdCtzYW1wbGVzICogKGRhdGFzaXplXyAjIyB0
b19mb3JtYXQpOyBcCgl3aGlsZShsZWZ0PGVuZCkgeyBcCgkJKmxlZnQgPSBjb252ZXJ0XyAjIyBm
cm9tX2Zvcm1hdCAjIyBfICMjIHRvX2Zvcm1hdCgqZnJvbSk7IFwKCQlmcm9tICs9IGRhdGFzaXpl
XyAjIyBmcm9tX2Zvcm1hdDsgXAoJCWxlZnQgKz0gZGF0YXNpemVfICMjIHRvX2Zvcm1hdDsgXAoJ
CSpyaWdodCA9IGNvbnZlcnRfICMjIGZyb21fZm9ybWF0ICMjIF8gIyMgdG9fZm9ybWF0KCpmcm9t
KTsgXAoJCWZyb20gKz0gZGF0YXNpemVfICMjIGZyb21fZm9ybWF0OyBcCgkJcmlnaHQgKz0gZGF0
YXNpemVfICMjIHRvX2Zvcm1hdDsgXAoJfSBcCn0gXAp2b2lkIEFydHM6OmludGVycG9sYXRlX3N0
ZXJlb19pICMjIGZyb21fZm9ybWF0ICMjIF8yICMjIHRvX2Zvcm1hdCAodW5zaWduZWQgbG9uZyBz
YW1wbGVzLFwKCQkJCQkJCQkJZG91YmxlIHN0YXJ0cG9zLCBkb3VibGUgc3BlZWQsIFwKCQkJCQkJ
CQkJZGF0YXR5cGVfICMjIGZyb21fZm9ybWF0ICpmcm9tLCBcCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRhdGF0eXBlXyAjIyB0b19mb3JtYXQgKmxlZnQsIFwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YXR5cGVfICMjIHRvX2Zvcm1hdCAqcmlnaHQp
IFwKeyBcCglkb3VibGUgZmxwb3MgPSBzdGFydHBvczsgXAoJd2hpbGUoc2FtcGxlcykgeyBcCgkJ
bG9uZyBwb3NpdGlvbiA9ICgobG9uZykoZmxwb3MpKSAqIChkYXRhc2l6ZV8gIyMgZnJvbV9mb3Jt
YXQpICogMjsgXAoJCWRvdWJsZSBlcnJvciA9IGZscG9zIC0gZmxvb3IoZmxwb3MpOyBcCgkJKmxl
ZnQgPQkoY29udmVydF8gIyMgZnJvbV9mb3JtYXQgIyMgXyAjIyB0b19mb3JtYXQoZnJvbVtwb3Np
dGlvbl0pKSAqIFwKCQkJCSgxLjAtZXJyb3IpICsgKGNvbnZlcnRfICMjIGZyb21fZm9ybWF0ICMj
IF8gIyMgXAoJCQkJdG9fZm9ybWF0KGZyb21bcG9zaXRpb24gKyAyKmRhdGFzaXplXyAjIyBmcm9t
X2Zvcm1hdF0pKSplcnJvcjsgXAoJCWxlZnQgKz0gZGF0YXNpemVfICMjIHRvX2Zvcm1hdDsgXAoJ
CXBvc2l0aW9uICs9IGRhdGFzaXplXyAjIyBmcm9tX2Zvcm1hdDsgXAoJCSpyaWdodCA9KGNvbnZl
cnRfICMjIGZyb21fZm9ybWF0ICMjIF8gIyMgdG9fZm9ybWF0KGZyb21bcG9zaXRpb25dKSkgKiBc
CgkJCQkoMS4wLWVycm9yKSArIChjb252ZXJ0XyAjIyBmcm9tX2Zvcm1hdCAjIyBfICMjIFwKCQkJ
CXRvX2Zvcm1hdChmcm9tW3Bvc2l0aW9uICsgMipkYXRhc2l6ZV8gIyMgZnJvbV9mb3JtYXRdKSkq
ZXJyb3I7IFwKCQlyaWdodCArPSBkYXRhc2l6ZV8gIyMgdG9fZm9ybWF0OyBcCgkJZmxwb3MgKz0g
c3BlZWQ7IFwKCQlzYW1wbGVzLS07IFwKCX0gXAp9Cgpta19jb252ZXJ0ZXIoOCxmbG9hdCkKbWtf
Y29udmVydGVyKDE2bGUsZmxvYXQpCm1rX2NvbnZlcnRlcigxNmJlLGZsb2F0KQpta19jb252ZXJ0
ZXIoZmxvYXQsZmxvYXQpCgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIG5ldyBjb2Rl
IGVuZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCi8qCnZvaWQgb2xkX2NvbnZlcnRf
bW9ub184X2Zsb2F0KHVuc2lnbmVkIGxvbmcgc2FtcGxlcywgdW5zaWduZWQgY2hhciAqZnJvbSwg
ZmxvYXQgKnRvKQp7CglmbG9hdCAqZW5kID0gdG8rc2FtcGxlczsKCgl3aGlsZSh0bzxlbmQpICp0
bysrID0gY29udl84X2Zsb2F0KCpmcm9tKyspOwp9Cgp2b2lkIG9sZF9jb252ZXJ0X21vbm9fMTZs
ZV9mbG9hdCh1bnNpZ25lZCBsb25nIHNhbXBsZXMsIHVuc2lnbmVkIGNoYXIgKmZyb20sIGZsb2F0
ICp0bykKewoJZmxvYXQgKmVuZCA9IHRvK3NhbXBsZXM7CgoJd2hpbGUodG88ZW5kKQoJewoJCSp0
bysrID0gY29udl8xNmxlX2Zsb2F0KGNvbXBvc2VfMTZsZShmcm9tKSk7CgkJZnJvbSArPSAyOwoJ
fQp9CgoKdm9pZCBvbGRfY29udmVydF9zdGVyZW9faThfMmZsb2F0KHVuc2lnbmVkIGxvbmcgc2Ft
cGxlcywgdW5zaWduZWQgY2hhciAqZnJvbSwgZmxvYXQgKmxlZnQsIGZsb2F0ICpyaWdodCkKewoJ
ZmxvYXQgKmVuZCA9IGxlZnQrc2FtcGxlczsKCXdoaWxlKGxlZnQgPCBlbmQpCgl7CgkJKmxlZnQr
KyA9IGNvbnZfOF9mbG9hdCgqZnJvbSsrKTsKCQkqcmlnaHQrKyA9IGNvbnZfOF9mbG9hdCgqZnJv
bSsrKTsKCX0KfQoKdm9pZCBvbGRfY29udmVydF9zdGVyZW9faTE2bGVfMmZsb2F0KHVuc2lnbmVk
IGxvbmcgc2FtcGxlcywgdW5zaWduZWQgY2hhciAqZnJvbSwgZmxvYXQgKmxlZnQsIGZsb2F0ICpy
aWdodCkKewoJZmxvYXQgKmVuZCA9IGxlZnQrc2FtcGxlczsKCXdoaWxlKGxlZnQgPCBlbmQpCgl7
CgkJKmxlZnQrKyA9IGNvbnZfMTZsZV9mbG9hdChjb21wb3NlXzE2bGUoZnJvbSkpOwoJCSpyaWdo
dCsrID0gY29udl8xNmxlX2Zsb2F0KGNvbXBvc2VfMTZsZShmcm9tKzIpKTsKCQlmcm9tICs9IDQ7
Cgl9Cn0KKi8KCnZvaWQgQXJ0czo6Y29udmVydF9zdGVyZW9fMmZsb2F0X2kxNmxlKHVuc2lnbmVk
IGxvbmcgc2FtcGxlcywgZmxvYXQgKmxlZnQsIGZsb2F0ICpyaWdodCwgdW5zaWduZWQgY2hhciAq
dG8pCnsKCWZsb2F0ICplbmQgPSBsZWZ0K3NhbXBsZXM7Cglsb25nIHN5bjsKCgl3aGlsZShsZWZ0
IDwgZW5kKQoJewoJCXN5biA9IFFSb3VuZCgoKmxlZnQrKykqMzI3NjcpOwoKCQlpZihzeW4gPCAt
MzI3NjgpIHN5biA9IC0zMjc2ODsJCQkJLyogY2xpcHBpbmcgKi8KCQlpZihzeW4gPiAzMjc2Nykg
c3luID0gMzI3Njc7CgoJCSp0bysrID0gc3luICYgMHhmZjsKCQkqdG8rKyA9IChzeW4gPj4gOCkg
JiAweGZmOwoKCQlzeW4gPSBRUm91bmQoKCpyaWdodCsrKSozMjc2Nyk7CgoJCWlmKHN5biA8IC0z
Mjc2OCkgc3luID0gLTMyNzY4OwkJCQkvKiBjbGlwcGluZyAqLwoJCWlmKHN5biA+IDMyNzY3KSBz
eW4gPSAzMjc2NzsKCgkJKnRvKysgPSBzeW4gJiAweGZmOwoJCSp0bysrID0gKHN5biA+PiA4KSAm
IDB4ZmY7Cgl9CQp9Cgp2b2lkIEFydHM6OmNvbnZlcnRfbW9ub19mbG9hdF8xNmxlKHVuc2lnbmVk
IGxvbmcgc2FtcGxlcywgZmxvYXQgKmZyb20sIHVuc2lnbmVkIGNoYXIgKnRvKQp7CglmbG9hdCAq
ZW5kID0gZnJvbStzYW1wbGVzOwoKCXdoaWxlKGZyb20gPCBlbmQpCgl7CgkJbG9uZyBzeW4gPSBR
Um91bmQoKCpmcm9tKyspKjMyNzY3KTsKCgkJaWYoc3luIDwgLTMyNzY4KSBzeW4gPSAtMzI3Njg7
CQkJCS8qIGNsaXBwaW5nICovCgkJaWYoc3luID4gMzI3NjcpIHN5biA9IDMyNzY3OwoKCQkqdG8r
KyA9IHN5biAmIDB4ZmY7CgkJKnRvKysgPSAoc3luID4+IDgpICYgMHhmZjsKCX0JCn0KCnZvaWQg
QXJ0czo6Y29udmVydF9zdGVyZW9fMmZsb2F0X2kxNmJlKHVuc2lnbmVkIGxvbmcgc2FtcGxlcywg
ZmxvYXQgKmxlZnQsIGZsb2F0ICpyaWdodCwgdW5zaWduZWQgY2hhciAqdG8pCnsKCWZsb2F0ICpl
bmQgPSBsZWZ0K3NhbXBsZXM7Cglsb25nIHN5bjsKCgl3aGlsZShsZWZ0IDwgZW5kKQoJewoJCXN5
biA9IFFSb3VuZCgoKmxlZnQrKykqMzI3NjcpOwoKCQlpZihzeW4gPCAtMzI3NjgpIHN5biA9IC0z
Mjc2ODsJCQkJLyogY2xpcHBpbmcgKi8KCQlpZihzeW4gPiAzMjc2Nykgc3luID0gMzI3Njc7CgoJ
CSp0bysrID0gKHN5biA+PiA4KSAmIDB4ZmY7CgkJKnRvKysgPSBzeW4gJiAweGZmOwoKCQlzeW4g
PSBRUm91bmQoKCpyaWdodCsrKSozMjc2Nyk7CgoJCWlmKHN5biA8IC0zMjc2OCkgc3luID0gLTMy
NzY4OwkJCQkvKiBjbGlwcGluZyAqLwoJCWlmKHN5biA+IDMyNzY3KSBzeW4gPSAzMjc2NzsKCgkJ
KnRvKysgPSAoc3luID4+IDgpICYgMHhmZjsKCQkqdG8rKyA9IHN5biAmIDB4ZmY7Cgl9CQp9Cgp2
b2lkIEFydHM6OmNvbnZlcnRfbW9ub19mbG9hdF8xNmJlKHVuc2lnbmVkIGxvbmcgc2FtcGxlcywg
ZmxvYXQgKmZyb20sIHVuc2lnbmVkIGNoYXIgKnRvKQp7CglmbG9hdCAqZW5kID0gZnJvbStzYW1w
bGVzOwoKCXdoaWxlKGZyb20gPCBlbmQpCgl7CgkJbG9uZyBzeW4gPSBRUm91bmQoKCpmcm9tKysp
KjMyNzY3KTsKCgkJaWYoc3luIDwgLTMyNzY4KSBzeW4gPSAtMzI3Njg7CQkJCS8qIGNsaXBwaW5n
ICovCgkJaWYoc3luID4gMzI3NjcpIHN5biA9IDMyNzY3OwoKCQkqdG8rKyA9IChzeW4gPj4gOCkg
JiAweGZmOwoJCSp0bysrID0gc3luICYgMHhmZjsKCX0JCn0KCnZvaWQgQXJ0czo6Y29udmVydF9z
dGVyZW9fMmZsb2F0X2k4KHVuc2lnbmVkIGxvbmcgc2FtcGxlcywgZmxvYXQgKmxlZnQsIGZsb2F0
ICpyaWdodCwgdW5zaWduZWQgY2hhciAqdG8pCnsKCWZsb2F0ICplbmQgPSBsZWZ0K3NhbXBsZXM7
Cglsb25nIHN5bjsKCgl3aGlsZShsZWZ0IDwgZW5kKQoJewoJCXN5biA9IChpbnQpKCgqbGVmdCsr
KSoxMjcrMTI4KTsKCgkJaWYoc3luIDwgMCkgc3luID0gMDsJCQkJCS8qIGNsaXBwaW5nICovCgkJ
aWYoc3luID4gMjU1KSBzeW4gPSAyNTU7CgoJCSp0bysrID0gc3luOwoKCQlzeW4gPSAoaW50KSgo
KnJpZ2h0KyspKjEyNysxMjgpOwoKCQlpZihzeW4gPCAwKSBzeW4gPSAwOwkJCQkJLyogY2xpcHBp
bmcgKi8KCQlpZihzeW4gPiAyNTUpIHN5biA9IDI1NTsKCgkJKnRvKysgPSBzeW47Cgl9CQp9Cgp2
b2lkIEFydHM6OmNvbnZlcnRfbW9ub19mbG9hdF84KHVuc2lnbmVkIGxvbmcgc2FtcGxlcywgZmxv
YXQgKmZyb20sIHVuc2lnbmVkIGNoYXIgKnRvKQp7CglmbG9hdCAqZW5kID0gZnJvbStzYW1wbGVz
OwoKCXdoaWxlKGZyb20gPCBlbmQpCgl7CgkJbG9uZyBzeW4gPSAoaW50KSgoKmZyb20rKykqMTI3
KzEyOCk7CgoJCWlmKHN5biA8IDApIHN5biA9IDA7CQkJCQkvKiBjbGlwcGluZyAqLwoJCWlmKHN5
biA+IDI1NSkgc3luID0gMjU1OwoKCQkqdG8rKyA9IHN5bjsKCX0JCn0KCnVuc2lnbmVkIGxvbmcg
QXJ0czo6dW5pX2NvbnZlcnRfc3RlcmVvXzJmbG9hdCgKCQl1bnNpZ25lZCBsb25nIHNhbXBsZXMs
CQkvLyBudW1iZXIgb2YgcmVxdWlyZWQgc2FtcGxlcwoJCXVuc2lnbmVkIGNoYXIgKmZyb20sCQkv
LyBidWZmZXIgY29udGFpbmluZyB0aGUgc2FtcGxlcwoJCXVuc2lnbmVkIGxvbmcgZnJvbUxlbiwJ
CS8vIGxlbmd0aCBvZiB0aGUgYnVmZmVyCgkgICAgdW5zaWduZWQgaW50IGZyb21DaGFubmVscywg
IC8vIGNoYW5uZWxzIHN0b3JlZCBpbiB0aGUgYnVmZmVyCgkJdW5zaWduZWQgaW50IGZyb21CaXRz
LAkJLy8gbnVtYmVyIG9mIGJpdHMgcGVyIHNhbXBsZQoJICAgIGZsb2F0ICpsZWZ0LCBmbG9hdCAq
cmlnaHQsCS8vIG91dHB1dCBidWZmZXJzIGZvciBsZWZ0IGFuZCByaWdodCBjaGFubmVsCgkJZG91
YmxlIHNwZWVkLAkJCQkvLyBzcGVlZCAoMi4wIG1lYW5zIHR3aWNlIGFzIGZhc3QpCgkJZG91Ymxl
IHN0YXJ0cG9zaXRpb24JCS8vIHN0YXJ0cG9zaXRpb24KCSkKewoJdW5zaWduZWQgbG9uZyBkb1Nh
bXBsZXMgPSAwLCBzYW1wbGVTaXplID0gZnJvbUJpdHMvODsKCglpZihmcm9tQml0cyA9PSB1bmlf
Y29udmVydF9mbG9hdF9uZSkKCQlzYW1wbGVTaXplID0gc2l6ZW9mKGZsb2F0KTsKCgkvLyBob3cg
bWFueSBzYW1wbGVzIGRvZXMgdGhlIGZyb20tYnVmZmVyIGNvbnRhaW4/Cglkb3VibGUgYWxsU2Ft
cGxlcyA9IGZyb21MZW4gLyAoZnJvbUNoYW5uZWxzICogc2FtcGxlU2l6ZSk7CgoJLy8gaG93IG1h
bnkgc2FtcGxlcyBhcmUgcmVtYWluaW5nPwoJLy8gICAgc3VidHJhY3Qgb25lIGR1ZSB0byBpbnRl
cnBvbGF0aW9uIGFuZCBhbm90aGVyIGFnYWluc3Qgcm91bmRpbmcgZXJyb3JzCglkb3VibGUgZkhh
dmVTYW1wbGVzID0gYWxsU2FtcGxlcyAtIHN0YXJ0cG9zaXRpb24gLSAyLjA7CglmSGF2ZVNhbXBs
ZXMgLz0gc3BlZWQ7CgoJLy8gY29udmVydCBkbyAiaG93IG1hbnkgc2FtcGxlcyB0byBkbyI/Cglp
ZihmSGF2ZVNhbXBsZXMgPiAwKQoJewoJCWRvU2FtcGxlcyA9IChpbnQpZkhhdmVTYW1wbGVzOwoJ
CWlmKGRvU2FtcGxlcyA+IHNhbXBsZXMpIGRvU2FtcGxlcyA9IHNhbXBsZXM7Cgl9CgoJLy8gZG8g
Y29udmVyc2lvbgoJaWYoZG9TYW1wbGVzKQoJewoJCWlmKGZyb21DaGFubmVscyA9PSAxKQoJCXsK
CQkJaWYoZnJvbUJpdHMgPT0gdW5pX2NvbnZlcnRfZmxvYXRfbmUpIHsKCQkJCWludGVycG9sYXRl
X21vbm9fZmxvYXRfZmxvYXQoZG9TYW1wbGVzLAoJCQkJCQkJc3RhcnRwb3NpdGlvbixzcGVlZCwo
ZmxvYXQgKilmcm9tLGxlZnQpOwoJCQl9CgkJCWVsc2UgaWYoZnJvbUJpdHMgPT0gdW5pX2NvbnZl
cnRfczE2X2JlKSB7CgkJCQlpbnRlcnBvbGF0ZV9tb25vXzE2YmVfZmxvYXQoZG9TYW1wbGVzLAoJ
CQkJCQkJc3RhcnRwb3NpdGlvbixzcGVlZCxmcm9tLGxlZnQpOwoJCQl9CgkJCWVsc2UgaWYoZnJv
bUJpdHMgPT0gdW5pX2NvbnZlcnRfczE2X2xlKSB7CgkJCQlpbnRlcnBvbGF0ZV9tb25vXzE2bGVf
ZmxvYXQoZG9TYW1wbGVzLAoJCQkJCQkJc3RhcnRwb3NpdGlvbixzcGVlZCxmcm9tLGxlZnQpOwoJ
CQl9CgkJCWVsc2UgewoJCQkJaW50ZXJwb2xhdGVfbW9ub184X2Zsb2F0KGRvU2FtcGxlcywKCQkJ
CQkJCXN0YXJ0cG9zaXRpb24sc3BlZWQsZnJvbSxsZWZ0KTsKCQkJfQoJCQltZW1jcHkocmlnaHQs
bGVmdCxzaXplb2YoZmxvYXQpKmRvU2FtcGxlcyk7CgkJfQoJCWVsc2UgaWYoZnJvbUNoYW5uZWxz
ID09IDIpCgkJewoJCQlpZihmcm9tQml0cyA9PSB1bmlfY29udmVydF9mbG9hdF9uZSkgewoJCQkJ
aW50ZXJwb2xhdGVfc3RlcmVvX2lmbG9hdF8yZmxvYXQoZG9TYW1wbGVzLAoJCQkJCQkJc3RhcnRw
b3NpdGlvbixzcGVlZCwoZmxvYXQgKilmcm9tLGxlZnQscmlnaHQpOwoJCQl9CgkJCWVsc2UgaWYo
ZnJvbUJpdHMgPT0gdW5pX2NvbnZlcnRfczE2X2JlKSB7CgkJCQlpbnRlcnBvbGF0ZV9zdGVyZW9f
aTE2YmVfMmZsb2F0KGRvU2FtcGxlcywKCQkJCQkJCXN0YXJ0cG9zaXRpb24sc3BlZWQsZnJvbSxs
ZWZ0LHJpZ2h0KTsKCQkJfQoJCQllbHNlIGlmKGZyb21CaXRzID09IHVuaV9jb252ZXJ0X3MxNl9s
ZSkgewoJCQkJaW50ZXJwb2xhdGVfc3RlcmVvX2kxNmxlXzJmbG9hdChkb1NhbXBsZXMsCgkJCQkJ
CQlzdGFydHBvc2l0aW9uLHNwZWVkLGZyb20sbGVmdCxyaWdodCk7CgkJCX0KCQkJZWxzZSB7CgkJ
CQlpbnRlcnBvbGF0ZV9zdGVyZW9faThfMmZsb2F0KGRvU2FtcGxlcywKCQkJCQkJCXN0YXJ0cG9z
aXRpb24sc3BlZWQsZnJvbSxsZWZ0LHJpZ2h0KTsKCQkJfQoJCX0gZWxzZSB7CgkJCWFzc2VydChm
YWxzZSk7CgkJfQoJfQoJcmV0dXJuIGRvU2FtcGxlczsKfQoKLy8gdW5kZWZpbmUgYWxsIHRoYXQg
c3R1ZmYgKGR1ZSB0byAtLWVuYWJsZS1maW5hbCkKI3VuZGVmIGNvbXBvc2VfMTZsZQojdW5kZWYg
Y29tcG9zZV8xNmJlCiN1bmRlZiBjb252XzE2X2Zsb2F0CiN1bmRlZiBjb252ZXJ0XzE2bGVfZmxv
YXQKI3VuZGVmIGNvbnZlcnRfMTZiZV9mbG9hdAojdW5kZWYgY29udl84X2Zsb2F0CiN1bmRlZiBj
b252ZXJ0XzhfZmxvYXQKI3VuZGVmIGNvbnZlcnRfZmxvYXRfZmxvYXQKI3VuZGVmIGRhdGF0eXBl
XzE2bGUKI3VuZGVmIGRhdGFzaXplXzE2bGUKI3VuZGVmIGRhdGF0eXBlXzE2YmUKI3VuZGVmIGRh
dGFzaXplXzE2YmUKI3VuZGVmIGRhdGF0eXBlXzgKI3VuZGVmIGRhdGFzaXplXzgKI3VuZGVmIGRh
dGF0eXBlX2Zsb2F0CiN1bmRlZiBkYXRhc2l6ZV9mbG9hdAojdW5kZWYgbWtfY29udmVydGVyCg==


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2001-05-02 12:36 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-05-02 12:36 c++/2717: g++ fails to compile code that should be correct gerald.roth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).