changeset 395:ee3da0884aaa

[project @ 1994-03-24 09:23:18 by jwe]
author jwe
date Thu, 24 Mar 1994 09:25:58 +0000
parents 27ef550be39e
children 5bde2100598a
files src/symtab.cc src/symtab.h src/tree.h.old
diffstat 3 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/symtab.cc	Thu Mar 24 09:19:09 1994 +0000
+++ b/src/symtab.cc	Thu Mar 24 09:25:58 1994 +0000
@@ -627,6 +627,9 @@
 {
   context.push (definition);
   definition = (symbol_def *) NULL;
+
+  global_link_context.push ((unsigned) linked_to_global);
+  linked_to_global = 0;
 }
 
 void
@@ -647,6 +650,7 @@
     }
 
   definition = context.pop ();
+  linked_to_global = global_link_context.pop ();
 }
 
 int
--- a/src/symtab.h	Thu Mar 24 09:19:09 1994 +0000
+++ b/src/symtab.h	Thu Mar 24 09:25:58 1994 +0000
@@ -192,7 +192,11 @@
   sv_Function sv_fcn;
   symbol_def *definition;
   symbol_record *next_elem;
+
+// This should maybe be one stack with a structure containing all the
+// items we need to save for recursive calls...
   SLStack <symbol_def *> context;
+  SLStack <unsigned> global_link_context;
 
   void init_state (void);
 
--- a/src/tree.h.old	Thu Mar 24 09:19:09 1994 +0000
+++ b/src/tree.h.old	Thu Mar 24 09:25:58 1994 +0000
@@ -563,6 +563,10 @@
 
   tree_identifier *define (tree_constant *t);
 
+  void define_from_arg_vector (const tree_constant *args, int nargin);
+
+  tree_constant *convert_to_const_vector (void);
+
   tree_parameter_list *next_elem (void);
 
   tree_constant eval (int print);