[svn:parrot] r39877 - trunk/lib/Parrot/Pmc2c

fperrad at svn.parrot.org fperrad at svn.parrot.org
Sat Jul 4 13:51:12 UTC 2009


Author: fperrad
Date: Sat Jul  4 13:51:12 2009
New Revision: 39877
URL: https://trac.parrot.org/parrot/changeset/39877

Log:
[pmc]
with dynpmc, don't generate PARROT_EXPORT,
but PARROT_DYNEXT_EXPORT

Modified:
   trunk/lib/Parrot/Pmc2c/PMCEmitter.pm

Modified: trunk/lib/Parrot/Pmc2c/PMCEmitter.pm
==============================================================================
--- trunk/lib/Parrot/Pmc2c/PMCEmitter.pm	Sat Jul  4 13:44:10 2009	(r39876)
+++ trunk/lib/Parrot/Pmc2c/PMCEmitter.pm	Sat Jul  4 13:51:12 2009	(r39877)
@@ -759,6 +759,7 @@
 
     my $cout      = "";
     my $classname = $self->name;
+    my $export = $self->is_dynamic ? 'PARROT_DYNEXT_EXPORT ' : 'PARROT_EXPORT';
 
     my $vtable_updates = '';
     for my $name ( @{ $self->vtable->names } ) {
@@ -769,7 +770,7 @@
 
     $cout .= <<"EOC";
 
-PARROT_EXPORT VTABLE *Parrot_${classname}_update_vtable(VTABLE *vt) {
+$export VTABLE *Parrot_${classname}_update_vtable(VTABLE *vt) {
 $vtable_updates
     return vt;
 }
@@ -793,7 +794,7 @@
 
     $cout .= <<"EOC";
 
-PARROT_EXPORT VTABLE *Parrot_${classname}_ro_update_vtable(ARGMOD(VTABLE *vt)) {
+$export VTABLE *Parrot_${classname}_ro_update_vtable(ARGMOD(VTABLE *vt)) {
 $vtable_updates
     return vt;
 }
@@ -898,6 +899,7 @@
     my $classname = $self->name;
     my @other_parents = reverse @{ $self->direct_parents };
     my $first_parent = shift @other_parents;
+    my $export = $self->is_dynamic ? 'PARROT_DYNEXT_EXPORT ' : 'PARROT_EXPORT';
 
     my $get_vtable = '';
 
@@ -915,7 +917,7 @@
     $get_vtable .= "    Parrot_${classname}_update_vtable(vt);\n";
 
     $cout .= <<"EOC";
-PARROT_EXPORT
+$export
 PARROT_CANNOT_RETURN_NULL
 PARROT_WARN_UNUSED_RESULT
 VTABLE* Parrot_${classname}_get_vtable(PARROT_INTERP) {
@@ -942,7 +944,7 @@
     $get_extra_vtable .= "    Parrot_${classname}_ro_update_vtable(vt);\n";
 
     $cout .= <<"EOC";
-PARROT_EXPORT
+$export
 PARROT_CANNOT_RETURN_NULL
 PARROT_WARN_UNUSED_RESULT
 VTABLE* Parrot_${classname}_ro_get_vtable(PARROT_INTERP) {


More information about the parrot-commits mailing list