X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fparse.c;h=1f2f6a7a91253bc448da8ca13a586bcc9bf44b6d;hb=ad3bbd48b65047845b258564db3fd2e64e00c7bc;hp=7db6e926bf0278e8e592c43cc0f6ec5509a8163e;hpb=7322dca9c16dfce7e9019240ac21037f2a4d6cb7;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/parse.c b/gdb/parse.c index 7db6e926bf..1f2f6a7a91 100644 --- a/gdb/parse.c +++ b/gdb/parse.c @@ -168,6 +168,7 @@ end_arglist (void) { int val = arglist_len; struct funcall *call = funcall_chain; + funcall_chain = call->next; arglist_len = call->arglist_len; xfree (call); @@ -214,10 +215,9 @@ void write_exp_elt_opcode (enum exp_opcode expelt) { union exp_element tmp; - memset (&tmp, 0, sizeof (union exp_element)); + memset (&tmp, 0, sizeof (union exp_element)); tmp.opcode = expelt; - write_exp_elt (tmp); } @@ -225,10 +225,9 @@ void write_exp_elt_sym (struct symbol *expelt) { union exp_element tmp; - memset (&tmp, 0, sizeof (union exp_element)); + memset (&tmp, 0, sizeof (union exp_element)); tmp.symbol = expelt; - write_exp_elt (tmp); } @@ -236,6 +235,7 @@ void write_exp_elt_block (struct block *b) { union exp_element tmp; + memset (&tmp, 0, sizeof (union exp_element)); tmp.block = b; write_exp_elt (tmp); @@ -245,6 +245,7 @@ void write_exp_elt_objfile (struct objfile *objfile) { union exp_element tmp; + memset (&tmp, 0, sizeof (union exp_element)); tmp.objfile = objfile; write_exp_elt (tmp); @@ -254,10 +255,9 @@ void write_exp_elt_longcst (LONGEST expelt) { union exp_element tmp; - memset (&tmp, 0, sizeof (union exp_element)); + memset (&tmp, 0, sizeof (union exp_element)); tmp.longconst = expelt; - write_exp_elt (tmp); } @@ -265,10 +265,9 @@ void write_exp_elt_dblcst (DOUBLEST expelt) { union exp_element tmp; - memset (&tmp, 0, sizeof (union exp_element)); + memset (&tmp, 0, sizeof (union exp_element)); tmp.doubleconst = expelt; - write_exp_elt (tmp); } @@ -288,10 +287,9 @@ void write_exp_elt_type (struct type *expelt) { union exp_element tmp; - memset (&tmp, 0, sizeof (union exp_element)); + memset (&tmp, 0, sizeof (union exp_element)); tmp.type = expelt; - write_exp_elt (tmp); } @@ -299,10 +297,9 @@ void write_exp_elt_intern (struct internalvar *expelt) { union exp_element tmp; - memset (&tmp, 0, sizeof (union exp_element)); + memset (&tmp, 0, sizeof (union exp_element)); tmp.internalvar = expelt; - write_exp_elt (tmp); } @@ -1023,6 +1020,7 @@ prefixify_subexp (struct expression *inexpr, for (i = 0; i < args; i++) { int r; + oplen = arglens[i]; inend += oplen; r = prefixify_subexp (inexpr, outexpr, inend, outbeg); @@ -1166,6 +1164,7 @@ struct expression * parse_expression (char *string) { struct expression *exp; + exp = parse_exp_1 (&string, 0, 0); if (*string) error (_("Junk after end of expression.")); @@ -1369,6 +1368,7 @@ void parser_fprintf (FILE *x, const char *y, ...) { va_list args; + va_start (args, y); if (x == stderr) vfprintf_unfiltered (gdb_stderr, y, args);