public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Michael Veksler <VEKSLER@il.ibm.com>
To: Eric Botcazou <ebotcazou@libertysurf.fr>
Cc: gcc@gcc.gnu.org, Hiroshi Fujishima <hiroshi.fujishima@gmail.com>,
	Joe Buck <Joe.Buck@synopsys.com>
Subject: Re: isinf
Date: Thu, 14 Jul 2005 07:56:00 -0000	[thread overview]
Message-ID: <OFC182F25F.CB9B8299-ON4325703E.002AD458-4325703E.002BA172@il.ibm.com> (raw)
In-Reply-To: <200507140905.51209.ebotcazou@libertysurf.fr>





Eric Botcazou <ebotcazou@libertysurf.fr> wrote on 14/07/2005 10:05:50:
[...]
> union U {
>   int i;
>   double d;
> };
>
> volatile int a;
>
> int
> main (int argc, char *argv[])
> {
>   union U u;
>   u.i = argc;
>   a = isinf (u.d);
>   return 0;
> }
>

Doesn't the code display undefined behavior when sizeof(u.i)<sizeof(u.d) ?
Not all of u.d will be initialized by u.i = argc, accessing the
uninitialized bits of u.d may trigger undefined behavior.

Maybe there is a simpler way? For example:

volatile int a;
volatile double b;
int main ()
{
   a = isinf (b);
   return 0;
}

This way the compiler must not assume anything about 'b',
making it impossible to optimizes the call to isinf.

  Michael

  reply	other threads:[~2005-07-14  7:56 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-13 17:07 isinf Hiroshi Fujishima
2005-07-13 19:08 ` isinf Eric Botcazou
2005-07-13 22:32   ` isinf Hiroshi Fujishima
2005-07-13 22:59     ` isinf Eric Botcazou
2005-07-13 23:17       ` isinf Hiroshi Fujishima
2005-07-13 23:29         ` isinf Joe Buck
2005-07-13 23:39           ` isinf Dale Johannesen
2005-07-13 23:48           ` isinf Hiroshi Fujishima
2005-07-14  6:27             ` isinf Eric Botcazou
2005-07-14  6:52               ` isinf Michael Veksler
2005-07-14  7:33                 ` isinf Eric Botcazou
2005-07-14  7:56                   ` Michael Veksler [this message]
2005-07-14  8:59                     ` isinf Andreas Schwab
2005-07-14  9:10                       ` isinf Eric Botcazou
2005-07-14  9:27                       ` isinf Hiroshi Fujishima
2005-07-14  9:35                         ` isinf Jakub Jelinek
2005-07-14  9:47                           ` isinf Andreas Schwab

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=OFC182F25F.CB9B8299-ON4325703E.002AD458-4325703E.002BA172@il.ibm.com \
    --to=veksler@il.ibm.com \
    --cc=Joe.Buck@synopsys.com \
    --cc=ebotcazou@libertysurf.fr \
    --cc=gcc@gcc.gnu.org \
    --cc=hiroshi.fujishima@gmail.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).