Re: [perl #43857] [TODO] Refactor config probes that are used only by language implementation
James Keenan via RT schrieb: On Fri Jul 13 09:58:33 2007, bernhard wrote: There are several config probes that are only used for language implementations. Examples are config/auto/m4.pm and config/auto/python.pm. Please find attached two files. The first greps the repository for mentions of 'm4'. The second is a patch which eliminates config/auto/m4.pm and the associated test file and updates the MANIFEST. Configure.pl, make and make test all perform without error after this config step is eliminated. When I switch into languages/m4, then call 'make' and 'make test', I get the same test failures in t/regex/002_tokens.t either way. So my belief is that removing this step causes no harm to the m4 language implementation itself. I will apply this patch to trunk in about 2 days if there is no objection. Thank you very much. kid51 AFAIK 'languages/m4/config/makefiles/root.in' is the only place where the config entry 'has_gnu_m4' is used. It is meant as a doublecheck of the 'm4' tests. If 'GNU m4' is available then the m4 tests should be run with 'GNU m4' as well. This should make sure that the Parrot implementation behaves the same way as the reference implementation. So 'has_gnu_m4' is not essential to the implementation of 'Parrot m4'. In r28633 I removed the use of 'has_gnu_m4' and the config step auto::m4.pm can now be removed. But the real scope of ticket RT#43857 is something different. Language implementations may need config probes that are only relevant for that particular language. Therefore there should be some kind of infrastructure set up, so that those probes can be placed within the language dir. Taking 'Plumhead' as an example, I would have liked to set up probes checking for 'phc', 'antlr' and 'xsltproc'. I didn't do so because I didn't want to clutter the Parrot config. Regards, Bernhard
Re: [perl #43857] [TODO] Refactor config probes that are used only by language implementation
On Sun, Jun 22, 2008 at 3:38 AM, Bernhard Schmalhofer [EMAIL PROTECTED] wrote: James Keenan via RT schrieb: On Fri Jul 13 09:58:33 2007, bernhard wrote: There are several config probes that are only used for language implementations. Examples are config/auto/m4.pm and config/auto/python.pm. Please find attached two files. The first greps the repository for mentions of 'm4'. The second is a patch which eliminates config/auto/m4.pm and the associated test file and updates the MANIFEST. Configure.pl, make and make test all perform without error after this config step is eliminated. When I switch into languages/m4, then call 'make' and 'make test', I get the same test failures in t/regex/002_tokens.t either way. So my belief is that removing this step causes no harm to the m4 language implementation itself. I will apply this patch to trunk in about 2 days if there is no objection. Thank you very much. kid51 AFAIK 'languages/m4/config/makefiles/root.in' is the only place where the config entry 'has_gnu_m4' is used. It is meant as a doublecheck of the 'm4' tests. If 'GNU m4' is available then the m4 tests should be run with 'GNU m4' as well. This should make sure that the Parrot implementation behaves the same way as the reference implementation. So 'has_gnu_m4' is not essential to the implementation of 'Parrot m4'. In r28633 I removed the use of 'has_gnu_m4' and the config step auto::m4.pm can now be removed. But the real scope of ticket RT#43857 is something different. Language implementations may need config probes that are only relevant for that particular language. Therefore there should be some kind of infrastructure set up, so that those probes can be placed within the language dir. Taking 'Plumhead' as an example, I would have liked to set up probes checking for 'phc', 'antlr' and 'xsltproc'. I didn't do so because I didn't want to clutter the Parrot config. languages/dotnet/ has its own configure.pl, and m4, plumhead, etc. should follow that model. if there are things that can be done to make the process of developing a language-specific configure engine easier, i'd love to hear them. ~jerry
Re: Graph for Rakudo Blog Post about Passing Tests
Hi again, Ovid wrote: --- Moritz Lenz [EMAIL PROTECTED] wrote: Attached is an updated version, as well as an example chart it creates. This is not as pretty as the previous version, but it's more informative. If there are significant number of failed tests, I could also include their number. Any comments? Looks great. However, from a testing perspective, I'm wondering why there is such a huge number of skipped tasks. Shouldn't those be TODO tasks? Skips are really easy to ignore and it's virtually impossible to know if they'll ever pass but TODO tests unexpectedly succeeding tend to stand out. I thought about that over the weekend, and I wrote a small script to automatically unfudge tests that don't actually need the fudging. I ran this: time perl5.10.0 tools/autounfudge.pl --specfile t/spectest_regression.data and it wrote me a patch that removed about 8 or 10 unneeded fudges (plus one false positive, where I broke the test file in an earlier commit, presumably) in a bot more than 6 minutes. I committed some of the changes to the test suite already. Any comments are appreciated. Cheers, Moritz -- Moritz Lenz http://moritz.faui2k3.org/ | http://perl-6.de/ autounfudge.pl Description: Perl program
Re: [svn:parrot] r28644 - trunk/compilers/imcc
On Sunday 22 June 2008 09:04:53 [EMAIL PROTECTED] wrote: Modified: trunk/compilers/imcc/pbc.c === --- trunk/compilers/imcc/pbc.c (original) +++ trunk/compilers/imcc/pbc.c Sun Jun 22 09:04:48 2008 @@ -1032,12 +1032,31 @@ } } + /* Do we have to create an instance of a specific type for this sub? */ + if (unit-instance_of) { + /* Look it up as a class and as a PMC type. */ + STRING * const classname = string_from_cstring(interp, unit-instance_of + 1, + strlen(unit-instance_of) - 2); + PMC * const classobj = Parrot_oo_get_class_str(interp, classname); + if (!PMC_IS_NULL(classobj)) + sub_pmc = VTABLE_instantiate(interp, classobj, PMCNULL); + else { Would this be cleaner if you inverted the conditions? That is, If the PMC *is* null, do this. Otherwise, do that. In this case I'm not sure. Generally the double negative is confusing though. -- c
[perl #53976] [PATCH] Remove tools/dev/ops_renum.mak
On Sun Jun 22 10:04:58 2008, [EMAIL PROTECTED] wrote: One thing I don't understand: In config/gen/makefiles/root.in, I see the following variable assignment: OPS_FILES = @ops@ $(GEN_OPSFILES)# line 455 There currently are no generated .ops files (I think): GEN_OPSFILES = # line 210 So OPS_FILES holds @[EMAIL PROTECTED] But I don't understand where @ops@ is defined/assigned to. I found it: config/auto/ops.pm.
[perl #56214] [PATCH] Implementation of Str.index.
# New Ticket Created by Vasily Chekalkin # Please include the string: [perl #56214] # in the subject line of all future correspondence about this issue. # URL: http://rt.perl.org/rt3/Ticket/Display.html?id=56214 Hello. Almost trivial implementation of Str.index attached. S29-str/index.t passing. -- Bacek. diff --git a/languages/perl6/src/classes/Str.pir b/languages/perl6/src/classes/Str.pir index 6195989..828e374 100644 --- a/languages/perl6/src/classes/Str.pir +++ b/languages/perl6/src/classes/Str.pir @@ -222,6 +222,32 @@ as the Perl 6 CStr class. .return (retv) .end +.sub 'index' :method +.param string x +.param int start :optional +.param int has_start :opt_flag +.local pmc retv +.local string s +.local int pos + +s = self +retv = new 'Int' + +$I0 = length x +unless $I0 goto check_length +pos = index s, x, start +goto done + check_length: +pos = start +$I0 = length s +if $I0 pos goto done +pos = $I0 + + done: +retv = pos +.return (retv) +.end + =item perl() Returns a Perl representation of the Str. @@ -452,6 +478,26 @@ This function is mostly identical to the C library sprintf function. .return s.'sprintf'(args :flat) .end +=item index + + our StrPos multi method index( Str $string: Str $substring, StrPos $pos = StrPos(0) ) is export + +index searches for the first occurrence of $substring in $string, starting at $pos. + +The value returned is always a StrPos object. If the substring is found, then the StrPos represents the position of the first character of the substring. If the substring is not found, a bare StrPos containing no position is returned. This prototype StrPos evaluates to false because it's really a kind of undef. Do not evaluate as a number, because instead of returning -1 it will return 0 and issue a warning. + +=cut + +.sub 'index' +.param string str +.param string subs +.param int pos :optional +.local pmc s +s = new 'Perl6Str' +s = str +.return s.'index'(subs, pos) +.end + =back =head2 TODO Functions
[perl #56224] {BUG} syntax error not catched by PGE triggers errors on generated imcc
# New Ticket Created by Stephane Payrard # Please include the string: [perl #56224] # in the subject line of all future correspondence about this issue. # URL: http://rt.perl.org/rt3/Ticket/Display.html?id=56224 just add this regex to whatever grammar you use to trigger the bug token cut { =cut } -- cognominal stef
[perl #56226] [TODO] implement 'roots' from S29
# New Ticket Created by Patrick R. Michaud # Please include the string: [perl #56226] # in the subject line of all future correspondence about this issue. # URL: http://rt.perl.org/rt3/Ticket/Display.html?id=56226 I've just removed S29-num/roots.t from spectest_regression, since all of the tests were being skipped. If someone cares to write a working 'roots' function for Rakudo, then we can add it back. :-) Thanks! Pm
[perl #56206] [TODO] Modify the smoke server to accept smokes from releases, not just svn
# New Ticket Created by Christopher Nehren # Please include the string: [perl #56206] # in the subject line of all future correspondence about this issue. # URL: http://rt.perl.org/rt3/Ticket/Display.html?id=56206 Per #parrot: apeiron I'm trying to submit a smoke for parrot 0.6.3 on FreeBSD and I'm getting this error: * Sending data to smokeserver http://smoke.parrotcode.org/smoke/ ... error: The submitted smoke has an invalid format! Am I missing something, or did I do something incorrectly? diakopter apeiron: usually that's b/c you did svn export, not svn checkout apeiron diakopter, This is directly from a 0.6.3 tarball. diakopter apeiron: that too :) diakopter yes, non-svn-checkouts can't submit smokes apeiron ah. apeiron Now you tell me. diakopter apeiron: actually diakopter if you modify the submission file to include some svn revision, the smoke server will accept it diakopter b/c it includes the svn revision in the submission pmichaud seems like we ought to be able to get 'make smoke' to recognize 0.6.3 as a valid revision :-) pmichaud for the non-svn checkouts. apeiron Not a big deal, I'm installing svn presently. apeiron (well, not a big deal for me) pmichaud well, we'd like to get smokes from lots of platforms :-) diakopter apeiron: I don't know what revision the 0.6.3 release was diakopter pmichaud: could the 'make release' target put the r in some text file somewhere? diakopter apeiron: 0.6.3 was r28470 I put 28470 in the appropriate spot and the smoke server accepted it, though it'd be nice to not have to do this. Especially if we get automated smoking going.
[perl #52506] [CAGE] Refactor ops2c
On Sat Jun 21 07:33:57 2008, [EMAIL PROTECTED] wrote: Mark: Do you have any objection to closing this RT? No objection here, my needs regarding g++ builds have been satisfied. Thanks! Mark
[perl #56208] [PATCH] Implementation of Str.sprintf.
Applied in r28627, with modifications to avoid the duplicate function sub. Thanks! Pm
[perl #56216] [PATCH] Handles parrot's exceptions in Str.substr.
# New Ticket Created by Vasily Chekalkin # Please include the string: [perl #56216] # in the subject line of all future correspondence about this issue. # URL: http://rt.perl.org/rt3/Ticket/Display.html?id=56216 Hello. Attached patch handles parrot's exception on substr invocations and returns Failure instead. -- Bacek diff --git a/languages/perl6/src/classes/Str.pir b/languages/perl6/src/classes/Str.pir index 6195989..eb454cb 100644 --- a/languages/perl6/src/classes/Str.pir +++ b/languages/perl6/src/classes/Str.pir @@ -258,10 +284,17 @@ Returns a Perl representation of the Str. len = len - start end: +push_eh cant_substr $S0 = substr self, start, len +pop_eh s = new 'Str' s = $S0 .return (s) + cant_substr: +.get_results ($P0, $S0) +s = new 'Failure' +.return (s) + .end =back
Strange variable behaviour
Hi, there is something I do not understand. I reduced the code to a minimal case. If I do: my $a = 23; my $b = $a; # copy $a = 42; say $b; # 23 $b is 23, and if I do: my $a = 23; my $b := $a; # reference $a = 42; say $b; # 42 $b is 42 because it is just a reference to $a. But if I do: my @arr = (23, 42); my $temp = @arr[0]; # copy? @arr[0] = @arr[1]; say $temp; # 42 $temp is 42 ... I expected $temp to be 23 here. Am I missing something? Regards, Frederik
[perl #56208] [PATCH] Implementation of Str.sprintf.
# New Ticket Created by Vasily Chekalkin # Please include the string: [perl #56208] # in the subject line of all future correspondence about this issue. # URL: http://rt.perl.org/rt3/Ticket/Display.html?id=56208 Hello. There is implementation of sprintf. Only src/classes/Str.pir affected. BTW, '%p' works in parrot, but according to S29 shouldn't. -- Bacek. diff --git a/languages/perl6/src/classes/Str.pir b/languages/perl6/src/classes/Str.pir index 0bd0d95..6195989 100644 --- a/languages/perl6/src/classes/Str.pir +++ b/languages/perl6/src/classes/Str.pir @@ -213,6 +213,14 @@ as the Perl 6 CStr class. .return(retv) .end +.sub 'sprintf' :method +.param pmc args :slurpy +.local pmc retv + +retv = new 'Perl6Str' +retv = sprintf self, args +.return (retv) +.end =item perl() @@ -427,6 +435,23 @@ Returns string with one Char removed from the end. .return s.'chop'() .end +=item sprintf + + our Str multi method sprintf ( Str $format: [EMAIL PROTECTED] ) is export + +This function is mostly identical to the C library sprintf function. + +=cut + +.sub 'sprintf' +.param pmc format +.param pmc args :slurpy +.local pmc s +s = new 'Perl6Str' +s = format +.return s.'sprintf'(args :flat) +.end + =back =head2 TODO Functions @@ -480,8 +505,6 @@ Needs to be in terms of StrPos, not Int. Needs to be in terms of StrPos, not Int. -=item sprintf - =item unpack =item vec
Re: Strange variable behaviour
On Sun, Jun 22, 2008 at 2:59 PM, Frederik Schwarzer [EMAIL PROTECTED] wrote: Hi, there is something I do not understand. I reduced the code to a minimal case. If I do: my $a = 23; my $b = $a; # copy $a = 42; say $b; # 23 $b is 23, and if I do: my $a = 23; my $b := $a; # reference $a = 42; say $b; # 42 $b is 42 because it is just a reference to $a. But if I do: my @arr = (23, 42); my $temp = @arr[0]; # copy? @arr[0] = @arr[1]; say $temp; # 42 $temp is 42 ... I expected $temp to be 23 here. Am I missing something? Regards, Frederik Which implementation of Perl 6 are you using here? In Rakudo, everything works as you describe except for the last example which dies on the last line with: Scope not found for PAST::Var '$temp' current instr.: 'parrot;PCT::HLLCompiler;panic' pc 156 (src/PCT/HLLCompiler.pir:103) -- Will Coke Coleda
Re: Strange variable behaviour
Will Coleda wrote: On Sun, Jun 22, 2008 at 2:59 PM, Frederik Schwarzer [EMAIL PROTECTED] wrote: Hi, there is something I do not understand. I reduced the code to a minimal case. If I do: my $a = 23; my $b = $a; # copy $a = 42; say $b; # 23 $b is 23, and if I do: my $a = 23; my $b := $a; # reference $a = 42; say $b; # 42 $b is 42 because it is just a reference to $a. But if I do: my @arr = (23, 42); my $temp = @arr[0]; # copy? @arr[0] = @arr[1]; say $temp; # 42 $temp is 42 ... I expected $temp to be 23 here. Am I missing something? Regards, Frederik Which implementation of Perl 6 are you using here? In Rakudo, everything works as you describe except for the last example which dies on the last line with: Scope not found for PAST::Var '$temp' current instr.: 'parrot;PCT::HLLCompiler;panic' pc 156 (src/PCT/HLLCompiler.pir:103) Did you use the interactive (REPL) rakudo prompt? If so, no wonder - it currently puts an implicit block around each line. In the non-interactive version it wroks as Frederik described, which is certainly a bug: $ cat test.t my @arr = (23, 42); my $temp = @arr[0]; # copy? @arr[0] = @arr[1]; say $temp; # 42 $ ../../parrot perl6.pbc test.t 42 Part of the problem is that it's not really tested because t/spec/S03-operators/assign.t can't be parsed by rakudo correctly, and the fudged version 1) exhibits GC bugs and 2) is mis-parsed by fudge and reports the number of tests wrongly. I'll probably move some of the simpler tests to a separate file to work around these limitations for now (currently assign.t has 308 tests, which is way above average anyway) Cheers, Moritz -- Moritz Lenz http://moritz.faui2k3.org/ | http://perl-6.de/
[PATCH] Re: Strange variable behaviour
Moritz Lenz wrote: Will Coleda wrote: On Sun, Jun 22, 2008 at 2:59 PM, Frederik Schwarzer [EMAIL PROTECTED] wrote: ... But if I do: my @arr = (23, 42); my $temp = @arr[0]; # copy? @arr[0] = @arr[1]; say $temp; # 42 $temp is 42 ... I expected $temp to be 23 here. Am I missing something? [ assign.t ] I'll probably move some of the simpler tests to a separate file to work around these limitations for now (currently assign.t has 308 tests, which is way above average anyway) I did that now: http://dev.pugscode.org/changeset/20965 Attached patch adds the newly created test to spectest_regression, one failing test is fudged (marked as todo BUG ...) -- Moritz Lenz http://moritz.faui2k3.org/ | http://perl-6.de/ Index: t/spectest_regression.data === --- t/spectest_regression.data (revision 28652) +++ t/spectest_regression.data (working copy) @@ -8,6 +8,7 @@ S02-literals/radix.t S02-polymorphic_types/subset-code.t # pure S02-polymorphic_types/subset-range.t +S03-operators/assign-is-not-binding.t S03-operators/autoincrement.t # pure S03-operators/comparison.t S03-operators/context.t
Re: Strange variable behaviour
On Monday 23 June 2008 00:19:14 Moritz Lenz wrote: Will Coleda wrote: Hi, Which implementation of Perl 6 are you using here? In Rakudo, everything works as you describe except for the last example which dies on the last line with: Erm, totally forgot that. I am using a recent (read: hours) build of Parrot/Rakudo. For testing I write small programmes and execute them with perl6 test.pl. All the examples I gave compile just fine here. I additionally have use v6; given at the beginning of the file. In the non-interactive version it wroks as Frederik described, which is certainly a bug: [...] Part of the problem is that it's not really tested because t/spec/S03-operators/assign.t can't be parsed by rakudo correctly, and the fudged version 1) exhibits GC bugs and 2) is mis-parsed by fudge and reports the number of tests wrongly. Thank you for investigating. :) Regards, Frederik
[perl #56206] [TODO] Modify the smoke server to accept smokes from releases, not just svn
On Sat Jun 21 17:49:51 2008, [EMAIL PROTECTED] wrote: Per #parrot: apeiron I'm trying to submit a smoke for parrot 0.6.3 on FreeBSD and I'm getting this error: * Sending data to smokeserver http://smoke.parrotcode.org/smoke/ ... error: The submitted smoke has an invalid format! Am I missing something, or did I do something incorrectly? [snip] I put 28470 in the appropriate spot and the smoke server accepted it, though it'd be nice to not have to do this. Especially if we get automated smoking going. rant Welcome to the bizarro world of the Parrot smoke server. Consider yourself fortunate that you got some feedback indicating you had an invalid format -- even though the reason for the invalidity is absurd. What is perhaps worse is the case where the smoke server *appears* to accept the report but never displays it and never tells you when it doesn't display it. This can happen for reasons as stupid as having a C compiler listed as 'gcc-4.0' rather than 'gcc'. See RT 49276 for other issues with the smoke process. I have been told that someday Smolder will be the solution to our problems, but I suspect we will never get there until someone who is skilled in setting up web sites and CGI processes can set up a site where we can experiment with other smoke setups. (We can't do that with the current site because it's too big a drain on the volunteer time of the sysadmins.) /rant kid51
[perl #56076] [PATCH] MACOSX_DEPLOYMENT_TARGET not defined during OSX PPC Rakudo build
On Wed Jun 18 20:00:25 2008, packy wrote: I'm submitting a patch, adding the #CONDITIONED_LINE(darwin):export MACOSX_DEPLOYMENT_TARGET := @osx_version@ line (and an explanatory comment) in all the config/makefiles/root.in files for all the languages in languages/ AND updating tools/dev/mk_language_shell.pl so it will be in future language shells. I'm not sure if all languages will use gcc and g++, but I figured it's just an environment variable and it's better to define it when it's not needed than to not have it defined when it is. Can we get some feedback on this patch from Mac users who are familiar with use of 'make' in the various languages? Thank you very much. kid51
[perl #55588] [META] June 2008 Hackathon targets
On Tue Jun 10 11:55:31 2008, coke wrote: Any tickets you plan to work on at the hackathon, have this ticket refer to them, so we can keep track of what's done. Ditto any tickets that are closed as a result of hackathon work. All the children of this ticket have been resolved. Can the RT be marked resolved?
[perl #56230] [PATCH] Multimethods for Complex.
# New Ticket Created by Vasily Chekalkin # Please include the string: [perl #56230] # in the subject line of all future correspondence about this issue. # URL: http://rt.perl.org/rt3/Ticket/Display.html?id=56230 Hello. There is implementation of prefix:+, prefix:-, sqrt, exp for Complex. More to come. -- Bacek. diff --git a/languages/perl6/src/builtins/math.pir b/languages/perl6/src/builtins/math.pir index 1edd996..229648e 100644 --- a/languages/perl6/src/builtins/math.pir +++ b/languages/perl6/src/builtins/math.pir @@ -123,12 +123,18 @@ C$x ** 0.5 =cut -.sub 'sqrt' +.sub 'sqrt' :multi(_) .param num a a = sqrt a .return (a) .end +.sub 'sqrt' :multi(Complex) +.param pmc a +a = sqrt a +.return (a) +.end + =item truncate @@ -172,12 +178,18 @@ constant Ie. =cut -.sub 'exp' +.sub 'exp' :multi(_) .param num a a = exp a .return (a) .end +.sub 'exp' :multi(Complex) +.param pmc a +a = exp a +.return (a) +.end + =item log diff --git a/languages/perl6/src/builtins/op.pir b/languages/perl6/src/builtins/op.pir index 4d072fc..e8b4a29 100644 --- a/languages/perl6/src/builtins/op.pir +++ b/languages/perl6/src/builtins/op.pir @@ -80,6 +80,11 @@ src/builtins/op.pir - Perl6 builtin operators .return (a) .end +.sub 'prefix:+' :multi('Complex') +.param pmc a +.return (a) +.end + .sub 'prefix:-' :multi(_) .param num a @@ -94,6 +99,12 @@ src/builtins/op.pir - Perl6 builtin operators .return ($I0) .end +.sub 'prefix:-' :multi('Complex') +.param pmc a +a = neg a +.return (a) +.end + .sub 'prefix:~' :multi(_) .param string a
[perl #56228] Perl6 gramar bug
# New Ticket Created by luben karavelov # Please include the string: [perl #56228] # in the subject line of all future correspondence about this issue. # URL: http://rt.perl.org/rt3/Ticket/Display.html?id=56228 There is some parse error for this simpe case: ==code use v6; sub ok ($num){ $num; } for 1..5000 { ok($_); } ==cut The error message is : Statement not terminated properly at line 7, near { \nok( current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82) called from Sub 'parrot;Perl6::Grammar;eat_terminator' pc 20925 (src/gen_grammar.pir:2814) called from Sub 'parrot;Perl6::Grammar;statementlist' pc 19938 (src/gen_grammar.pir:2451) called from Sub 'parrot;Perl6::Grammar;statement_block' pc 17795 (src/gen_grammar.pir:1651) called from Sub 'parrot;Perl6::Grammar;TOP' pc 14067 (src/gen_grammar.pir:225) if we add some statement before the for it compiles. For example this is OK: ==code use v6; sub ok ($num){ $num; } ; for 1..5000 { ok($_); } ==cut Best regards luben
[perl #56076] [PATCH] MACOSX_DEPLOYMENT_TARGET not defined during OSX PPC Rakudo build
On Wed Jun 18 20:00:25 2008, packy wrote: On my OSX PPC 10.4.11 platform I did a make perl6 from languages/ perl6, and I got the following: cd src/pmc perl /usr/local/source/parrot/tools/build/dynpmc.pl linklibs perl6str mutable perl6scalar mutablevar c++ -o perl6_group.bundle lib-perl6_group.o perl6str.o mutable.o perl6scalar.o mutablevar.o -lm -framework OpenGL -framework GLUT - lcrypto -L/usr/local/lib -L/usr/local/source/parrot/blib/lib -L/opt/ local/lib -L/usr/local/source/parrot/blib/lib -bundle -undefined dynamic_lookup -L/usr/local/source/parrot/blib/lib -lparrot /usr/bin/ld: flag: -undefined dynamic_lookup can't be used with MACOSX_DEPLOYMENT_TARGET environment variable set to: 10.1 collect2: ld returned 1 exit status partial link of perl6_group failed (256) make: *** [src/pmc/perl6_group.bundle] Error 2 *grumble* At this point, I could just export it in my .bashrc, or put it everywhere it ought to be. I'm submitting a patch, adding the #CONDITIONED_LINE(darwin):export MACOSX_DEPLOYMENT_TARGET := @osx_version@ line (and an explanatory comment) in all the config/makefiles/root.in files for all the languages in languages/ AND updating tools/dev/mk_language_shell.pl so it will be in future language shells. I'm not sure if all languages will use gcc and g++, but I figured it's just an environment variable and it's better to define it when it's not needed than to not have it defined when it is. -packy Looks fine, I don't have a problem with adding it proactively to languages currently in the repo. Applied in r28657. -- Will Coke Coleda
[perl #43306] [TODO] config/auto/m4.pm: Write unit tests
The config step to which this RT corresponds has been removed from trunk, so we can mark this ticket resolved.
[perl #38194] [TODO] build - optimize pmc2c.pl
This ticket has been open for nearly 2-1/2 years now. I'm wondering if we could reformulate it to more specifically identify ways pmc2c.pl could be optimized, break those specific objectives into separate RTs, and close this ticket. Otherwise, this ticket is likely to be uncloseable. Can those who have commented on this ticket take a(nother) look at pmc2c.pl and suggest specific optimizations? Thank you very much. kid51
[perl #43857] [TODO] Refactor config probes that are used only by language implementation
On Sun Jun 22 03:39:37 2008, bernhard wrote: So 'has_gnu_m4' is not essential to the implementation of 'Parrot m4'. In r28633 I removed the use of 'has_gnu_m4' and the config step auto::m4.pm can now be removed. Done. Patch applied in r28656 But the real scope of ticket RT#43857 is something different. Language implementations may need config probes that are only relevant for that particular language. Therefore there should be some kind of infrastructure set up, so that those probes can be placed within the language dir. Taking 'Plumhead' as an example, I would have liked to set up probes checking for 'phc', 'antlr' and 'xsltproc'. I didn't do so because I didn't want to clutter the Parrot config. So the ticket remains open.
[perl #56236] [BUG]: Unable to 'make perl6' on OS X 10.4 PPC
# New Ticket Created by James Keenan # Please include the string: [perl #56236] # in the subject line of all future correspondence about this issue. # URL: http://rt.perl.org/rt3/Ticket/Display.html?id=56236 I know my iBook G4 is slow, but this is ridiculous! perl Configure.pl, make and make test DWIMmed. I then cd-ed into languages/perl6 and called 'make perl6'. Everything proceeded normally until this point: /Users/jimk/work/parrot/pbc_to_exe perl6.pbc /usr/bin/gcc -o perl6.o -I/Users/jimk/work/parrot/include -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/sw/include -DHAS_GETTEXT -c perl6.c ... which hangs indefinitely. Current attempt has been running for 30 minutes. Even if it ultimately concludes, this is utterly impractical, as it's slowing the computer to a standstill. Any ideas? Thank you very much. kid51 [perl6] 505 $ ps ux | grep gcc jimk 29038 0.9 7.3 451316 19220 p3 S+9:26PM 0:44.90 / usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/cc1 -quiet -I jimk 29137 0.7 0.227376420 p4 S+9:59PM 0:00.01 grep gcc jimk 29035 0.0 0.027268 16 p3 S+9:26PM 0:00.02 / usr/bin/gcc -o perl6.o -I/Users/jimk/work/parrot/include jimk 29037 0.0 0.031488 16 p3 S+9:26PM 0:00.01 / usr/bin/powerpc-apple-darwin8-gcc-4.0.1 -I/Users/jimk/wor jimk 29040 0.0 0.027676 16 p3 S+9:26PM 0:00.01 / usr/libexec/gcc/darwin/ppc/as -arch ppc -o perl6.o $ uname -a Darwin Macintosh-8.local 8.11.0 Darwin Kernel Version 8.11.0: Wed Oct 10 18:26:00 PDT 2007; root:xnu-792.24.17~1/RELEASE_PPC Power Macintosh powerpc myconfig Description: Binary data
[pdd25cx] Calling a continuation doesn't restore error handlers
So I tried the pdd25cx branch at r28617 with Kea Common Lisp and got 17 subtest failures, 15 of which appear to be due to transfer of control to the wrong error handler. The attached code illustrates the problem: [EMAIL PROTECTED] ./parrot eh-test.pir got bar test err: Tried to get null global [EMAIL PROTECTED] Since the error is caused in the main sub, the error message ought to say main err: Tried to get null global as it does in trunk. So the test_err handler is not getting disestablished when the test sub returns. I assume this applies to all continuations; otherwise, adding a pop_eh would be enough. It looks like the failure in t/pmc/coroutine.t case 3 (Coroutine - exception in main) is related, but haven't looked at it in detail. Do you have a plan for how to fix this? I would love to help, but I have no idea what you have in mind. -- Bob Rogers http://rgrjr.dyndns.org/ .sub main :main $P1 = new 'String' $P1 = 'bar' set_global 'foo', $P1 push_eh main_err $S0 = 'foo' test($S0) null $S0 ## This fails with Tried to get null global, but ## incorrectly sends us to the test err: handler. get_global $P0, $S0 print done.\n end main_err: .get_results ($P0, $S0) print main err: print $S0 print \n .end .sub test .param string str push_eh test_err get_global $P0, str print got print $P0 print \n .return () test_err: .get_results ($P0, $S0) print test err: print $S0 print \n .end