[m-dev.] for review: fix block nesting hits fixed limit in MSVC

Fergus Henderson fjh at cs.mu.OZ.AU
Tue Jul 18 14:29:09 AEST 2000


On 07-Jul-2000, Peter Ross <petdr at cs.mu.OZ.AU> wrote:
> 
> Avoid a fixed limit problem where only N levels of block nesting is
> allowed in the MSVC compiler.
>
> compiler/ml_code_gen.m:
>     ml_join_decls creates block nesting proportional to the size of the
>     disjunction when generating disjunctions in a model_non context.
>     Now we always create a block for each arm of the disjunction.  This
>     allows us to safely concatenate blocks together, and hence only nest
>     blocks one level deeper.

Do you know what the value of N is for MSVC?

Could you give an example of the kind of source code for which
the current MLDS code generator generates deeply nested blocks?
Where exactly did it hit the fixed limit?

-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>  |  of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3        |     -- the last words of T. S. Garp.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list