X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Ff-exp.y;h=4a1f747605c902b56a86d013a97052508dbae5a8;hb=feb129926a8d12656f1ca4b7a8bb10268d3af4fb;hp=ee97015ef6b9696f9fe4f3c35b1f1821fdf1de99;hpb=c700638ca7c1c0d0dd2fac7983b2d59ca7217099;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/f-exp.y b/gdb/f-exp.y index ee97015ef6..4a1f747605 100644 --- a/gdb/f-exp.y +++ b/gdb/f-exp.y @@ -43,7 +43,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ %{ #include "defs.h" -#include +#include "gdb_string.h" #include "expression.h" #include "value.h" #include "parser-defs.h" @@ -109,6 +109,10 @@ static int yylex PARAMS ((void)); void yyerror PARAMS ((char *)); +static void growbuf_by_size PARAMS ((int)); + +static int match_string_literal PARAMS ((void)); + %} /* Although the yacc "value" of an expression is not used, @@ -122,7 +126,7 @@ void yyerror PARAMS ((char *)); LONGEST val; struct type *type; } typed_val; - double dval; + DOUBLEST dval; struct symbol *sym; struct type *tval; struct stoken sval; @@ -418,6 +422,7 @@ exp : VARIABLE exp : SIZEOF '(' type ')' %prec UNARY { write_exp_elt_opcode (OP_LONG); write_exp_elt_type (builtin_type_f_integer); + CHECK_TYPEDEF ($3); write_exp_elt_longcst ((LONGEST) TYPE_LENGTH ($3)); write_exp_elt_opcode (OP_LONG); } ; @@ -638,7 +643,7 @@ parse_number (p, len, parsed_float, putithere) register int base = input_radix; int unsigned_p = 0; int long_p = 0; - unsigned LONGEST high_bit; + ULONGEST high_bit; struct type *signed_type; struct type *unsigned_type; @@ -740,13 +745,13 @@ parse_number (p, len, parsed_float, putithere) && ((n >> 2) >> (TARGET_INT_BIT-2))) /* Avoid shift warning */ || long_p) { - high_bit = ((unsigned LONGEST)1) << (TARGET_LONG_BIT-1); + high_bit = ((ULONGEST)1) << (TARGET_LONG_BIT-1); unsigned_type = builtin_type_unsigned_long; signed_type = builtin_type_long; } else { - high_bit = ((unsigned LONGEST)1) << (TARGET_INT_BIT-1); + high_bit = ((ULONGEST)1) << (TARGET_INT_BIT-1); unsigned_type = builtin_type_unsigned_int; signed_type = builtin_type_int; }