pike.git/
src/
docode.c
Branch:
Tag:
Non-build tags
All tags
No tags
1999-11-25
1999-11-25 16:39:31 by Henrik Grubbström (Grubba) <grubba@grubba.org>
dad12d7655b68fafc97ff1645f42b1cc50406916 (
18
lines) (+
16
/-
2
)
[
Show
|
Annotate
]
Branch:
7.9
Now generates code to support run-time checks of soft casts.
Rev: src/docode.c:1.58
5:
\*/ /**/ #include "global.h"
-
RCSID("$Id: docode.c,v 1.
57
1999/11/
23
22
:
37
:
14
grubba Exp $");
+
RCSID("$Id: docode.c,v 1.
58
1999/11/
25
16
:
39
:
31
grubba Exp $");
#include "las.h" #include "program.h" #include "language.h"
706:
return 1; case F_SOFT_CAST:
-
return do_docode(CAR(n), flags);
+
#ifdef
PIKE_DEBUG
+
if (d_flag) {
+
tmp1 = store_prog_string(n->type);
+
emit(F_STRING, tmp1);
+
tmp1 = do_docode(CAR(n), 0);
+
if (!tmp1) { emit2(F_CONST0); tmp1 = 1; }
+
if (tmp1 > 1) do_pop(tmp1 - 1);
+
emit2(F_SOFT_CAST);
+
return
1;
+
}
+
#endif /* PIKE_DEBUG */
+
tmp1 =
do_docode(CAR(n), flags);
+
if (tmp1 > 1) do_pop(tmp1 - 1);
+
return !!tmp1;
case F_APPLY: if(CAR(n)->token == F_CONSTANT)