From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 523463858D39; Mon, 8 Apr 2024 09:36:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 523463858D39 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1712568967; bh=0SyhoZhONJjN9LGxdG3vfMOM75ecq+UB3jWe46/gjpc=; h=From:To:Subject:Date:In-Reply-To:References:From; b=mJgPX8XDFUx8e7arFavvobhFaXvbR9dB/AT/HMytQS2O3m/pMNibqM04VnjhM53li yoZxaTXS36kvd5f1qdjkEOIElqRMbguHfRuaXz/UD4xQTHLyAaAvVo+KiNcWMkQrmP RGfWoZ6TBpHvaBoO5TY6iS+K7BsM65kuTCnmi+xM= From: "rguenther at suse dot de" To: gcc-bugs@gcc.gnu.org Subject: =?UTF-8?B?W0J1ZyBsaWJmb3J0cmFuLzExNDMwNF0gWzEzLzE0IFJlZ3Jlc3Np?= =?UTF-8?B?b25dIGxpYmdmb3J0cmFuIEkvTyDigJMgYm9ndXMgIlNlbWljb2xvbiBub3Qg?= =?UTF-8?B?YWxsb3dlZCBhcyBzZXBhcmF0b3Igd2l0aCBERUNJTUFMPSdwb2ludCci?= Date: Mon, 08 Apr 2024 09:36:06 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libfortran X-Bugzilla-Version: 14.0 X-Bugzilla-Keywords: wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenther at suse dot de X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P4 X-Bugzilla-Assigned-To: jvdelisle at gcc dot gnu.org X-Bugzilla-Target-Milestone: 14.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D114304 --- Comment #29 from rguenther at suse dot de --- On Mon, 8 Apr 2024, burnus at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D114304 >=20 > --- Comment #28 from Tobias Burnus --- > Created attachment 57896 > --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=3D57896&action=3Dedit > Testcase >=20 > It seems as if 'tabs' cause problems, e.g. for: >=20 > profile_single_file =3D .true. >=20 > where there are two tabs before '=3D'. >=20 > * * * >=20 > The problem seems to be that the new code uses: >=20 > - eat_spaces (dtp); > dtp->u.p.comma_flag =3D 0; > + c =3D next_char (dtp); > + if (c =3D=3D ' ') > + { > + eat_spaces (dtp); >=20 > Thus, it explicitly checks for ' ' while eat_spaces handles: >=20 > while (c !=3D EOF && (c =3D=3D ' ' || c =3D=3D '\r' || c =3D=3D '\t')); >=20 > Testcase attached. >=20 > I think we need at least an "|| c =3D=3D '\t'"; I guess '\r' isn't really= required > here, or is it? Might be for \r\n line endings? I'd keep it for the sake of preserving previous behavior. isspace(3) tests for \f, \n, \r, \t, \v and space (but of course all depends on the locale, not sure whether libgfortran needs to care for locales)=