Re: [perl #52054] [CAGE]: Make all PDDs conform to coding standards

2008-09-06 Thread Christoph Otto

James Keenan via RT wrote:

The PDDs in docs/pdds/ are now in substantial compliance with the coding
standard, those in docs/pdds/draft/ much less so.  I'll leave this
ticket open, but it's the sort of thing that only needs some cage
cleaning attention every month or so.



The non-draft PDDs are all passing t/codingstd/pdd_format.t as of r30810, but 
two of the draft PDDs aren't.  Since they're still drafts and as such are very 
likely to change, it doesn't seem worthwhile to bring them into compliance or 
to have a test depend on them.


I propose that pdd_format.t be split into 2 otherwise identical tests; one for 
draft PDDs and one for final PDDs.  The draft test could be permanently 
TODO'd, which would indicate if any of the drafts were broken without messing 
up the test results.  The final PDD test could become part of make test and 
this ticket could be marked resolved.


I'll submit a patch if this seems to be a reasonable solution.


Re: [ PATCH ] Broken link on parrotcode.org dev page - list item Parrot Testing Status

2008-09-06 Thread Allison Randal

Ronald Schmidt wrote:
I applied for an account and built what seems to me to be an appropriate 
Parrot Testing Status page.  My proposed link target is 
http://www.parrot.org/wiki/some-testing-status-tools .  If someone wants 
to set me up as a site editor I will fix the link myself otherwise the 
page is available for someone else to fix the link.


Someone else beat me to granting you editor access. But, while I was in 
there anyway, I went ahead and switched the Wiki tab at the top to 
point to the top-level parrot.org wiki page.


Allison


[svn:parrot-pdd] r30814 - trunk/docs/pdds/draft

2008-09-06 Thread allison
Author: allison
Date: Sat Sep  6 02:24:42 2008
New Revision: 30814

Modified:
   trunk/docs/pdds/draft/pdd30_install.pod
   trunk/docs/pdds/draft/pdd31_hll_interop.pod

Log:
[cage] Update two draft PDDs so they meet the coding standards.


Modified: trunk/docs/pdds/draft/pdd30_install.pod
==
--- trunk/docs/pdds/draft/pdd30_install.pod (original)
+++ trunk/docs/pdds/draft/pdd30_install.pod Sat Sep  6 02:24:42 2008
@@ -8,10 +8,10 @@
 =head1 ABSTRACT
 
 This PDD defines Parrot's installation details. The goal is to provide binary
-packages, a working Cmake install for parrot, the installables, FHS compliant
-search paths for the installables and solving the problem of not accessing
-installed source-only files and the optimization of config bootstrapping
-if a frozen config_hash is already linked.
+packages, a working Cmake install for parrot, the installables, FHS
+compliant search paths for the installables and solving the problem of not
+accessing installed source-only files and the optimization of config
+bootstrapping if a frozen config_hash is already linked.
 
 =head1 VERSION
 
@@ -26,28 +26,28 @@
 
 =head1 DESCRIPTION
 
-Parrot installation mechanisms are more powerful than perl5's.
-MANIFEST contains also the end location, tools/dev/install_files.pl is driven
-by this definition.
-The three runtime paths for include, library for load_bytecode and dynext
-for loadlib should end up in the $prefix/lib/parrot paths.
-See #56996-fhs-runtime.patch
+Parrot installation mechanisms are more powerful than perl5's.  MANIFEST
+contains also the end location, tools/dev/install_files.pl is driven by this
+definition.  The three runtime paths for include, library for
+load_bytecode and dynext for loadlib should end up in the $prefix/lib/parrot
+paths.  See #56996-fhs-runtime.patch
 
 Contrary to perl5, parrot and its language implementions on top of parrot may
 be installed as self-hosting single-file executables, with the help of merged
 pbc's and pbc2exe --install.
 
 Bootstrapping the config hash should not read a config file when the hash is
-already contained in the pmc or executable. See #57418 [TODO] optimize
-_config to omit .include library/config.pir on installables.
+already contained in the pmc or executable. See #57418 [TODO] optimize _config
+to omit .include library/config.pir on installables.
 
 The same problem is for every .include, .loadlib and .load_bytecode statement
-in installed files where the target is not installed. This could be solved with
-a module system or with pbc_merge removing not needed .load_bytecode 
statements.
+in installed files where the target is not installed. This could be solved
+with a module system or with pbc_merge removing not needed .load_bytecode
+statements.
 
 Test executables are binary different to installable executables because of
-this embedded config hash. Test executables contain config hash with
-the prefix to the build_dir, installables to the given prefix from 
Configure.pl.
+this embedded config hash. Test executables contain config hash with the
+prefix to the build_dir, installables to the given prefix from Configure.pl.
 
 There are's also a long-standing conflict in building parrot with an already
 installed shared libparrot.so. See #39742-installed-conflict.patch which adds
@@ -61,16 +61,18 @@
 have a similar packaging problem, which they haven't solved yet.
 
 Bbuild_dir is the full path where parrot was built. It is defined in the
-config hash. When building from source build_dir is also the PARROT_RUNTIME 
prefix.
+config hash. When building from source build_dir is also the PARROT_RUNTIME
+prefix.
 
-BDESTDIR is the end location of the parrot tree in front of the prefix
-(/usr or /usr/local). This allows packaging by installing into a seperate
-install tree and do a tar cf there.
+BDESTDIR is the end location of the parrot tree in front of the prefix (/usr
+or /usr/local). This allows packaging by installing into a seperate install
+tree and do a tar cf there.
 
 The Bconfig hash is the return value of the global function C_config(),
-generated in Fconfig_lib.pasm, and either defined in Flibrary/config.pir, 
or
-as frozen pmc embedded in the test executable (Fconfig.fpmc), the installable
-executable (Finstall_config.fpmc) or empty for miniparrot 
(Fnull_config.fpmc).
+generated in Fconfig_lib.pasm, and either defined in Flibrary/config.pir,
+or as frozen pmc embedded in the test executable (Fconfig.fpmc), the
+installable executable (Finstall_config.fpmc) or empty for miniparrot
+(Fnull_config.fpmc).
 
 =head1 IMPLEMENTATION
 
@@ -78,8 +80,8 @@
 
 The parrot build system is optimized for building and testing in the
 build_dir, but not for building with an already installed parrot due to simple
-build system bugs, and not optimized to build and test installables, which 
should
-not access the libraries in the build_dir, but in the DESTDIR.
+build system bugs, 

Re: [perl #52054] [CAGE]: Make all PDDs conform to coding standards

2008-09-06 Thread Allison Randal

Christoph Otto wrote:


The non-draft PDDs are all passing t/codingstd/pdd_format.t as of 
r30810, but two of the draft PDDs aren't.  Since they're still drafts 
and as such are very likely to change, it doesn't seem worthwhile to 
bring them into compliance or to have a test depend on them.


I propose that pdd_format.t be split into 2 otherwise identical tests; 
one for draft PDDs and one for final PDDs.  The draft test could be 
permanently TODO'd, which would indicate if any of the drafts were 
broken without messing up the test results.  The final PDD test could 
become part of make test and this ticket could be marked resolved.


I'll submit a patch if this seems to be a reasonable solution.


I just updated the draft PDDs so they pass. For as long as the 'draft' 
directory exists, I'd like the PDDs there to be subjected to the same 
formatting standards as the approved ones, even if they aren't 
official yet.


Allison



Re: [svn:parrot-pdd] r30569 - trunk/docs/pdds

2008-09-06 Thread Allison Randal

jerry gay wrote:



the sugar for what can be on the left side of an equals sign needs to
be changed. simply having a first parameter with OUT isn't enough. the
same thing happens for
  $P0 = push $S1
which is legal pir syntax, but obscure at best.

ops must have some means of specifying (perhaps an attribute like
C:returns or C:rvalue?) that allows them to be on the right side
of the equals. only this class of ops allows the syntax described
above.


Yes, agreed.

Allison


Re: How may I help maintain parrot.org?

2008-09-06 Thread Allison Randal

Alejandro Gómez de Argüello y de Laburu wrote:

Following the instructions I found in How to Get Involved at the
parrot.org website, I hereby volunteer to help maintain said website
by updating existing pages or adding new content, or in other ways
such as my skills and time allow.


Thanks for volunteering! Editor access granted.

At the moment (since we just migrated), the biggest thing that's helpful 
is checking for broken links.


The next thing that will be helpful is checking pages for out-of-date 
content. Even someone new to the project can try out the instructions a 
page gives and see if they still work. If they don't work, and you're 
not sure how they should work, you can check with us here.


Allison


[perl #52976] [BUG] perl6 stand-alone binary broken

2008-09-06 Thread Christoph Otto via RT
On Wed Apr 16 14:24:28 2008, [EMAIL PROTECTED] wrote:
 On Wednesday 16 April 2008 10:49:15 Christoph Otto (Volt) wrote:
 
  The perl6 stand-alone binary chokes on chromatic's mmd example
 

(http://www.oreillynet.com/onlamp/blog/2008/04/multiple_dispatch_now_please
 .html) under linux/x86.  The bug was exposed in r26173, but the root
 cause
  is probably deeper.  It looks easy to reproduce, but I can certainly
  provide more information if as needed.
 
 The root cause is a double-free on something in a context somewhere.
 If you
 keep the patch in r26173 around and bisect the thousand or so commits
 before
 there, you (or I) can probably find it.
 
 -- c
 


I'm not sure why this didn't get closed earlier, but now's a fine time
to do so.  
resolved


[perl #51838] [BUG] cygwin build fails

2008-09-06 Thread Christoph Otto via RT
On Tue Mar 18 14:05:34 2008, rurban wrote:
  It's time to use Configure.pl with the option --without-crypto
 
 Or to add -lcrypto to the cmdline.
 Configure.pl fails to pick it up apparently.
 
 my %Parrot::Config::Generated::PConfig contains -lcrypto in libs
   'libs' = '-ldl -lcrypt -lgmp -lreadline -lcrypto', 
 so there's something else broken.
 However, the rest compiles ok.
 
 dynpmc does contain it:
 my $extraLibs = '-ldl -lcrypt -lgmp -lreadline -lcrypto ';
 but it is only used on windows. How should does work on other platforms?
 
 Anyway I fixed it with this patch:
 
 config/gen/makefiles/dynpmc_pl.in
 diff -ub  config/gen/makefiles/dynpmc_pl.in.orig
 --- config/gen/makefiles/dynpmc_pl.in.orig  2008-03-15
 22:01:26.015625000 +
 +++ config/gen/makefiles/dynpmc_pl.in   2008-03-18 21:06:16.25000
+
 @@ -92,6 +92,8 @@
  }
  else {
  $liblist = join( ' ', map { -l$_ } keys %$libs );
 +my $extraLibs = '@libs@ @icu_shared@';
 +$liblist .= ' ' . $extraLibs;
  }
 
  return
 
 

It looks like chromatic added this patch in r26632.  Does it resolve
this issue?



[perl #48439] [TODO] [configure] compiling Parrot with LLVM

2008-09-06 Thread Christoph Otto via RT
On Mon Dec 10 08:52:27 2007, [EMAIL PROTECTED] wrote:
 Marton Papp has successfully compiled Parrot with LLVM on Windows with 
 mingw-make (it's failing 18 tests, which is impressively low for a first 
 run on a new compiler). Below is his summary of the steps he followed. 
 I'd like to extract the changes he made for the configuration system.
 
  Original Message 
 Subject: Re: hi! LLVM and parrot
 Date: Mon, 10 Dec 2007 14:33:46 +0100
 From: [EMAIL PROTECTED]
 
 [...]
 I used this file to compile it
 set path=%path%;c:\mingw\bin;D:\extracted\icu2\icu\bin
 e:
 cd e:\extracted\parrot-0.5.0\bin
 perl configure.pl --cc=E:\llvm\bin\llvm-gcc.exe
 --cxx=E:\llvm\bin\llvm-g++.exe --link=E:\llvm\bin\llvm-gcc.exe
 --ld=E:\llvm\bin\llvm-gcc.exe
 
 
 
 I changed the makefile in the directory
 where there is line CUR_DIR = .
 I changed it for  full path of the current directory.
 (Otherwise ./mini_parrot caused in error)
 In my case,
 It became CUR_DIR = E:\extracted\parrot-0.5.0
 
 and ran mingw-make
 Then make stopped.
 I moved into the directory, it just left.
 Changed these files/
 In dynpmc.pl
 I changed last line of partial_link_cmd.
 return
 $LD .
 '-o ' . $target .   .
 join( , map {$PATHQUOTE$_$PATHQUOTE} @$sources) .
  $PATHQUOTE$LIBPARROT$PATHQUOTE $liblist $LDFLAGS
$LD_LOAD_FLAGS ;
 
 and changed this:our $LIBPARROT = q[]; for our $LIBPARROT = q[-lparrot]
 
 continued make by mingw-make...
 
 The make failed again , then
 
 I changed parrot-0.5.0\tools\build\dynoplibs.pl
 I inserted these lines (copied them from tools\build\dynpmc.pl) :
 # Also note that we may need to look in the Parrot blib directory.
 if ($CC =~ /gcc/i) {
 $liblist .= qq{ -Wl,-L E:/extracted/parrot-0.5.0/blib/lib};
 }
 else {
 $liblist .= qq{
/LIBPATH:E:/extracted/parrot-0.5.0/blib/lib};
 }
 
 I changed last lines of partial_link_cmd in dynpmc.pl
 (something similar to this)
 
 return
 $LD .
 '-o ' . $target .   .
 join( , map {$PATHQUOTE$_$PATHQUOTE} @$sources) .
  $liblist $LDFLAGS $LD_LOAD_FLAGS ;
 
 The explanation: remove $PATHQUOTE$LIBPARROT$PATHQUOTE  so that
 unreferenced symbol do not occur..
 I did something similar in the code it is not worth duplicating it here.
 
 I changed $extraLibs in dynoplibs.pl inpartial_link_cmd
 for $extraLibs = '-lparrot ..
 I added -lparrot at the beginning
 
 I went into directory just failed. I ran make.
 Then I want back to the main make.
 I ran it.
 
 Marton Papp
 

All tests pass on Debian/x86 with --cc=llvm-gcc --link=llvm-gcc 
--ld=llvm-gcc passed to Configure.pl .  If someone can confirm that
Configure.pl is similarly smart on Windows, this ticket can be closed.



[perl #48176] [TODO] [pugs] Warning: use of uninitialized value

2008-09-06 Thread Christoph Otto via RT
On Wed Dec 05 04:53:15 2007, pcoch wrote:
 In languages/pugs/pmc/pugscapture.pmc there are todo items of the form:
 
 /* XXX Warning: use of uninitialized value */
 
 This looks very similar to RT#48170 which was in the regex language.  Does
 this todo item mean that we should be *warning* about an uninitialised
value
 here, rather than that there is one in the C code?

I'm rejecting this, since pugs has been deleted from trunk.


[perl #32087] [PATCH] .include with an absolute path

2008-09-06 Thread Christoph Otto via RT
On Fri Sep 05 00:58:51 2008, cotto wrote:
 On Fri Aug 01 06:44:05 2008, coke wrote:
  On Thu, Jul 31, 2008 at 7:35 PM, James Keenan via RT
  [EMAIL PROTECTED] wrote:
   Coke:  Given the points Leo made and the fact that there has been
   nothing from the OP in 4 years, can we close this ticket?
  
   Thanks.
  
   kid51
  
  
  Just because there's no activity or followups on a ticket doesn't mean
  the bug isn't still there. In this case, though, I can't reproduce the
  poster's original complaint about an absolute include path not
  working, ignoring the quality or state of his patch.
  
  We can close this ticket by adding a test that
  - creates a temporary PIR file with a simple one line :main that
  outputs something.
  - gets the absolute path of that file
  - uses another file to .include  that temporary file via the absolute
 path.
  - verifies the output
  - removes the temporary file.
  
 
 This patch adds test of this functionality to
 t/compilers/imcc/syn/file.t .  It passes on Linux/x86.  I'll try it on a
 windows machine tomorrow and apply it over the weekend unless there any
 objections.
 
 Christoph

The patched test works on windows, so I've applied it as r30801 and am
resolving this ticket.



[svn:parrot-pdd] r30809 - trunk/docs/pdds/draft

2008-09-06 Thread cotto
Author: cotto
Date: Fri Sep  5 23:06:22 2008
New Revision: 30809

Modified:
   trunk/docs/pdds/draft/pdd31_hll_interop.pod

Log:
[pdd] replace some stray tabs with spaces


Modified: trunk/docs/pdds/draft/pdd31_hll_interop.pod
==
--- trunk/docs/pdds/draft/pdd31_hll_interop.pod (original)
+++ trunk/docs/pdds/draft/pdd31_hll_interop.pod Fri Sep  5 23:06:22 2008
@@ -49,7 +49,7 @@
 --allison }}
 
 |
-   |
+|
 |Calling sub
 | |
 |   Language X|
@@ -60,13 +60,13 @@
   plain Parrot  |
   |
 + |
-|V
-|  Called wrapper
+|  V
+|Called wrapper
 | |
 | |
 |   Language YV
 | Called sub
-   |
+|
 
 Where necessary, a language may need to provide a wrapper sub to interface
 external calls to the language's internal calling and data representation
@@ -176,11 +176,11 @@
 definition for a given sub (i.e. one that provides the wrapper) that can be
 done without too much namespace hair.  I.e.
 
-   .sub foo :extern
+.sub foo :extern
 
 defines the version that is used by interlanguage calling, and
 
-   .sub foo
+.sub foo
 
 defines the version that is seen by other code written in that language
 (i.e. via Cget_hll_global).  If there is no plain Cfoo, the C:extern


[perl #50878] [BUG] is_equal vtable function not callable in C

2008-09-06 Thread Christoph Otto via RT
On Fri Feb 15 02:43:05 2008, [EMAIL PROTECTED] wrote:
 
 They're marked as MMD in vtable.tbl, so my guess is that they're not
 directly
 callable by vtable pointer from C.  Fdocs/mmd.pod (though admittedly
 out of
 date) suggests that mmd_dispatch_* is the right approach.
 
 -- c
 

Sounds good enough for me.  I'm marking this as resolved.


[perl #58628] Re: [ PATCH ] Broken link on parrotcode.org dev page - list item Parrot Testing Status

2008-09-06 Thread via RT
# New Ticket Created by  Allison Randal 
# Please include the string:  [perl #58628]
# in the subject line of all future correspondence about this issue. 
# URL: http://rt.perl.org/rt3/Ticket/Display.html?id=58628 


Ronald Schmidt wrote:
 I applied for an account and built what seems to me to be an appropriate 
 Parrot Testing Status page.  My proposed link target is 
 http://www.parrot.org/wiki/some-testing-status-tools .  If someone wants 
 to set me up as a site editor I will fix the link myself otherwise the 
 page is available for someone else to fix the link.

Someone else beat me to granting you editor access. But, while I was in 
there anyway, I went ahead and switched the Wiki tab at the top to 
point to the top-level parrot.org wiki page.

Allison


[perl #54938] [BUG] Double free

2008-09-06 Thread Christoph Otto via RT
On Tue May 27 13:33:11 2008, [EMAIL PROTECTED] wrote:
 Running this program:
 
 sub foo($a) {say $a} ; my $x = ;
 
 on Ubuntu 8.04 with latest Parrot from svn gives this:
 
 $ ./perl6 test.p6 
 Statement not terminated properly at line 1, near = ;\n
 current instr.: 'parrot;PGE::Util;die' pc 120
 (runtime/parrot/library/PGE/Util.pir:82)
 called from Sub 'parrot;Perl6::Grammar;statementlist' pc 18610
 (src/gen_grammar.pir:2736)
 called from Sub 'parrot;Perl6::Grammar;statement_block' pc 15456
 (src/gen_grammar.pir:1614)
 called from Sub 'parrot;Perl6::Grammar;TOP' pc 11688
 (src/gen_grammar.pir:211)
 called from Sub 'parrot;PCT::HLLCompiler;parse' pc 562
 (src/PCT/HLLCompiler.pir:348)
 called from Sub 'parrot;PCT::HLLCompiler;compile' pc 438
 (src/PCT/HLLCompiler.pir:291)
 called from Sub 'parrot;PCT::HLLCompiler;eval' pc 753
 (src/PCT/HLLCompiler.pir:450)
 called from Sub 'parrot;PCT::HLLCompiler;evalfiles' pc 1065
 (src/PCT/HLLCompiler.pir:587)
 called from Sub 'parrot;PCT::HLLCompiler;command_line' pc 1244
 (src/PCT/HLLCompiler.pir:676)
 called from Sub 'parrot;Perl6::Compiler;main' pc 10064 (perl6.pir:186)
 *** glibc detected *** ./perl6: double free or corruption (!prev):
 0x00e83310 ***
 
 Attached is a valgrind --leak-check=full log of a double free with this
 program: 
 

I'm no longer seeing the double free on Debian/x86.  It would be good to
get a confirmation from the thread starter, but it looks like this
ticket can be resolved.  I'll give it a couple days and mark it as such.

Christoph



[perl #55196] [BUG] print/say opcodes have different float precision

2008-09-06 Thread Christoph Otto via RT
On Mon Jun 02 13:08:27 2008, [EMAIL PROTECTED] wrote:
 On Monday 02 June 2008 12:27:17 Bernhard Schmalhofer wrote:
 
  The behavior of
 
  .sub main
 
$N0 = 3.14159
say $N0
print $N0
print \n
  .end
 
  surprised me, as I got:
 
 
  [EMAIL PROTECTED]:~/devel/Parrot/trunk$ uname -a
  Linux heist 2.6.24-17-generic #1 SMP Thu May 1 14:31:33 UTC 2008
 i686
  GNU/Linux
  [EMAIL PROTECTED]:~/devel/Parrot/trunk$ ./parrot t.pir
  3.14159
  3.141590
 
  Why should 'print' print trailing a '0' and 'say' not?
 
 The print opcode calls PIO_printf with a format of %f, while the say
 pseudo-opcode calls the say method on a ParrotIO PMC and Parrot
 converts the
 N-register argument into a string by some other means.  This happens
 in
 src/inter_call.c, in convert_arg_from_num(), which calls
 string_from_num() in
 src_string.c with a format of %vg.
 
 They should probably be consistent, but changing either of them to
 match the
 other causes test failures (though they all look superficial).
 
 -- c
 

I'll sign up to do the grunt work to fix the failing tests if someone
makes a decision on what the consistent behavior should be.

Christoph


[perl #52854] [bug] Build failure with G++

2008-09-06 Thread Christoph Otto via RT
On Mon Apr 14 08:07:32 2008, [EMAIL PROTECTED] wrote:
 On Mon, Apr 14, 2008 at 11:40:01AM +0530, Senaka Fernando wrote:
 
  On Mon, Apr 14, 2008 at 6:33 AM, chromatic [EMAIL PROTECTED]
 wrote:
 
   Thanks, applied as r26965, except for the patch to
   compilers/imcc/imclexer.c, which is a generated file.  The source
 is
   compilers/imcc/imcc.l.
 
  Well if it is a generated file, why should it be under version
 control?
  Shouldn't that be removed?
 
 Normally, yes.  In this case, we don't want to require everyone to
 install the
 correct versions of lex/flex and yacc/bison just to be able to build
 Parrot.
 In practice, very few people touch the IMCC parser or lexer.
 
 -- c
 

I'm marking this resolved, since #52874 is resolved and is a
continuation of this ticket.



[svn:parrot-pdd] r30810 - trunk/docs/pdds

2008-09-06 Thread cotto
Author: cotto
Date: Fri Sep  5 23:19:14 2008
New Revision: 30810

Modified:
   trunk/docs/pdds/pdd07_codingstd.pod
   trunk/docs/pdds/pdd09_gc.pod
   trunk/docs/pdds/pdd19_pir.pod
   trunk/docs/pdds/pdd27_multiple_dispatch.pod

Log:
[pdd] make non-draft PDDs pass pdd_format.t


Modified: trunk/docs/pdds/pdd07_codingstd.pod
==
--- trunk/docs/pdds/pdd07_codingstd.pod (original)
+++ trunk/docs/pdds/pdd07_codingstd.pod Fri Sep  5 23:19:14 2008
@@ -987,6 +987,10 @@
 or Cis_perl_exemption()).  One can use wildcards in the list to exempt,
 for example, all files under a given directory.
 
+=head1 REFERENCES
+
+none
+
 =cut
 
 # Local Variables:

Modified: trunk/docs/pdds/pdd09_gc.pod
==
--- trunk/docs/pdds/pdd09_gc.pod(original)
+++ trunk/docs/pdds/pdd09_gc.podFri Sep  5 23:19:14 2008
@@ -557,9 +557,9 @@
 
 For PMCs and Buffers to be collected properly, you must set the appropriate
 flags on them. Directly manipulating these flags is not recommended because
-the exact values can be changed over time. A series of macros have been created
-in Finclude/parrot/pobject.h that set and check for these flags. Always use
-these provided macros when you need to test or set these flags.
+the exact values can be changed over time. A series of macros have been 
+created in Finclude/parrot/pobject.h that set and check for these flags.
+Always use these provided macros when you need to test or set these flags.
 
 =over 4
 

Modified: trunk/docs/pdds/pdd19_pir.pod
==
--- trunk/docs/pdds/pdd19_pir.pod   (original)
+++ trunk/docs/pdds/pdd19_pir.pod   Fri Sep  5 23:19:14 2008
@@ -65,8 +65,8 @@
 Note that by using an opcode name as a local variable name, the variable will
 Ihide the opcode name, effectively making the opcode unusable.
 
-In contrast to opcode names, PIR keywords Iare reserved, and cannot be used 
as
-identifiers. Some opcode names are, in fact, PIR keywords, which therefore
+In contrast to opcode names, PIR keywords Iare reserved, and cannot be used
+as identifiers. Some opcode names are, in fact, PIR keywords, which therefore
 cannot be used as identifiers.
 
 The following are PIR keywords, and cannot be used as identifiers:
@@ -1282,6 +1282,10 @@
 
 N/A
 
+=head1 REFERENCES
+
+N/A
+
 =cut
 
 __END__

Modified: trunk/docs/pdds/pdd27_multiple_dispatch.pod
==
--- trunk/docs/pdds/pdd27_multiple_dispatch.pod (original)
+++ trunk/docs/pdds/pdd27_multiple_dispatch.pod Fri Sep  5 23:19:14 2008
@@ -111,8 +111,8 @@
 
 Return an array of matching candidates, sorted from best matching to worst
 matching, for a passed in signature. The signature passed in is a simple type
-string for the signature ('P' for PMC, 'I' for integer, 'N' for number, and 'S'
-for string).
+string for the signature ('P' for PMC, 'I' for integer, 'N' for number, and 
+'S' for string).
 
 =item get_iter
 
@@ -146,8 +146,8 @@
 Return an array of matching candidates, sorted from best matching to worst
 matching, for a passed in signature. If the signature passed in is an array of
 PMCs, the types are extracted from the types of the array elements. If the
-signature passed in is a simple type string for the signature ('P' for PMC, 'I'
-for integer, 'N' for number, and 'S' for string), the types are matched as
+signature passed in is a simple type string for the signature ('P' for PMC, 
+'I' for integer, 'N' for number, and 'S' for string), the types are matched as
 simple types.
 
 =back


[perl #48172] [TODO] [pugs] Getting nonexistent value, exception or undef?

2008-09-06 Thread Christoph Otto via RT
On Wed Dec 05 04:49:22 2007, pcoch wrote:
 In languages/pugs/pmc/pugscapture.pmc:retval() there is the todo item:
 
 /* XXX getting non existent value, exception or undef?
 
 It looks like we need to determine at this point whether or not the value 
 we are getting doesn't exist, is an exception, or is undef.  Please
correct
 me if I'm wrong!


I'm rejecting this, since pugs has been deleted from trunk.


[perl #54414] [BUG] t\benchmark\benchmarks.t failure (r27624)

2008-09-06 Thread Christoph Otto via RT
On Mon May 19 03:55:46 2008, [EMAIL PROTECTED] wrote:
 On Sun May 18 17:02:30 2008, ajr wrote:
  t\benchmark\benchmarks..28/37
  #   Failed test 'examples/benchmarks/primes2.pasm'
  #   at t\benchmark\benchmarks.t line 219.
  # Exited with error code: 1
 
 I think this problem is not restricted to Windows.  Like Alan, I was
 running 'make fulltest' in response to chromatic's request for
 pre-release feedback.  During the section 'make benchmark_tests', I got
 the attached on linux/386.
 
 

All the benchmark tests are passing for me in linux/x86.  Is that enough
to close this ticket?

Christoph




[perl #54110] [BUG] segfault in infix/n_infix with string arguments

2008-09-06 Thread Christoph Otto via RT
On Tue May 13 08:05:08 2008, coke wrote:
 On Tue, May 13, 2008 at 9:48 AM, via RT Patrick R. Michaud
 [EMAIL PROTECTED] wrote:
  # New Ticket Created by  Patrick R. Michaud
   # Please include the string:  [perl #54110]
   # in the subject line of all future correspondence about this
 issue.
   # URL: http://rt.perl.org/rt3/Ticket/Display.html?id=54110 
 
 
 
   The infix and n_infix opcodes cause segfaults when invoked with
   string arguments.  (Kubuntu 8.04, x86, r27472)
 
   Here's an example:
 
   $ cat z.pir
   .sub main :main
  $P0 = new 'Float'
  $P0 = 3
  n_mul $P1, $P0, 4
  say $P1# 12
   .end
   $ ./parrot z.pir
   Segmentation fault
   $
 
   Pm
 
 
 Doing some digging: This code (String pmc instead of STRING register)
 generates the expected result:
 
 .sub main :main
$P0 = new 'Float'
$P0 = 3
$P2 = new 'String'
$P2 = 4
n_mul $P1, $P0, $P2
say $P1# 12
 .end
 
 And here's the backtrace on the original code:
 #0  0x in ?? ()
 #1  0xb7dedd1e in Parrot_Integer_multiply (interp=0x804f040,
 pmc=0x82313f8,
 value=0x81fba7c, dest=0x0) at ./src/pmc/integer.pmc:605
 #2  0xb7c773e3 in mmd_dispatch_p_psp (interp=0x804f040,
 left=0x82313f8,
 right=0x81fba7c, dest=0x0, func_nr=4) at src/mmd.c:569
 #3  0xb7c0b684 in Parrot_n_infix_ic_p_p_sc (cur_opcode=0x82490b0,
 interp=0x804f040) at src/ops/math.ops:102
 #4  0xb7c9eef4 in runops_slow_core (interp=0x804f040, pc=0x82490b0)
 at src/runops_cores.c:221
 #5  0xb7c704d6 in runops_int (interp=0x804f040, offset=0)
 at src/interpreter.c:918
 #6  0xb7c70e07 in runops (interp=0x804f040, offs=0) at
 src/inter_run.c:106
 #7  0xb7c71096 in runops_args (interp=0x804f040, sub=0x82317b0,
 obj=0x8096090,
 meth_unused=0x0, sig=0xb7ecda37 vP,
 ap=0xbfb1ba6c

\224\027#\b¨º±¿P\fø·Ðò\004\b\224\027#\b°\027#\b|[EMAIL PROTECTED])
 at src/inter_run.c:232
 #8  0xb7c711cc in Parrot_runops_fromc_args (interp=0x804f040,
 sub=0x82317b0,
 sig=0xb7ecda37 vP) at src/inter_run.c:301
 #9  0xb7c59de7 in Parrot_runcode (interp=0x804f040, argc=1,
 argv=0xbfb1bbd8)
 at src/embed.c:943
 #10 0xb7ea9f92 in imcc_run_pbc (interp=0x804f040, obj_file=0,
 output_file=0x0,
 argc=1, argv=0xbfb1bbd8) at compilers/imcc/main.c:783
 #11 0xb7eaa982 in imcc_run (interp=0x804f040, sourcefile=0xbfb1c9dd
 z.pir,
 ...
 
 

Is this bug going to continue to be relevant, since the pdd27mmd branch
has removed the n_* opcodes (and presumably trunk will too after the
branch is merged back)?

Christoph


[perl #48971] [BUG] Parrot build failure no such instruction: `trap'

2008-09-06 Thread Christoph Otto via RT
On Sun May 04 03:11:12 2008, [EMAIL PROTECTED] wrote:
 Excellent, the patch from ticket 52214 works.
 
 Walter
 


resolved


[perl #48320] [BUG] Example in pdd23 doesn't work

2008-09-06 Thread Christoph Otto via RT
On Sat Feb 16 17:23:47 2008, coke wrote:
 The example in the PDD now reads:
 
   $P0 = new 'String'
   $P0 = something bad happened
   $P1 = new ['parrot';'exception'], $P0  # create new exception object
   throw $P1  # throw it
 


This code continues to not work.  Would it be DTRT to copy/pasta some
code from t/pmc/exception.t, such as the throw - no handler test?


[perl #54414] [BUG] t\benchmark\benchmarks.t failure (r27624)

2008-09-06 Thread Ronald Blaschke via RT
On Fri Sep 05 14:05:11 2008, cotto wrote:
 On Mon May 19 03:55:46 2008, [EMAIL PROTECTED] wrote:
  On Sun May 18 17:02:30 2008, ajr wrote:
   t\benchmark\benchmarks..28/37
   #   Failed test 'examples/benchmarks/primes2.pasm'
   #   at t\benchmark\benchmarks.t line 219.
   # Exited with error code: 1
  
  I think this problem is not restricted to Windows.  Like Alan, I was
  running 'make fulltest' in response to chromatic's request for
  pre-release feedback.  During the section 'make benchmark_tests', I got
  the attached on linux/386.
 
 All the benchmark tests are passing for me in linux/x86.  Is that enough
 to close this ticket?

r30816 tests fine on Windows XP, MSVC 9, as well.  I'm closing this
ticket.  Please reopen or create a new one if the problem persists
somewhere.

$ prove t\benchmark
t\benchmark\benchmarksok
All tests successful.
Files=1, Tests=37, 158 wallclock secs ( 0.02 usr +  0.02 sys =  0.03 CPU)
Result: PASS

Thanks,
Ron


[perl #48320] [BUG] Example in pdd23 doesn't work

2008-09-06 Thread Bob Rogers
   From: Christoph Otto via RT [EMAIL PROTECTED]
   Date: Fri, 05 Sep 2008 18:34:51 -0700

   This code continues to not work.  Would it be DTRT to copy/pasta some
   code . . .

Only if it's not spaghetti code.  ;-}

-- Bob Rogers
   http://rgrjr.dyndns.org/


Re: [perl #48320] [BUG] Example in pdd23 doesn't work

2008-09-06 Thread NotFound
On Sat, Sep 6, 2008 at 3:34 AM, Christoph Otto via RT
[EMAIL PROTECTED] wrote:
 On Sat Feb 16 17:23:47 2008, coke wrote:
 The example in the PDD now reads:

   $P0 = new 'String'
   $P0 = something bad happened
   $P1 = new ['parrot';'exception'], $P0  # create new exception object
   throw $P1  # throw it



 This code continues to not work.  Would it be DTRT to copy/pasta some
 code from t/pmc/exception.t, such as the throw - no handler test?

The attached patch makes it work. It also allows:

$P0 = new 'Hash'
$P0 ['severity'] = 1
$P0 ['message'] = 'something bad happened'
$P1 = new ['parrot';'exception'], $P0  # create new exception object
throw $P1  # throw it

Not sure if this is the desired design. Comments?

-- 
Salu2
Index: src/pmc/exception.pmc
===
--- src/pmc/exception.pmc	(revision 30822)
+++ src/pmc/exception.pmc	(working copy)
@@ -101,6 +101,40 @@
 
 /*
 
+=item Cvoid init_pmc()
+
+Initializes the exception with supplied values.
+
+=cut
+
+*/
+
+VTABLE void init_pmc(PMC *values) {
+Parrot_Exception * const core_struct =
+mem_allocate_zeroed_typed(Parrot_Exception);
+INTVAL ishash = VTABLE_isa(interp, values, CONST_STRING(interp, 'Hash'));
+
+/* Set flags for custom DOD mark and destroy. */
+PObj_custom_mark_SET(SELF);
+PObj_active_destroy_SET(SELF);
+
+/* Set up the core struct and default values for the exception object. */
+PMC_data(SELF)  = core_struct;
+core_struct-severity   = ishash ?
+VTABLE_get_integer_keyed_str(interp, values, CONST_STRING(interp, 'severity')) :
+0;
+core_struct-handled= 0;
+core_struct-message= ishash ?
+VTABLE_get_string_keyed_str(interp, values, CONST_STRING(interp, 'message')) :
+VTABLE_get_string(interp, values);
+core_struct-payload= PMCNULL;
+core_struct-resume = PMCNULL;
+core_struct-stacktrace = PMCNULL;
+core_struct-handler_iter = PMCNULL;
+}
+
+/*
+
 =item Cvoid mark()
 
 Mark any active exception data as live.


[perl #51464] [TODO] [PDD] add date stamps to PDD's

2008-09-06 Thread Christoph Otto via RT
On Fri Apr 04 16:52:39 2008, [EMAIL PROTECTED] wrote:
 On Fri Apr 04 04:30:17 2008, [EMAIL PROTECTED] wrote:
 
  One (possibly solvable) problem is that subversion tags don't 
  substitute properly in the HTML generated versions on the website 
  http://www.parrotcode.org/docs/pdd/pdd07_codingstd.html.
 
 
 What code do we use to generate those pages?
 
 How frequently are they updated?
 
 Who has permissions needed to run the update process?
  
  A bigger problem is that the $Id$ tag shows the last time the file was 
  modified in any way (property changes, for example), but what people 
  are looking for is a way to know the last time the design document was 
  edited in a significant way.
  
 
 Ah, 'significant'.  So this will require human intervention after all.

Is this something we want to go ahead with or should this ticket be
rejected?


pdd23 - subs as exception handlers

2008-09-06 Thread Patrick R. Michaud
PDD23:41 says

: =item Bpush_eh IINVOCABLE_PMC
: 
: Push an invocable PMC -- usually a closure or, in rarer cases, a subroutine or
: continuation -- onto the exception handler stack.
: ...
: If a IINVOCABLE_PMC is provided, Parrot pushes the pmc which will execute
: if invoked, which has the effect of unconditionally handling all errors,
: replacing the stack with that execution context of the invocable pmc.

1.  Can someone create or point me to a working example that uses 
this form of exception handler (i.e., with an invocable pmc
instead of a label as the target of push_eh)?  The variations I've
tried all seem to result in segfaults.

2.  The phrase ...pushes the pmc which will execute if invoked... 
sounds very odd to me.  I think it should be something like
...pushes a pmc to be invoked as an exception handler...

Pm


throw oddities in pdd23

2008-09-06 Thread Patrick R. Michaud
PDD23:67 has:

: =item Bthrow IEXCEPTION
: 
: Throw an exception consisting of the given IEXCEPTION PMC.  Active exception
: handlers (if any) will be invoked with IEXCEPTION as the only parameter.
: 
: 
: =item Bthrow IEXCEPTION [ , ICONTINUATION ]
: 
: Throw an exception consisting of the given IEXCEPTION PMC after taking
: a continuation at the next opcode.  When a ICONTINUATION is passed in,
: it will use that instead. Active exception handlers (if any) will be
: invoked with IEXCEPTION and the given continuation as parameters.

This looks weird in a couple of respects.  The second Cthrow 
opcode shows ICONTINUATION as an optional parameter, which 
would seem to be in conflict with the first form (i.e., they
end up being identical if ICONTINUATION is omitted).

Next, reading the above makes it look as though exception handlers
can sometimes be invoked with a single parameter (the exception)
and sometimes with two parameters (the exception and a continuation).
Perhaps it would be better to have a consistent calling interface?
(I do suppose we could say that the second parameter is always optional.)

I suspect much of the confusion comes from when Cthrowcc was
(apparently) eliminated in favor of a single Cthrow opcode, 
but pdd23 wasn't made internally consistent.

Also, note that the single-argument Cthrow opcode is currently
doing more than simply cause exception handlers to be invoked -- 
it's also takes a resume continuation and stores it in the
IEXCEPTION PMC itself (src/ops/core.ops:817).  This would seem 
to be in conflict with the next sentence at pdd23:80 :

: Any type of PMC can be thrown as an exception.  

Clearly we cannot use the single-argument Cthrow on a PMC that
doesn't have a resume attribute for us to store the
resume continuation.

Personally I like the idea that any PMC can be thrown as an
exception, which would seem to argue against forcing resume
continuations into the thrown PMC (which might not have a slot
for them).  So, rather than saying that anything thrown as an 
exception contains its resume continuation, perhaps we should 
say that all handlers are invoked with the exception and resume 
continuation as arguments, and the single-argument throw simply 
takes a continuation at the next instruction to pass to the
handler(s).  

Alternatively, we could say that Cthrow only places a resume
continuation into PMCs that does exception, but somehow I
find this less desirable than the above approach.

Pm


Re: [perl #48320] [BUG] Example in pdd23 doesn't work

2008-09-06 Thread NotFound
After some brief comment on irc, applied in r30833

-- 
Salu2


Re: [perl #48320] [BUG] Example in pdd23 doesn't work

2008-09-06 Thread NotFound
Sorry, the code I poste was bad. The valid form is:

$P1 = new ['Exception'], $P0  # create new exception object

-- 
Salu2


Re: [perl #57920] [PATCH] Suggestion for Parrot Configure test of AIO

2008-09-06 Thread Andy Dougherty
On Fri, 5 Sep 2008, James Keenan via RT wrote:

 On Thu Sep 04 19:22:56 2008, [EMAIL PROTECTED] wrote:
  FWIW, here is a data point:  What happens on my Darwin/PPC (10.4) Mac at
  auto::aio:
  
  On Darwin, Configure.pl reports that AIO is unsupported.  
 
 Follow-up question:  If I 'locate aio' on my Mac and come up with this
 (excerpted) list of files:
 
 /usr/include/aio.h
 /usr/include/sys/aio.h
 /usr/share/man/man2/aio_cancel.2
 /usr/share/man/man2/aio_error.2
 /usr/share/man/man2/aio_read.2
 /usr/share/man/man2/aio_return.2
 /usr/share/man/man2/aio_suspend.2
 /usr/share/man/man2/aio_write.2
 
 ... what *else* would I need to have AIO available on Darwin?

It looks like you already have it available.  If you try with my patch in 
verbose mode, what, exactly, goes wrong such that Configure.pl concludes 
AIO is unsupported?

-- 
Andy Dougherty  [EMAIL PROTECTED]


Re: [PATCH] added links to dotnet/doc/contents.pod

2008-09-06 Thread Christoph Otto

Reini Urban wrote:

Attached patch adds links to external dotnet ressources Jonathan
mentioned (his paper, the specs),
and the implementations.

Jonathan should approve it because it links to a bad poem on VM's in
his paper on page 1.

No ticket because it's so simple.


Thanks.  This was applied as r30842.


Re: [perl #52054] [CAGE]: Make all PDDs conform to coding standards

2008-09-06 Thread Christoph Otto

Allison Randal via RT wrote:

Christoph Otto wrote:
The non-draft PDDs are all passing t/codingstd/pdd_format.t as of 
r30810, but two of the draft PDDs aren't.  Since they're still drafts 
and as such are very likely to change, it doesn't seem worthwhile to 
bring them into compliance or to have a test depend on them.


I propose that pdd_format.t be split into 2 otherwise identical tests; 
one for draft PDDs and one for final PDDs.  The draft test could be 
permanently TODO'd, which would indicate if any of the drafts were 
broken without messing up the test results.  The final PDD test could 
become part of make test and this ticket could be marked resolved.


I'll submit a patch if this seems to be a reasonable solution.


I just updated the draft PDDs so they pass. For as long as the 'draft' 
directory exists, I'd like the PDDs there to be subjected to the same 
formatting standards as the approved ones, even if they aren't 
official yet.


Allison


If those are your thoughts on the subject, then it seems to make sense to add 
the pdd format test to make test.  The attached patch does this.
I'll apply it and mark this ticket as resolved before the next #parrotsketch 
unless there are any objections.


Christoph

Index: lib/Parrot/Harness/DefaultTests.pm
===
--- lib/Parrot/Harness/DefaultTests.pm	(revision 30841)
+++ lib/Parrot/Harness/DefaultTests.pm	(working copy)
@@ -80,6 +80,7 @@
 t/compilers/json/*.t
 t/examples/*.t
 t/doc/*.t
+t/codingstd/pdd_format.t
 t/distro/manifest.t
 );
 


Re: [svn:parrot] r30843 - trunk/src/pmc

2008-09-06 Thread chromatic
On Saturday 06 September 2008 18:41:25 Patrick R. Michaud wrote:

 On Sat, Sep 06, 2008 at 05:02:44PM -0700, [EMAIL PROTECTED] wrote:
  Log:
  Add hll_map method to parrotinterpreter.pmc

 ...doesn't seem to work yet, at least not on my system:

 $ cat x.pir
 .HLL 'Perl6', ''

 .sub 'main' :main
 $P0 = get_class 'Integer'
 $P1 = subclass $P0, 'MyInt'

 $P2 = getinterp
 $P2.'hll_map'($P0, $P1)

 $P3 = 'foo'()
 say $P3 # 3\n
 $S0 = typeof $P3
 say $S0 # MyInt
 .end

 .sub 'foo'
 .return (3)
 .end

 $ ./parrot x.pir
 Segmentation fault

Nasty example, added as a test (and worked around) in r30847, and explained in 
RT #58636.  We need to rethink some of this design anyway when type ids go 
away, so we can live with this workaround briefly.

-- c


[perl #57920] [PATCH] Suggestion for Parrot Configure test of AIO

2008-09-06 Thread James Keenan via RT
On Sat Sep 06 16:46:08 2008, doughera wrote:
  
  ... what *else* would I need to have AIO available on Darwin?
 
 It looks like you already have it available.  If you try with my patch in 
 verbose mode, what, exactly, goes wrong such that Configure.pl concludes 
 AIO is unsupported?
 

See attached, run at r30847.  Thanks.
kid51



auto::aio -   Does your platform support AIO...
/usr/bin/gcc -fno-common -no-cpp-precomp  -pipe -I/opt/local/include -pipe
-fno-common -Wno-long-double  -DHASATTRIBUTE_CONST  -DHASATTRIBUTE_DEPRECATED
-DHASATTRIBUTE_MALLOC  -DHASATTRIBUTE_NONNULL  -DHASATTRIBUTE_NORETURN
-DHASATTRIBUTE_PURE  -DHASATTRIBUTE_UNUSED  -DHASATTRIBUTE_WARN_UNUSED_RESULT
-falign-functions=16 -fvisibility=hidden -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 -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
-Wbad-function-cast -Wdeclaration-after-statement
-Wimplicit-function-declaration -Wimplicit-int -Wmain -Wmissing-declarations
-Wmissing-prototypes -Wnested-externs -Wnonnull  -I./include -c
test_17787.c
test_17787.c: In function 'main':
test_17787.c:45: error: 'SIGRTMIN' undeclared (first use in this function)
test_17787.c:45: error: (Each undeclared identifier is reported only once
test_17787.c:45: error: for each function it appears in.)
test_17787.c:46: error: 'SIGRTMAX' undeclared (first use in this function)
{standard input}:60:non-relocatable subtraction expression, _retval minus 
L002$pb
{standard input}:60:symbol: _retval can't be undefined in a subtraction 
expression
{standard input}:59:non-relocatable subtraction expression, _retval minus 
L002$pb
{standard input}:59:symbol: _retval can't be undefined in a subtraction 
expression
{standard input}:52:non-relocatable subtraction expression, _flag minus 
L002$pb
{standard input}:52:symbol: _flag can't be undefined in a subtraction 
expression
{standard input}:51:non-relocatable subtraction expression, _flag minus 
L002$pb
{standard input}:51:symbol: _flag can't be undefined in a subtraction 
expression
{standard input}:46:non-relocatable subtraction expression, _my_sig minus 
L002$pb
{standard input}:46:symbol: _my_sig can't be undefined in a subtraction 
expression
{standard input}:45:non-relocatable subtraction expression, _my_sig minus 
L002$pb
{standard input}:45:symbol: _my_sig can't be undefined in a subtraction 
expression
 (no) 
Setting Configuration Data:
(
verbose = undef,
);

  Does your platform support AIO...no.


Re: [perl #57920] [PATCH] Suggestion for Parrot Configure test of AIO

2008-09-06 Thread chromatic
On Saturday 06 September 2008 20:19:56 James Keenan via RT wrote:

 On Sat Sep 06 16:46:08 2008, doughera wrote:
   ... what *else* would I need to have AIO available on Darwin?
 
  It looks like you already have it available.  If you try with my patch in
  verbose mode, what, exactly, goes wrong such that Configure.pl concludes
  AIO is unsupported?

 See attached, run at r30847.  Thanks.
 kid51


test_17787.c: In function 'main':
test_17787.c:45: error: 'SIGRTMIN' undeclared (first use in this function)
test_17787.c:45: error: (Each undeclared identifier is reported only once
test_17787.c:45: error: for each function it appears in.)
test_17787.c:46: error: 'SIGRTMAX' undeclared (first use in this function)

If they're not in signal.h in Darwin, where are they?  (And if they're not in 
signal.h in Darwin, can someone squelch the rumor that Mac OS X is a 
Unix-like platform?  POSIX 2001!)

... or we could use SIGUSR for the tests, I suppose.  We're not using 
real-time signals elsewhere in Parrot right now.

-- c