Bjorn, Thank you for reporting problems. Here is my comment. >#define MAX(a, b) ((a) > (b) ? (a) : (b)) > >void rooterror1(void){ > > int i,j,k,l,m; > > i = 1; > j = 2; > k = 3; > l = 4; > > m = MAX(l,MAX(k,MAX(j,i))); > . his is cint limitation. Cint limitations in preprocessor macro handling when used without -p option. I recommend avoiding macro as much as possible. Above case can be replaces by template. //#define MAX(a, b) ((a) > (b) ? (a) : (b)) template<class T> T MAX(T a, T b) { return ((a) > (b) ? (a) : (b)); } >#define number 10/2 /* feet per second */ I think this is a bug. I need fix this. Again, I recommend following definition instead. But this one seems so commmon. const int number = 10/2; >void rooterror3(void){ > static Double_t **j,i=3.0; > > printf("i=%f\n",i); > > i=4.0; > printf("i=%f\n",i); >} I can not reproduce the problem. I recently fixed a but of local 'static' variable initialization. I tried above source with the latest version and it works fine. Maybe the fix did good for this problem already. Masaharu Goto
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:39 MET