Hi -

> What does this flag do?  ...  the resulting binary seg faults

Apparently it no longer works. It segfaults for me on cases that used to
work with it.  It was supposed to skip the module initialization phase
for possibly all modules (or at least the internal ones).  All the modules
are still compiled - it's just that they are not run at program startup.

Tests that used to work this way (and that I would expect minimal-modules
to compile) are in test/nostdlib.

Anyway, all that means that the --ignore-internal-modules flag should
probably be removed and replaced by a minimal-modules compilation mode.

-michael

On 01/15/2014 01:32 PM, Brad Chamberlain wrote:
>
> 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