delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2008/10/31/08:27:24

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
X-Authority-Analysis: v=1.0 c=1 a=xe8BsctaAAAA:8 a=dCISdYV4BuRiWuu38CAA:9 a=UmjJ2o_laxScYyURzcQA:7 a=eZadDxWo66LzJkyfiepWmYCMKlQA:4 a=eDFNAWYWrCwA:10 a=rPt6xJ-oxjAA:10
Message-ID: <490B078B.9030007@byu.net>
Date: Fri, 31 Oct 2008 07:26:35 -0600
From: Eric Blake <ebb9 AT byu DOT net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.17) Gecko/20080914 Thunderbird/2.0.0.17 Mnenhy/0.7.5.666
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: cygwin g++ strictness
References: <000201c93ac7$38265930$4001a8c0 AT mycomputer> <490A30C8 DOT 5000107 AT sh DOT cvut DOT cz> <001601c93b31$a961b940$4001a8c0 AT mycomputer> <003e01c93b42$e92a17a0$4001a8c0 AT mycomputer> <490AE8A0 DOT 8090009 AT sh DOT cvut DOT cz> <001a01c93b4d$617de150$4001a8c0 AT mycomputer> <490AF1E3 DOT 3020308 AT sh DOT cvut DOT cz> <007401c93b56$ebcfa510$4001a8c0 AT mycomputer> <490B0084 DOT 1070803 AT sh DOT cvut DOT cz> <008a01c93b5a$9338d300$4001a8c0 AT mycomputer>
In-Reply-To: <008a01c93b5a$9338d300$4001a8c0@mycomputer>
X-IsSubscribed: yes
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

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to John Emmas on 10/31/2008 7:14 AM:
> On Cygwin, '/usr/include/stdint.h' typedefs int32_t as long.  The same file
> on my Linux partition typedefs it to int.  I must admit, I don't know what
> to do now.....  :-(
> 
> Is there a simple solution to this?

Both implementations comply with POSIX - your code is buggy for assuming
that int32_t can be converted without casts to either long or int (for
that matter, it is theoretically possible that int32_t could be a
completely distinct type from either int or long, although I don't know of
any such platform).

But yes, it might be nice if cygwin used the same type as Linux, as we
claim to strive for Linux source compatibility.  However, changing it now
would be changing the C++ ABI, with far-reaching effects (anything in C++
that involves a mangled name would change what the function name is, which
will in turn cause link errors if you mix code pre-change and post-change
that expect different function names).  On the other hand, gcc 4 may
already be causing ABI changes, so maybe this would be appropriate as part
of the switch to gcc 4 and cygwin 1.7.0?

- --
Don't work too hard, make some time for fun as well!

Eric Blake             ebb9 AT byu DOT net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkkLB4sACgkQ84KuGfSFAYCD3gCgwXa1C5W55LSXmHSYmhYs7TiQ
FHYAn3WMNVs6zIBjkuLPhbtMznRdASHB
=amZ/
-----END PGP SIGNATURE-----

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


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