I tried to build parrot with the clang, an llvm frontend. It provides a
script called 'ccc', which accepts the same options as gcc.

Configure works fine (perl Configure.pl --verbose --cc=ccc --link=ccc).

The build starts fine, but fails while compiling the first pmc:


clang -emit-llvm-bc -x c -o src/io/io_passdown.o src/io/io_passdown.c
-I./include -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHASATTRIBUTE_CONST
-DHASATTRIBUTE_DEPRECATED -DHASATTRIBUTE_MALLOC -DHASATTRIBUTE_NONNULL
-DHASATTRIBUTE_NORETURN -DHASATTRIBUTE_PURE -DHASATTRIBUTE_UNUSED
-DHASATTRIBUTE_WARN_UNUSED_RESULT -DHAS_GETTEXT -DHAS_JIT -DI386
-DHAVE_COMPUTED_GOTO -Isrc/io
src/pmc/default.c
clang -emit-llvm-bc -x c -o src/pmc/default.o src/pmc/default.c
-I./include -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHASATTRIBUTE_CONST
-DHASATTRIBUTE_DEPRECATED -DHASATTRIBUTE_MALLOC -DHASATTRIBUTE_NONNULL
-DHASATTRIBUTE_NORETURN -DHASATTRIBUTE_PURE -DHASATTRIBUTE_UNUSED
-DHASATTRIBUTE_WARN_UNUSED_RESULT -DHAS_GETTEXT -DHAS_JIT -DI386
-DHAVE_COMPUTED_GOTO -Isrc/pmc
src/pmc/default.c:65:36: error: use of undeclared identifier
'_CONST_STRING_65'
        VTABLE_name(interp, pmc) : CONST_STRING(interp, "(null)");
                                   ^
src/pmc/default.c:123:38: error: use of undeclared identifier
'_CONST_STRING_123'
    if (!string_compare(interp, key, CONST_STRING(interp, "_ro"))) {
                                     ^
src/pmc/default.c:164:9: error: use of undeclared identifier
'_CONST_STRING_164'
        VTABLE_set_pmc_keyed_str(interp, prop_hash, CONST_STRING(interp,
"_ro"), pmc_true);
        ^
src/pmc/default.c:202:40: error: use of undeclared identifier
'_CONST_STRING_202'
        &&!string_compare(interp, key, CONST_STRING(interp, "_ro"))) {
                                       ^
src/pmc/default.c:947:28: error: use of undeclared identifier
'_CONST_STRING_947'
    STRING * const undef = CONST_STRING(interp, "Undef");
                           ^
src/pmc/default.c:1161:9: error: use of undeclared identifier
'_CONST_STRING_1161'
    if (VTABLE_isa(interp, p, CONST_STRING(interp, "NCI"))) {
        ^
src/pmc/default.c:1460:34: error: use of undeclared identifier
'_CONST_STRING_1460'
    STRING * const flags_str   = CONST_STRING(interp, "flags");
                                 ^
src/pmc/default.c:1473:36: error: use of undeclared identifier
'_CONST_STRING_1473'
    if (string_equal(interp, name, CONST_STRING(interp, "flags")) == 0) {
                                   ^
8 diagnostics generated.
make: *** [src/pmc/default.o] Error 1


Does anybody have an idea what might be going on, or what I could do to
fix it?

(If not, that's no problem; it could be that clang+ccc just isn't mature
enough right now)

Moritz

-- 
Moritz Lenz
http://moritz.faui2k3.org/ |  http://perl-6.de/

Reply via email to