[Perl 6 Microgrant] Week 1 ending status

speters on 2007-04-01T00:32:13

The majority of this week has been to start understanding the lay of the land in the Parrot world. The first real obstacle seems to be the regular use of void pointers throughtout the code base. This can make the code difficult to understand since you don't really know what's coming. It also has the nasty side effect of preventing a true C++ compiler from compiling Parrot.

So, to begin, I created the following patches to begin the cleanup.

  • RT #42107 [PATCH] Intel C++ is not gcc
  • RT #42110 [PATCH] Returning values from void functions
  • RT #42151 [PATCH] Assorted casting cleanups - part I
  • RT #42156 [PATCH] Make invoke() return opcode_t*

All of the above were applied, although RT #42156 required some re-work on my part.

I also dug up the warnocked "RT #41837 [PATCH] integer overflow in include/parrot/sub.h" that had been submitted some time ago. It fixes some integer overflow issues that the Sun compilers on Solaris x86 complain loudly about.

For the upcoming week, I see the cleanup of void pointers continuing. I'm also looking into compiling on Borland C++ on Windows. Borland can be much more strict than other compilers causing it to choke on things other compilers let past. I should have an additional patch to help me out with Borland C++ tonight. I also need to take a look at the segmentation faults I'm seeing when I test Parrot on Solaris. I also need to test a couple of changes on HP-UX PA-RISC as well. Finally, there have been some reported success of compiling Parrot on Cygwin. I just need to work on those successes so that you don't have to be a regular on #parrot to compile successfully.