# New Ticket Created by "Paul Cochrane" # Please include the string: [perl #40479] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=40479 >
Hi, This patch adds the C-code coda to the autogenerated C language code, and fixes a couple of pre-existing codas for autogenerated code. This gets more of the coda tests to pass, especially after making parrot. HTH! Regards, Paul files affected: tools/build/jit2c.pl tools/build/ops2pm.pl tools/build/nativecall.pl tools/build/vtable_h.pl tools/build/vtable_extend.pl tools/build/ops2c.pl tools/build/fingerprint_c.pl tools/build/c2str.pl tools/build/parrot_config_c.pl tools/build/revision_c.pl lib/Parrot/Pmc2c/Library.pm config/gen/core_pmcs.pm config/gen/config_h.pm config/gen/platform.pm config/gen/config_h/config_h.in config/gen/config_h/feature_h.in
Index: tools/build/jit2c.pl =================================================================== --- tools/build/jit2c.pl (revision 14845) +++ tools/build/jit2c.pl (working copy) @@ -456,6 +456,17 @@ EOC } +# append the C code coda +print JITCPU <<"EOC"; + +/* + * Local variables: + * c-file-style: "parrot" + * End: + * vim: expandtab shiftwidth=4: + */ +EOC + print("jit2c: JITed $njit (+ $vjit vtable) of $core_numops ops\n"); sub make_subs { Index: tools/build/ops2pm.pl =================================================================== --- tools/build/ops2pm.pl (revision 14845) +++ tools/build/ops2pm.pl (working copy) @@ -298,6 +298,16 @@ #endif END_C + +# append the C code coda +print OUT <<END_C; +/* + * Local variables: + * c-file-style: "parrot" + * End: + * vim: expandtab shiftwidth=4: + */ +END_C close OUT; Index: tools/build/nativecall.pl =================================================================== --- tools/build/nativecall.pl (revision 14845) +++ tools/build/nativecall.pl (working copy) @@ -243,6 +243,17 @@ print_tail( [EMAIL PROTECTED] ); +# append the C code coda +print NCI << "EOC"; + +/* + * Local variables: + * c-file-style: "parrot" + * End: + * vim: expandtab shiftwidth=4: + */ +EOC + close NCI; Index: tools/build/vtable_h.pl =================================================================== --- tools/build/vtable_h.pl (revision 14845) +++ tools/build/vtable_h.pl (working copy) @@ -63,7 +63,17 @@ print OUT "\n#endif\n"; +# append the C code coda +print OUT <<"EOC"; +/* + * Local variables: + * c-file-style: "parrot" + * End: + * vim: expandtab shiftwidth=4: + */ +EOC + # Local Variables: # mode: cperl # cperl-indent-level: 4 Index: tools/build/vtable_extend.pl =================================================================== --- tools/build/vtable_extend.pl (revision 14845) +++ tools/build/vtable_extend.pl (working copy) @@ -41,6 +41,17 @@ #endif EOF +# append the C code coda +print OUT <<'EOF'; + +/* + * Local variables: + * c-file-style: "parrot" + * End: + * vim: expandtab shiftwidth=4: + */ +EOF + close OUT or die $!; open OUT, '>', 'src/extend_vtable.c' or die $!; @@ -132,11 +143,8 @@ /* * Local variables: - * c-indentation-style: bsd - * c-basic-offset: 4 - * indent-tabs-mode: nil + * c-file-style: "parrot" * End: - * * vim: expandtab shiftwidth=4: */ EOF Index: tools/build/ops2c.pl =================================================================== --- tools/build/ops2c.pl (revision 14845) +++ tools/build/ops2c.pl (working copy) @@ -281,6 +281,17 @@ } my $bs = "${base}${suffix}_"; +# append the C code coda +print HEADER <<END_C; + +/* + * Local variables: + * c-file-style: "parrot" + * End: + * vim: expandtab shiftwidth=4: + */ +END_C + print SOURCE $preamble; print SOURCE <<END_C; #include "$include" @@ -724,6 +735,17 @@ } +# append the C code coda +print SOURCE <<END_C; + +/* + * Local variables: + * c-file-style: "parrot" + * End: + * vim: expandtab shiftwidth=4: + */ +END_C + close SOURCE; my $final = $source; $final =~ s/\.temp//; Index: tools/build/fingerprint_c.pl =================================================================== --- tools/build/fingerprint_c.pl (revision 14845) +++ tools/build/fingerprint_c.pl (working copy) @@ -96,6 +96,17 @@ } # endif DEVELOPING +# append the C code coda +print << "EOF"; + +/* + * Local variables: + * c-file-style: "parrot" + * End: + * vim: expandtab shiftwidth=4: + */ +EOF + # Local Variables: # mode: cperl # cperl-indent-level: 4 Index: tools/build/c2str.pl =================================================================== --- tools/build/c2str.pl (revision 14845) +++ tools/build/c2str.pl (working copy) @@ -174,6 +174,18 @@ }; HEADER + + # append the C code coda + print OUT <<HEADER; + +/* + * Local variables: + * c-file-style: "parrot" + * End: + * vim: expandtab shiftwidth=4: + */ +HEADER + close OUT; } Index: tools/build/parrot_config_c.pl =================================================================== --- tools/build/parrot_config_c.pl (revision 14845) +++ tools/build/parrot_config_c.pl (working copy) @@ -103,6 +103,17 @@ } EOF +# append the C code coda +print << "EOC"; + +/* + * Local variables: + * c-file-style: "parrot" + * End: + * vim: expandtab shiftwidth=4: + */ +EOC + # Local Variables: # mode: cperl # cperl-indent-level: 4 Index: tools/build/revision_c.pl =================================================================== --- tools/build/revision_c.pl (revision 14845) +++ tools/build/revision_c.pl (working copy) @@ -50,6 +50,12 @@ return ${Parrot::Revision::config}; } +/* + * Local variables: + * c-file-style: "parrot" + * End: + * vim: expandtab shiftwidth=4: + */ EOF # Local Variables: Index: lib/Parrot/Pmc2c/Library.pm =================================================================== --- lib/Parrot/Pmc2c/Library.pm (revision 14845) +++ lib/Parrot/Pmc2c/Library.pm (working copy) @@ -120,6 +120,7 @@ $hout .= <<"EOH"; Parrot_PMC Parrot_lib_${lc_libname}_load(Parrot_INTERP interpreter); EOH + $hout .= $self->c_code_coda; return $hout; } @@ -138,6 +139,7 @@ $cout .= dynext_load_code($self->{opt}{library}, map { $_->{class} => $_ } values %{$self->{pmcs}} ); + $cout .= $self->c_code_coda; return $cout; } @@ -166,6 +168,26 @@ "$cout\n"; } +=item C<c_code_coda()> + +Returns the Parrot C code coda + +=cut + +sub c_code_coda() { + my $self = shift; + my $cout = ""; + $cout .= <<"EOC"; +/* + * Local variables: + * c-file-style: "parrot" + * End: + * vim: expandtab shiftwidth=4: + */ +EOC + "$cout\n"; +} + =back =head1 SEE ALSO Index: config/gen/core_pmcs.pm =================================================================== --- config/gen/core_pmcs.pm (revision 14845) +++ config/gen/core_pmcs.pm (working copy) @@ -64,6 +64,13 @@ }; /* &end_gen */ + +/* + * Local variables: + * c-file-style: "parrot" + * End: + * vim: expandtab shiftwidth=4: + */ END_H close OUT; @@ -132,6 +139,13 @@ print OUT " register_pmc(interp, registry, enum_class_$_);\n" foreach (@pmcs); print OUT <<'END_C'; } + +/* + * Local variables: + * c-file-style: "parrot" + * End: + * vim: expandtab shiftwidth=4: + */ END_C close OUT; Index: config/gen/config_h.pm =================================================================== --- config/gen/config_h.pm (revision 14845) +++ config/gen/config_h.pm (working copy) @@ -118,6 +118,17 @@ } } + # append the C code coda + print HH <<EOF; + +/* + * Local variables: + * c-file-style: "parrot" + * End: + * vim: expandtab shiftwidth=4: + */ +EOF + close HH; move_if_diff("$hh.tmp", $hh); Index: config/gen/platform.pm =================================================================== --- config/gen/platform.pm (revision 14845) +++ config/gen/platform.pm (working copy) @@ -129,6 +129,17 @@ #endif END_HERE + # append the C code coda + print PLATFORM_H <<"END_HERE"; + +/* + * Local variables: + * c-file-style: "parrot" + * End: + * vim: expandtab shiftwidth=4: + */ +END_HERE + close PLATFORM_H; # implementation files are merged into platform.c Index: config/gen/config_h/config_h.in =================================================================== --- config/gen/config_h/config_h.in (revision 14845) +++ config/gen/config_h/config_h.in (working copy) @@ -146,10 +146,8 @@ /* * Local variables: - * c-indentation-style: bsd - * c-basic-offset: 4 - * indent-tabs-mode: nil + * c-file-style: "parrot" * End: - * * vim: expandtab shiftwidth=4: */ + Index: config/gen/config_h/feature_h.in =================================================================== --- config/gen/config_h/feature_h.in (revision 14845) +++ config/gen/config_h/feature_h.in (working copy) @@ -146,8 +146,18 @@ #define PARROT_HAS_SOCKLEN_T $has_socklen_t END_PRINT -print OUT <<'END_PRINT' +print OUT <<'END_PRINT'; #endif END_PRINT + +print OUT <<"END_PRINT"; + +/* + * Local variables: + * c-file-style: "parrot" + * End: + * vim: expandtab shiftwidth=4: + */ +END_PRINT