pro64-support
[Top] [All Lists]

Re: Bug in sgicc version 0.01.0-13

To: "'pro64-support@xxxxxxxxxxx'" <pro64-support@xxxxxxxxxxx>, "Robboy, David G" <david.g.robboy@xxxxxxxxx>
Subject: Re: Bug in sgicc version 0.01.0-13
From: mpm@xxxxxxxxxxxxxxxxx (Michael Murphy)
Date: Mon, 16 Apr 2001 14:49:33 -0700 (PDT)
Sender: owner-pro64-support@xxxxxxxxxxx
        From: "Robboy, David G" <david.g.robboy@xxxxxxxxx>
        To: "'pro64-support@xxxxxxxxxxx'" <pro64-support@xxxxxxxxxxx>
        Subject: Bug in sgicc version 0.01.0-13
        
        Compiling the attachted program with -O3 using sgicc version 0.01.0-13, 
the
        function "bar" is optimized down to no code at all. The code should 
access
        the volatile field in  memory on each  iteration of the loop.
        
        Is there a later release of sgicc in which this bug is fixed?
        
        David Robboy
        
        /*****  start of program *****/
        struct  taskQ {
                long zilch;
                volatile long foo;
        } *tasks;
        
        void
        bar(void)
        {
                while (!tasks[34].foo)
                        ;
        }
        
        main()
        {
                bar();
        }
        
This is indeed a bug.  It is LNO that removes the loop.
I'll file a bug about this, but I'm not sure when it will be fixed.
Any LNO experts on the list want to take a look at this? :-)

-- Mike Murphy
-- mpm@xxxxxxx
-- quote of the day:
--  "A man's pride will bring him low, but the humble in spirit
--   will retain honor."  (Proverbs 29:23)

<Prev in Thread] Current Thread [Next in Thread>