re PR target/30406 ([4.1 only] ICE in LOGICAL(8) functions)
PR target/30406 * config/rs6000/rs6000.c (rs6000_function_value): Look at bit size instead of precision. * gfortran.dg/logical_3.f90: New test. From-SVN: r122523
This commit is contained in:
parent
3d1f465aff
commit
7348aa7faf
|
@ -1,3 +1,9 @@
|
||||||
|
2007-03-04 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
||||||
|
|
||||||
|
PR target/30406
|
||||||
|
* config/rs6000/rs6000.c (rs6000_function_value): Look at bit size
|
||||||
|
instead of precision.
|
||||||
|
|
||||||
2007-03-04 Roman Zippel <zippel@linux-m68k.org>
|
2007-03-04 Roman Zippel <zippel@linux-m68k.org>
|
||||||
Nathan Sidwell <nathan@codesourcery.com>
|
Nathan Sidwell <nathan@codesourcery.com>
|
||||||
|
|
||||||
|
|
|
@ -20562,12 +20562,10 @@ rs6000_function_value (tree valtype, tree func ATTRIBUTE_UNUSED)
|
||||||
GEN_INT (12))));
|
GEN_INT (12))));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((INTEGRAL_TYPE_P (valtype)
|
mode = TYPE_MODE (valtype);
|
||||||
&& TYPE_PRECISION (valtype) < BITS_PER_WORD)
|
if ((INTEGRAL_TYPE_P (valtype) && GET_MODE_BITSIZE (mode) < BITS_PER_WORD)
|
||||||
|| POINTER_TYPE_P (valtype))
|
|| POINTER_TYPE_P (valtype))
|
||||||
mode = TARGET_32BIT ? SImode : DImode;
|
mode = TARGET_32BIT ? SImode : DImode;
|
||||||
else
|
|
||||||
mode = TYPE_MODE (valtype);
|
|
||||||
|
|
||||||
if (DECIMAL_FLOAT_MODE_P (mode))
|
if (DECIMAL_FLOAT_MODE_P (mode))
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2007-03-04 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||||||
|
|
||||||
|
PR target/30406
|
||||||
|
* gfortran.dg/logical_3.f90: New test.
|
||||||
|
|
||||||
2007-03-04 Thomas Koenig <Thomas.Koenig@online.de>
|
2007-03-04 Thomas Koenig <Thomas.Koenig@online.de>
|
||||||
|
|
||||||
PR libfortran/30981
|
PR libfortran/30981
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
! { dg-do compile }
|
||||||
|
! This checks the fix for PR30406.
|
||||||
|
!
|
||||||
|
! Contributed by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||||||
|
!===============================================================
|
||||||
|
|
||||||
|
function f()
|
||||||
|
logical(8) :: f
|
||||||
|
f = .false._8
|
||||||
|
end function f
|
Loading…
Reference in New Issue