[perl #42155] [PATCH] move members from Parrot_Interp to Parrot_Context

2007-03-28 Thread Alek Storm
# New Ticket Created by  Alek Storm 
# Please include the string:  [perl #42155]
# in the subject line of all future correspondence about this issue. 
# URL: http://rt.perl.org/rt3/Ticket/Display.html?id=42155 


This patch moves args_signature, params_signature, returns_signature,
current_args, current_params, and current_returns from Parrot_Interp
to Parrot_Context.  This makes the interpreter more reentrant, which
is always a good thing.

Since these variables are no longer global, we need to keep track of
who belongs to whom.  In a sub call, current_args and current_results
are set for the caller, while current_params and current_returns are
set for the callee.  The same goes for *_signature, mutatis mutandis
(an excuse to use Latin! yes!).

This patch seems to break some tests in t/dynoplibs, and I have no
idea why.  It also *looks* like it breaks t/examples/shootout.t, but
if the examples are run manually, they work fine.  I am completely
baffled.  If anyone can solve these, they get a hug.

Thanks,
Alek Storm
Index: src/ops/core.ops
===
--- src/ops/core.ops	(revision 17785)
+++ src/ops/core.ops	(working copy)
@@ -503,7 +503,7 @@
 INTVAL argc;
 
 /* for now just point to the opcode */
-interp-current_args = this;
+CONTEXT(interp-ctx)-current_args = this;
 argc = SIG_ELEMS(signature);
 goto OFFSET(argc + 2);
 }
@@ -526,17 +526,16 @@
 INTVAL argc;
 opcode_t *src_indexes, *dst_indexes;
 
-interp-current_params = this;
 ctx = CONTEXT(interp-ctx);
+ctx-current_params = this;
 ccont = ctx-current_cont;
 
 caller_ctx = ctx-caller_ctx;
 
-src_indexes = interp-current_args;
-dst_indexes = interp-current_params;
-/* the args and params are now 'used.' */
-interp-current_args = NULL;
-interp-current_params = NULL;
+src_indexes = caller_ctx-current_args;
+dst_indexes = ctx-current_params;
+caller_ctx-current_args = NULL;
+ctx-current_params = NULL;
 
 parrot_pass_args(interp, caller_ctx, ctx, src_indexes, dst_indexes, PARROT_PASS_PARAMS);
 if (PObj_get_FLAGS(ccont)  SUB_FLAG_TAILCALL) {
@@ -546,7 +545,6 @@
 /* ordinarily, this will free the context immediately, but not if the
sub created a closure (or continuation, or . . .).  */
 Parrot_free_context(interp, caller_ctx, 0);
-interp-current_args = NULL;
 }
 argc = SIG_ELEMS(signature);
 goto OFFSET(argc + 2);
@@ -560,8 +558,8 @@
 INTVAL argc;
 opcode_t *src_indexes, *dest_indexes;
 
-interp-current_returns = this;
 ctx = CONTEXT(interp-ctx);
+ctx-current_returns = this;
 ccont = ctx-current_cont;
 
 if (PMC_cont(ccont)-address) {
@@ -573,11 +571,10 @@
 internal_exception(1, No caller_ctx for continuation %p., ccont);
 }
 
-src_indexes = interp-current_returns;
+src_indexes = ctx-current_returns;
 dest_indexes = caller_ctx-current_results;
-interp-current_returns = NULL;
-/* does this need to be here */
-interp-current_args = NULL;
+ctx-current_returns = NULL;
+caller_ctx-current_results = NULL;
 
 parrot_pass_args(interp, ctx, caller_ctx, src_indexes, dest_indexes, PARROT_PASS_RESULTS);
 }
Index: src/ops/experimental.ops
===
--- src/ops/experimental.ops	(revision 17785)
+++ src/ops/experimental.ops	(working copy)
@@ -394,13 +394,14 @@
   opcode_t* arg_op;
   PMC *sig, *class;
   int typ;
