delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
DomainKey-Signature: | a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id |
:list-unsubscribe:list-subscribe:list-archive:list-post | |
:list-help:sender:from:to:subject:date:message-id:content-type | |
:mime-version; q=dns; s=default; b=SlUW2xHZWgqnKmiRFQBActrZ7Ti5q | |
N3ewWRI7EPKQUGmpfTbiKvB5Qk9t2fme2yRs99z94WCaNjSYhRU7sPnjPz7yDfsf | |
sKAI/Ol4dhwgZ8mUGS26zLSgu43Ith3sux2GOXudMkdzoVpZTJZ15KDQUvNtt3Cw | |
M+bf/Lt1UC7Lto= | |
DKIM-Signature: | v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id |
:list-unsubscribe:list-subscribe:list-archive:list-post | |
:list-help:sender:from:to:subject:date:message-id:content-type | |
:mime-version; s=default; bh=0VY4SdI30tyiXSUZL31MzL4TdIg=; b=g5p | |
zFindsRDz2viNV86ALeCn9M+UKkN/dHbwvJTUgy4bMD0rWKwkZLi1qLIp51YI5iG | |
5Fb+ibcFA9QeTXc6UUftIdgooq2OZQXYahLAk6EOcG0CmNHYu0qUktlQffHNQL+U | |
m+fNdZKDRcQ7XwHdMvjw1rT6iS7jmcTJlRMwFeus= | |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Id: | <cygwin.cygwin.com> |
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
List-Archive: | <http://sourceware.org/ml/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
Sender: | cygwin-owner AT cygwin DOT com |
Mail-Followup-To: | cygwin AT cygwin DOT com |
Delivered-To: | mailing list cygwin AT cygwin DOT com |
Authentication-Results: | sourceware.org; auth=none |
X-Virus-Found: | No |
X-Spam-SWARE-Status: | No, score=0.1 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD autolearn=no version=3.3.2 spammy=H*r:0200, 10004, H*c:HHH |
X-HELO: | inari-msr.crf.canon.fr |
From: | TANNHAUSER Falk <Falk DOT Tannhauser AT crf DOT canon DOT fr> |
To: | "cygwin AT cygwin DOT com" <cygwin AT cygwin DOT com> |
Subject: | [GCC] C++ program calling std::getline() crashes with certain compilation flags |
Date: | Thu, 6 Jul 2017 13:07:26 +0000 |
Message-ID: | <80757ab8baa6434a8c56104c0ebfe803@Antiope.crf.canon.fr> |
MIME-Version: | 1.0 |
X-IsSubscribed: | yes |
--_003_80757ab8baa6434a8c56104c0ebfe803Antiopecrfcanonfr_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable The following C++ program crashes when compiled with GCC (both 5.4 and 6.3)= under Cygwin, when compiled with both an optimization level higher than -O= 0 (i.e. -O1, -O2 or -O3) and the C++ standard set to -std=3Dc++nn (for any = supported nn, i.e. 98, 03, 11, 14 or 17): ``` #include <iostream> #include <string> int main() { std::string s; std::getline(std::cin, s); std::cout << "You entered \"" << s << "\".\n"; return 0; } ``` On the other hand, when compiled with -std=3Dgnu++nn or -O0, the program ex= ecutes normally. For details, run the attached Bash script test_getline.sh,= which produces the output contained in the attached file test_getline_Cygw= in.txt . No similar problem shows with GCC under Linux. It looks similar to the problem reported in https://cygwin.com/ml/cygwin/20= 17-07/msg00088.html which appears to be circumvented by passing -std=3Dgnu+= +11 instead of -std=3Dc++11. Under GDB, a faulty executable produces a message like: ``` Thread 1 "test_getline" received signal SIGABRT, Aborted. 0x00000003bf12576b in cygstdc++-6!_ZNSs7reserveEm () from /usr/bin/cygstdc+= +-6.dll ``` Un-mangling _ZNSs7reserveEm through c++filt gives std::basic_string<char, std::char_traits<char>, std::allocator<char> >::res= erve(unsigned long) Falk --_003_80757ab8baa6434a8c56104c0ebfe803Antiopecrfcanonfr_ Content-Type: text/plain; name="test_getline_Cygwin.txt" Content-Description: test_getline_Cygwin.txt Content-Disposition: attachment; filename="test_getline_Cygwin.txt"; size=3710; creation-date="Thu, 06 Jul 2017 07:55:47 GMT"; modification-date="Thu, 06 Jul 2017 07:56:45 GMT" Content-Transfer-Encoding: base64 Q1lHV0lOX05ULTYuMSBndWFtIDIuOC4xKDAuMzEyLzUvMykgMjAxNy0wNy0w MyAxNDoxMSB4ODZfNjQgQ3lnd2luCmcrKyAoR0NDKSA2LjMuMApDb3B5cmln aHQgKEMpIDIwMTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRo aXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlp bmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PCndhcnJhbnR5OyBub3QgZXZl biBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLgoKIyMjIC1zdGQ9YysrOTggLU8wICMjIzogWW91IGVu dGVyZWQgIi8vIExldCdzIHNlZSBpZiBpdCB3b3Jrcy4uLiIuCiMjIyAtc3Rk PWMrKzk4IC1PMSAjIyM6IC4vdGVzdF9nZXRsaW5lLnNoOiBsaW5lIDE4OiAg Mzc0NCBBYm9ydGVkIChjb3JlIGR1bXBlZCkgLi90ZXN0X2dldGxpbmUgPCB0 ZXN0X2dldGxpbmUuY3h4CiMjIyAtc3RkPWMrKzk4IC1PMiAjIyM6IC4vdGVz dF9nZXRsaW5lLnNoOiBsaW5lIDE4OiAgMjUxNiBBYm9ydGVkIChjb3JlIGR1 bXBlZCkgLi90ZXN0X2dldGxpbmUgPCB0ZXN0X2dldGxpbmUuY3h4CiMjIyAt c3RkPWMrKzk4IC1PMyAjIyM6IC4vdGVzdF9nZXRsaW5lLnNoOiBsaW5lIDE4 OiAxMDAwNCBBYm9ydGVkIChjb3JlIGR1bXBlZCkgLi90ZXN0X2dldGxpbmUg PCB0ZXN0X2dldGxpbmUuY3h4CiMjIyAtc3RkPWMrKzAzIC1PMCAjIyM6IFlv dSBlbnRlcmVkICIvLyBMZXQncyBzZWUgaWYgaXQgd29ya3MuLi4iLgojIyMg LXN0ZD1jKyswMyAtTzEgIyMjOiAuL3Rlc3RfZ2V0bGluZS5zaDogbGluZSAx ODogMTAyMjggQWJvcnRlZCAoY29yZSBkdW1wZWQpIC4vdGVzdF9nZXRsaW5l IDwgdGVzdF9nZXRsaW5lLmN4eAojIyMgLXN0ZD1jKyswMyAtTzIgIyMjOiAu L3Rlc3RfZ2V0bGluZS5zaDogbGluZSAxODogIDY1NTIgQWJvcnRlZCAoY29y ZSBkdW1wZWQpIC4vdGVzdF9nZXRsaW5lIDwgdGVzdF9nZXRsaW5lLmN4eAoj IyMgLXN0ZD1jKyswMyAtTzMgIyMjOiAuL3Rlc3RfZ2V0bGluZS5zaDogbGlu ZSAxODogIDkzNDggQWJvcnRlZCAoY29yZSBkdW1wZWQpIC4vdGVzdF9nZXRs aW5lIDwgdGVzdF9nZXRsaW5lLmN4eAojIyMgLXN0ZD1jKysxMSAtTzAgIyMj OiBZb3UgZW50ZXJlZCAiLy8gTGV0J3Mgc2VlIGlmIGl0IHdvcmtzLi4uIi4K IyMjIC1zdGQ9YysrMTEgLU8xICMjIzogLi90ZXN0X2dldGxpbmUuc2g6IGxp bmUgMTg6ICA5ODA4IEFib3J0ZWQgKGNvcmUgZHVtcGVkKSAuL3Rlc3RfZ2V0 bGluZSA8IHRlc3RfZ2V0bGluZS5jeHgKIyMjIC1zdGQ9YysrMTEgLU8yICMj IzogLi90ZXN0X2dldGxpbmUuc2g6IGxpbmUgMTg6ICA5OTEyIEFib3J0ZWQg KGNvcmUgZHVtcGVkKSAuL3Rlc3RfZ2V0bGluZSA8IHRlc3RfZ2V0bGluZS5j eHgKIyMjIC1zdGQ9YysrMTEgLU8zICMjIzogLi90ZXN0X2dldGxpbmUuc2g6 IGxpbmUgMTg6ICA5OTA0IEFib3J0ZWQgKGNvcmUgZHVtcGVkKSAuL3Rlc3Rf Z2V0bGluZSA8IHRlc3RfZ2V0bGluZS5jeHgKIyMjIC1zdGQ9YysrMTQgLU8w ICMjIzogWW91IGVudGVyZWQgIi8vIExldCdzIHNlZSBpZiBpdCB3b3Jrcy4u LiIuCiMjIyAtc3RkPWMrKzE0IC1PMSAjIyM6IC4vdGVzdF9nZXRsaW5lLnNo OiBsaW5lIDE4OiAxMDA0MCBBYm9ydGVkIChjb3JlIGR1bXBlZCkgLi90ZXN0 X2dldGxpbmUgPCB0ZXN0X2dldGxpbmUuY3h4CiMjIyAtc3RkPWMrKzE0IC1P MiAjIyM6IC4vdGVzdF9nZXRsaW5lLnNoOiBsaW5lIDE4OiAgOTM4MCBBYm9y dGVkIChjb3JlIGR1bXBlZCkgLi90ZXN0X2dldGxpbmUgPCB0ZXN0X2dldGxp bmUuY3h4CiMjIyAtc3RkPWMrKzE0IC1PMyAjIyM6IC4vdGVzdF9nZXRsaW5l LnNoOiBsaW5lIDE4OiAgNjIyNCBBYm9ydGVkIChjb3JlIGR1bXBlZCkgLi90 ZXN0X2dldGxpbmUgPCB0ZXN0X2dldGxpbmUuY3h4CiMjIyAtc3RkPWMrKzE3 IC1PMCAjIyM6IFlvdSBlbnRlcmVkICIvLyBMZXQncyBzZWUgaWYgaXQgd29y a3MuLi4iLgojIyMgLXN0ZD1jKysxNyAtTzEgIyMjOiAuL3Rlc3RfZ2V0bGlu ZS5zaDogbGluZSAxODogIDE0NzYgQWJvcnRlZCAoY29yZSBkdW1wZWQpIC4v dGVzdF9nZXRsaW5lIDwgdGVzdF9nZXRsaW5lLmN4eAojIyMgLXN0ZD1jKysx NyAtTzIgIyMjOiAuL3Rlc3RfZ2V0bGluZS5zaDogbGluZSAxODogIDk1NzIg QWJvcnRlZCAoY29yZSBkdW1wZWQpIC4vdGVzdF9nZXRsaW5lIDwgdGVzdF9n ZXRsaW5lLmN4eAojIyMgLXN0ZD1jKysxNyAtTzMgIyMjOiAuL3Rlc3RfZ2V0 bGluZS5zaDogbGluZSAxODogMTAxNTIgQWJvcnRlZCAoY29yZSBkdW1wZWQp IC4vdGVzdF9nZXRsaW5lIDwgdGVzdF9nZXRsaW5lLmN4eAojIyMgLXN0ZD1n bnUrKzk4IC1PMCAjIyM6IFlvdSBlbnRlcmVkICIvLyBMZXQncyBzZWUgaWYg aXQgd29ya3MuLi4iLgojIyMgLXN0ZD1nbnUrKzk4IC1PMSAjIyM6IFlvdSBl bnRlcmVkICIvLyBMZXQncyBzZWUgaWYgaXQgd29ya3MuLi4iLgojIyMgLXN0 ZD1nbnUrKzk4IC1PMiAjIyM6IFlvdSBlbnRlcmVkICIvLyBMZXQncyBzZWUg aWYgaXQgd29ya3MuLi4iLgojIyMgLXN0ZD1nbnUrKzk4IC1PMyAjIyM6IFlv dSBlbnRlcmVkICIvLyBMZXQncyBzZWUgaWYgaXQgd29ya3MuLi4iLgojIyMg LXN0ZD1nbnUrKzAzIC1PMCAjIyM6IFlvdSBlbnRlcmVkICIvLyBMZXQncyBz ZWUgaWYgaXQgd29ya3MuLi4iLgojIyMgLXN0ZD1nbnUrKzAzIC1PMSAjIyM6 IFlvdSBlbnRlcmVkICIvLyBMZXQncyBzZWUgaWYgaXQgd29ya3MuLi4iLgoj IyMgLXN0ZD1nbnUrKzAzIC1PMiAjIyM6IFlvdSBlbnRlcmVkICIvLyBMZXQn cyBzZWUgaWYgaXQgd29ya3MuLi4iLgojIyMgLXN0ZD1nbnUrKzAzIC1PMyAj IyM6IFlvdSBlbnRlcmVkICIvLyBMZXQncyBzZWUgaWYgaXQgd29ya3MuLi4i LgojIyMgLXN0ZD1nbnUrKzExIC1PMCAjIyM6IFlvdSBlbnRlcmVkICIvLyBM ZXQncyBzZWUgaWYgaXQgd29ya3MuLi4iLgojIyMgLXN0ZD1nbnUrKzExIC1P MSAjIyM6IFlvdSBlbnRlcmVkICIvLyBMZXQncyBzZWUgaWYgaXQgd29ya3Mu Li4iLgojIyMgLXN0ZD1nbnUrKzExIC1PMiAjIyM6IFlvdSBlbnRlcmVkICIv LyBMZXQncyBzZWUgaWYgaXQgd29ya3MuLi4iLgojIyMgLXN0ZD1nbnUrKzEx IC1PMyAjIyM6IFlvdSBlbnRlcmVkICIvLyBMZXQncyBzZWUgaWYgaXQgd29y a3MuLi4iLgojIyMgLXN0ZD1nbnUrKzE0IC1PMCAjIyM6IFlvdSBlbnRlcmVk ICIvLyBMZXQncyBzZWUgaWYgaXQgd29ya3MuLi4iLgojIyMgLXN0ZD1nbnUr KzE0IC1PMSAjIyM6IFlvdSBlbnRlcmVkICIvLyBMZXQncyBzZWUgaWYgaXQg d29ya3MuLi4iLgojIyMgLXN0ZD1nbnUrKzE0IC1PMiAjIyM6IFlvdSBlbnRl cmVkICIvLyBMZXQncyBzZWUgaWYgaXQgd29ya3MuLi4iLgojIyMgLXN0ZD1n bnUrKzE0IC1PMyAjIyM6IFlvdSBlbnRlcmVkICIvLyBMZXQncyBzZWUgaWYg aXQgd29ya3MuLi4iLgojIyMgLXN0ZD1nbnUrKzE3IC1PMCAjIyM6IFlvdSBl bnRlcmVkICIvLyBMZXQncyBzZWUgaWYgaXQgd29ya3MuLi4iLgojIyMgLXN0 ZD1nbnUrKzE3IC1PMSAjIyM6IFlvdSBlbnRlcmVkICIvLyBMZXQncyBzZWUg aWYgaXQgd29ya3MuLi4iLgojIyMgLXN0ZD1nbnUrKzE3IC1PMiAjIyM6IFlv dSBlbnRlcmVkICIvLyBMZXQncyBzZWUgaWYgaXQgd29ya3MuLi4iLgojIyMg LXN0ZD1nbnUrKzE3IC1PMyAjIyM6IFlvdSBlbnRlcmVkICIvLyBMZXQncyBz ZWUgaWYgaXQgd29ya3MuLi4iLgo= --_003_80757ab8baa6434a8c56104c0ebfe803Antiopecrfcanonfr_ Content-Type: application/octet-stream; name="test_getline.sh" Content-Description: test_getline.sh Content-Disposition: attachment; filename="test_getline.sh"; size=587; creation-date="Thu, 06 Jul 2017 06:49:50 GMT"; modification-date="Thu, 06 Jul 2017 07:55:07 GMT" Content-Transfer-Encoding: base64 Y2F0IDw8RU9GID4gdGVzdF9nZXRsaW5lLmN4eAovLyBMZXQncyBzZWUgaWYg aXQgd29ya3MuLi4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3Ry aW5nPgppbnQgbWFpbigpCnsKICAgIHN0ZDo6c3RyaW5nIHM7CiAgICBzdGQ6 OmdldGxpbmUoc3RkOjpjaW4sIHMpOwogICAgc3RkOjpjb3V0IDw8ICJZb3Ug ZW50ZXJlZCBcIiIgPDwgcyA8PCAiXCIuXG4iOwogICAgcmV0dXJuIDA7Cn0K RU9GCgp1bmFtZSAtYQpnKysgLS12ZXJzaW9uCgpmb3Igc3RkIGluIGMrKzk4 IGMrKzAzIGMrKzExIGMrKzE0IGMrKzE3IGdudSsrOTggZ251KyswMyBnbnUr KzExIGdudSsrMTQgZ251KysxNyA7IGRvCiAgICBmb3Igb3B0IGluIDAgMSAy IDMgOyBkbwogICAgICAgIGVjaG8gLW4gIiMjIyAtc3RkPSR7c3RkfSAtTyR7 b3B0fSAjIyM6ICIKICAgICAgICBnKysgLVdhbGwgLVdleHRyYSAtc3RkPSR7 c3RkfSAtTyR7b3B0fSB0ZXN0X2dldGxpbmUuY3h4IC1vIHRlc3RfZ2V0bGlu ZSAmJgogICAgICAgICAgICAuL3Rlc3RfZ2V0bGluZSA8IHRlc3RfZ2V0bGlu ZS5jeHgKICAgIGRvbmUKZG9uZSAyPiYxIHwgc2VkICdzfCBcezUsXH18IHxn Jwo= --_003_80757ab8baa6434a8c56104c0ebfe803Antiopecrfcanonfr_ Content-Type: text/plain; charset=us-ascii -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple --_003_80757ab8baa6434a8c56104c0ebfe803Antiopecrfcanonfr_--
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |