Hi Michael --

> 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)

What does this flag do?  I didn't see any documentation for it in the 
commit log or sources...  If I do a --savec output, I still get 53 files 
including a bunch of the internal ones (ChapelBase, ChapelLocale, etc.) 
and the resulting binary seg faults for a code that shouldn't require the 
internal modules in any deep way:

        var x = 1;
        extern proc printf(x...);
        printf("%ld\n", x);

What I'm hoping for in this thread is a mode in which I can compile the 
program above, only get one major .c file corresponding to a Chapel module 
in the output directory (with probably a few other boilerplate files like 
chpl__header.h, _config.c), and a working executable.  If 
--ignore-internal-modules is a path to that, I'm open to it, but I'm not 
able to connect what I'm seeing to what I want.


> 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.

I'm not imagining that changes to modules/ would also need to be made to 
modules-minimal/ unless it was a new requirement for the compiler to 
fulfill (e.g., the compiler looks for certain symbols in certain cases). 
This doesn't happen very often, so I'd expect that most changes to 
modules/ wouldn't need to be reflected to modules-minimal/ (and those that 
do might point to weaknesses in the proposed approach).

Thanks for any additional information,
-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

Reply via email to