View previous topic :: View next topic |
Author |
Message |
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8011 Location: Salford, UK
|
Posted: Thu Nov 08, 2018 12:20 pm Post subject: |
|
|
Klaus
My apologies but it appears that I have not logged these issues for investigation. I normally reply with an acknowledgement so it looks like I have simply missed the significance of the post. |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8011 Location: Salford, UK
|
Posted: Thu Nov 08, 2018 1:20 pm Post subject: |
|
|
Klaus
From a brief initial investigation I can confirm that there is a false runtime error when running test98 with /check and /clr.
At the moment I have no idea about test99. For me (when compiling from a command line) the program stops running after about 200 iterations but without any error report.
If, as you say, it is a heap allocation issue then maybe something is going wrong with the .NET automatic garbage collection.
Both programs run correctly for Win32 and x64 with any configuration.
I have made a note of these failures. |
|
Back to top |
|
|
KL
Joined: 16 Nov 2009 Posts: 144
|
Posted: Thu Nov 08, 2018 2:33 pm Post subject: |
|
|
Paul,
thank you very much for your reply. Test99 is extremely important for me since this error stops using our (big) code as a .NET dll in a C# GUI environment.
Best regards,
Klaus |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8011 Location: Salford, UK
|
Posted: Thu Nov 08, 2018 2:55 pm Post subject: |
|
|
Klaus
if you need a fix urgently then I suggest that you experiment by changing the way in which the arrays are passed to the subroutine A.
For example, you could try copying the array sections to temporary arrays before the call etc.. It seems that something is going wrong with the automatic creation of the temporary "copy in" arrays (and possibly "copy out" arrays) that are needed when passing array sections to (and from) subroutines.
I have not looked at the details of your code but as a general rule it is not a good idea to pass array sections. Passing whole arrays is much more efficient and does not require the compiler to provide code that creates temporary storage from the stack or heap. |
|
Back to top |
|
|
KL
Joined: 16 Nov 2009 Posts: 144
|
Posted: Thu Nov 08, 2018 4:16 pm Post subject: |
|
|
Paul,
I am aware of this possibility. I just thought that internal copying of array sections is faster than copying array sections by do loops.
Fortunately, this error does not cause problems since from my GUI I can call a normal executable as well. I just reported this .NET related problem for further re-consideration.
May be that what you say about using array sections as dummy arguments is the reason that modern languages do not use them.
Thank you for taking a look to my problems.
Klaus
PS. Is there a problem with forum messages? When I press "Preview" and submit my message, it appears twice. |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8011 Location: Salford, UK
|
Posted: Thu Nov 08, 2018 4:25 pm Post subject: |
|
|
I don't have any problems with Preview then Submit. |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8011 Location: Salford, UK
|
Posted: Fri Jul 10, 2020 8:11 am Post subject: |
|
|
Concerning the two .NET issues raised by KL:
a) the heap allocation failure is no longer apparent and is assumed to have been fixed elsewhere.
b) The runtime /CHECK failure has now been fixed for the next release of FTN95. |
|
Back to top |
|
|
|