[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