On Thu, 25 Sep 2008, Szak�ts Viktor wrote:

Hi Viktor,

>>> tests: 914, 917-920, 923-925, 959, 962-965, 968-970, 987-990.
>>> Actually the new MinGW results are the right ones, but the
>>> expected results seem to be screwed up, showing 705032704 instead of
>>> 5000000000. Quite strange. ]
>> Can you send the exact hbtest output?

!  914 MAIN_MATH(0)    Round(5000000000, 0)                    
       Result: 5000000000
     Expected: 705032704

This is very serious problem.
Just try:
   proc main()
      ? 5000000000
   return

It means that during compilation 5000000000 in source code
is stripped to 32bits. Please carefully check your build settings.
I cannot replicate it in any of my C compilers and I rether do
not expect that it will be wrong. It's my very old code perfectly
working for years in Harbour and xHarbour. For me it looks like sth
seriously wrong with LONGLONG numbers in C compiler or side effects
of some experiments with macros or definitions we are using, f.e.
HB_LONG type mapped to LONG without updating corresponding macros or
HB_LONG_LONG_OFF used to compile only part of Harbour code, f.e.
only compiler or only HVM/RTL. Or some C different compiler switches
use to compile only part of Harbour code which may interact with size
or alignment of data structures or ABI.
Please once again carefully check you environment and try to replicate
these results with _FULL_ clean build.

best regards,
Przemek
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to