Hi Manager,
We had used DU4.0B to process all of our experimental data. Big part of
our programs are written by C++. DU cxx V5.7 (old cxx compiler) works very
well. But recently we upgrade our cxx to V6.0-010 (new cxx compiler) and
it causes problem. After debugging the code, we found that the problem is
related to the following line:
*d_buf += d_rowsize;
where d_buf is declared as char ** and d_rowsize is declared as int. After
this line is executed, *d_buf is not changed at all. (d_rowsize is
non-zero). We tried a lot of options to turn off any possible
optimization, like "-volatile -O0 -noansi_alias" etc. But the problem
remains. We had tried to compile with -w0 option. But newcxx does not
complain the above line at all. If I rewrite the above statement as
*d_buf = *d_buf+d_rowsize;
Then it works. Can you tell me what is wrong with *d_buf += d_rowsize and
how make the compiler do the proper thing?
-- Xihong
+ Nevis Lab, Columbia University
_ O _ Tel:(914)591-2840 (office) __o
( `-|-' ) (212)749-8849 (home) /\
\_+|+_/ Email: yang_at_nevis1.columbia.edu /)
----- WWW:
http://nevis1.columbia.edu/~yang
Received on Fri Feb 05 1999 - 20:03:41 NZDT