Camelia, the Perl 6 bug

IRC log for #parrot, 2008-04-19

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:16 liona29 joined #parrot
00:46 teknomunk joined #parrot
00:48 dalek r27025 | infinoid++ | trunk:
00:48 dalek : [C++]
00:48 dalek : * Fix up nci_test.c so the linker symbols aren't mangled.  This fixes
00:48 dalek :   some tests when building with g++.
00:48 dalek : * Fix up c_indent.t to ignore stuff in an #ifdef __cplusplus.  (This
00:48 dalek :   means an extern "C" won't throw off the indentation.)
00:48 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27025
01:01 dalek r27026 | infinoid++ | trunk:
01:01 dalek : [src] g++ errors out when you do an uncasted void* pointer assignment.
01:01 dalek : So, add a cast.
01:01 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27026
01:11 Coke (slots) current is at six.
01:11 Coke things still in flux until monday, however.
01:15 Infinoid ok, thanks
01:24 Coke msg pmichaud http://en.wikipedia.org/wi​ki/Perl_6#Implementations has what I think mis-statements about rakudo. I can fix it if you give me verbage. (or, since it's wikipedia, you know...)
01:24 purl Message for pmichaud stored.
01:30 slightlyoff joined #parrot
01:58 Infinoid hmm.  it would be really nice if tools/build/vtable_h.pl had a way to specify that the "self" argument (the PMC*) was const.
01:59 Infinoid I'm pretty sure (for example) "isa" doesn't modify the invocant, and having to add a cast to explicitly downgrade the const-ness is just ugly.
02:02 Infinoid with gcc, its not such a big deal.  with g++, it is.
02:03 Infinoid gcc says: src/key.c:448: warning: passing argument 2 of 'key->vtable->isa' discards qualifiers from pointer target type
02:03 Infinoid g++ says: src/key.c:448: error: invalid conversion from 'const PMC*' to 'PMC*'
02:13 kid51 joined #parrot
02:19 Infinoid ooh, Parrot::Vtable has attr parsing.  I might be able to hack constness in.
02:29 tetragon joined #parrot
03:27 Infinoid amazingly enough, this actually appears to work.
03:27 nopaste "Infinoid" at 75.31.89.233 pasted "const vtable methods (diff)" (115 lines) at http://nopaste.snit.ch/12723
03:31 AndyA joined #parrot
03:33 kid51 Do you expect to be making further changes on that over night?  If not, I'll try it on Darwin tomorrow.
03:33 PerlJam greetings
03:34 Infinoid I'm not sure.  I'm trying to reduce the amount of ugly manual casting to downgrade const-ness.
03:34 kid51 k
03:34 * kid51 must sleep
03:34 purl $kid51->sleep(8 * 3600);
03:35 Infinoid if this seems like the right approach, I may be consting a bunch more methods
03:35 Infinoid oh well.
03:42 chromatic joined #parrot
03:42 chromatic +1 to consting
03:42 chromatic I've always wanted to fix the coding standard violations of the pointer smackdab up against the type, but I haven't done that yet either.
03:46 dalek r27027 | infinoid++ | trunk:
03:46 dalek : [rakudo] Functions which modify data probably shouldn't declare that
03:46 dalek : data as 'const' and then cast around it afterwards...
03:46 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27027
03:47 Infinoid chromatic: does http://nopaste.snit.ch/12723 look like the right approach?
03:47 tetragon joined #parrot
03:48 chromatic It looks reasonable.
03:48 Infinoid this is all just yak shaving because I hate using casts to downgrade const-ness.  (It's an indication that there's too little or too much consting somewhere else.)
03:49 chromatic I'm not sure if :const is screechingly obvious in its implications however.
03:49 Infinoid I considered using a PARROT_CONST marker or somesuch, but then it looked too much like the return value was const
03:49 chromatic I can see that.
03:49 Infinoid I'm open to suggestions...
03:49 chromatic I keep trying to read it as :pure
03:50 Infinoid hmm, that works.
03:51 chromatic Andy L tried slapping more const on the vtable entries, but Allison was concerned about Liskov, in the sense that we don't always know what child PMCs will do with these entries.
03:51 chromatic I like the idea of being very strict by default and loosening when necessary though.
03:51 Infinoid yeah.  I figured isa() was pretty safe, in terms of side effects
03:52 chromatic Agreed; low risk on this one.
03:53 Infinoid the nice thing is, when you add it to a naughty method, gcc starts emitting warnings as the const contract is broken
03:53 chromatic Yeah.  We should clean up the existing warnings, where possible.
03:53 Infinoid for instance, a couple of those isa() methods call the get_string() method, which isn't const
03:53 chromatic I hope to fix the warnings in optimized mode here shortly.
03:55 Infinoid well, should I apply this?  Or post it to RT/list for discussion?
03:56 chromatic Up to you.
03:56 chromatic If you're going to be around tomorrow, we can back it out if necessary.
03:56 Infinoid I'll be around all weekend
03:56 Infinoid do you want me to rename the attribute?
03:56 chromatic I can't see any reason it won't work though; if we have const problems on any compiler on any platform, we'll have seen them elsewhere.
03:56 Infinoid plus, in terms of release cycle, this is The Week To Break Things.
03:57 chromatic Where does the 'const' go, on SELF or on something else?
03:57 Infinoid correct
03:58 Infinoid const PMC *pmc
03:58 chromatic My only better idea is :const_self
03:58 chromatic s/better/other/
03:59 Infinoid I don't have a problem with that.  I started out with :const_invocant, and then decided it was too spammy.
04:01 chromatic :const is fine with me.
04:01 chromatic Nice work.
04:01 Infinoid ok, I'll check this in with the attribute named :const.  thanks!
04:13 dalek r27028 | infinoid++ | trunk:
04:13 dalek : [PMC] Add a :const attribute to methods (vtable methods and  otherwise),
04:13 dalek : which marks SELF as const.  Hopefully this will let us reduce the amount
04:13 dalek : of casting we end up doing, to "fix" const-downgrade warnings.
04:13 dalek : The "isa" vtable method is my first victim.  This is tangentially
04:13 dalek : related to RT #52874 (which had a const-downgrade cast patch).
04:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27028
04:17 PerlJam This perl 6 (rakudo) program behaves in a strange manner: http://nopaste.snit.ch/12720
04:18 PerlJam It seems like this is a bug in assign, but I'm not sure if it's Perl6Str's fault or parrot's
04:31 Infinoid maybe it's a CoW failure?
04:32 PerlJam That's what I was thinking, but I know absolutely nothing about cow
04:32 Infinoid a failure to do CoW, that is
04:32 Infinoid I don't know anything about how parrot does it either
04:32 Infinoid nice find tho :)
04:34 Infinoid can you post it to RT?
04:38 PerlJam I guess.  I'd rather fix it.  But I'm too tired to think very well right now.
04:46 dalek r27029 | infinoid++ | trunk:
04:46 dalek : [PMC] constify the vtable get_class() method.
04:46 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27029
04:59 Psyche^ joined #parrot
05:13 nopaste "chromatic" at 63.105.17.30 pasted "Fix COW Problem in increment/decrement for Perl6Str PMC" (82 lines) at http://nopaste.snit.ch/12724
05:15 chromatic_away This'd be easier if there were a Parrot_unmake_COW which returned the modified string pointer; less code moving around.
05:15 chromatic_away It'd be harder to get this wrong, too.
05:16 chromatic_away Even a macro of some kind, which checked the COW flag....
05:21 camgirl29 joined #parrot
06:46 markus joined #parrot
07:37 darbelo joined #parrot
08:06 slightlyoff_ joined #parrot
08:10 markus_ joined #parrot
08:15 anna30 joined #parrot
08:45 IllvilJa joined #parrot
09:03 wknight8111 joined #parrot
09:45 dalek r27030 | jonathan++ | trunk:
09:45 dalek : [rakudo] Make .= really work properly when used in declarations, and add an optimization so we don't emit a type check when doing an assignment to a variable we can statically determine is untyped.
09:45 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27030
09:47 darbelo left #parrot
09:53 barney joined #parrot
10:43 ruoso joined #parrot
10:44 rotty barney: did you get an answer from fperrad?
11:09 barney rotty: yes, I think I forwarded it to you
11:09 rotty i
11:09 cotto_work joined #parrot
11:09 * rotty checks his mbox
11:12 barney Donnerstag, 21:33
11:22 iblechbot joined #parrot
11:27 davidfetter joined #parrot
11:34 lola22 joined #parrot
11:37 kid51 joined #parrot
11:51 rdice joined #parrot
11:52 wknight8111 joined #parrot
12:09 liona29 joined #parrot
12:17 dalek r27031 | bernhard++ | trunk:
12:17 dalek : Let P::T::Harness honor the 'files' import-option,
12:17 dalek : when there is no '--files' commandline option.
12:17 dalek : Add a harness for compilers/nqp/bootstrap.
12:17 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27031
12:19 dalek r27032 | bernhard++ | trunk:
12:19 dalek : Let SVN ignore generated files in runtime/parrot/library/NCI/
12:19 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27032
12:43 * barney broke Eclectus testing in r27031
12:48 dalek r27033 | bernhard++ | trunk:
12:48 dalek : [Eclectus]
12:49 dalek : Remove Eclectus from unified languages testing,
12:49 dalek : make 'cd eclectus && make test' work again.
12:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27033
13:04 Infinoid is VTABLE_get_string constable?  (is it free of side effects?)
13:08 barney I can imagine that there are side effects, like for Random PMC
13:10 Infinoid nice example, but that still doesn't modify the PMC
13:11 jq joined #parrot
13:11 Infinoid know of any pmcs which do local caching of stringification, or something like that?
13:13 barney I've never seen that, but IMHO it should be possible
13:14 Infinoid you're right.  and that means nothing that calls VTABLE_get_string should be constable
13:15 barney If you put it that way, it sounds bad
13:17 Infinoid I've consted isa(), get_class(), and I'm working on name() and type()
13:17 Infinoid but I'm not really sure this is the right approach, because some of those call get_string()
13:17 dalek r27034 | bernhard++ | trunk:
13:17 dalek : [Eclectus]
13:17 dalek : Use 'case' in order to switch between implementations.
13:17 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27034
13:19 askie joined #parrot
13:24 barney Sounds like a design issue.
13:24 tetragon joined #parrot
13:49 jq joined #parrot
13:50 dalek r27035 | fperrad++ | trunk:
13:50 dalek : [opengl]
13:50 dalek : - fix openGL config on MinGW32
13:50 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27035
14:05 jq joined #parrot
14:27 bpphillips-1 joined #parrot
14:38 tetragon joined #parrot
14:43 dalek r27036 | jkeenan++ | trunk:
14:43 dalek : Refactor preparatory code found in lib/Parrot/Configure/Options/Test.pm into
14:43 dalek : lib/Parrot/Configure/Options/Test/Prepare.pm.  carp instead of dying silently
14:43 dalek : when config step class lacks corresponding test files (incorporating Geoffrey
14:43 dalek : Broadwell's patch in http://rt.perl.org/rt3/Tic​ket/Display.html?id=53034).
14:43 dalek : Make changes needed in Configure.pl, t/configure/025-options_test.t and
14:43 dalek : t/configure/026-options_test.t.  Add t/configure/049-options_test.t to test
14:43 dalek : previously untested branches and regexes.
14:43 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27036
14:46 dalek r27037 | jkeenan++ | trunk:
14:46 dalek : Correct name of newly added test file.
14:46 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27037
15:08 Infinoid any lua experts around?
15:24 Infinoid how does one tell string_from_cstring() whether or not to free() the cstring when garbage collection occurs?
15:28 lichtkind joined #parrot
15:29 nopaste "Infinoid" at 75.31.89.233 pasted "Remove a hack from LUA that was causing lots of crashes and failing tests. Won't the GC take care of this?" (15 lines) at http://nopaste.snit.ch/12725
15:36 dalek r27038 | infinoid++ | trunk:
15:36 dalek : [Lua] Checking pointers for 8 digits of hex only works on 32 bit platforms.
15:36 dalek : Adjust regexes to get 3 such tests passing on linux/amd64.
15:36 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27038
15:42 cognominal joined #parrot
15:44 AndyA joined #parrot
15:47 cognominal jonathan++
16:07 Theory joined #parrot
16:11 markus_ joined #parrot
16:33 Infinoid (note for the logs: my above nopaste has been posted to RT as #53072.)
16:36 cognominal bots shoud give a link for RT nodes :(
16:36 tetragon Is there any preferred way to temporarily set a cflag, with the duration being a single configure test?
16:38 Infinoid cognominal: wknight8111 has a bot that does exactly that, and I've written a botnix module that we can plug into dalek to do it too
16:40 nopaste "Infinoid" at 75.31.89.233 pasted "plugin for dalek: modules/local/rtlink.pm" (24 lines) at http://nopaste.snit.ch/12727
16:42 cognominal does anyone know how one can access vtable method attributes like :const ?
16:42 cognominal dalek is written in perl 5 or use parrot?
16:42 Infinoid dalek is written in perl 5.
16:42 cognominal yea, i see your paste
16:43 Infinoid cognominal: access :const from where?
16:43 cognominal in pir,  suppose I get the pmc of the said method...
16:44 Infinoid hmm.  I don't know if pmc2c stores that stuff for later introspection
16:44 cognominal well, I don't have a use for it rigt now.  Also I suppose there is a perl way from the perl5 toolchain
16:45 cognominal I suppose it will be useful from the interpretor to run a restricted parrot for security reason
16:45 Infinoid the code within pmc2c can use it, yes
16:45 Infinoid there's really 2 :const attributes I added in http://www.parrotvm.org/svn​/parrot/revision?rev=27028 - one for vtable.tbl and one for methods within .pmc files
16:46 cognominal I have seen your patches so it made me think.
16:46 Infinoid ok
16:46 particle joined #parrot
16:47 Infinoid interesting thought regarding the security
16:48 cognominal I thought that was one of the reason to get this flags on the first place so the necesity of introspection
16:48 Infinoid my motivation was just fixing some gcc warnings that turn into errors when you use g++
16:48 cognominal but I did not find anything, not that I searched hard.
16:52 cognominal I hate bureaucracy but I noted that rt is also a tool of social engineering, A ticket that is immediately dismissed by the one in charge of the code , get the users to bark. But yes, he is right. I need that. And eventually, if no one side with me, I now I am probably wrong
16:53 cognominal "but yes he is right"   # that should have been quoted
16:55 Infinoid Andy Bach's email sig cracks me up.  "The bureaucracy is expanding to meet the needs of an expanding bureaucracy."
17:00 Infinoid cognominal: hmm.  did we ever get anywhere with that compilers/imcc/imcc.l stuff?  I would have tried to fix it, but I am clueless about flex and REJECT :(
17:00 cognominal ho, I should get back to that. The REJECT was only to factorie the error message. That was silly because it complicated the test stuff
17:01 cognominal One put the error message instead of the REJECT and that is done.
17:02 cognominal And you suppress some of your test correction because they are not need anymore.
17:03 cognominal Do you need a patch?
17:03 Infinoid please, thanks
17:03 cognominal ok
17:06 Infinoid cognominal++
17:07 cognominal sorry for the botched job
17:07 cognominal Infinoid, do you have the RT number?
17:08 Infinoid oh...
17:08 Infinoid #52858
17:09 cognominal thx
17:23 tetragon kid51: I got the readline configure step to fail gracefully on my darwin box when it could only find editline.  Unfortunately, it's not in the most elegant of states
17:23 dalek r27039 | jkeenan++ | trunk:
17:23 dalek : Add tests to cover previously untested methods, branches or circumstances.
17:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27039
17:25 kid51 Can you paste a patch?
17:25 kid51 Or post it to the RT ticket we have open on that?
17:26 tetragon I was wondering if there is an elegant way to set a temporary flag
17:27 kid51 The flags, IMHO, are rather messy now.  So I suspect 'temporary' flags would not be the way to go -- but this is not my area of expertise.
17:28 tetragon Right now I grab the old set, save it, tack on my temporary ones and restore after the build
17:29 kid51 Why don't you post that in the ticket.  That grab/save/append/restore mechanism may be helpful in other places.
17:31 dalek r27040 | chromatic++ | trunk:
17:31 dalek : [include] Added Parrot_unCOW_string macro to perform copy-on-impending-write in
17:31 dalek : place and, most importantly, return the STRING pointer.  This allows the use of
17:31 dalek : the macro in assignments, instead of calling Parrot_unmake_COW() directly.
17:31 dalek : The name of this macro could be better, and it might go in a better header, but
17:31 dalek : this will work for now.
17:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27040
17:33 tetragon I've attached it to #52212
17:35 tetragon The reason the modified flags are 'libs' is so that I know it comes after the previously set "-undefined dynamic_lookup"
17:40 kid51 I have to go now, but I will look at it later today or tomorrow.
17:42 dalek r27041 | chromatic++ | trunk:
17:42 dalek : [Rakudo] Fixed Perl6Str increment/decrement to respect STRING copy on write.
17:42 dalek : (Reported by PerlJam; confirmed by Infinoid).
17:42 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27041
17:44 paula35 joined #parrot
17:45 IllvilJa joined #parrot
18:10 nopaste "cognominal" at 82.67.232.89 pasted "#52858: "$" vars in PASM don't work, but aren't disallowed either" (67 lines) at http://nopaste.snit.ch/12728
18:10 cognominal Infinoid. my corrected patch
18:13 mj41 joined #parrot
18:21 jan joined #parrot
18:24 dalek r27042 | infinoid++ | trunk:
18:24 dalek : [Lua] Remove some conditional freeing of non-freeable resources; let the GC
18:24 dalek : sort it out.  This fixes lots of lua tests, and resolves RT#53072.
18:24 dalek : chromatic++ for the review.
18:24 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27042
18:27 Infinoid cognominal: thanks, trying it now
18:27 cognominal don't forget to run flex
18:32 Infinoid do I need to give it any arguments?  "flex compilers/imcc/imcc.l" doesn't seem to do anything.
18:34 Infinoid oh, -d -o
18:38 Infinoid (testing now)
18:44 markus joined #parrot
18:45 Infinoid removed hard tabs, trying again...
18:49 cognominal arf, I though I had emacs configured against hard tabs  :(
18:50 cognominal sorry
18:51 Infinoid no big deal, this is what codingstd tests are for :)
18:54 Limbic_Region joined #parrot
18:55 dalek r27043 | infinoid++ | trunk:
18:55 dalek : [IMCC] Disallow "$" vars in PASM mode.
18:55 dalek : This resolves RT #52858.  rgrjr++ reported it, cognominal++ fixed it.
18:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27043
18:56 cognominal Infinoid++ comitted it :)
19:07 Infinoid eh, committing is easy.  thanks for fixing it!
19:15 peeps joined #parrot
19:16 cotto_home is the schedule for the pre-YAPC::NA hackathon known?
19:23 liona29 joined #parrot
19:54 DarkWolf84 joined #parrot
20:11 ambs joined #parrot
20:13 ambs HI, folks
20:14 ambs who is playing with OpenGL?
20:34 Limbic_Region joined #parrot
20:42 particl1 joined #parrot
20:58 ambs hmms
20:59 ambs Infinoid, you the openGL guy? :)
21:04 Infinoid I checked it in, and tested it on linux/amd64
21:04 Infinoid but the patch came from Geoffrey Broadwell <geoff@broadwell.org>
21:04 ambs well, I'm submitting bug reports
21:05 Infinoid great!  how badly does it break?
21:05 ambs somebody will look into them :D
21:05 ambs detection, for now
21:05 ambs nothing too bad
21:06 Infinoid ok, thanks
21:10 Infinoid ah, you're right, I see that error outside of X too
21:13 diakopter joined #parrot
21:13 ambs Infinoid, it is not critical, but it would be nice to solve :)
21:14 kid51 joined #parrot
21:14 Infinoid ambs: yeah.  I'm just staring at http://www.parrotvm.org/svn​/parrot/revision?rev=27035
21:15 Infinoid seems not everyone needs a $DISPLAY variable
21:15 ambs (loading)
21:15 Infinoid so if we can figure out a way to detect those who do, we can check and barf early, or do a link-only test, or something
21:16 ambs let me see what is compiled and run
21:16 ambs glutInit...
21:17 ambs glutInit will initialize the GLUT library and negotiate a session with the window system. During this process,  glutInit may cause the termination of the GLUT program with an error message to the user if GLUT cannot be properly initialized. Examples of this situation include the failure to connect to the window system, the lack of window system support for OpenGL, and invalid command line options.
21:17 ambs glutInit
21:18 Infinoid ok.  well, we can check for the existence of glutInit without actually calling it... maybe just check non-NULLness of its pointer
21:19 ambs yes
21:19 ambs or chose anoter function to test
21:19 ambs :)
21:20 nopaste "Infinoid" at 75.31.89.233 pasted "Patch to detect OpenGL successfully even without X" (16 lines) at http://nopaste.snit.ch/12729
21:21 Infinoid well, I haven't ever done any opengl programming, but glutInit() sounds sufficiently important to me :)
21:21 ambs testing
21:21 ambs yes, that I agree :-P
21:22 ambs Determining if your platform supports OpenGL...................yes, GLUT 4.
21:22 ambs now let me make
21:22 ambs and make test
21:22 purl More like "make fail"
21:22 Infinoid thanks, purl
21:25 ambs it seems to be all working.
21:26 Infinoid I don't think anything opengl-related runs as part of the test suite.  there's an examples/opengl/ that I hand-tested with
21:26 ambs yeah, but that one fails open display, and that failure is normal and expected :D
21:27 ambs Infinoid, I think you can apply the patch and close the ticket ;)
21:28 Infinoid thanks, I will as soon as this test completes momentarily
21:28 ambs ;)
21:28 ambs I need to get out. See you tomorrow :)
21:32 dalek r27044 | infinoid++ | trunk:
21:32 dalek : [config] The OpenGL configuration test called glutInit(), which requires
21:32 dalek : a $DISPLAY environment variable (on X-based platforms, at least.)  Fix
21:32 dalek : things to do a link-only test, which works fine without X running.
21:32 dalek : This fixes #53084; ambs++ for reporting it.
21:32 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27044
21:34 camgirl29 joined #parrot
21:48 paula35 joined #parrot
22:10 dalek r27045 | infinoid++ | pdd13pbc:
22:10 dalek : Create a dummy packfile.pmc with stub methods as specified in PDD13.
22:10 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27045
22:10 Infinoid 10 commits in less than 24 hours.  \o/
22:12 iblechbot joined #parrot
22:52 dalek r27046 | infinoid++ | pdd13pbc:
22:52 dalek : Create dummy FackfileSegment (abstract) and PackfileDirectory (container)
22:52 dalek : classes, with stub methods as defined by PDD13.
22:52 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27046
22:57 Infinoid jonathan: PDD13 doesn't specify the size of the "words" accessed by RawSegment.pmc.  Native INTVAL-sized words?  Or something more specific?
22:57 Infinoid also, thinking of naming it packfilerawsegment.pmc, rather than just rawsegment.pmc, to be consistent with the rest.
23:02 dalek r27047 | jkeenan++ | trunk:
23:02 dalek : Edit some comments so that they pass t/codingstd/perlcritic.t policy
23:02 dalek : Bangs::ProhibitFlagComments.
23:02 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27047
23:02 tetragon joined #parrot
23:07 Infinoid r27046.logentry =~ s/Fack/Pack/
23:18 particle joined #parrot
23:20 dalek r27048 | jkeenan++ | trunk:
23:20 dalek : Add tests.  Here, case where --without-opengl is specified on command line.
23:20 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27048
23:22 kid51 Infinoid:  ping
23:26 Infinoid kid51: hi!
23:27 kid51 You know about OpenGL?  What would be sufficient to prove someone had installed it?
23:28 kid51 config/auto/opengl.pm has this comment:  Mindlessly morphed from readline ... may need to be fixed
23:28 kid51 ... referring to getting it from Fink and macports ... and later on Win32.
23:29 Infinoid currently, being able to compile config/auto/opengl/opengl.in and link it against -lglut -lGLU -lGL
23:30 kid51 In Fink, I see these packages:  glut and glut-shlibs
23:30 kid51 In Macports:  http://trac.macports.org/projects/macports/​browser/trunk/dports/graphics/glut/Portfile
23:30 shorten kid51's url is at http://xrl.us/bjkce
23:31 kid51 But I get the feeling that that's not all that's needed.
23:31 kid51 (I don't have opengl installed anywhere.)
23:32 Infinoid glut should depend on the rest of opengl
23:32 Infinoid glut-shlibs sounds like it has libglut.so
23:34 Coke cotto_home: (schedule for pre-YAPC::NA hackathon) no, not yet. I'll be there, whenever it is.
23:34 kid51 See code coverage for auto::opengl:  http://thenceforward.net/parrot/coverage/c​onfigure-build/config-auto-opengl-pm.html
23:34 shorten kid51's url is at http://xrl.us/bjkci
23:35 dalek r27049 | infinoid++ | trunk:
23:35 dalek : opengl detection test file: fix the following warning:
23:35 dalek : opengl.c: In function 'main':
23:35 dalek : opengl.c:14: warning: the address of 'glutInit', will always evaluate as 'true'
23:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27049
23:37 tetragon Incidentally, I can get the test for opengl to build on a more vanilla OS X by simply changing it from GL/glut.h to GLUT/glut.h
23:38 tetragon OS X splits OpenGL between two system frameworks, OpenGL and GLUT
23:38 Infinoid hmm
23:38 tetragon And it builds and links correctly without any compiler flags
23:39 Infinoid after that last checkin, it builds cleanly for me with: g++ -O2 -Wall -o opengl opengl.c -lglut -lGLU -lGL
23:39 Infinoid and prints: "4"
23:40 tetragon It prints "5" for me
23:40 tetragon g++ main.c
23:40 tetragon No flags, opengl.in renamed to main.c
23:40 Infinoid interesting
23:40 tetragon It's doing dynamic lookup
23:41 tetragon The moment I start pointing it at libraries, the build starts failing
23:41 * tetragon goes and looks up the framework gcc flags
23:43 * Infinoid opens an opengl detection ticket and sees if he can get the original submitter to have a look
23:43 tetragon g++ main.c -framework GLUT
23:43 tetragon It then explicitly links against glut
23:44 Infinoid are there multiple implementations of the same API to choose from?
23:44 tetragon Don't think so on my box
23:47 tetragon I also have some GL headers in /usr/X11
23:47 Infinoid they very likely put those in there for reverse compatibility with the mess libGL has been making of unix for the last 10 years or so.
23:48 tetragon Both my Tiger and Leopard Macs give 5 as that version
23:49 tetragon The difference between 4 and 5 (according to the header file) is 5 added glutGetProcAddress
23:51 Infinoid ok.  I've created #53088 and pinged (pung?) Geoff Broadwell about it
23:51 Infinoid he was hoping for more testing, looks like he's got it.
23:55 kid51 And I'm supplying the usual tests of the Perl 5 code.
23:55 Infinoid oh, and also, what's the story with readline?  I've been meaning to look at it because it fails to detect with g++
23:57 dalek r27050 | jkeenan++ | trunk:
23:57 dalek : Add test file to test internal methods and subroutines in auto::opengl.
23:57 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27050
23:57 Infinoid kid51++
23:57 tetragon Hrm... Looks like there's a difference in name mangling
23:58 tetragon Works the moment I put the externs in an 'extern "C"' block

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced