* valops.c (value_slice): Implement (value) bitstring slices.
[binutils-gdb.git] / gdb / ChangeLog
index c78cbc634f9921304a73bcee12c1c097acfe0714..ebbcc68485a0c510176138dbde6a401f9de3084d 100644 (file)
@@ -1,5 +1,92 @@
+Thu Nov 30 23:54:17 1995  Per Bothner  <bothner@kalessin.cygnus.com>
+
+       * valops.c (value_slice):  Implement (value) bitstring slices.
+       * valprint.c (val_print):  If TYPE_LENGTH is zero, don't automatically
+       print "<incomplete type>" - Chill has zero-length (string) types.
+
+       * gdbtypes.c (check_stub_type):  Removed;  no longes needed.
+       * ch-exp.c (expect, parse_call):  Tweak error messages.
+
 Wed Nov 29 13:35:18 1995  Per Bothner  <bothner@kalessin.cygnus.com>
 
+       * scm-valprint.c (scm_isymnames):  Remove "#@" prefix.
+       (scm_scmval_print):  Do not print "#@" prefix.
+
+       * gdbtypes.h (enum type_code):  Added TYPE_CODE_TYPEDEF.
+       (check_typedef):  New prototype.
+       (CHECK_TYPEDEF):  New macro.
+       (TYPE_DUMMY_RANGE):  Removed.
+       * gdbtypes.c (get_discrete_bounds):  Fix paren error; make more robust.
+       (create_array_type):  Don't force_to_range_type;  users of the
+       array are responsible for handling non-range index types.
+       (create_set_type):  Likewise.
+       (force_to_range_type):  Removed.
+       (check_typedef):  New function handles stub types and typedefs.
+       (check_stub_type):  Just call check_typedef. (To be removed.)
+       (recursive_dump_type):  Handle TYPE_CODE_TYPEDEF.
+       * ch-lang.c (type_lower_upper):  Use get_discrete_bounds.
+       (evaluate_subexp_chill):  Handle string repetition.
+       Re-arrange to handle EVAL_AVOID_SIDE_EFFECTS better.
+       * ch-typeprint.c (chill_type_print_base):  Handle TYPE_CODE_TYPEDEF.
+       Pass show=0 in recursive calls various places.
+       (case TYPE_CODE_ARRAY):  Don't require index type to have
+       TYPE_CODE_RANGE.
+       (case TYPE_CODE_RANGE):  Don't need to support TYPE_DUMMY_RANGE.
+       * gdbtypes.c, ch-lang.c, ch-typeprint.c (numerous places):
+       Add check_typedef/CHECK_TYPEDEF as needed.
+
+       * ch-exp.y:  Replaced by ...
+       * ch-exp.c:  New file.  Use recursive-descent.
+       Recognize labelled array tuples and powerset ranges.
+       * Makefile.in:  Update for no longer using yacc for ch-exp.
+
+       * c-lang.c:  Make various functions non-static.
+       * c-lang.h:  Add bunches of prototypes.
+       * cp-valprint.c (cp_print_value_fields):  Also take address.
+       (cp_print_value):  Likewise.  Use baselcass_offset.
+       * stabsread.c (current_symbol):  New static variable.
+       (type_synonym_name):  Remove.
+       (read_type):  If copying, make copy be a TYPE_CODE_TYPEDEF.
+       (read_array_type):  Don't need to handle undefined element type here.
+       (cleanup_undefined_types):  Ditto.
+       (read_range_type):  Look for Chill ranges.
+       * valops.c (value_assign):  Fix case lval_internalvar - don't try
+       to assign into old value (which might be too small!).
+       (value_coerce_array):  No longer need special VALUE_REPEATED handling.
+       (value_arg_coerce):  Cleaner array->pointer decay mechanism.
+       (search_struct_field):  Use baseclass_offset rather than
+       baseclass_addr.
+       (value_slice):  Use get_discrete_bounds.
+       * value.h (COERCE_VARYING_ARRAY):  Take type argumnt as well.
+       * values.c (baseclass_offset):  Change parameter interface.
+       (baseclass_addr):  Removed.
+       * c-typeprint.c, c-valprint.c, ch-valprint.c, values.c, valops.c:
+       Add check_typedef/CHECK_TYPEDEF as needed.
+
+       * alpha-tdep.c, c-exp.y, h8500-tdep.c, f-exp.y, f-valprint.c,
+       findvar.c, hppa-tdep.c, infcmd.c, language.c, printcmd.c,
+       rs6000-tdep.c, symmisc.c, symtab.c, mdebugread.c:
+       Add check_typedef/CHECK_TYPEDEF as needed.
+
+       * f-typeprint.c, valarith.c, valprint.c, typeprint.c, eval.c:
+       Add check_typedef/CHECK_TYPEDEF as needed.
+       * f-typeprint.c:  Various cleaning up.
+       * valarith.c (value_subscript):  Also subscript bitstrings (for Chill).
+       * typeprint.c (print_type_scalar):  Also support TYPE_CODE_RANGE.
+       * eval.c (evaluate_subexp_standard case OP_ARRAY):  Implement
+       support for labelled array tuples and ranges in powerset tuples.
+       (init_array_element):  New function.
+       
+       * top.c (command_line_input):  Only strip out an initial #-comment.
+       Looking for internal comments is language-specific (breaks Scheme).
+       
+       * expression.h (enum exp_opcode):  Add BINOP_RANGE.
+       * expprint.c (dump_expression):  Support BINOP_RANGE.
+       * eval.c (evaluate_subexp_standard):  Handle BINOP_RANGE (as error).
+       (case MULTI_SUBSCRIPT):  Fix broken f77 value->int ad hoc conversion.
+       * ch-lang.c (chill_op_print_tab):  Support BINOP_RANGE.
+       (evaluate_subexp_chill):  Error on BINOP_COMMA.
+
        * Makefile.in:  Clean up so doc stuff stays in doc sub-dir.
 
 Wed Nov 29 16:39:50 1995  Michael Meissner  <meissner@tiktok.cygnus.com>