summaryrefslogtreecommitdiff
path: root/opcode.pl
diff options
context:
space:
mode:
authorNick Ing-Simmons <nik@tiuk.ti.com>1997-11-07 23:52:35 +0000
committerNick Ing-Simmons <nik@tiuk.ti.com>1997-11-07 23:52:35 +0000
commitaeea060ce4b653ecf5b0731f1cbfcf468f688acd (patch)
tree071ed1fbe63cb80bbddce550bd8c0b9942527b3f /opcode.pl
parente77eedc24c0252a902559034f2aa207f216529cc (diff)
downloadperl-aeea060ce4b653ecf5b0731f1cbfcf468f688acd.tar.gz
Reverse integrate Malcolm's chanes into local
repository, then import result back into my view of Malcolm's repository. Builds and passes (most) tests with GNU C++/Solaris and Borland C++, Win32. p4raw-id: //depot/ansiperl@210
Diffstat (limited to 'opcode.pl')
-rwxr-xr-xopcode.pl12
1 files changed, 7 insertions, 5 deletions
diff --git a/opcode.pl b/opcode.pl
index 1ef36f2fad..b3405b7b71 100755
--- a/opcode.pl
+++ b/opcode.pl
@@ -77,6 +77,8 @@ print <<END;
};
#endif
+START_EXTERN_C
+
END
# Emit function declarations.
@@ -95,10 +97,12 @@ for (@ops) {
print <<END;
+END_EXTERN_C
+
#ifndef DOINIT
-EXT OP * (*ppaddr[])();
+EXT OP * (*ppaddr[])(ARGSproto);
#else
-EXT OP * (*ppaddr[])() = {
+EXT OP * (*ppaddr[])(ARGSproto) = {
END
for (@ops) {
@@ -180,8 +184,6 @@ for (@ops) {
$argsum |= 128 if $flags =~ /u/; # defaults to $_
$flags =~ /([^a-zA-Z])/ or die qq[Opcode "$_" has no class indicator];
- printf STDERR "op $_, class $1 => 0x%x, argsum 0x%x",
- $opclass{$1}, $argsum; # debug
$argsum |= $opclass{$1} << 8;
$mul = 4096; # 2 ^ OASHIFT
for $arg (split(' ',$args{$_})) {
@@ -190,7 +192,6 @@ for (@ops) {
$argsum += $argnum * $mul;
$mul <<= 4;
}
- printf STDERR ", argsum now 0x%x\n", $argsum; # debug
$argsum = sprintf("0x%08x", $argsum);
print "\t", &tab(3, "$argsum,"), "/* $_ */\n";
}
@@ -680,3 +681,4 @@ syscall syscall ck_fun imst@ S L
# For multi-threading
lock lock ck_rfun s% S
+specific thread-specific ck_null ds0