From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 9DB5A3858C54; Wed, 24 May 2023 12:37:08 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9DB5A3858C54 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1684931828; bh=P5Pssh727bf9iW1/ObxpcRxG3M/B4U+AYMdn+EFSInI=; h=From:To:Subject:Date:In-Reply-To:References:From; b=QkR4blGQYrs4hHxnez3DkCh5u4g/q59J4O16bAGUEAlstlGrFg7lA4o8sZ1mxaSTc hls8NZQTwm8Dcl5oW62WwbzEJuh3wTOA99b6N3D2ZROe1X4qagrq7LSNHx6AKdUCde 46wY70fpG7dZTscESENk/i85sZPmTb52nwk1lmqE= From: "neil.n.carlson at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug fortran/109684] compiling failure: complaining about a final subroutine of a type being not PURE (while it is indeed PURE) Date: Wed, 24 May 2023 12:37:08 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: fortran X-Bugzilla-Version: 13.1.1 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: neil.n.carlson at gmail dot com X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: pault at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- 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=3D109684 --- Comment #8 from Neil Carlson --- We've been bitten by what looks to be the same bug in our large Fortran cod= e: 245 | end module kuprat_mapper_type | 1 Error: Contained procedure =E2=80=98__final_integer_set_type_wavl_Integer_s= et=E2=80=99 at (1) of a PURE procedure must also be PURE This one really had me baffled. The kuprat_mapper type has no component (or component of component) of the integer_set type, nor any pure procedures. At most, some procedure associated with the kuprat_mapper type has a local integer_set variable. In any event, the integer_set type does have a final procedure and it is pure! What's more baffling is why this error occurred at this point; the integer_set module compiled without error as did many other module files that use it. Note that the code compiles fine with the oneAPI ifort and NAG compilers (and also with gfortran 12.2 and earlier). I haven't attempted yet to try and pare things down to a reportable reprodu= cer, but if it would help I could try to do so.=