Jason Tishler <Jason(dot)Tishler(at)dothill(dot)com> writes:
> extern int sys_nerr;
> int main() {
> int x = sys_nerr;
> ; return 0; }
> The problem is gcc -O2 is being too smart, optimizing away the reference
> to sys_nerr.
Oh, that's nasty. Try a test program like so:
extern int sys_nerr;
int my_nerr;
int main() {
my_nerr = sys_nerr;
return 0; }
I don't think gcc will try to optimize away an assignment to a global
variable.
regards, tom lane