+  parrot_context_t *ctx = CONTEXT(interp-ctx);
 
-  arg_op = interp-current_args;
+  arg_op = ctx-current_args;
   if (!arg_op) {
 real_exception(interp, NULL, NULL_REG_ACCESS,
 No set_args with instantiate);
   }
-  sig = CONTEXT(interp-ctx)-constants[arg_op[1]]-u.key;
+  sig = ctx-constants[arg_op[1]]-u.key;
   ASSERT_SIG_PMC(sig);
   if (!SIG_ELEMS(sig)) {
 real_exception(interp, NULL, E_ValueError,
@@ -425,7 +426,7 @@
   break;
   }
   $1 = VTABLE_instantiate(interp, class, sig);
-  interp-current_args = NULL;
+  ctx-current_args = NULL;
   goto NEXT();
 }
 
Index: src/ops/pic.ops
===
--- src/ops/pic.ops	(revision 17785)
+++ src/ops/pic.ops	(working copy)
@@ -147,7 +147,7 @@
  * - yes, confusing but faster
  */
 ctx = CONTEXT(interp-ctx);
-src_pc = interp-current_args;
+src_pc = ctx-current_args;
 mic = (Parrot_MIC *) cur_opcode[1];
 caller_ctx = ctx-caller_ctx;
 if (src_pc) {
@@ -173,7 +173,7 @@
 --ctx-recursion_depth;
 ctx-caller_ctx = caller_ctx-caller_ctx;
 Parrot_free_context(interp, caller_ctx, 0);
-interp-current_args = NULL;
+ctx-current_args = NULL;
 }
 
 goto OFFSET(n);
@@ -200,12 +200,12 @@
 ccont = ctx-current_cont;
 cc = PMC_cont(ccont);
 if (!cc-address) {

Testing PIRC

2007-03-28 Thread Klaas-Jan Stol

hi,

Currently, compilers/pircdoes not have a test suite. I'd like to change 
that, but am not sure how to handle this.
My idea was to have the PIR scripts parsed by pirc, which outputs 
*exactly* the same source (on success), which then should be compiled by 
IMCC.


I'm not sure how to achieve this using the standard test tools/libs, as 
pirc is different than just another language.

If anybody has any suggestions, I'd be very happy to hear those!

Thanks,
klaas-jan


Re: [perl #37997] r10604 build failure on Cygwin

2007-03-28 Thread Eric Hanchrow
I use Cygwin and am willing to occasionally test the build on it.
Alas I have no clue how to actually -develop- for Cygwin, so I doubt
I'd be much help fixing any problems that I find.  But I'd be happy to
svn up; perl Configure.pl  make all test and summarize or post the
results.
-- 
I'd like to see Rush Limbaugh tell Omar he can't get
married.
--Alex Kotlowitz.  You hadda be there



Re: [perl #42155] [PATCH] move members from Parrot_Interp to Parrot_Context

2007-03-28 Thread Leopold Toetsch
Am Mittwoch, 28. März 2007 03:14 schrieb Alek Storm:
 This patch moves args_signature, params_signature, returns_signature,
 current_args, current_params, and current_returns from Parrot_Interp
 to Parrot_Context.  This makes the interpreter more reentrant, which
 is always a good thing.

Nope. The current_ ptrs and friends are deliberately not in the Context 
structure.

Rational: 

1) This ism't needed, these pointers are only valid and needed up to the next 
sub call/return.
2) The Context struct should be as small as possible because each sub call 
needs one.
3) Reentrancy isn't a problem as new threads get new interpreter structs 
anyway.

leo


