[Bug fortran/47023] [4.6/4.7 regression] C_Sizeof: Rejects valid code

janus at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Oct 16 08:44:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47023

janus at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2011-10-16
         AssignedTo|unassigned at gcc dot       |janus at gcc dot gnu.org
                   |gnu.org                     |
     Ever Confirmed|0                           |1

--- Comment #10 from janus at gcc dot gnu.org 2011-10-16 08:43:56 UTC ---
(In reply to comment #9)
> > This patch itself doesn't do anything wrong AFAICS, it rather seems to expose
> > an underlying bug: Either we need to set the 'is_c_interop' flag correctly or
> > loosen the checks in verify_c_interop.
> 
> I think the latter. I think one can allow all intrinsic types.

On second thought, I'm not so sure about this. Is this actually allowed by the
Fortran standard? (If not, one could think about allowing it only with
--std=gnu as an extension.)


> Note, additionally, that setting attr.is_c_interop is kind of difficult for
> 0.0_c_int ...

Well, no. We don't need to set 'attr.is_c_interop', but 'ts.is_c_interop',
which can also be done for constants. I'm right now testing a patch which does
so and fixes the regression.



More information about the Gcc-bugs mailing list