Patchwork Non-TFmode targets broken with "[fortran,patch] Complete front-end support for __float128"

login
register
mail settings
Submitter FX
Date Aug. 28, 2010, 7:35 a.m.
Message ID <3F93A208-94A7-4EC3-B71B-CA2C634EDA35@gmail.com>
Download mbox | patch
Permalink /patch/62895/
State New
Headers show

Comments

FX - Aug. 28, 2010, 7:35 a.m.
> Breaking targets without TFmode, like cris-elf

Sorry for breaking bootstraps on (apparently) all targets. I thought I had tested it independently from library support, but apparently I failed to redo so properly after getting rid of the option.

I committed the following fix as rev. 163611 to restore bootstrap:
Robert Dewar - Aug. 28, 2010, 10:57 a.m.
FX wrote:
>> Breaking targets without TFmode, like cris-elf
> 
> Sorry for breaking bootstraps on (apparently) all targets. I thought
> I had tested it independently from library support, but apparently I
> failed to redo so properly after getting rid of the option.

For GNAT development, we have a backup that catches such situations.
Everytime a checkin is done, it triggers an instant automatic build
on a fast machine, runs the test suite and reports back if there are
any errors. Since this report appears within less than 15 minutes of
any checkin, it catches most build-breaking mistakes. I wonder if we
could arrange something like this for gcc checkins.

Patch

Index: trans-types.c
===================================================================
--- trans-types.c	(revision 163610)
+++ trans-types.c	(working copy)
@@ -410,12 +410,11 @@ 
 
       /* Only let float, double, long double and __float128 go through.
 	 Runtime support for others is not provided, so they would be
-	 useless.  TFmode support is only enabled with option
-	 -fsoft-float. 	*/
+	 useless.  TODO: TFmode support should be enabled once libgfortran
+	 support is done.  */
 	if (mode != TYPE_MODE (float_type_node)
 	  && (mode != TYPE_MODE (double_type_node))
-          && (mode != TYPE_MODE (long_double_type_node))
-	  && (mode != TFmode))
+          && (mode != TYPE_MODE (long_double_type_node)))
 	continue;
 
       /* Let the kind equal the precision divided by 8, rounding up.  Again,