Re: [perl #37997] r10604 build failure on Cygwin

2007-03-28 Thread Nick Glencross

Hi All!

On 28/03/07, Ron Blaschke [EMAIL PROTECTED] wrote:

Joshua Gatcomb wrote:
 On 3/26/07, Ron Blaschke [EMAIL PROTECTED] wrote:

 Not sure about the details of this issue, but r17772 seems to build fine
 on Cygwin.

 Really?  No one on #parrot has been able to get parrot to work on Cygwin
 for months.



It's been a while since I've posted here! I contributed a few tweaks
for Cygwin some time back to help it build a bit smoother, but haven't
tried in the last 12 months due to work commitments. However, one
thing I note is that footnote *1 in Platforms has become orphaned in
r16662, which is ironically when it was changed to Broken.

Nick


[perl #42156] [PATCH] Make invoke() return opcode_t*

2007-03-28 Thread via RT
# New Ticket Created by  Steve Peters 
# Please include the string:  [perl #42156]
# in the subject line of all future correspondence about this issue. 
# URL: http://rt.perl.org/rt3/Ticket/Display.html?id=42156 


In this next round of cleanups, I switched over the invoke() methods
to return opcode_t* as Andy Dougherty suggested.  Also, I added 
a change to the NEED_CONTINUATION based on Kevin Tewks suggestions.
Finally, I also included a couple of additional changes to back out some
of my changes yesterday that are now irrelevant due to the first two 
changes.

Steve Peters
[EMAIL PROTECTED]

Index: src/ops/object.ops
===
--- src/ops/object.ops  (revision 17813)
+++ src/ops/object.ops  (working copy)
@@ -60,8 +60,8 @@
 Method '%Ss' not found, meth);
   }
   interp-current_object = object;
-  interp-current_cont = (PMC *)NEED_CONTINUATION;
-  dest = (opcode_t *)VTABLE_invoke(interp, method_pmc, next);
+  interp-current_cont = NEED_CONTINUATION;
+  dest = VTABLE_invoke(interp, method_pmc, next);
   goto ADDRESS(dest);
 }
 
@@ -76,8 +76,8 @@
 
   next = expr NEXT();
   interp-current_object = object;
-  interp-current_cont = (PMC *)NEED_CONTINUATION;
-  dest = (opcode_t *)VTABLE_invoke(interp, method_pmc, next);
+  interp-current_cont = NEED_CONTINUATION;
+  dest = VTABLE_invoke(interp, method_pmc, next);
   goto ADDRESS(dest);
 }
 
Index: src/pmc/complex.pmc
===
--- src/pmc/complex.pmc (revision 17813)
+++ src/pmc/complex.pmc (working copy)
@@ -279,7 +279,7 @@
 
 /*
 
-=item Cvoid* invoke(void* next)
+=item Copcode_t* invoke(void* next)
 
 Pythonic object constructor. SELF is a Complex Class object. Return a new
 Ccomplex object according to 2.1. Built-in Functions.
@@ -287,7 +287,7 @@
 =cut
 
 */
