#549: Kill UnionVal
-------------------------+--------------------------------------------------
Reporter: whiteknight | Owner:
Type: todo | Status: new
Priority: normal | Milestone:
Component: none | Version:
Severity: medium | Keywords: UnionVal
Lang: | Patch:
Platform: |
-------------------------+--------------------------------------------------
Comment(by whiteknight):
Bad news already. I created a fresh branch, pmc_sans_unionval, to test out
this patch. However, it doesn't build. Here are the errors I get:
{{{
$ Projects> make
Compiling with:
xx.c
ccache gcc -I./include -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -pipe
-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 -falign-
functions=16 -fvisibility=hidden -funit-at-a-time -maccumulate-outgoing-
args -W -Wall -Waggregate-return -Wcast-align -Wcast-qual -Wchar-
subscripts -Wcomment -Wdisabled-optimization -Wendif-labels -Wextra
-Wformat -Wformat-extra-args -Wformat-nonliteral -Wformat-security
-Wformat-y2k -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch
-Wlogical-op -Wmissing-braces -Wmissing-field-initializers -Wno-missing-
format-attribute -Wmissing-include-dirs -Wpacked -Wparentheses -Wpointer-
arith -Wreturn-type -Wsequence-point -Wno-shadow -Wsign-compare -Wstrict-
aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Wtrigraphs -Wundef
-Wunknown-pragmas -Wno-unused -Wvariadic-macros -Wwrite-strings -Wlarger-
than-4096 -Wbad-function-cast -Wc++-compat -Wdeclaration-after-statement
-Werror=declaration-after-statement -Wimplicit-function-declaration
-Wimplicit-int -Wmain -Wmissing-declarations -Wmissing-prototypes
-Wnested-externs -Wnonnull -DHAS_GETTEXT -g -DHAVE_COMPUTED_GOTO -fPIC -I.
-o xx.o -c xx.c
cc -o miniparrot src/main.o src/null_config.o \
-Wl,-rpath=/home/andrew/Projects/pmc_sans_unionval/blib/lib
-L/home/andrew/Projects/pmc_sans_unionval/blib/lib -lparrot -lm -L/usr/lib
-licuuc -licudata -lm -ldl -lm -lpthread -lcrypt -lgmp -L/usr/local/lib
-Wl,-E
/home/andrew/Projects/pmc_sans_unionval/blib/lib/libparrot.so: undefined
reference to `PObj_bufstart'
/home/andrew/Projects/pmc_sans_unionval/blib/lib/libparrot.so: undefined
reference to `PObj_buflen'
collect2: ld returned 1 exit status
make: *** [miniparrot] Error 1
}}}
Also, there appear to be many (read: several dozen) references to
PObj_bufstart and PObj_buflen in the codebase still. I'm not sure if this
should be the case, or what is going wrong. I'll take a look through to
see if I can figure out what this patch is doing and how to fix it.
I committed this patch to the branch in r40531. Any followup fixes/patches
should be taken against this branch at that revision. We'll delete that
branch if we haven't gotten it building reasonably by the release of
1.5.0, and figure out a better way forward.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/549#comment:9>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets