This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/33062] ICE in emit_move_insn and expand_call with -fdefault-integer-8
- From: "fxcoudert at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 20 Aug 2007 10:20:29 -0000
- Subject: [Bug target/33062] ICE in emit_move_insn and expand_call with -fdefault-integer-8
- References: <bug-33062-14284@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #8 from fxcoudert at gcc dot gnu dot org 2007-08-20 10:20 -------
(In reply to comment #7)
> 1) The actual cause of the ICE.
That point is unfortunately beyond my understanding.
> 2) The difference between precision and type bitsize in this situation.
>
> We have to decide if the return value should be promoted to 32 bits,
> 64 bits or returned indirectly. The runtime documentation isn't very
> specific when it comes to fortran data types.
The issue is with a logical type that has 64 bits size, but only limited
precision, being only a logical type (AFAIU). The Fortran rules, however, are
that it should be be passed in the exact same way as the integer kind of the
same bit size. That is why, I think, making the decision on bitsize is the
right thing to do: it doesn't change anything for integer types, but it does
for Fortran logical types.
Please let me know if you need more information about the Fortran side of the
problem.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33062