delorie.com/archives/browse.cgi | search |
X-Authentication-Warning: | delorie.com: mail set sender to djgpp-bounces using -f |
NNTP-Posting-Date: | Wed, 18 Apr 2007 21:17:31 -0500 |
From: | "Alexei A. Frounze" <alexfru AT chat DOT ru> |
Newsgroups: | comp.os.msdos.djgpp |
References: | <LbadnVsa3_H-ornbnZ2dnUVZ_sudnZ2d AT comcast DOT com> <200704181529 DOT l3IFT3UV004286 AT localhost DOT localdomain> <e5ydncgDqNRPVLvbnZ2dnUVZ_uSgnZ2d AT comcast DOT com> |
Subject: | Re: gcc bug? |
Date: | Wed, 18 Apr 2007 19:14:11 -0700 |
MIME-Version: | 1.0 |
X-Priority: | 3 |
X-MSMail-Priority: | Normal |
X-Newsreader: | Microsoft Outlook Express 6.00.2900.3028 |
X-MimeOLE: | Produced By Microsoft MimeOLE V6.00.2900.3028 |
Message-ID: | <3bGdnV_ErqKmTLvbnZ2dnUVZ_sWdnZ2d@comcast.com> |
Lines: | 26 |
NNTP-Posting-Host: | 67.170.72.236 |
X-Trace: | sv3-4yGhW0ca7rFhv0YriURK9VMuwopz0xNxN2ESbPTswuZzCRIb1+Vuo5qEPh2jsK7YLb5u2tgs/XNJ4CL!Iw5b+ME2KByl/lT9dunjJUNpnrT4aWaF8wJtfgQ+P5VaBKjU4hCpRuoyyG83atdcWxuf9O0VMWB3!ElFhdqYfGHwLUyqNHP3Oc9nCTd1y4g== |
X-Complaints-To: | abuse AT comcast DOT net |
X-DMCA-Complaints-To: | dmca AT comcast DOT net |
X-Abuse-and-DMCA-Info: | Please be sure to forward a copy of ALL headers |
X-Abuse-and-DMCA-Info: | Otherwise we will be unable to process your complaint properly |
X-Postfilter: | 1.3.34 |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Reply-To: | djgpp AT delorie DOT com |
Alexei A. Frounze wrote: > DJ Delorie wrote: >> Part of the problem may be that your volatile variable is on the >> stack, rather than being a global or static variable. You've also >> defined it as "pointer to volatile T" not "volatile pointer to T". > > But from where did gcc get the idea of the variable (to which the > pointer points, at address 0) being zero? Oh, I see. If in f1() I assign the pointer to 1, then the asm output (obtained with -O2 optimization switch) is this: _f1: pushl %ebp movl %esp, %ebp .p2align 4,,7 L2: movb 1, %al testb %al, %al jne L2 popl %ebp ret For some reason the compiler decides that the pointer to the variable and that variable are the same thing. Alex
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |