From 933c17cfd8e8238ffefe30b902624cf8fe5211fe Mon Sep 17 00:00:00 2001 From: maintenance team Date: Wed, 27 Sep 2006 10:13:05 +0000 Subject: [PATCH] Correction for problem: Computation of mesh via "Length From Edges" hipothesis failed. --- src/MEFISTO2/Rn.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/MEFISTO2/Rn.h b/src/MEFISTO2/Rn.h index 9aafe707b..aa69c4aaa 100755 --- a/src/MEFISTO2/Rn.h +++ b/src/MEFISTO2/Rn.h @@ -66,7 +66,15 @@ typedef unsigned long int N; //le type Z des nombres entiers relatifs //========= -typedef long int Z; +// 64-bit porting: "long" replaced with "int". +// On 64-bit, C++ long type is 8 byte long. MEFISTO2D C code calls several Fortran subroutines passing +// arguments of this type, however Fortran knows nothing about changed size of arguments, +// therefore stack gets corrupted. With "int" used instead of "long", Fortran calls from C do no harm to the stack +// After this modification, behavior on 32-bit platforms does not change: on all platforms supported by +// SALOME 3, "int" and "long" have the same size of 4 bytes. +//======== +//typedef long int Z; +typedef int Z; //le type R des nombres "reels" //========= -- 2.39.2