Hello Manuel, Like every time, it is really hard for us to make a testcase (more than 400 000 lines of code + C interface, TCL, other external C libraries ..... ) but I have worked all the day to finally find the issue and succeed to make a testcase: In fact it is the (procedure?) function that assume during the cfa that an object is not a function. Hence it doesn't go inside a part of the code where the "get-key" is used. It makes the Cfa thinking that the get-key function is not "lost?" and not used so it is replaced by the el-procedure. You have in attachment a simple testcase that shows the case.
Note: I would be interested to know how to use the -t[24] +tpass function: I finally replace manually the "trace" function by a print but it would be usefully to use it manually without manual tweeks ! Best regards, Pierre-Francois -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of [email protected] Sent: Wednesday, March 14, 2018 1:50 PM To: Ollagnon, Pierre-Francois <[email protected]> Cc: [email protected] Subject: Re: [bigloo] Dataflow+ debuging Hi Pierre-François, I have bad time understanding what's going on. Could you provide a complete function definition because currently I'm not able to build something similar to the situation that raises the bug. You mentioned that the dataflow has erroneously removed some code. This is quite possible I will check what's going on as soon as possible but the problem is that in your excerpt I don't see what has been removed. What is missing according to you? I see no difference in between the dataflow and dataflow+. I don't suspect a GC problem. For now, it rather sounds like a mistake in the CFA analysis that incorrectly transforms a plain procedure into an el-procedure. It would really helped if you could send me an actual code (even privately if you have copyright issues). Thanks in advance. -- Manuel
Bug_bigloo_cfa.tar.gz
Description: Bug_bigloo_cfa.tar.gz
