WLS fails if AWLF into fold-consumerWL precedes WLS
|
|
Bugzilla Link |
886 |
Created on |
Nov 12, 2011 21:35 |
Version |
svn |
OS |
Linux |
Architecture |
PC |
Attachments |
bugxxx.sac |
Extended Description
Created an attachment (id=831)
source code to reproduce failure
If WLF/AWLF folds a nested WL into a fold-WL, then the inner
WL of the nest will never be WLS'd.
However, if WLS gets to the nested WL before WLF does its
thing, then the nesting is removed, and after that,
WLF/AWLF will happily fold the now-unnested WL into
fold-WL.
The direct cause is that WLS currently requires that
the outer WL of the nested pair be a genarray or modarray --
fold WLs are prohibited.
Perhaps our WLS guru can justify preserving the existing
behavior of WLS, or explain why fold-WLs were barred
from the party, and point up any likely problems with
allowing WLS to operate on fold-WLs.
The attached bugxxx.sac shows this:
sac2c bugxxx.sac -bopt:ucts -noivecyc >crud
This results in a single WL that does the whole shebang,
whereas this:
sac2c bugxxx.sac -bopt:ucts -nowlf -doawlf >crud
produces a nested WL, because AWLF does its thing before
WLS.
sac2c -V
sac2c v1.00-beta (Haggis And Apple)
developer rev 17702:MODIFIED linux-gnu_x86_64
(Sat Nov 12 11:35:07 EST 2011 by sac)