-void* invoke(void* next) {
+opcode_t* invoke(void* next) {
 int argcP = REG_INT(3);
 PMC *res = pmc_new(INTERP, enum_class_Complex);
 if (argcP == 1) {
Index: src/pmc/retcontinuation.pmc
===
--- src/pmc/retcontinuation.pmc (revision 17813)
+++ src/pmc/retcontinuation.pmc (working copy)
@@ -74,7 +74,7 @@
 }
 /*
 
-=item Cvoid *invoke(void *next)
+=item Copcode_t *invoke(void *next)
 
 Transfers control to the calling context, and frees the current context.
 
@@ -82,7 +82,7 @@
 
 */
 
-void* invoke(void* next) {
+opcode_t* invoke(void* next) {
 struct Parrot_cont * cc = PMC_cont(SELF);
 parrot_context_t *from_ctx = cc-from_ctx;
 struct PackFile_ByteCode * const seg = cc-seg;
Index: src/pmc/parrotinterpreter.pmc
===
--- src/pmc/parrotinterpreter.pmc   (revision 17813)
+++ src/pmc/parrotinterpreter.pmc   (working copy)
@@ -284,7 +284,7 @@
 
 /*
 
-=item Cvoid *invoke(void *next)
+=item Copcode_t *invoke(void *next)
 
 Runs the interpreter's byte code.
 
@@ -292,7 +292,7 @@
 
 */
 
-void* invoke(void* next) {
+opcode_t* invoke(void* next) {
 Interp * new_interp =
 (Interp *)PMC_data(SELF);
 /*
Index: src/pmc/bound_nci.pmc
===
--- src/pmc/bound_nci.pmc   (revision 17813)
+++ src/pmc/bound_nci.pmc   (working copy)
@@ -33,7 +33,7 @@
 
 Return the bound object.
 
-=item Cvoid *invoke(void *next)
+=item Copcode_t *invoke(void *next)
 
 Calls the associated C method, returning C*next.
 
@@ -55,7 +55,7 @@
 return PMC_pmc_val(SELF);
 }
 
-void* invoke(void * next) {
+opcode_t* invoke(void * next) {
 if (PObj_get_FLAGS(SELF)  PObj_private0_FLAG) {
 /* bound multi sub
  * XXX maybe create separate PMC class
Index: src/pmc/multisub.pmc
===
--- src/pmc/multisub.pmc(revision 17813)
+++ src/pmc/multisub.pmc(working copy)
@@ -57,7 +57,7 @@
 attempt to set non Sub PMC);
 }
 
-void* invoke(void *next) {
+opcode_t* invoke(void *next) {
 PMC *list = Parrot_mmd_sort_candidate_list(interp, SELF);
 PMC *func = PMCNULL;
 if (!PMC_IS_NULL(list))
Index: src/pmc/coroutine.pmc
===
--- src/pmc/coroutine.pmc   (revision 17813)
+++ src/pmc/coroutine.pmc   (working copy)
@@ -120,7 +120,7 @@
 
 /*
 
-=item Cvoid *invoke(void *next)
+=item Copcode_t *invoke(void *next)
 
 Swaps the context.
 
@@ -128,7 +128,7 @@
 
 */
 
-void* invoke(void* next) {
+opcode_t* invoke(void* next) {
 struct Parrot_coro * co = PMC_coro(SELF);
 parrot_context_t *caller_ctx;
 struct PackFile_ByteCode *wanted_seg;
Index: src/pmc/delegate.pmc
===
--- src/pmc/delegate.pmc(revision 

Re: [perl #37997] r10604 build failure on Cygwin

2007-03-28 Thread Bernhard Schmalhofer

Eric Hanchrow schrieb:

I use Cygwin and am willing to occasionally test the build on it.
Alas I have no clue how to actually -develop- for Cygwin, so I doubt
I'd be much help fixing any problems that I find.  But I'd be happy to
svn up; perl Configure.pl  make all test and summarize or post the
results.
  

You can also use make smoke', as documented in docs/tests.pod.
The results of smoke testing should show up in 
http://smoke.parrotcode.org/smoke/.


Regards, Bernhard


Re: [svn:parrot] r17814 - in trunk: . compilers/pirc

2007-03-28 Thread Will Coleda
Is it me, or did this also change all the paths in MANIFEST.SKIP from win 
style with backslashes to unix style with slashes? 

(someone should double check the manifest.skip generator and have it only 
output slashes.) 


[EMAIL PROTECTED] writes:

Author: bernhard
Date: Wed Mar 28 10:22:00 2007
New Revision: 17814 


Modified:
   trunk/MANIFEST
   trunk/MANIFEST.SKIP
   trunk/compilers/pirc/   (props changed) 


Log:
Tell SVN about generated file compilers/pirc/Makefile


Re: [perl #42110] [PATCH] Returning values from void functions

2007-03-28 Thread Nicholas Clark
On Tue, Mar 27, 2007 at 05:42:12AM -0700, Steve Peters via RT wrote:

  Anyway, it's worth noting that although one of functions actually
  doesn't
  return anything, it is documented as returning a PMC *.  So either the
  documentation or the function is wrong in parrotobject.pmc and should
  be
  fixed.
 
 Unfortunately, I can't find a gcc warning flag that would seem to catch this 
 sort of situation 
 either.

$ gcc -ansi -pedantic -Wall -o void void.c 
void.c: In function `uggh':
void.c:9: warning: `return' with a value, in function returning void

where my test program is

#include stdio.h

void thwape() {
  puts(here!);
}

void uggh() {
  puts(no, here!);
  return thwape();
}

int
main () {
  uggh();
  return 0;
}


I don't think that it's possible to make this non-conformity a fatal heresy :-(
(gcc --spanish-inquisition)

Getting parrot to build under -ansi -pedantic is left as an exercise to the
reader. Likely to a reader on *BSD who wants to apply for a microgrant.
(Even Solaris doesn't have headers that are clean with -ansi -pedantic. Which
surprises me. Solaris is usually very clean and well engineered throughout)

Can Intel or Sun's compilers be coaxed into being suitably grumpy about this?
If so, do we have a machine capable of smoking them?
And is it viable (or good) for parrot smoke failures to reach this list, much
like most people configure their Perl 5 smokers to send the black smoke to
p5p?

Nicholas Clark


Re: [perl #37997] r10604 build failure on Cygwin

2007-03-28 Thread Eric Hanchrow
 Joshua == Joshua Gatcomb [EMAIL PROTECTED] writes:

Joshua Really?  No one on #parrot has been able to get parrot to
Joshua work on Cygwin for months.  The reason has changed since
Joshua this specific ticket but if you have a working cygwin
Joshua build can you please share more details such as:

I doubt this is terribly useful, but I cannot get the cygwin build
working, and here's the output that I see.  This is with r17772, which
someone claimed worked for them.
URL: https://svn.perl.org/parrot/trunk
Revision: 17772
perl Configure.pl  make all smoke
Parrot Version 0.4.10 Configure 2.0
Copyright (C) 2001-2007, The Perl Foundation.

Hello, I'm Configure. My job is to poke and prod your system to figure out
how to build Parrot. The process is completely automated, unless you passed in
the `--ask' flag on the command line, in which case it'll prompt you for a few
pieces of info.

Since you're running this program, you obviously have Perl 5--I'll be pulling
some defaults from its configuration.

Checking MANIFEST.done.
Setting up Configure's default values.done.
Setting up installation paths.done.
Tweaking settings for miniparrot...skipped.
Loading platform and local hints filesdone.
Determining nongenerated header files.done.
Determining what C compiler and linker to use.done.
Determining whether make is installed..yes.
Determining whether lex is installed...skipped.
Determining whether yacc is installed..skipped.
Determining if your C compiler is actually gcc.yes.
Determining if your C compiler is actually Visual C++...no.
Enabling optimization...no.
Determining flags for building shared libraries...done.
Determine if parrot should be linked against a shared library..yes.
Determining what charset files should be compiled in..done.
Determining what encoding files should be compiled in.done.
Determining what types Parrot should use..done.
Determining what opcode files should be compiled in...done.
Determining what pmc files should be compiled in..done.
Determining your minimum pointer alignment. 1 byte.
Probing for C headers.done.
Determining some sizesdone.
Computing native byteorder for Parrot's wordsize.little-endian.
Test the type of va_ptr (this test is likely to segfault)..x86.
Figuring out how to pack() Parrot's types.done.
Figuring out what formats should be used for sprintf..done.
Determining if your C library has a working S_ISREGyes.
Determining architecture, OS and JIT capability...done.
Generating CPU specific stuff.done.
Verifying that the compiler supports function pointer castsyes.
Determining whether your compiler supports computed goto...yes.
Determining if your compiler supports inline...yes.
Determining what allocator to use.done.
Determining if your C library supports memalignyes.
Determining some signal stuff.done.
Determining whether there is socklen_t.yes.
Determining if your C library has setenv / unsetenv...both.
Determining if your platform supports AIO...no.
Determining if your platform supports GMP...no.
Determining if your platform supports readline..no.
Determining if your platform supports gdbm.yes.
Testing snprintf..done.
Determining whether perldoc is installed...yes.
Determining whether python is installed.yes, 2.5.0.
Determining whether GNU bc is installed.no.
Determining whether GNU m4 is installed.no.
Running CPU specific stuffdone.
Determining whether ICU is installedno.
Determining Parrot's revision.done.
Generating C headers..done.
Generating core pmc list..done.
Generating 

Re: [svn:parrot] r17814 - in trunk: . compilers/pirc

2007-03-28 Thread Bernhard Schmalhofer

Will Coleda schrieb:
Is it me, or did this also change all the paths in MANIFEST.SKIP from 
win style with backslashes to unix style with slashes?
I've seen the same effect. I suppose if stems from the changeset 17760, 
where tools/dev/mk_manifest_and_skip.pl got a fix for Windows.


Under Linux 'perl Configure.pl' and 'make manitest' are not complaining, 
so I suppose the the

patch is OK.

Regards,
 Bernhard



Re: [svn:parrot] r17814 - in trunk: . compilers/pirc

2007-03-28 Thread Will Coleda
I don't think there's a problem with the MANIFEST.SKIP either way, but I'd 
like to avoid unnecessarily large diffs which obscure what was added to the 
.SKIP file. 

Bernhard Schmalhofer writes: 


Will Coleda schrieb:
Is it me, or did this also change all the paths in MANIFEST.SKIP from win 
style with backslashes to unix style with slashes?
I've seen the same effect. I suppose if stems from the changeset 17760, 
where tools/dev/mk_manifest_and_skip.pl got a fix for Windows. 

Under Linux 'perl Configure.pl' and 'make manitest' are not complaining, 
so I suppose the the
patch is OK. 


Regards,
 Bernhard 



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

2007-03-28 Thread jonathan
Author: jonathan
Date: Wed Mar 28 14:57:56 2007
New Revision: 17817

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

Log:
[PDD15]: Some extra details to explain the result of one role being composed 
into another; these mostly mirror what happens when a role is composed into a 
class.

Modified: trunk/docs/pdds/draft/pdd15_objects.pod
==
--- trunk/docs/pdds/draft/pdd15_objects.pod (original)
+++ trunk/docs/pdds/draft/pdd15_objects.pod Wed Mar 28 14:57:56 2007
@@ -470,12 +470,17 @@
 
 =item roles
 
-An accessor for the roles composed into the role. It returns an Array of
-all roles as PMC objects. The accessor is read-only.
+An accessor for the roles composed into the role. It returns an Array of all
+roles as PMC objects. If any roles that were composed into this one were
+themselves made up of a composition of other roles, the roles they were made
+up of will also be included in the value returned by this accesor. However,
+no role will be mentioned more than once. The accessor is read-only.
 
 =item add_role
 
-Adds a single role to the role. It takes a simple string name.
+Adds a single role to the role. It takes an instance of the Role PMC as a
+required positional parameter, and the optional named parameters Cwithout
+and Calias; see LRole Conflict Resolution for more details.
 
 =item add_method
 
@@ -490,7 +495,9 @@
 =item methods
 
 An accessor for the methods of the role. It returns a Hash of all methods,
-with a key of the method name and a value of an invokable PMC.
+with a key of the method name and a value of an invokable PMC. The list will
+include methods added through composing other roles into this role. The
+accessor is read-only.
 
 =back
 


Re: [perl #42155] [PATCH] move members from Parrot_Interp to Parrot_Context

2007-03-28 Thread Alek Storm

On 3/28/07, Leopold Toetsch [EMAIL PROTECTED] wrote:

1) This ism't needed, these pointers are only valid and needed up to the
next
sub call/return.


The current_results member already lives in Parrot_Context; this patch
just moves the rest of them there as well.  Variables can't be global
simply because of when they're valid.  It's a hack.


2) The Context struct should be as small as possible because each sub call
needs one.


Compactness does not supersede good design.


3) Reentrancy isn't a problem as new threads get new interpreter structs
anyway.


Reentrancy isn't only a threading issue.  From src/inter_run.c, in
Parrot_runops_fromc_args_event (line 318):
   /* running code from event handlers isn't fully reentrant due to
* these interpreter variables - mainly related to calls */
The code then has to manually save these variables, then restore them
after the PIR sub is called.  Thus, reentrancy *is* a problem.  With
this patch, the number of variables we have to do this with is reduced
to one.

Thanks,
Alek


[perl #42161] [BUG] Parrot::Test throws Can't spawn warning on windows if a system call returns a negative value

2007-03-28 Thread via RT
# New Ticket Created by  Jerry Gay 
# Please include the string:  [perl #42161]
# in the subject line of all future correspondence about this issue. 
# URL: http://rt.perl.org/rt3/Ticket/Display.html?id=42161 


Parrot::Test throws a Can't spawn warning on windows if a system call
returns a negative value. i have a small patch which implements no warnings
'exec' around the system call in 'run_command', which fixes this. i'll
commit it as soon as i have a ticket number to refer to in a source comment.

~jerry


Re: [perl #37997] r10604 build failure on Cygwin

2007-03-28 Thread Joshua Gatcomb

On 3/28/07, Ron Blaschke [EMAIL PROTECTED] wrote:


Joshua Gatcomb wrote:
 Really?  No one on #parrot has been able to get parrot to work on Cygwin
 for months.

Interesting, didn't know about this.



The issue for the longest time was that miniparrot.exe would silently die
and not even gdb could figure out why.  It appeared to be a linking issue
but as static linking also didn't work and there were no cygwin experts
around, it went unresolved.  The problem I am experiencing now is happening
earlier.


Could you, or someone else, please add the error message to the ticket,



or create a new one?  Maybe I can help with that.


If you could hang out on #parrot (irc.perl.org) when myself, Jonathan,
particle, etc are around - it would go a long way towards getting a
reproduceable test case that can be correctly articulated as to the nature
of the problem.  A few years ago I used to build parrot on cygwin daily and
opened several tickets that years later I was asked if were still
applicable.  I am not interested in repeating the past.


It's a fairly standard Windows XP SP2 box with Cygwin, everything up to

date.  I have tried to install everything optional (like ICU), too.



My configuration is identical to yours with the following exceptions:

Despite having GMP and bc installed Configure.PL doesn't find them.
I am interested in knowing why this is but I doubt it has anything to do
with the problem.

Here is the tail end of my make output:

see attached

Cheers,
Joshua Gatcomb
a.k.a. Limbic~Region
src/pmc/stmlog.c
src/pmc/stmref.c
src/pmc/stmvar.c
src/pmc/super.c
src/pmc/undef.c
src/encodings/fixed_8.c
src/encodings/ucs2.c
src/encodings/utf16.c
src/encodings/utf16.c: In function `to_encoding':
src/encodings/utf16.c:104: warning: passing arg 3 of `u_strFromUTF8_3_6' from 
incompatible pointer type
src/encodings/utf16.c:118: warning: passing arg 3 of `u_strFromUTF8_3_6' from 
incompatible pointer type
src/encodings/utf8.c
compilers/imcc/imcparser.c
compilers/imcc/imclexer.c
compilers/imcc/imclexer.c: In function `yy_get_next_buffer':
compilers/imcc/imclexer.c:4356: warning: comparison between signed and unsigned
compilers/imcc/imc.c
compilers/imcc/symreg.c
compilers/imcc/instructions.c
compilers/imcc/cfg.c
compilers/imcc/reg_alloc.c
compilers/imcc/sets.c
compilers/imcc/debug.c
compilers/imcc/optimizer.c
compilers/imcc/pbc.c
compilers/imcc/parser_util.c
compilers/imcc/pcc.c
/usr/bin/perl.exe -MExtUtils::Command -e mkpath blib/lib
gcc -shared -s -L/usr/local/lib  -o blib/lib/libparrot.dll  \
src/ops/core_ops.o src/ops/core_ops_switch.o src/ops/core_ops_cg.o 
src/ops/core_ops_cgp.o src/charset.o src/encoding.o sr
c/exceptions.o src/global_setup.o src/interpreter.o src/inter_call.o 
src/inter_cb.o src/inter_create.o src/inter_misc.o src/i
nter_run.o src/gc/register.o src/gc/memory.o src/objects.o src/packfile.o 
src/stacks.o src/stack_common.o src/string.o src/st
ring_primitives.o src/sub.o src/runops_cores.o src/trace.o src/pmc.o 
src/pmc_freeze.o src/key.o src/hash.o src/core_pmcs.o sr
c/platform.o src/jit.o src/jit_cpu.o src/jit_debug.o src/jit_debug_xcoff.o 
src/intlist.o src/list.o src/library.o src/global.
o src/embed.o src/warnings.o src/packout.o src/byteorder.o src/debug.o 
src/headers.o src/hll.o src/gc/smallobject.o src/gc/do
d.o src/gc/gc_ims.o src/gc/gc_gms.o src/exit.o src/misc.o src/spf_render.o 
src/spf_vtable.o src/datatypes.o src/fingerprint.o
 src/nci.o src/cpu_dep.o src/tsq.o src/longopt.o src/events.o src/thread.o 
src/dynext.o src/utils.o src/vtables.o src/pic.o s
rc/pic_jit.o src/mmd.o src/builtin.o src/extend.o src/extend_vtable.o 
src/revision.o src/packfile/pf_items.o src/stm/backend.
o src/stm/waitlist.o src/gc/resources.o src/charset/ascii.o 
src/charset/binary.o src/charset/iso-8859-1.o src/charset/tables.
o src/charset/unicode.o src/io/io.o src/io/io_buf.o src/io/io_layers.o 
src/io/io_unix.o src/io/io_utf8.o src/io/io_mmap.o src
/io/io_win32.o src/io/io_stdio.o src/io/io_string.o src/io/io_passdown.o 
src/pmc/default.o src/pmc/null.o src/pmc/env.o src/p
mc/key.o src/pmc/random.o src/pmc/unmanagedstruct.o src/pmc/managedstruct.o 
src/pmc/delegate.o src/pmc/compiler.o src/pmc/exc
eption.o src/pmc/version.o src/pmc/vtablecache.o src/pmc/parrotio.o 
src/pmc/parrotlibrary.o src/pmc/parrotinterpreter.o src/p
mc/parrotthread.o src/pmc/lexpad.o src/pmc/timer.o src/pmc/pointer.o 
src/pmc/sub.o src/pmc/closure.o src/pmc/continuation.o s
rc/pmc/retcontinuation.o src/pmc/exception_handler.o src/pmc/coroutine.o 
src/pmc/eval.o src/pmc/nci.o src/pmc/float.o src/pmc
/integer.o src/pmc/bigint.o src/pmc/complex.o src/pmc/string.o 
src/pmc/boolean.o src/pmc/ref.o src/pmc/sharedref.o src/pmc/ar
ray.o src/pmc/fixedintegerarray.o src/pmc/intlist.o src/pmc/iterator.o 
src/pmc/sarray.o src/pmc/fixedstringarray.o src/pmc/mu
ltiarray.o src/pmc/hash.o src/pmc/orderedhash.o src/pmc/tqueue.o 
src/pmc/parrotclass.o src/pmc/parrotobject.o src/pmc/os.o sr
c/pmc/file.o src/pmc/addrregistry.o 

[perl #42073] [BUG]: compilers/pirc/Makefile not cleaned up by 'make realclean'

2007-03-28 Thread James Keenan via RT
Patch applied in r17821.