On Thu May 26 15:32:11 2011, dukeleto wrote:
> Howdy,
> 
> After talking with pmichaud++ today about the use of PMC_IS_NULL in
> Rakudo and
> where Rakudo got access to this macro, it was mentioned that Rakudo
> includes
> parrot/parrot.h. It is mentioned at the top of this header file that
> "Only
> parrot core files should include this file".
> 
> Parrot developers understand that Rakudo was probably forced to do
> this in the
> past to get at something that was not properly exported via a public,
> supported
> and documented API.
> 
> We would like to fix this situation, and provide everything that
> Rakudo and
> other HLL's/libraries need via our public header files, so any help in
> identifying what Rakudo is using from parrot/parrot.h would be greatly
> appreciated.
> 
> I expect that this will take a concerted effort by at least one dev on
> the
> Parrot side and at least one more on the Rakudo side. I gladly
> volunteer for
> fixing stuff on the Parrot side, since it directly relates to my
> current TPF
> grant about documenting and testing our embed/extend interface.
> 
> Duke
> 

Removing this include wherever it occurs in the rakudo source causes the 
following build 
errors before erroring out.

./storage_spec.h:12:5: error: unknown type name 'INTVAL'
    INTVAL inlineable;
    ^
./storage_spec.h:17:5: error: unknown type name 'INTVAL'
    INTVAL bits;
    ^
./storage_spec.h:18:5: error: unknown type name 'INTVAL'
    INTVAL align;
    ^
./storage_spec.h:23:5: error: unknown type name 'INTVAL'
    INTVAL boxed_primitive;
    ^
./storage_spec.h:26:5: error: unknown type name 'INTVAL'
    INTVAL can_box;
    ^
In file included from types.c:6:
In file included from ./sixmodelobject.h:8:
./serialization.h:7:5: error: unknown type name 'Parrot_Int4'
    Parrot_Int4   version;
    ^
./serialization.h:11:5: error: unknown type name 'Parrot_Int4'
    Parrot_Int4   num_dependencies;
    ^
./serialization.h:15:5: error: unknown type name 'PMC'
    PMC          *sc;
    ^
./serialization.h:18:5: error: unknown type name 'PMC'
    PMC          *dependent_scs;
    ^
./serialization.h:22:5: error: unknown type name 'Parrot_Int4'
    Parrot_Int4   num_stables;
    ^
./serialization.h:28:5: error: unknown type name 'Parrot_Int4'
    Parrot_Int4   num_objects;
    ^
./serialization.h:34:5: error: unknown type name 'Parrot_Int4'
    Parrot_Int4  num_closures;
    ^
./serialization.h:39:5: error: unknown type name 'Parrot_Int4'
    Parrot_Int4   num_contexts;
    ^
./serialization.h:44:5: error: unknown type name 'PMC'
    PMC          *string_heap;
    ^
./serialization.h:56:5: error: unknown type name 'PMC'
    PMC *stables_list;
    ^
./serialization.h:57:5: error: unknown type name 'PMC'
    PMC *objects_list;
    ^
./serialization.h:58:5: error: unknown type name 'PMC'
    PMC *codes_list;
    ^
./serialization.h:59:5: error: unknown type name 'PMC'
    PMC *contexts_list;
    ^
./serialization.h:63:5: error: unknown type name 'Parrot_Int4'
    Parrot_Int4 stables_data_offset;
    ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.

-- 
Will "Coke" Coleda

Reply via email to