delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/03/27/17:19:11

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Message-ID: <02b701c0b707$7c30a230$3c5350d8@bluesguitar.org>
From: "Matthew Smith" <matts AT bluesguitar DOT org>
To: "Cygwin" <cygwin AT sources DOT redhat DOT com>
References: <BF35D9C143BCCC4EB63181B67C9320C804DD69 AT serv-075 DOT icon-germany DOT local>
Subject: Re: Debugging setup.exe
Date: Tue, 27 Mar 2001 15:47:14 -0600
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4133.2400
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400

Changing 'int r' to 'volatile int r' seemed like a good idea, so I tried
that, and it works well.  Now however, I've run into some stranger behavior
still.  Take a look at this code snippet:

  r = (y + ROW_MARGIN/2) / row_height;

  if (r < 0 || r >= npackages)
    return 0;

  int p = package_indexes[r];

  if (x >= headers[NEW_COL].x - HMARGIN/2 && x <= headers[NEW_COL+1].x -
HMARGIN/2)
    {
        ...


Ok, I step through and 'r' is set to a reasonable number.  'p' is then set
to 0, which seems reasonable enough as well.  We hit the 'if' conditional,
and get this....execution then goes BACKWARDS and executes the 'int p =
package_indexes[r];' line again!  At that point, p is set to some gigantic
negative number, so when we use it as an array index a short time later,
everything blows up.  Is this related to the optimizer too?  Seems odd.

cheers,
-Matt Smith



> looks like it's optimized away,
> so try 'volatile int r'!
>
> Bye, Heribert (heribert_dahms AT icon-gmbh DOT de)
>



--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019