Specifically in a new version of h1tcscs, the top level was dropped into a subsystem. A low level library subsystem takes input from a goto. The input immediately goes to another goto. The gotos are not properly removed during code generation.
Designs
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related or that one is blocking others.
Learn more.
The simple link movement used to bypass goto -> from connections would lead to two branches coming from Goto's source, one going to From's destination, and the other still going to the goto. But the code at this point still assumes there's only one branch coming from any node, so when Goto's source is another From node (from a different jump), that From node ends up with two branches coming from it, breaking the assumption.
Fix is to merge the From's destination branch into the Goto's source branch, then delete From's destination branch from its parent so that it only appears in one spot in the model.
Problem is that find_branch, when looking for a src line and when faced with a composite line which is line -> line will return the last line even when asked for the first. Any of line -> line -> line... will always return the second line, which is useless.
the new goto eliminator can create such lines. find_branch wants ```line->branch->[line | branch]...``
I will change goto eliminator to put in branches. I'll also write a new subroutine that gets the start of a composite line with a particular destination no matter what. This will replace calls to find_branch used for such purpose.