Long64 and long long support on Windows

Hi,

I tried the following using ROOT 5.08.00 on both Red Hat Linux Enterprise 3 and Windows XP.

On Linux:

root [0] long long i
root [1] i = 1 << 30
(const long long)1073741824
root [2] i *= 10
(long long)10737418240
root [3] Long64_t j
root [4] j = 1 << 30
(const long long)1073741824
root [5] j *= 10
(Long64_t)10737418240

and on windows

root [0] long long i
root [1] i = 1 << 30
(const long long)1073741824
root [2] i *= 10
(long long)-2147483648
root [3] Long64_t j
root [4] j = 1 << 30
(const long long)1073741824
root [5] j *= 10
(Long64_t)2147483648

You can see the difference in the behavior on linux and windows.
Is the support for Long64 complete in CINT on Windows?

Thanks,
Heather

This has been fixed in the CVS repository.

Cheers,
Philippe

Hi Heather,

I cannot reproduce this problem with Long64_t
Did you install yourself from source?
Did you run make cintdlls ?

I assume that you run with VC++7.1 or newer

Rene

Hi Rene,

I didn’t compile this copy myself. I took one of the binary distributions and downloaded from:
root.cern.ch/root/Version508.html

Using the link:
WindowsXP/NT/w2000 with VC++ 7.1 (runs with VC++6 and VC++8.0), version 5.08/00 (good old tar file) WIN32GDK (35.4 MB).

The file I downloaded was:
root_v5.08.00.win32gdk.tar.gz

I’ve had other windows users note the same problem.

But I take it from Philippe’s post that this has been fixed?

Thanks,
Heather