develooper Front page | perl.cvs.parrot | Postings from January 2009

[svn:parrot] r35031 - trunk/compilers/pirc/src

From:
kjs
Date:
January 6, 2009 05:36
Subject:
[svn:parrot] r35031 - trunk/compilers/pirc/src
Message ID:
20090106133624.0E75ACB9F9@x12.develooper.com
Author: kjs
Date: Tue Jan  6 05:36:23 2009
New Revision: 35031

Modified:
   trunk/compilers/pirc/src/main.c
   trunk/compilers/pirc/src/pircompunit.c

Log:
[pirc] no tempnam() function anymore; fix this later in a proper way.
+ fix a bug: .annotate can be first statement, in which case there's no instruction object in place. Just take the offset from lexer->codesize, which keeps track of this (and from which instructions take their offset as well).

Modified: trunk/compilers/pirc/src/main.c
==============================================================================
--- trunk/compilers/pirc/src/main.c	(original)
+++ trunk/compilers/pirc/src/main.c	Tue Jan  6 05:36:23 2009
@@ -310,7 +310,7 @@
         return 0;
     }
     else {
-        hdocoutfile = tmpnam("hdoc");
+        hdocoutfile = "hdoctemp";
         file = open_file(hdocoutfile, "w");
         process_heredocs(interp, argv[0], file);
         fclose(file);

Modified: trunk/compilers/pirc/src/pircompunit.c
==============================================================================
--- trunk/compilers/pirc/src/pircompunit.c	(original)
+++ trunk/compilers/pirc/src/pircompunit.c	Tue Jan  6 05:36:23 2009
@@ -2483,9 +2483,7 @@
 =item C<void
 annotate(lexer_state * const lexer, char const * const key, constant * const value)>
 
-Add a new annotation with key C<key> and value C<value>. This function assumes
-that there's an instruction in place, as it will store a pointer to the current
-instruction.
+Add a new annotation with key C<key> and value C<value>.
 
 =cut
 
@@ -2499,7 +2497,7 @@
     ++lexer->num_annotations; /* keep track of number of annotations */
 
 
-    ann->offset = CURRENT_INSTRUCTION(lexer)->offset;
+    ann->offset = lexer->codesize;
 
     /* store the annotation in a list, managed by the lexer
      * the list is circular linked, so that the order of annotations is preserved.



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About