better argument checking of standard functions
authorceriel <none@none>
Tue, 26 Apr 1988 10:14:01 +0000 (10:14 +0000)
committerceriel <none@none>
Tue, 26 Apr 1988 10:14:01 +0000 (10:14 +0000)
lang/m2/comp/chk_expr.c
lang/m2/comp/cstoper.c

index 5684ffd..682da96 100644 (file)
@@ -1199,6 +1199,17 @@ ChkStandard(expp)
                                  W_STRICT,
                                  "%s on conformant array",
                                  expp->nd_left->nd_def->df_idf->id_text);
+#endif
+#ifndef STRICT_3RD_ED
+               if (! options['3'] && edf->df_value.df_stdname == S_TSIZE) {
+                       if (arg->nd_right) {
+                               node_warning(arg->nd_right,
+                                            W_OLDFASHIONED,
+                                            "TSIZE with multiple parameters, only first parameter used");
+                               FreeNode(arg->nd_right);
+                               arg->nd_right = 0;
+                       }
+               }
 #endif
                break;
 
index 9224aef..1e65539 100644 (file)
@@ -522,6 +522,9 @@ cstcall(expp, call)
        default:
                crash("(cstcall)");
        }
+       expp->nd_right = 0;             /* don't deallocate, for further
+                                          argument checking
+                                       */
        FreeLR(expp);
 }