delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2017/07/06/09:07:49

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_--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019