From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: Building on MSYS2 fails Date: Tue, 11 Aug 2020 18:40:16 -0700 Organization: UCLA Computer Science Department Message-ID: <81bd0a4d-1d0b-813c-c745-7203921a894c@cs.ucla.edu> References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------7EEB952A5EA163D3B0FCF3BC" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="4444"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 Cc: Emacs developers To: Juanma Barranquero Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Aug 12 03:41:14 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k5flR-00012o-NQ for ged-emacs-devel@m.gmane-mx.org; Wed, 12 Aug 2020 03:41:13 +0200 Original-Received: from localhost ([::1]:50634 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k5flQ-0004WM-QV for ged-emacs-devel@m.gmane-mx.org; Tue, 11 Aug 2020 21:41:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38078) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k5fkc-00043H-U7 for emacs-devel@gnu.org; Tue, 11 Aug 2020 21:40:22 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:46880) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k5fka-0004x1-Dc for emacs-devel@gnu.org; Tue, 11 Aug 2020 21:40:22 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id D69C3160115; Tue, 11 Aug 2020 18:40:17 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id 6VQn74MMvt7Y; Tue, 11 Aug 2020 18:40:16 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 88F1616011B; Tue, 11 Aug 2020 18:40:16 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id tsmH1-L8mkjd; Tue, 11 Aug 2020 18:40:16 -0700 (PDT) Original-Received: from [192.168.1.9] (cpe-75-82-69-226.socal.res.rr.com [75.82.69.226]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 5E7D9160115; Tue, 11 Aug 2020 18:40:16 -0700 (PDT) Autocrypt: addr=eggert@cs.ucla.edu; prefer-encrypt=mutual; keydata= LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgptUUlOQkV5QWNtUUJFQURB QXlIMnhvVHU3cHBHNUQzYThGTVpFb243NGRDdmM0K3ExWEEySjJ0QnkycHdhVHFmCmhweHhk R0E5Smo1MFVKM1BENGJTVUVnTjh0TFowc2FuNDdsNVhUQUZMaTI0NTZjaVNsNW04c0thSGxH ZHQ5WG0KQUF0bVhxZVpWSVlYL1VGUzk2ZkR6ZjR4aEVtbS95N0xiWUVQUWRVZHh1NDd4QTVL aFRZcDVibHRGM1dZRHoxWQpnZDdneDA3QXV3cDdpdzdlTnZub0RUQWxLQWw4S1lEWnpiRE5D UUdFYnBZM2VmWkl2UGRlSStGV1FONFcra2doCnkrUDZhdTZQcklJaFlyYWV1YTdYRGRiMkxT MWVuM1NzbUUzUWpxZlJxSS9BMnVlOEpNd3N2WGUvV0szOEV6czYKeDc0aVRhcUkzQUZINmls QWhEcXBNbmQvbXNTRVNORnQ3NkRpTzFaS1FNcjlhbVZQa25qZlBtSklTcWRoZ0IxRApsRWR3 MzRzUk9mNlY4bVp3MHhmcVQ2UEtFNDZMY0ZlZnpzMGtiZzRHT1JmOHZqRzJTZjF0azVlVThN Qml5Ti9iClowM2JLTmpOWU1wT0REUVF3dVA4NGtZTGtYMndCeHhNQWhCeHdiRFZadWR6eERa SjFDMlZYdWpDT0pWeHEya2wKakJNOUVUWXVVR3FkNzVBVzJMWHJMdzYrTXVJc0hGQVlBZ1Jy NytLY3dEZ0JBZndoU In-Reply-To: Content-Language: en-US Received-SPF: pass client-ip=131.179.128.68; envelope-from=eggert@cs.ucla.edu; helo=zimbra.cs.ucla.edu X-detected-operating-system: by eggs.gnu.org: First seen = 2020/08/11 19:43:19 X-ACL-Warn: Detected OS = Linux 3.1-3.10 X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:253652 Archived-At: This is a multi-part message in MIME format. --------------7EEB952A5EA163D3B0FCF3BC Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 8/11/20 6:06 PM, Juanma Barranquero wrote: > CC data.o > pdumper.c: In function 'dump_read_all': > pdumper.c:5078:60: error: conversion from 'size_t' {aka 'long long unsigned > int'} to 'unsigned int' may change value [-Werror=conversion] Thanks for reporting that. I've had my eye on those -Wconversion false alarms for some time, and this prompted me to finally get rid of them by installing the attached patch. Another fix would be to retain -Wconversion in pdumper.c and put yet another pair of XXX_IMPLICIT_CONVERSION lines into the code, but the cost of -Wconversion has been less than the benefit for some time, so it's time to omit -Wconversion here. --------------7EEB952A5EA163D3B0FCF3BC Content-Type: text/x-patch; charset=UTF-8; name="0001-Don-t-warn-about-integer-conversion-in-pdumper.c.patch" Content-Disposition: attachment; filename*0="0001-Don-t-warn-about-integer-conversion-in-pdumper.c.patch" Content-Transfer-Encoding: quoted-printable >From 38aeb169dbab779fecdda502552a54c90b5344c3 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 11 Aug 2020 18:35:44 -0700 Subject: [PATCH] =3D?UTF-8?q?Don=3DE2=3D80=3D99t=3D20warn=3D20about=3D20i= nteger=3D20conver?=3D =3D?UTF-8?q?sion=3D20in=3D20pdumper.c?=3D MIME-Version: 1.0 Content-Type: text/plain; charset=3DUTF-8 Content-Transfer-Encoding: 8bit Problem reported by Juanma Barranquero in: https://lists.gnu.org/r/emacs-devel/2020-08/msg00279.html and a similar glitch was reported by Eli Zaretskii (Bug#36597#67). * src/pdumper.c: Remove -Wconversion pragma. (ALLOW_IMPLICIT_CONVERSION, DISALLOW_IMPLICIT_CONVERSION): Remove. All uses removed. Although -Wconversion may have been helpful when writing pdumper.c it is now causing more trouble than it=E2=80=99s worth here (just as in the rest of Emacs). (dump_read_all): Avoid no-longer-necessary use of =E2=80=98size_t=E2=80=99 rather than =E2=80=98int=E2=80=99. --- src/pdumper.c | 39 +++------------------------------------ 1 file changed, 3 insertions(+), 36 deletions(-) diff --git a/src/pdumper.c b/src/pdumper.c index 7708bc892f..bc41afc7c5 100644 --- a/src/pdumper.c +++ b/src/pdumper.c @@ -71,17 +71,7 @@ #ifdef HAVE_PDUMPER =20 #if GNUC_PREREQ (4, 7, 0) -# pragma GCC diagnostic error "-Wconversion" -# pragma GCC diagnostic ignored "-Wsign-conversion" # pragma GCC diagnostic error "-Wshadow" -# define ALLOW_IMPLICIT_CONVERSION \ - _Pragma ("GCC diagnostic push") \ - _Pragma ("GCC diagnostic ignored \"-Wconversion\"") -# define DISALLOW_IMPLICIT_CONVERSION \ - _Pragma ("GCC diagnostic pop") -#else -# define ALLOW_IMPLICIT_CONVERSION ((void) 0) -# define DISALLOW_IMPLICIT_CONVERSION ((void) 0) #endif =20 #define VM_POSIX 1 @@ -316,9 +306,7 @@ dump_reloc_get_offset (struct dump_reloc reloc) dump_reloc_set_offset (struct dump_reloc *reloc, dump_off offset) { eassert (offset >=3D 0); - ALLOW_IMPLICIT_CONVERSION; reloc->raw_offset =3D offset >> DUMP_RELOC_ALIGNMENT_BITS; - DISALLOW_IMPLICIT_CONVERSION; if (dump_reloc_get_offset (*reloc) !=3D offset) error ("dump relocation out of range"); } @@ -744,10 +732,7 @@ dump_off_from_lisp (Lisp_Object value) { intmax_t n =3D intmax_t_from_lisp (value); eassert (DUMP_OFF_MIN <=3D n && n <=3D DUMP_OFF_MAX); - ALLOW_IMPLICIT_CONVERSION; - dump_off converted =3D n; - DISALLOW_IMPLICIT_CONVERSION; - return converted; + return n; } =20 static Lisp_Object @@ -1994,11 +1979,7 @@ #define START_DUMP_PVEC(ctx, hdr, type, out) = \ finish_dump_pvec (struct dump_context *ctx, union vectorlike_header *out_hdr) { - ALLOW_IMPLICIT_CONVERSION; - dump_off result =3D dump_object_finish (ctx, out_hdr, - vectorlike_nbytes (out_hdr)); - DISALLOW_IMPLICIT_CONVERSION; - return result; + return dump_object_finish (ctx, out_hdr, vectorlike_nbytes (out_hdr)); } =20 static void @@ -2664,9 +2645,7 @@ hash_table_freeze (struct Lisp_Hash_Table *h) hash_table_thaw (Lisp_Object hash) { struct Lisp_Hash_Table *h =3D XHASH_TABLE (hash); - ALLOW_IMPLICIT_CONVERSION; h->hash =3D make_nil_vector (XFIXNUM (h->hash)); - DISALLOW_IMPLICIT_CONVERSION; h->next =3D Fmake_vector (h->next, make_fixnum (-1)); h->index =3D Fmake_vector (h->index, make_fixnum (-1)); =20 @@ -3298,9 +3277,7 @@ dump_cold_string (struct dump_context *ctx, Lisp_Ob= ject string) dump_cold_charset (struct dump_context *ctx, Lisp_Object data) { /* Dump charset lookup tables. */ - ALLOW_IMPLICIT_CONVERSION; int cs_i =3D XFIXNUM (XCAR (data)); - DISALLOW_IMPLICIT_CONVERSION; dump_off cs_dump_offset =3D dump_off_from_lisp (XCDR (data)); dump_remember_fixup_ptr_raw (ctx, @@ -3608,9 +3585,7 @@ dump_check_overlap_dump_reloc (Lisp_Object lreloc_a= , decode_emacs_reloc (struct dump_context *ctx, Lisp_Object lreloc) { struct emacs_reloc reloc =3D {0}; - ALLOW_IMPLICIT_CONVERSION; int type =3D XFIXNUM (dump_pop (&lreloc)); - DISALLOW_IMPLICIT_CONVERSION; reloc.emacs_offset =3D dump_off_from_lisp (dump_pop (&lreloc)); dump_check_emacs_off (reloc.emacs_offset); switch (type) @@ -3621,9 +3596,7 @@ decode_emacs_reloc (struct dump_context *ctx, Lisp_= Object lreloc) reloc.u.dump_offset =3D dump_off_from_lisp (dump_pop (&lreloc)); dump_check_dump_off (ctx, reloc.u.dump_offset); dump_off length =3D dump_off_from_lisp (dump_pop (&lreloc)); - ALLOW_IMPLICIT_CONVERSION; reloc.length =3D length; - DISALLOW_IMPLICIT_CONVERSION; if (reloc.length !=3D length) error ("relocation copy length too large"); } @@ -3634,9 +3607,7 @@ decode_emacs_reloc (struct dump_context *ctx, Lisp_= Object lreloc) intmax_t value =3D intmax_t_from_lisp (dump_pop (&lreloc)); dump_off size =3D dump_off_from_lisp (dump_pop (&lreloc)); reloc.u.immediate =3D value; - ALLOW_IMPLICIT_CONVERSION; reloc.length =3D size; - DISALLOW_IMPLICIT_CONVERSION; eassert (reloc.length =3D=3D size); } break; @@ -3661,9 +3632,7 @@ decode_emacs_reloc (struct dump_context *ctx, Lisp_= Object lreloc) RELOC_EMACS_IMMEDIATE relocation instead. */ eassert (!dump_object_self_representing_p (target_value)); int tag_type =3D XTYPE (target_value); - ALLOW_IMPLICIT_CONVERSION; reloc.length =3D tag_type; - DISALLOW_IMPLICIT_CONVERSION; eassert (reloc.length =3D=3D tag_type); =20 if (type =3D=3D RELOC_EMACS_EMACS_LV) @@ -3738,9 +3707,7 @@ dump_merge_emacs_relocs (Lisp_Object lreloc_a, Lisp= _Object lreloc_b) return Qnil; =20 dump_off new_length =3D reloc_a.length + reloc_b.length; - ALLOW_IMPLICIT_CONVERSION; reloc_a.length =3D new_length; - DISALLOW_IMPLICIT_CONVERSION; if (reloc_a.length !=3D new_length) return Qnil; /* Overflow */ =20 @@ -5074,7 +5041,7 @@ dump_read_all (int fd, void *buf, size_t bytes_to_r= ead) /* Some platforms accept only int-sized values to read. Round this down to a page size (see MAX_RW_COUNT in sysdep.c). = */ int max_rw_count =3D INT_MAX >> 18 << 18; - size_t chunk_to_read =3D min (bytes_to_read - bytes_read, max_rw_c= ount); + int chunk_to_read =3D min (bytes_to_read - bytes_read, max_rw_coun= t); ssize_t chunk =3D read (fd, (char *) buf + bytes_read, chunk_to_re= ad); if (chunk < 0) return chunk; --=20 2.17.1 --------------7EEB952A5EA163D3B0FCF3BC--