[svn:parrot] r38405 - in branches/pmc_pct/compilers/pmc: src t

bacek at svn.parrot.org bacek at svn.parrot.org
Wed Apr 29 11:34:05 UTC 2009


Author: bacek
Date: Wed Apr 29 11:34:05 2009
New Revision: 38405
URL: https://trac.parrot.org/parrot/changeset/38405

Log:
Generate header guards

Modified:
   branches/pmc_pct/compilers/pmc/src/emitter.pm
   branches/pmc_pct/compilers/pmc/t/04-header.t

Modified: branches/pmc_pct/compilers/pmc/src/emitter.pm
==============================================================================
--- branches/pmc_pct/compilers/pmc/src/emitter.pm	Wed Apr 29 11:33:47 2009	(r38404)
+++ branches/pmc_pct/compilers/pmc/src/emitter.pm	Wed Apr 29 11:34:05 2009	(r38405)
@@ -9,15 +9,19 @@
 method generate_h_file($past) {
     my $res;
 
+    my $name     := $past.name();
     my $filename := self.filename();
-    $res := dont_edit($filename);
-
+    
     # Get emitter for (specific) PMC.
-    my $pmc_emitter := get_pmc_emitter($past.name());
-    # And generate header.
-    $res := $res ~ $pmc_emitter.generate_h_file($past);
+    my $pmc_emitter := get_pmc_emitter($name);
 
-    $res := $res ~ c_code_coda();
+    $res :=  
+            # Generate header.
+              dont_edit($filename)
+            # PMC functions
+            ~ $pmc_emitter.generate_h_file($past);
+            # C code
+            ~ c_code_coda();
 
     $res;
 }

Modified: branches/pmc_pct/compilers/pmc/t/04-header.t
==============================================================================
--- branches/pmc_pct/compilers/pmc/t/04-header.t	Wed Apr 29 11:33:47 2009	(r38404)
+++ branches/pmc_pct/compilers/pmc/t/04-header.t	Wed Apr 29 11:34:05 2009	(r38405)
@@ -8,13 +8,15 @@
 load_bytecode 'compilers/pmc/pmc.pbc'
     .local int total
 
-    plan(1)
+    plan(2)
 
     .local string filename
     filename = 'compilers/pmc/t/data/class00.pmc'
     $S0 = _slurp(filename)
     check_one_header(filename, $S0, "'DO NOT EDIT THIS FILE'", "Warning generated")
 
+    check_one_header(filename, $S0, "'PARROT_PMC_FOO_H_GUARD'", "Guard generated")
+
 .end
 
 # Check genrated header.


More information about the parrot-commits mailing list