From: Richard Earnshaw <Richard.Earnshaw@foss.arm.com>
To: Florian Weimer <fweimer@redhat.com>, tobias@codesourcery.com
Cc: gcc-patches@gcc.gnu.org
Subject: Re: [PATCH v3 10/11] c: Turn -Wincompatible-pointer-types into a permerror
Date: Tue, 5 Dec 2023 10:11:41 +0000 [thread overview]
Message-ID: <26503180-6b5a-47a2-ba6f-01c3fda30cd9@foss.arm.com> (raw)
In-Reply-To: <87zfypvv6t.fsf@oldenburg.str.redhat.com>
On 05/12/2023 09:46, Florian Weimer wrote:
> * Richard Earnshaw:
>
>> (I think it's this patch, not one of the others in the series).
>>
>> This breaks building libgfortran with newlib on arm and aarch64:
>>
>>
>> /work/rearnsha/gnusrc/nightly/gcc-cross/master/libgfortran/io/list_read.c:2208:46:
>> error: pointer type mismatch in conditional expression
>> [-Wincompatible-pointer-types]
>> 2208 | dtp->common.iostat : &noiostat;
>> | ^
>> /work/rearnsha/gnusrc/nightly/gcc-cross/master/libgfortran/io/list_read.c:2208:27:
>> note: first expression has type ‘GFC_INTEGER_4 *’ {aka ‘long int *’}
>> 2208 | dtp->common.iostat : &noiostat;
>> | ^~~~~~~~~~~~~~~~~~
>> /work/rearnsha/gnusrc/nightly/gcc-cross/master/libgfortran/io/list_read.c:2208:48:
>> note: second expression has type ‘int *’
>> 2208 | dtp->common.iostat : &noiostat;
>> | ^~~~~~~~~
>> /work/rearnsha/gnusrc/nightly/gcc-cross/master/libgfortran/io/list_read.c:2224:34:
>> error: passing argument 2 of ‘dtp->u.p.fdtio_ptr’ from incompatible
>> pointer type [-Wincompatible-pointer-types]
>> 2224 | dtp->u.p.fdtio_ptr (p, &unit, iotype, &vlist,
>> | ^~~~~
>> | |
>> | int *
>> /work/rearnsha/gnusrc/nightly/gcc-cross/master/libgfortran/io/list_read.c:2224:34:
>> note: expected ‘GFC_INTEGER_4 *’ {aka ‘long int *’} but argument is of
>> type ‘int *’
>> /work/rearnsha/gnusrc/nightly/gcc-cross/master/libgfortran/io/list_read.c:2225:31:
>> error: passing argument 5 of ‘dtp->u.p.fdtio_ptr’ from incompatible
>> pointer type [-Wincompatible-pointer-types]
>> 2225 | child_iostat, child_iomsg,
>> | ^~~~~~~~~~~~
>> | |
>> | int *
>> /work/rearnsha/gnusrc/nightly/gcc-cross/master/libgfortran/io/list_read.c:2225:31:
>> note: expected ‘GFC_INTEGER_4 *’ {aka ‘long int *’} but argument is of
>> type ‘int *’
>
> Presumably the fixes will look like this?
>
> diff --git a/libgfortran/io/list_read.c b/libgfortran/io/list_read.c
> index db3330060ce..4fcc77dbf83 100644
> --- a/libgfortran/io/list_read.c
> +++ b/libgfortran/io/list_read.c
> @@ -2987,13 +2987,13 @@ nml_read_obj (st_parameter_dt *dtp, namelist_info *nl, index_type offset,
> /* If this object has a User Defined procedure, call it. */
> if (nl->dtio_sub != NULL)
> {
> - int unit = dtp->u.p.current_unit->unit_number;
> + GFC_INTEGER_4 unit = dtp->u.p.current_unit->unit_number;
> char iotype[] = "NAMELIST";
> gfc_charlen_type iotype_len = 8;
> char tmp_iomsg[IOMSG_LEN] = "";
> char *child_iomsg;
> gfc_charlen_type child_iomsg_len;
> - int noiostat;
> + GFC_INTEGER_4 noiostat;
> int *child_iostat = NULL;
> gfc_full_array_i4 vlist;
> formatted_dtio dtio_ptr = (formatted_dtio)nl->dtio_sub;
>
>
> Apparently the targets I built define GFC_INTEGER_4 as int, so this
> didn't show up.
It looks reasonable to me, but I'm not a real user of libgfortran, so
there's possibly something more subtle that I've missed (I can't even
guarantee I copied all of the errors from the build log).
I've copied Tobias as a fortran maintainer, but I don't know if this is
his forte either, though perhaps he might know who's it is.
R.
>
> Thanks,
> Florian
>
next prev parent reply other threads:[~2023-12-05 10:11 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-20 9:55 [PATCH v3 00/11] : More warnings as errors by default Florian Weimer
2023-11-20 9:55 ` [PATCH v3 01/11] aarch64: Avoid -Wincompatible-pointer-types warning in Linux unwinder Florian Weimer
2023-11-22 23:24 ` Joseph Myers
2023-11-20 9:55 ` [PATCH v3 02/11] aarch64: Call named function in gcc.target/aarch64/aapcs64/ice_1.c Florian Weimer
2023-11-22 23:25 ` Joseph Myers
2023-11-20 9:55 ` [PATCH v3 03/11] gm2: Add missing declaration of m2pim_M2RTS_Terminate to test Florian Weimer
2023-11-22 23:28 ` Joseph Myers
2023-11-20 9:56 ` [PATCH v3 04/11] Add tests for validating future C permerrors Florian Weimer
2023-11-30 17:31 ` Marek Polacek
2023-11-30 17:37 ` Florian Weimer
2023-11-30 17:39 ` Marek Polacek
2023-11-30 18:25 ` Jakub Jelinek
2023-11-20 9:56 ` [PATCH v3 05/11] c: Turn int-conversion warnings into permerrors Florian Weimer
2023-11-30 19:04 ` Marek Polacek
2023-11-30 19:46 ` Florian Weimer
2023-11-20 9:56 ` [PATCH v3 06/11] c: Turn -Wimplicit-function-declaration into a permerror Florian Weimer
2023-11-30 19:15 ` Marek Polacek
2023-12-01 15:54 ` c: Turn -Wimplicit-function-declaration into a permerror: Fix 'gcc.dg/gnu23-builtins-no-dfp-1.c' (was: [PATCH v3 06/11] c: Turn -Wimplicit-function-declaration into a permerror) Thomas Schwinge
2023-12-03 5:55 ` [committed] Fix gnu23-builtins-no-dfp Jeff Law
2023-12-03 7:41 ` Florian Weimer
2023-12-03 12:23 ` Thomas Schwinge
2023-12-03 20:57 ` Jeff Law
2023-12-05 9:31 ` [v2] c: Turn -Wimplicit-function-declaration into a permerror: Fix 'gcc.dg/gnu23-builtins-no-dfp-1.c' (was: [committed] Fix gnu23-builtins-no-dfp) Thomas Schwinge
2024-04-09 11:40 ` [PATCH v3 06/11] c: Turn -Wimplicit-function-declaration into a permerror Sebastian Huber
2024-04-09 12:10 ` Sam James
2024-04-09 12:26 ` Sebastian Huber
2024-04-09 12:56 ` Sam James
2023-11-20 9:56 ` [PATCH v3 07/11] c: Turn -Wimplicit-int " Florian Weimer
2023-11-30 19:48 ` Marek Polacek
2023-11-20 9:56 ` [PATCH v3 08/11] c: Do not ignore some forms of -Wimplicit-int in system headers Florian Weimer
2023-11-30 19:53 ` Marek Polacek
2023-11-20 9:56 ` [PATCH v3 09/11] c: Turn -Wreturn-mismatch into a permerror Florian Weimer
2023-11-23 17:32 ` Marek Polacek
2023-11-23 18:22 ` Florian Weimer
2023-11-30 16:17 ` Marek Polacek
2023-11-20 9:56 ` [PATCH v3 10/11] c: Turn -Wincompatible-pointer-types " Florian Weimer
2023-11-30 20:47 ` Marek Polacek
2023-11-30 21:02 ` Marek Polacek
2023-11-30 21:11 ` Florian Weimer
2023-11-30 21:15 ` Marek Polacek
2023-11-30 21:23 ` Jakub Jelinek
2023-11-30 21:27 ` Florian Weimer
2023-11-30 21:30 ` Jakub Jelinek
2023-11-30 21:36 ` Marek Polacek
2023-12-10 19:23 ` Jason Merrill
2023-12-05 9:37 ` Richard Earnshaw
2023-12-05 9:46 ` Florian Weimer
2023-12-05 10:11 ` Richard Earnshaw [this message]
2023-12-05 10:33 ` [PATCH] libgfortran: Fix -Wincompatible-pointer-types errors Jakub Jelinek
2023-12-05 10:47 ` Richard Earnshaw
2023-12-05 10:51 ` Jakub Jelinek
2023-12-05 10:57 ` Richard Earnshaw
2023-12-05 10:59 ` Jakub Jelinek
2023-12-05 17:35 ` Richard Earnshaw
2023-12-05 11:00 ` Florian Weimer
2023-12-05 13:35 ` Tobias Burnus
2023-12-06 12:04 ` [PATCH v3 10/11] c: Turn -Wincompatible-pointer-types into a permerror Prathamesh Kulkarni
2023-12-06 12:12 ` Florian Weimer
2023-11-20 9:56 ` [PATCH v3 11/11] c: Add new -Wdeclaration-missing-parameter-type permerror Florian Weimer
2023-11-20 19:12 ` Eric Gallager
2023-11-20 19:32 ` Florian Weimer
2023-11-30 21:10 ` Marek Polacek
2023-12-11 9:11 ` Florian Weimer
2023-11-23 0:54 ` [PATCH v3 00/11] : More warnings as errors by default Jeff Law
2023-11-23 1:04 ` Florian Weimer
2023-11-27 20:23 ` Sam James
2023-11-30 21:35 ` Florian Weimer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=26503180-6b5a-47a2-ba6f-01c3fda30cd9@foss.arm.com \
--to=richard.earnshaw@foss.arm.com \
--cc=fweimer@redhat.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=tobias@codesourcery.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).