Discussion:
Change 28606: Add another volatile modifier to protect against longjmp clobbering
(too old to reply)
Rafael Garcia-Suarez
2006-07-23 13:00:04 UTC
Permalink
Change 28606 by ***@maijstral on 2006/07/23 12:51:02

Add another volatile modifier to protect against longjmp clobbering

Affected files ...

... //depot/perl/op.c#835 edit

Differences ...

==== //depot/perl/op.c#835 (text) ====
Index: perl/op.c
--- perl/op.c#834~28565~ 2006-07-13 07:04:18.000000000 -0700
+++ perl/op.c 2006-07-23 05:51:02.000000000 -0700
@@ -2119,7 +2119,7 @@
register OP *curop;
OP *newop;
volatile I32 type = o->op_type;
- SV *sv = NULL;
+ volatile SV *sv = NULL;
int ret = 0;
I32 oldscope;
OP *old_next;
End of Patch.
John E. Malmberg
2006-07-25 12:26:06 UTC
Permalink
Post by Rafael Garcia-Suarez
Add another volatile modifier to protect against longjmp clobbering
Affected files ...
... //depot/perl/op.c#835 edit
More VMS pickyness.

EAGLE> search op.lis %cc/window=5
1 61048 newop = newSVOP(OP_CONST, 0, sv);
.....................................1
%CC-W-NOTVOLQUAL, (1) In this statement, the referenced type of the
pointer value "sv" is volatile, but the referenced type of the
target of this assignment is not.
E Perl_newSVOP

It appears that the issue is that the prototype for Perl_newSVOP does
not have a volatile qualifier for that parameter, so that Perl_newSVOP
will not treat the parameter as volatile. The compiler is diagnosing
this as a potential problem.

-John
***@qsl.net
Personal Opinion Only

Loading...