new cxx problem

From: Xihong Yang <yang_at_nevis1.nevis.columbia.edu>
Date: Fri, 05 Feb 1999 15:02:11 -0500

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

This archive was generated by hypermail 2.4.0 : Wed Nov 08 2023 - 11:53:39 NZDT