* Fix flag_trapping_math in java frontend
@ 2012-01-22 14:52 Andreas Schwab
2012-01-22 16:03 ` Andrew Haley
2012-01-23 10:59 ` Richard Guenther
0 siblings, 2 replies; 4+ messages in thread
From: Andreas Schwab @ 2012-01-22 14:52 UTC (permalink / raw)
To: gcc-patches, java-patches; +Cc: Joseph Myers
The java frontend wants that floating point operations are assumed to
never trap, thus clears flag_trapping_math in java_init_options_struct.
But this is no longer effective after revision 165823, because
set_fast_math_flags is now always called during option processing,
overriding anything what the frontend did to flag_trapping_math. This
is an amendment to revision 169930 which introduced
frontend_set_flag_trapping_math, but didn't set it in
java_init_options_struct.
While this was found during examination of PR49847, this doesn't fix it,
but only makes the bug dormant again in 4.6.
Tested on powerpc-linux, ok for trunk and 4.6 branch?
Andreas.
2012-01-22 Andreas Schwab <schwab@linux-m68k.org>
* lang.c (java_init_options_struct): Set
frontend_set_flag_trapping_math.
diff --git a/gcc/java/lang.c b/gcc/java/lang.c
index ccab48c..da7dd05 100644
--- a/gcc/java/lang.c
+++ b/gcc/java/lang.c
@@ -1,6 +1,6 @@
/* Java(TM) language-specific utility routines.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008, 2010, 2012 Free Software Foundation, Inc.
This file is part of GCC.
@@ -550,6 +550,7 @@ java_init_options_struct (struct gcc_options *opts)
/* In Java floating point operations never trap. */
opts->x_flag_trapping_math = 0;
+ opts->frontend_set_flag_trapping_math = true;
/* In Java arithmetic overflow always wraps around. */
opts->x_flag_wrapv = 1;
--
1.7.8.4
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Fix flag_trapping_math in java frontend
2012-01-22 14:52 Fix flag_trapping_math in java frontend Andreas Schwab
@ 2012-01-22 16:03 ` Andrew Haley
2012-01-22 23:07 ` Mikael Pettersson
2012-01-23 10:59 ` Richard Guenther
1 sibling, 1 reply; 4+ messages in thread
From: Andrew Haley @ 2012-01-22 16:03 UTC (permalink / raw)
To: java-patches
On 01/22/2012 02:52 PM, Andreas Schwab wrote:
> Tested on powerpc-linux, ok for trunk and 4.6 branch?
What effect does this have on, say, x86 Linux?
Andrew.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Fix flag_trapping_math in java frontend
2012-01-22 16:03 ` Andrew Haley
@ 2012-01-22 23:07 ` Mikael Pettersson
0 siblings, 0 replies; 4+ messages in thread
From: Mikael Pettersson @ 2012-01-22 23:07 UTC (permalink / raw)
To: Andrew Haley; +Cc: java-patches, Andreas Schwab
Andrew Haley writes:
> On 01/22/2012 02:52 PM, Andreas Schwab wrote:
> > Tested on powerpc-linux, ok for trunk and 4.6 branch?
>
> What effect does this have on, say, x86 Linux?
>
> Andrew.
gcc-4.7-20120121 on i686-linux has no libjava testsuite regressions with
this patch applied.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Fix flag_trapping_math in java frontend
2012-01-22 14:52 Fix flag_trapping_math in java frontend Andreas Schwab
2012-01-22 16:03 ` Andrew Haley
@ 2012-01-23 10:59 ` Richard Guenther
1 sibling, 0 replies; 4+ messages in thread
From: Richard Guenther @ 2012-01-23 10:59 UTC (permalink / raw)
To: Andreas Schwab; +Cc: gcc-patches, java-patches, Joseph Myers
On Sun, Jan 22, 2012 at 3:52 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
> The java frontend wants that floating point operations are assumed to
> never trap, thus clears flag_trapping_math in java_init_options_struct.
> But this is no longer effective after revision 165823, because
> set_fast_math_flags is now always called during option processing,
> overriding anything what the frontend did to flag_trapping_math. This
> is an amendment to revision 169930 which introduced
> frontend_set_flag_trapping_math, but didn't set it in
> java_init_options_struct.
>
> While this was found during examination of PR49847, this doesn't fix it,
> but only makes the bug dormant again in 4.6.
>
> Tested on powerpc-linux, ok for trunk and 4.6 branch?
Ok.
Thanks,
Richard.
> Andreas.
>
> 2012-01-22 Andreas Schwab <schwab@linux-m68k.org>
>
> * lang.c (java_init_options_struct): Set
> frontend_set_flag_trapping_math.
>
> diff --git a/gcc/java/lang.c b/gcc/java/lang.c
> index ccab48c..da7dd05 100644
> --- a/gcc/java/lang.c
> +++ b/gcc/java/lang.c
> @@ -1,6 +1,6 @@
> /* Java(TM) language-specific utility routines.
> Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
> - 2005, 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
> + 2005, 2006, 2007, 2008, 2010, 2012 Free Software Foundation, Inc.
>
> This file is part of GCC.
>
> @@ -550,6 +550,7 @@ java_init_options_struct (struct gcc_options *opts)
>
> /* In Java floating point operations never trap. */
> opts->x_flag_trapping_math = 0;
> + opts->frontend_set_flag_trapping_math = true;
>
> /* In Java arithmetic overflow always wraps around. */
> opts->x_flag_wrapv = 1;
> --
> 1.7.8.4
>
> --
> Andreas Schwab, schwab@linux-m68k.org
> GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
> "And now for something completely different."
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-01-23 10:59 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-01-22 14:52 Fix flag_trapping_math in java frontend Andreas Schwab
2012-01-22 16:03 ` Andrew Haley
2012-01-22 23:07 ` Mikael Pettersson
2012-01-23 10:59 ` Richard Guenther
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).