public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: John Marino <gnugcc@marino.st>
To: Thomas Quinot <quinot@adacore.com>,
	 Eric Botcazou <ebotcazou@adacore.com>,
	Arnaud Charlet <charlet@adacore.com>
Cc: gcc-patches@gcc.gnu.org
Subject: Re: [patch] Implement Ada support for DragonFly, improve it for FreeBSD
Date: Wed, 03 Jun 2015 10:46:00 -0000	[thread overview]
Message-ID: <556ED165.20507@marino.st> (raw)
In-Reply-To: <20150603093924.GC47219@melamine.cuivre.fr.eu.org>

On 6/3/2015 11:39, Thomas Quinot wrote:
> Patch looks good to me. The story with floats is that on FreeBSD, the
> i386 FPU is set to 53-bit floats, but the GNAT runtime library always
> issues a "finit" instruction to reset it to full precision, so we need
> to reset TARGET_96_ROUND_53_LONG_DOUBLE to 0.

I have this fixed in an interesting way on gnat-aux.  I found that
setting TARGET_96_ROUND_53_LONG_DOUBLE affects other front ends, so you
have to choose which one you want to be correct, GNAT or the C (or
whatever, can't remember which ones were affected now)

My solution was to create two common backends, one for gnat and one for
the others.  An example of the main patch is here:

https://raw.githubusercontent.com/jrmarino/draco/master/misc/flux5/patch-gcc_Makefile.in

(note the new s-modes-ada target)

and then this patch is needed:

https://raw.githubusercontent.com/jrmarino/draco/master/misc/flux5/patch-gcc_ada_gcc-interface_Make-lang.in


With those modifications, all the ACATS tests pass on i386 and the other
front ends work as expected.

I don't know if such a modification would ever be considered for GCC but
I've been running it for a couple of years with no reported problems.

John

  reply	other threads:[~2015-06-03 10:05 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-29 23:36 John Marino
2015-06-03  7:30 ` Eric Botcazou
2015-06-03  7:33   ` Arnaud Charlet
2015-06-03  8:25     ` John Marino
2015-06-03  9:14       ` Arnaud Charlet
2015-06-04 18:24         ` John Marino
2015-06-04 21:04           ` Arnaud Charlet
     [not found]             ` <5570AE5B.9090804@marino.st>
2015-06-08  7:31               ` Eric Botcazou
2015-06-05 13:08           ` Arnaud Charlet
2015-06-03  9:41   ` Thomas Quinot
2015-06-03 10:46     ` John Marino [this message]
2015-06-03 11:17       ` Thomas Quinot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=556ED165.20507@marino.st \
    --to=gnugcc@marino.st \
    --cc=charlet@adacore.com \
    --cc=ebotcazou@adacore.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=quinot@adacore.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).