Hi -

What I used for testing the LLVM code generation infrastructure is this flag:

       --[no-]ignore-internal-modules  Enable [disable] skipping internal
                                       module initialization in generated code
                                       (for testing)


That way, when running the result of compiling a .chpl test case, the
program directly runs  the tested code.

The approach you are describing here would also allow problems that
stop compilation from completing with the standard modules to be
addressedwith small test cases, but I think limiting what got run
in my test cases was enough for me.

Personally though, I'd rather not have to make a change in both
modules-minimal and modules, so from my point of view it might
be better to totally ignore the modules/ directory when compiling
in the new mode (and have to write __primitive for everything,
including basic operators like +). But, an extremely stripped
down modules-minimal might be OK too.

Cheers,

-michael


On 01/14/2014 07:45 PM, Brad Chamberlain wrote:
>
> Hi Chapel Developers --
>
> [Attn: Michael, as a few people have suggested that they think you may
> have done something like this in the past?]
>
> Here's something that I was thinking about over the break, have discussed
> with a few of you, and wanted feedback on:
>
> As many developers know, often you want to explore the effect of some
> change in the compiler to some small, simple idiom but end up getting
> tripped up by all of the complexity of the code in the internal modules.
> At some point in the project's early history, we used to have a way to
> ignore all internal modules, but as more and more of the language
> functionality was implemented through the modules, this became
> increasingly untenable and we ended up retiring the capability.
>
> What I'm wondering about is whether we could approximate those days by
> having a mode in which ChapelStandard.chpl provides the most bare bones
> capabilities that the compiler relies upon and nothing more. For the user,
> this may mean no QIO, no parallelism, no on-clauses, etc. but that could
> be sufficient/helpful in many cases where you just want to try a simple
> test case relying on inspection of the generated code or printf()s to
> verify that things behaved as expected.
>
> In particular, imagine a clone of the modules/ directory called
> modules-minimal/ or somesuch that contains a stripped-down version of
> ChapelStandard.chpl and the most minimal definition of things required to
> get past Chapel compilation (potentially stripping out capabilities by
> oversimplifying standard types or capabilities, say).
>
> I wanted to query whether anyone's tried anything like this recently,
> whether there are clear and obvious show-stoppers to such an approach, or
> known obstacles we'd need to get past.
>
> Thanks,
> -Brad
>
>
>
> ------------------------------------------------------------------------------
> CenturyLink Cloud: The Leader in Enterprise Cloud Services.
> Learn Why More Businesses Are Choosing CenturyLink Cloud For
> Critical Workloads, Development Environments & Everything In Between.
> Get a Quote or Start a Free Trial Today.
> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
> _______________________________________________
> Chapel-developers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/chapel-developers
>


------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers

Reply via email to