Commit Graph

147 Commits

Author SHA1 Message Date
Per Bothner 940d596798 * 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:
	Add check_typedef/CHECK_TYPEDEF as needed.
1995-11-30 01:43:37 +00:00
Stu Grossman cd10c7e388 * breakpoint.c (breakpoint_re_set): #ifdef GET_LONGJMP_TARGET
around calls to create_longjmp_breakpoint.  Why install the
	breakpoints if we can't find the longjmp target?
	* infrun.c (wait_for_inferior):  Cleanup comments near call test.
	* remote-mips.c:  Fixed a bunch of prototypes to avoid char/int
	complaint from picky compilers.  Add comment to mips_expect.
	Replace all instances of sr_get_debug with remote_debug.
	* (mips_readchar):  Don't jam init string to monitor.
	mips_initialize() handles that.
	* (mips_receive_header):  Print better message when we get too
	much garbage.
	* (mips_request):  Allow caller to pass in buff to allow them to
	analyze the returned message.
	* (mips_initialize):  Re-do initialization to try sending a BREAK,
	a ^C, and then a download escape sequence.  Cleanup protocol
	startup.  Eliminate sleeps.  Clear breakpoints (if using monitor
	breakpoints).  Re-init frame.
	* (mips_detach):  Close down target.
start-sanitize-gm
	* (mips_resume):  Pass signal down to target.
	* (mips_create_inferior):  Start target with TARGET_SIGNAL_PWR.
end-sanitize-gm
	* (mips_wait):  Handle return status with registers, or breakpoint stuff.
	* (mips_kill):  Add ^C handling.
	* (mips_insert_breakpoint mips_remove_breakpoint):  Call new
	breakpoint stuff if enabled.
	* (calculate_mask remote_mips_set_watchpoint
	remote_mips_remove_watchpoint remote_mips_stopped_by_watchpoint):
	Hardware watchpoint/breakpoint stuff.
	* (common_breakpoint):  Common code for new monitor breakpoint commands.
	* (mips_load):  Don't use `prompt'.  It's a global variable.
	* top.c (dont_repeat_command):  New command for use in
	user-defined commands to suppress auto-repeat (by hittin return key).
start-sanitize-gm
	* utils.c (request_quit):  Call target_kill here.  Good idea.
	Needs a better implementation.
end-sanitize-gm
	* valops.c:  Add start of auto function-call abandonment capability.

start-sanitize-gm
	* c-exp.y:  Add code (currently disabled) to handle GM dynamic
	structures (it conflicts with @!).
	* eval.c (evaluate_subexp_standard):  ditto.
	* expprint.c (print_subexp dump_expression):  ditto.
	* expression.h (enum exp_opcode):  ditto.
	* parse.c (length_of_subexp):  ditto.
	* configure, configure.in:  Add mip*-*-magic* target.
	* magic.c magic.h:  Special routines to handle GM stuff (like
	stepping through dispatcher).
end-sanitize-gm
1995-10-27 17:48:36 +00:00
Per Bothner c700638ca7 * parse.c (write_dollar_variable): New function.
* c-exp.y (yylex):  Replace code for recognizing '$' pseudo-variables
	with a call to write_dollar_variable.
	Simplify grammar correspondingly.
	* f-exp.y:  Likewise.
	* m2-exp.y:  Likewise.
	* ch-exp.y:  Likewise.  (Remove function match_dollar_tokens.)
	* scm-exp.c (scm_lreadr):  Call write_dollar_variable to handle '$'.
1995-10-05 22:15:49 +00:00
Fred Fish 6c9638b444 Update FSF address. 1995-08-02 03:41:12 +00:00
Jim Kingdon 961b8ebd27 * c-exp.y (yylex): Make an empty character constant an error. 1995-03-15 19:18:26 +00:00
Jeff Law 13ffa6bece * valops.c (value_struct_elt_for_reference): Work around macro
bugs in HP's compilers.
	* c-exp.y (block): Likewise.
1995-03-03 22:15:23 +00:00
Michael Meissner ea082c0ac8 Add Linux yacc suport. 1995-03-01 17:23:41 +00:00
Jim Kingdon 2d336b1b51 * config/sparc/tm-sun4sol2.h, dbxread.c: Rename
N_SO_ADDRESS_MAYBE_MISSING to SOFUN_ADDRESS_MAYBE_MISSING.
	* symtab.h (minimal_symbol) [SOFUN_ADDRESS_MAYBE_MISSING]: Add
	filename field.
	* elfread.c (record_minimal_symbol_and_info),
	minsyms.c, symtab.h (prim_record_minimal_symbol_and_info): Return
	newly created symbol.
	* elfread.c (elf_symtab_read) [SOFUN_ADDRESS_MAYBE_MISSING]:
	Set filename field of minimal symbol.
	* symmisc.c (dump_msymbols) [SOFUN_ADDRESS_MAYBE_MISSING]:
	Print filename field.
	* minsyms.c, symtab.h (lookup_minimal_symbol): New arg sfile.
	* symm-tdep.c, somsolib.c, hppa-tdep.c, c-exp.y, f-exp.y,
	m2-exp.y, nindy-tdep.c, m3-nat.c, irix5-nat.c, hpread.c,
	os9kread.c, breakpoint.c, alpha-tdep.c, valops.c, symtab.c,
	printcmd.c, dbxread.c: Change callers to pass NULL for sfile.
	* dbxread.c (process_one_symbol) [SOFUN_ADDRESS_MAYBE_MISSING]:
	Find address of function from minimal symbols.
	* partial-stab.h, case 'f', 'F': Call find_stab_function_addr
	instead of getting pst->textlow from the stab.
	* minsyms.c (find_stab_function_addr): New function.
1995-02-09 07:00:45 +00:00
Kung Hsu e38e7f47a8 * c-exp.y (yylex): Fix a bug in template scanning. 1994-11-16 00:21:16 +00:00
Kung Hsu a8d23c7364 * c-exp.y (yylex): scan template names, and scan nested class
names.
1994-11-02 23:11:47 +00:00
Jim Kingdon 1c95d7ab2e gcc -Wall lint:
* breakpoint.c (watchpoint_check): Remove unused variable b.
	* stack.c (print_frame_info): Move sp and buf inside #if.
	* eval.c (evaluate_subexp): Remove unused variables pp,
	mangle_ptr, ptr, and mangle_tstr.
	* valarith.c (value_x_binop): Remove unused variables mangle_tstr
	and mangle_ptr.
	* symtab.c (lookup_symtab): Put variable copy inside #if.
	(decode_line_1): Put variable q1 inside #if 0.
	* target.h: Declare target_link.
	* infrun.c (wait_for_inferior): Remove unused variables signame.
	* remote.c (remote_resume): Remove unused variable name.
	* c-exp.y (parse_number): Parenthesize operand of shift.
	* dbxread.c (record_minimal_symbol): Parenthesize operand of &&
	(this is a semantic change, the warning seems to have detected a bug).
	* dbxread.c (end_psymtab): Move variable p1 inside #if.
	* coffread.c: Move variable temptype inside #if.
	* ch-typeprint.c (chill_type_print_base): Remove unused variable
	name.
	* ch-valprint.c: #include typeprint.h and ch-lang.h.
	(chill_val_print): Remove unused variable in_range.
	(chill_val_print): Remove statement "length > TYPE_LENGTH (type);".
	(chill_val_print): Add default case for switch.
	* stabsread.h: Declare stabsect_build_psymtabs.
	* os9kread.c (read_minimal_symbols): Make this return void.
	(os9k_symfile_read): Remove unused variables stb_exist and val.
	(os9k_symfile_init): Remove unused variable val.
	(fill_sym): Remove unused variable id.
	(read_os9k_psymtab): Put variable back_to inside #if 0.  Remove
	unused variable nsl.
	Remove unused variable symfile_bfd.
	#if 0 unused variables lbrac_unmatched_complaint and
	lbrac_mismatch_complaint.
	Remove declaration for non-existent function os9k_next_symbol_text.

	* annotate.c, annotate.h: New files, containing a function for
	each annotation which outputs it.
	* Move breakpoints_changed from breakpoint.c to annotate.c.
	* breakpoint.c, blockframe.c, infrun.c, cp-valprint.c, main.c,
	printcmd.c, source.c, stack.c, utils.c, valprint.c:
	Use annotate.c functions to output annotations.
	* Makefile.in (OBS): Add annotate.o.
1994-05-13 18:18:57 +00:00
Stan Shebs 8db1a92291 Wed May 11 20:11:51 1994 Stan Shebs (shebs@andros.cygnus.com)
* c-exp.y (yyerror): Display a more informative error message.
	* ch-exp.y (yyerror): Ditto, don't use global yychar.
	* m2-exp.y (yyerror): Ditto.
1994-05-12 03:21:48 +00:00
Kung Hsu b427690aac Modified Files:
ChangeLog c-exp.y

        * c-exp.y(yylex): fix potential memory overflow.
1994-03-15 19:45:04 +00:00
Peter Schauer ba47c66add * README: Remove note about gcc warnings on alpha, these should be
gone now.
	* c-exp.y, ch-exp.y, core.c, corelow.c, eval.c, fork-child.c,
	m2-exp.y, minsyms.c, nlmread.c, parse.c, putenv.c, regex.c
	remote-utils.c, stabsread.c:  Include <string.h>.
	* regex.c:  Include "defs.h", change re_comp argument to const char *.
	* infptrace.c (fetch_register, store_inferior_registers):  Change
	regaddr to type CORE_ADDR.
	* config/alpha/alpha-nw.mt, config/alpha/alpha-osf1.mt (MT_CFLAGS):
	Remove, no longer necessary now that we use bfd_vma for a CORE_ADDR.
1994-02-08 09:01:03 +00:00
Jim Kingdon f28c6e3813 * c-exp.y (yylex): Reenable nested type code. 1994-01-29 00:59:50 +00:00
Jim Kingdon a39f77396e * c-exp.y (parse_number): Assign to temporary between the right
shifts, to work around a bug in the SCO compiler.
1994-01-17 00:23:49 +00:00
Jim Kingdon bb1f42d4f0 * c-exp.y (parse_number): Make it so that integer constants are
builtin_type_long_long if builtin_type_long isn't big enough or if
	an "LL" suffix is used.  Properly handle "UL" or "LU" suffixes.
1994-01-15 19:51:56 +00:00
Jim Kingdon a9b32d6192 * c-exp.y (parse_number): Check for overflow regardless of range
checking.  Fix overflow check to use unsigned LONGEST, not
	unsigned int.

	* c-exp.y (parse_number): Make it so that integer constants are
	builtin_type_long_long if builtin_type_long isn't big enough or if
	an "LL" suffix is used.  Properly handle "UL" or "LU" suffixes.
1994-01-15 17:14:18 +00:00
Jim Kingdon 393e55bac4 * c-exp.y: Revert Kung's change. "..." is not a type, and the
change caused "p (...)0" to dump core.
	* gdbtypes.c (check_stub_method): Don't pass "..." to
	parse_and_eval_type.  This should fix the bug which Kung was
	trying to fix.
1993-12-29 20:52:06 +00:00
Kung Hsu bbc2cef268 CVS:
Modified Files:
	ChangeLog c-exp.y

        * c-exp.y : fix grammar to parse ellipsis (...)
	(fix pr4218)
1993-12-28 20:11:25 +00:00
Jim Kingdon dfb4a50861 * c-exp.y (yylex): Don't try to deal with nested types. 1993-12-27 17:27:45 +00:00
Jim Kingdon 963ee102f2 * c-exp.y (yylex): Call lookup_symtab not lookup_partial_symtab. 1993-11-13 00:06:49 +00:00
Jim Kingdon abe28b9214 Sun Oct 24 20:16:38 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
* parse.c, parser-defs.h (write_exp_msymbol):  New function to write
	the appropriate expression for a minimal symbol.
	* c-exp.y, m2-exp.y:  Use it.
1993-10-24 23:42:02 +00:00
Jim Kingdon 100f92e2de * Makefile.in (c-exp.tab.o): Remove notice about shift/reduce conflicts
which no longer occur.

	gcc -Wall lint:
	* findvar.c (symbol_read_needs_frame), corelow.c (ignore),
	inflow.c (gdb_has_a_terminal): Make sure to return a value.
	* regex.h: Declare re_set_syntax.
	* printcmd.c: Include valprint.h.
	* infcmd.c, exec.c, maint.c, core.c: Include language.h.
	* maint.c: Include expression.h.
	* infrun.c, fork-child.c, corelow.c, inflow.c: Include thread.h.
	* inftarg.c: Include command.h.
	* coredep.c: Include value.h.
	* c-exp.y, m2-exp.y, ch-exp.y: Include bfd.h, symfile.h and objfiles.h.
	* ch-typeprint.c: Include typeprint.h.
	* ch-valprint.c: Include c-lang.h.
	* nlmread.c: Include buildsym.h.
	* environ.c: Include gdbcore.h.  Only include defs.h once.
	(set_in_environ): Cast const char * to char * when passing to
	set_gnutarget.
	Remove unused variables:
	* printcmd.c (printf_command): args_to_vprintf.
	* coffread.c (coff_symfile_init): strsection.
	Move variables to within the #ifdefs where they are used:
	* symtab.c (gdb_mangle_name): opname.
	* inftarg.c (child_attach): pid and exec_file.
	* inftarg.c (child_detach): siggnal.
	* objfiles.c (allocate_objfile): mapto, md, and fd.
	* objfiles.c (free_objfile): mmfd.
	* infrun.c (wait_for_inferior): Include BPSTAT_WHAT_LAST in switch.
	* infrun.c (wait_for_inferior): Remove unused same_pid label.
	* inferior.h: Declare set_sigint_trap and clear_sigint_trap.
	* parser-defs.h: Declare write_exp_elt_block.
	* stabsread.h: Declare elfstab_offset_sections and
	coffstab_build_psymtabs.
1993-10-21 20:41:50 +00:00
Jim Kingdon adee89e8a2 * c-exp.y: Remove never-used (because of shift/reduce conflicts)
rules for pointers to members.
	* Makefile.in: Remove notice about expected shift/reduce conflicts.
1993-10-18 18:01:51 +00:00
Jim Kingdon f843c95fc3 * parse.c, parser-defs.h (follow_types): New function.
* c-exp.y (ptype : typebase abs_decl): Use it.
	* c-exp.y (ptype): Add support for type qualifiers after the
	typebase.  The typebase rule already has support for them before
	the typebase.
	* Makefile.in: Change the expected number of shift/reduce
	conflicts to 6.  This is OK--the 2 new conflicts are basically the
	same as one of the old ones.
1993-10-18 01:10:25 +00:00
Jim Kingdon 443abae18c * findvar.c, value.h (symbol_read_needs_frame): New function.
* c-exp.y, m2-exp.y: Call it instead of having our own switch on
	the symbol's class.
	* valops.c (value_of_variable): Use symbol_read_needs_frame to
	decide whether we care about finding a frame.
1993-10-08 20:33:22 +00:00
Peter Schauer 8d658c0866 * c-exp.y, m2-exp.y: Change type of address for msymbol to
builtin_type_long.
	* infptrace.c (fetch_register, store_inferior_register,
	child_xfer_memory):  Use PTRACE_XFER_TYPE for the type of ptrace
	transfers. Provide an `int' default for PTRACE_XFER_TYPE.
1993-09-30 19:06:33 +00:00
K. Richard Pixley 72cd0384f2 gcc lint 1993-09-08 21:23:41 +00:00
Jim Kingdon 996ccb3043 * symtab.c, symfile.c, c-exp.y, ch-exp.y, m2-exp.y, buildsym.c,
symfile.h, stabsread.c, minsyms.c, solib.c, nlmread.c, dwarfread.c
	partial-stab.h, symmisc.c, gdbtypes.c: Lint.  Remove (or put
	inside #if) unused variables and labels.  Fix unclosed comment.
	Deal with enumeration values unhandled in switch statements.  Make
	sure non-void functions return values.  Include appropriate
	headers.
	* dbxread.c (elfstab_build_psymtabs): Don't check for unsigned
	value < 0.
1993-09-02 01:41:40 +00:00
Jim Kingdon a1c8d76ef8 * frame.h, symtab.h, findvar.c (read_var_value): Change basereg
support to use LOC_BASEREG rather than SYMBOL_BASEREG_VALID.
	* dwarfread.c: Use LOC_BASEREG where appropriate.
	* Various: Support LOC_BASEREG and LOC_BASEREG_ARG.
1993-08-24 21:38:24 +00:00
Jim Kingdon 479fdd26ee * blockframe.c (block_innermost_frame): Uncomment.
Return NULL if passed NULL.
	* frame.h: Declare it.
	* expression.h (union exp_element): Add field block.
	* parse.c (write_exp_elt_block): New function.
	* expression.h (OP_VAR_VALUE): Now takes additional struct block *.
	* *-exp.y: Write block for OP_VAR_VALUE.
	* eval.c, expprint.c, parse.c: Deal with block for OP_VAR_VALUE.
	* valops.c, value.h (value_of_variable), callers:
	Add second argument, for block.
1993-08-18 19:33:39 +00:00
Fred Fish bcca9a08dc * c-exp.y: Add missing 5th arg for one call to lookup_symbol, cast
NULL in all other calls to correct pointer types.
1993-07-30 21:20:56 +00:00
Jim Kingdon 96c68efaf7 * c-exp.y (yylex): Detect C++ nested types. 1993-07-30 19:50:29 +00:00
Jim Kingdon c0bca41c47 * c-exp.y (yylex): Give error if unmatched single quote. 1993-07-02 20:04:02 +00:00
Fred Fish ce13daa7df * Makefile.in (VERSION): Bump to 4.9.2.
* c-valprint.c (c_val_print):  For array of chars printed with
	string syntax, don't print the address of the array.  From
	bothner@cygnus.com.
	* c-exp.y (yylex): Recognize '.' as indicating a floating point
	number regardless of the radix.  From wilson@cygnus.com.
	* valprint.c (set_input_radix_1, set_output_radix_1):  New
	prototypes and functions that do the actual radix setting work.
	* valprint.c (set_radix, set_output_radix, set_input_radix):
	Rewrite to use set_input_radix_1 and set_output_radix_1.
	* valprint.c (initialize_valprint):  Enable commands to
	independently set and show input and output radices.
	* valprint.c (show_radix):  New prototype and function that
	handles separate input and output radices.
1993-06-12 22:03:27 +00:00
Jim Kingdon 0848ad1c4d * stabsread.c (patch_block_stabs): If stab & no symbol, make
a LOC_OPTIMIZED_OUT symbol.
	symtab.h (enum address_class): Add LOC_OPTIMIZED_OUT.
	findvar.c (read_var_value), printcmd.c (address_info),
	symmisc.c (print_{,partial_}symbol), c-exp.y (variable),
	m2-exp.y (yylex): Deal with it.
1993-04-02 19:35:30 +00:00
John Gilmore f24c159f1b Lint: * c-exp.y (parse_number): Avoid shift warning.
* serial.h (struct ttystate):  Declare empty one on DOS.
1993-03-20 08:44:42 +00:00
Fred Fish f77ad50597 * main.c (source_command): Require an explicit pathname of file
to source, since previous behavior of defaulting to gdb init file
	was troublesome and undocumented.
	* printcmd.c (disassemble_command):  Add missing '{}' pair to
	else with two statements.  Bug reported by Stephane Tsacas
	<slt@isoft.fr>.
	* symtab.c (find_pc_line):  Don't complain about zero length or
	negative length line numbers for the moment, since we may not own
	the terminal when called, such as when single stepping.  (FIXME)
	* language.h (CAST_IS_CONVERSION):  True if current language is
	C++ as well as C.  Fix from Peter Schauer.
	* environ.c (get_in_environ, set_in_environ, unset_in_environ):
	Use STREQN macro rather than bare '!strncmp()'.
	* environ.c (unset_in_environ):  Avoid use of memcpy on
	overlapping memory regions, as suggested by Paul Eggert
	<eggert@twinsun.com>.
	* c-exp.y (%union struct):  Remove unused ulval as suggested
	by Paul Eggert <eggert@twinsun.com>.
1993-03-11 01:56:31 +00:00
Fred Fish 45364c8a2a * c-exp.y (parse_number): Change high_bit to unsigned.
* demangle.c:  Change all references to cfront to ARM, since the
	actual algorithm is the one specified in the Annotated Reference
	Manual.  This was confusing users into thinking that full cfront
	support was implemented.
	* dwarfread.c (CFRONT_PRODUCER):  Remove, was never really used.
	* eval.c (evaluate_subexp):  For STRUCTOP_PTR pass the arg type
	directly to lookup_struct_elt_type, which will do the
	dereferencing itself.
	* gdbtypes.c (lookup_struct_elt_type):  Expand comments.  Fix
	NULL dereferencing bug for unnamed structs, comment out
	questionable code.
1993-03-03 02:09:02 +00:00
Fred Fish 9da75ad32e * c-exp.y (lcurly, rcurly): New nonterminals.
* c-exp.y (exp):  Use lcurly and rcurly for arrays and UNOP_MEMVAL
	constructs.
	* parse.c (free_funcalls):  Moved prototype from parser-defs.h,
	made function static.
	* parse.c (struct funcall):  Moved struct def from parser-defs.h.
	* parse.c (funcall_chain):  Moved from parser-defs.h, made static.
	* parse.c (start_arglist):
	* parser-defs.h (free_funcalls):  Moved prototype to parse.c.
	* parser-defs.h (struct funcall):  Moved struct def to parse.c.
	* parser-defs.h (funcall_chain):  Moved to parse.c.
	* printcmd.c (print_frame_nameless_args): Fix prototype.
	* tm-mips.h (setup_arbitrary_frame):  Fix prototype.
	* tm-sparc.h (setup_arbitrary_frame):  Fix prototype.
	* valops.c (typecmp):  Moved prototype from values.h.
	* value.h (typecmp):  Moved prototype to valops.c, made static.
	**** start-sanitize-chill ****
	* ch-exp.y (yylex):  Change way control sequences are disabled.
	**** end-sanitize-chill ****
1993-02-03 00:28:54 +00:00
Fred Fish ec16f7015b * c-exp.y (exp): Add production to support direct creation
of array constants using the obvious syntax.
	* c-valprint.c (c_val_print):  Set printed string length.
	* dwarfread.c (read_tag_string_type):  New prototype and
	function that handles TAG_string_type DIEs.
	* dwarfread.c (process_dies):  Add case for TAG_string_type
	that calls new read_tag_string_type function.
	* expprint.c (print_subexp):  Add support for OP_ARRAY.
	* gdbtypes.c (create_range_type, create_array_type):  Inherit
	objfile from the index type.
	**** start-sanitize-chill ****
	* ch-typeprint.c (chill_print_type):  Add case for
	TYPE_CODE_STRING.
	* ch-valprint.c (chill_val_print):  Fix case for
	TYPE_CODE_STRING.
	**** end-sanitize-chill ****
1993-01-19 23:00:19 +00:00
Fred Fish c4413e2c9b * c-exp.y (exp:STRING): Convert C strings into array-of-char
constants with an explicit null byte terminator.  OP_STRING is
	now used for real string types.
	* c-lang.c (builtin_type_*):  Move declarations to lang.c since
	they are used by all languages.
	* c-lang.c (_initialize_c_language):  Move initializations of
	builtin_type_* to lang.c.
	* c-typeprint.c (c_type_print_varspec_prefix,
	c_type_print_varspec_suffix):  TYPE_CODE_PASCAL_ARRAY renamed
	to TYPE_CODE_STRING.
	* c-valprint.c (c_val_print):  Change the way character arrays
	are printed as strings to be consistent with the way strings
	are printed when pointer-to-char types are dereferenced.
	Remove test of print_max before calling val_print_string, which
	now does it's own test.
	* eval.c (evaluate_subexp):  Add case for OP_ARRAY.
	* expprint.c (print_subexp, dump_expression):  Add case for OP_ARRAY.
	* expression.h (enum exp_opcode):  Add OP_ARRAY and document.
	* gdbtypes.c (builtin_type_*):  Add declarations moved from
	c-lang.c.
	* gdbtypes.c (create_string_type):  New function to create real
	string types.
	* gdbtypes.c (recursive_dump_type):  TYPE_CODE_PASCAL_ARRAY
	renamed to TYPE_CODE_STRING.
	* gdbtypes.c (_initialize_gdbtypes):  Add initializations of
	builtin_type_* types moved from c-lang.c.
	* gdbtypes.h (enum type_code):  TYPE_CODE_PASCAL_ARRAY renamed
	to TYPE_CODE_STRING.
	* gdbtypes.h (builtin_type_string):  Add extern declaration.
	* gdbtypes.h (create_string_type):  Add prototype.
	* m2-lang.c (m2_create_fundamental_type):  TYPE_CODE_PASCAL_ARRAY
	renamed to TYPE_CODE_STRING.
	* m88k-tdep.c (pushed_size):  TYPE_CODE_PASCAL_ARRAY renamed to
	TYPE_CODE_STRING.
	* mipsread.c (_initialize_mipsread):  TYPE_CODE_PASCAL_ARRAY
	renamed to TYPE_CODE_STRING.
	* parse.c (length_of_subexp, prefixify_subexp):  Add case for
	OP_ARRAY.
	* printcmd.c (print_formatted):  Recognize TYPE_CODE_STRING.
	* typeprint.c (print_type_scalar):  TYPE_CODE_PASCAL_ARRAY renamed
	to TYPE_CODE_STRING.
	* valops.c (allocate_space_in_inferior):  New function and
	prototype, using code ripped out of value_string.
	* valops.c (value_string):  Rewritten to use new function
	allocate_space_in_inferior, but temporarily disabled until some
	other support is in place.
	* valops.c (value_array):  New function to create array constants.
	* valprint.c (val_print_string):  Add comment to document use,
	complete rewrite to fix several small buglets.
	* value.h (value_array):  Add prototype.
	* value.h (val_print_string):  Change prototype to match rewrite.
	**** start-sanitize-chill ****
	* ch-valprint.c (chill_val_print):  Add case for TYPE_CODE_STRING.
	* ch-exp.y (match_character_literal):  Disable recognition of
	control sequence form of character literals and document why.
	**** end-sanitize-chill ****
1993-01-16 05:15:58 +00:00
Fred Fish 533d1dc743 * c-exp.y (yylex): Make static, to match prototype and other
<lang>-exp.y files.
1993-01-05 04:14:28 +00:00
Fred Fish 19d0f3f41d * Makefile.in (BISON): Add comment that when bison is used, it
must include the "-y" option.
	* c-exp.y, m2-exp.y (yyrule, yyname, yyss, yyssp, yyvs, yyvsp):
	Remove defines to remap non-yacc symbols, thus backing out of
	previous recent changes.  Standard policy is that non-yacc parser
	generators get fixed, rather than adding bug workarounds in gdb
	for each new one that pops up.  Expand comment to note this.
	* c-exp.y, m2-exp.y (YYDEBUG):  Revert back to disabled by default.
1992-12-31 19:08:08 +00:00
Fred Fish cbf5231b95 * c-exp.y, m2-exp.y (yyrule, yyname): Remap like other yy* names
for byacc.
	**** start-sanitize-chill ****
	* ch-exp.y (yyrule, yyname):  Remap like other yy* names for byacc.
	**** end-sanitize-chill ****
1992-12-31 06:23:28 +00:00
Fred Fish 45fe3db4ed * c-exp.y, m2-exp.y (yyreds, yytoks): Remap like other yy* names.
* c-exp.y, m2-exp.y (YYDEBUG):  Define if MAINTENANCE_CMDS is defined
	and YYDEBUG is not already defined.
	* c-exp.y (strncmp):  Replace throughout with STREQN, missed
	them during the previous replacements.
	* printcmd.c (_initialize_printcmd):  Update internal documentation
	for "set" command to note that the assignment syntax is language
	dependent.
	**** start-sanitize-chill ****
	* ch-exp.y (yyreds, yytoks):  Remap like other yy* names.
	* ch-exp.y (YYDEBUG):  Define if MAINTENANCE_CMDS is defined
	and YYDEBUG is not already defined.
	* ch-exp.y (GDB_REGNAME, GDB_LAST, GDB_VARIABLE, GDB_ASSIGNMENT,
	single_assignment_action): New terminals and nonterminal for gdb
	extensions to chill expression grammer.
	* ch-exp.y (match_dollar_tokens):  Lexer routine to match all
	tokens that start with '$' (register names, convenience vars, etc).
	* ch-exp.y (tokentab2):  Add GDB_ASSIGNMENT.
	* ch-exp.y (yylex):  Call match_dollar_tokens.
	**** end-sanitize-chill ****
1992-12-31 04:05:05 +00:00
Fred Fish 2e4964adfc * defs.h (STRCMP, STREQ, STREQN): New macros.
* defs.h (demangle_and_match):  Remove prototype.
	* dwarfread.c (STREQ, STREQN):  Remove macros, replaced with STREQ
	  and STREQN defined in defs.h.
	* dwarfread.c (set_cu_language):  For completely unknown languages,
	  try to deduce the language from the filename.  Retain behavior
	  that for known languages we don't know how to handle, we use
	  language_unknown.
	* dwarfread.c (enum_type, symthesize_typedef):  Initialize language
	  and demangled name fields in symbol.
	* dwarfread.c, mipsread.c, partial-stab.h:  For all usages of
	  ADD_PSYMBOL_TO_LIST, add language and objfile parameters.
	* dwarfread.c (new_symbol):  Attempt to demangle C++ symbol names
	  and cache the results in SYMBOL_DEMANGLED_NAME for the symbol.
	* elfread.c (STREQ):  Remove macro, use STREQ defined in defs.h.
	  Replace usages throughout.
	* elfread.c (demangle.h):  Include.
	* elfread.c (record_minimal_symbol):  Remove prototype and function.
	* gdbtypes.h, symtab.h (B_SET, B_CLR, B_TST, B_TYPE, B_BYTES,
	  B_CLRALL):  Moved from symtab.h to gdbtypes.h.
	* infcmd.c (jump_command):  Remove code to demangle name and add
	  it to a cleanup list.  Now just use SYMBOL_DEMANGLED_NAME.
	* minsyms.c (demangle.h):  Include.
	* minsyms.c (lookup_minimal_symbol):  Indent comment to match code.
	* minsyms.c (install_minimal_symbols):  Attempt to demangle symbol
	  names as C++ names, and cache them in SYMBOL_DEMANGLED_NAME.
	* mipsread.c (psymtab_language):  Add static variable.
	* stabsread.c (demangle.h):  Include.
	* stabsread.c (define_symbol):  Attempt to demangle C++ symbol
	  names and cache them in the SYMBOL_DEMANGLED_NAME field.
	* stack.c (return_command):  Remove explicit demangling of name
	  and use of cleanups.  Just use SYMBOL_DEMANGLED_NAME.
	* symfile.c (demangle.h):  Include.
	* symfile.c (add_psymbol_to_list, add_psymbol_addr_to_list):  Fix
	  to match macros in symfile.h and allow them to be compiled
	  if INLINE_ADD_PSYMBOL is not true.
	* symfile.h (INLINE_ADD_PSYMBOL):  Default to true if not set.
	* symfile.h (ADD_PSYMBOL_*):  Add language and objfile parameters.
	  Add code to demangle and cache C++ symbol names.  Use macro form
	  if INLINE_ADD_PSYMBOL is true, otherwise use C function form.
	* symmisc.c (add_psymbol_to_list, add_psymbol_addr_to_list):
	  Remove, also defined in symfile.c, which we already fixed.
	* symtab.c (expensive_mangler):  Remove prototype and function.
	* symtab.c (find_methods):  Remove physnames parameter and fix
	  prototype to match.
	* symtab.c (completion_list_add_symbol):  Name changed to
	  completion_list_add_name.
	* symtab.c (COMPLETION_LIST_ADD_SYMBOL):  New macro, adds both
	  the normal symbol name and the cached C++ demangled name.
	* symtab.c (lookup_demangled_partial_symbol,
	  lookup_demangled_block_symbol):  Remove prototypes and functions.
	* symtab.c (lookup_symbol):  Remove use of expensive_mangler,
	  use lookup_block_symbol instead of lookup_demangled_block_symbol.
	  Remove code to try demangling names and matching them.
	* symtab.c (lookup_partial_symbol, lookup_block_symbol):
	  Fix to try matching the cached demangled name if no match is
	  found using the regular symbol name.
	* symtab.c (find_methods):  Remove unused physnames array.
	* symtab.c (name_match, NAME_MATCH):  Remove function and macro,
	  replaced with SYMBOL_MATCHES_REGEXP from symtab.h.
	* symtab.c (completion_list_add_symbol):  Rewrite to use cached
	  C++ demangled symbol names.
	* symtab.h:  Much reformatting of structures and such to add
	  whitespace to make them more readable, and make them more
	  consistent with other gdb structure definitions.
	* symtab.h (general_symbol_info): New struct containing fields
	  common to all symbols.
	* symtab.h (SYMBOL_LANGUAGE, SYMBOL_DEMANGLED_NAME,
	  SYMBOL_SOURCE_NAME, SYMBOL_LINKAGE_NAME, SYMBOL_MATCHES_NAME,
	  SYMBOL_MATCHES_REGEXP, MSYMBOL_INFO, MSYMBOL_TYPE):  New macros.
	* symtab. (struct minimal_symbol, struct partial_symbol, struct
	  symbol): Use general_symbol_info struct.
	* utils.c (demangle_and_match):  Remove, no longer used.
	* valops.c (demangle.h):  Include.
	* xcoffexec.c (eq):  Remove macro, replace usages with STREQ.
	* blockframe.c, breakpoint.c, c-exp.y, c-valprint.c, dbxread.c,
	  infcmd.c, m2-exp.y, minsyms.c, objfiles.h, solib.c, stack.c,
	  symmisc.c, symtab.c, valops.c:  Replace references to minimal
	  symbol fields with appropriate macros.
	* breakpoint.c, buildsym.c, c-exp.y, c-typeprint.c, c-valprint.c,
	  coffread.c, command.c, convex-tdep.c, cp-valprint.c, dbxread.c,
	  demangle.c, elfread.c, energize.c, environ.c, exec.c,
	  gdbtypes.c, i960-tdep.c, infrun.c, infrun-hacked.c, language.c,
	  main.c, minsyms.c, mipsread.c, partial-stab.h, remote-es1800.c,
	  remote-nindy.c, remote-udi.c, rs6000-tdep.c, solib.c, source.c,
	  sparc-pinsn.c, stabsread.c, standalone.c, state.c, stuff.c,
	  symfile.c, symmisc.c, symtab.c, symtab.h, tm-sysv4.h,
	  tm-ultra3.h, values.c, xcoffexec.c, xcoffread.c:  Replace strcmp
	  and strncmp usages with STREQ, STREQN, or STRCMP as appropriate.
	* breakpoint.c, buildsym.c, c-typeprint.c, expprint.c, findvar.c,
	  mipsread.c, printcmd.c, source.c, stabsread.c, stack.c,
	  symmisc.c, tm-29k.h, valops.c, values.c:  Replace SYMBOL_NAME
	  references with SYMBOL_SOURCE_NAME or SYMBOL_LINKAGE_NAME as
	  appropriate.
	* buildsym.c (start_subfile, patch_subfile_names):  Default the
	  source language to what can be deduced from the filename.
	* buildsym.c (end_symtab):  Update the source language in the
	  allocated symtab to match what we have been using.
	* buildsym.h (struct subfile):  Add a language field.
	* c-typeprint.c (c_print_type):  Remove code to do explicit
	  demangling.
	* dbxread.c (psymtab_language):  Add static variable.
	* dbxread.c (start_psymtab):  Initialize psymtab_language using
	  deduce_language_from_filename.
1992-12-23 06:34:57 +00:00
Fred Fish a8a69e6332 * Makefile.in (VERSION): Bump to 4.7.4.
* Makefile.in (SFILES_MAINDIR):  Add typeprint.c, c-typeprint.c,
	  m2-typeprint.c, c-valprint.c cp-valprint.c m2-valprint.c.
	* Makefile.in (HFILES):  Add valprint.h.
	* Makefile.in (OBS):  Add typeprint.o, c-typeprint.o,
	  m2-typeprint.o, c-valprint.o, cp-valprint.o m2-valprint.o.
	* typeprint.c, typeprint.h:  New files for language independent
	  type printing functions.
	* c-typeprint.c, m2-typeprint.c:  New files for language dependent
	  type printing functions and definitions.
	* valprint.h:  New include file for language independent value
	  printing definitions.
	* c-valprint.c, cp-valprint.c, m2-valprint.c:  New files for language
	  dependent value printing functions.
	* c-exp.y (production ptype):  Add range_type variable and use new
	  create_range_type function.
	* c-exp.y (tokentab2, tokentab3), c-lang.c (c_op_print_tab),
	  infcmd.c (path_var_name), language.c (unk_op_print_tab),
	  m2-lang.c (m2_op_print_tab):  Change from ANSI-obsolescent
	  "const static" to ANSI-conformant "static const".
	* c-exp.y (c_create_fundamental_type):  Remove unused nbytes.
	* c-exp.y (c_language_defn, cplus_language_defn):  Add c_print_type,
	  and c_val_print.
	* c-lang.h (c_print_type, c_val_print):  Add prototypes.
	* coffread.c (decode_type):  Add range_type variable and call to
	  new create_range_type function.
	* complaints.c (complain):  Remove unused val variable.
	* complaints.c (_initialize_complaints):  Make it void.
	* convex-tdep.c (value_of_trapped_internalvar):  Add range_type
	  variable and call new create_range_type function.
	* defs.h (enum val_prettyprint):  Move enum from value.h to here
	  so we can avoid having to include value.h just for prototypes that
	  need the enum (thanks ANSI).
	* dwarfread.c (struct_type):  Local anonymous_size variable is
	  only used if !BITS_BIG_ENDIAN.
	* dwarfread.c (decode_subscript_data_item):  Add rangetype
	  variable and call new create_range_type function.
	* elfread.c (elf_symfile_read):  Remove unused dbx and text_sect
	  variables.
	* eval.c (evaluate_subexp):  Remove unused local variable name
	  and the statement with no side effects that initializes it.
	* expprint.c (print_subexp):  Change local_printstr to
	  LA_PRINT_STRING.
	* gdbtypes.c (create_range_type):  New function that creates
	  a range type using code fragments from object file readers as
	  an example of what has to be initialized.
	* gdbtypes.c (create_array_type):  Removed index_type, low_bound,
	  and high_bound parameters, replaced with a single range_type
	  parameter.  Change function body to use passed in range_type
	  rather than handcrafting one.
	* gdbtypes.h (create_range_type):  Add prototype.
	* gdbtypes.h (create_array_type):  Change prototype parameters.
	* infrun.c (normal_stop):  Remove unused local variables tem and c.
	* infrun.c (hook_stop_stub):  Return 0 rather than random value.
	* language.c (unk_lang_print_type, unk_lang_val_print):  Add
	  stub functions that call error if called.
	* language.c (unknown_language_defn, auto_language_defn,
	  local_language_defn):  Add initializers unk_lang_print_type and
	  unk_lang_val_print.
	* language.h (struct language_defn):  Reformat for larger
	  comments, add la_print_type and la_val_print members.  Add
	  LA_PRINT_TYPE and LA_VAL_PRINT macros.  Change local_printchar
	  to LA_PRINT_CHAR and local_printstr to LA_PRINT_STRING.
	* m2-lang.c (m2_create_fundamental_type):  Remove unused local
	  variable nbytes.
	* m2-lang.c (m2_language_defn):  Add initializers m2_print_type
	  and m2_val_print.
	* m2-lang.h (m2_print_type, m2_val_print):  Add prototypes.
	* main.c (execute_command): Remove unused local variable cmdlines.
	* main.c (echo_command), stabsread.c (read_type), printcmd.c
	  (clear_displays), symmisc.c (block_depth), values.c
	  (clear_value_history):
	  Make testing of truth value of assignment result explicit.
	* mipsread.c (upgrade_type):  Update FIXME to include future use
	  of create_range_type.
	* printcmd.c (ptype_command, ptype_eval, whatis_command,
	  whatis_exp, maintenance_print_type):  Move prototypes and functions
	  to new typeprint.c.
	* printcmd.c (_initialize_printcmd):  Move add_com calls for
	  ptype_command and whatis_command to new typeprint.c.
	* ser-bsd.c (serial_open):  Remove unused variable sgttyb.
	* source.c (find_source_lines):  Local variable c only used
	  when LSEEK_NOT_LINEAR is defined.
	* stabsread.c (read_array_type):  Use new create_range_type
	  function.
	* stabsread.c (read_range_type):  Add new index_type variable and
	  call new create_range_type function rather than handcrafting
	  range types.
	* symmisc.c (type_print_1):  Change usages to LA_PRINT_TYPE.
	* symtab.c (typedef_print usages):  Use c_typedef_print, renamed.
	* symtab.c (type_print_base usages):  Use c_type_print_base.
	* symtab.c (type_print_varspec_prefix usages):  Use
	  c_type_print_varspec_prefix.
	* symtab.c (type_print_method_args usages):  Use
	  cp_type_print_method_args.
	* valprint.c:  Completely ripped apart and the fragments used
	  to create c-valprint.c, cp-valprint.c, m2-valprint.c, and
	  valprint.h.  Remaining stuff is language independent.
	* value.h (struct fn_field):  Forward declare for prototypes.
	* value.h (type_print_1):  Remove prototype.
	* value.h (enum val_prettyprint):  Moved to defs.h.
	* value.h (typedef_print):  Prototype renamed to c_typedef_print.
	* value.h (baseclass_offset):  Add prototype.
	**** start-sanitize-chill ****
	* Makefile.in (SFILES_MAINDIR):  Add ch-typeprint.c, ch-valprint.c.
	* Makefile.in (OBS):  Add ch-typeprint.o, ch-valprint.o.
	* ch-typeprint.c:  New file for language dependent type printing.
	* ch-valprint.c:  New file for language dependent value printing.
	* ch-exp.y (parse_number):  Remove prototype and stub function.
	* ch-exp.y (decode_integer_literal):  Removed unused digits and
	  temp variables.
	* ch-exp.y (convert_float):  Completely ifdef out for now.
	* ch-exp.y (tokentab2, tokentab3, tokentab4, tokentab5),
	  ch-lang.c (chill_op_print_tab):
	  Change from ANSI-obsolescent "const static" to ANSI-conformant
	  "static const".
	* ch-exp.y (yylex):  Add unhandled storage class enumeration
	  literals to switch statement for completeness.
	* ch-lang.c (chill_create_fundamental_types):  Remove unused
	  nbytes variable.  Change dummy type to 2 bytes to match int.
	  Handle FT_VOID types gratuituously added to chill DWARF by
	  compiler.  Change FT_CHAR case to generate an TYPE_CODE_CHAR
	  type rather than a one byte TYPE_CODE_INT type.
	* ch-lang.c (chill_language_defn):  Add chill_print_type and
	  chill_val_print.
	* ch-lang.h (chill_print_type, chill_val_print):  Add prototypes.
	**** end-sanitize-chill ****
1992-12-18 20:21:32 +00:00
Fred Fish 85f0a8484f * gdbtypes.c (create_array_type): Complete rewrite. Now requires
a optional type to decorate as an array type, the type of the
	index, and the bounds of the array.  Records this additional info
	in the array type for use with languages with nonzero array
	bounds.
	* gdbtypes.h (enum type_code):  Update comment for TYPE_CODE_ARRAY
	to note that arrays may have bounds.
	* gdbtypes.h (create_array_type):  Update prototype.
	* c-exp.y (ptype production):  Adjust for new create_array_type
	calling conventions.
	* coffread.c (decode_type):  Call create_array_type rather than
	handcrafting array types.
	* convex-tdep.c (value_type):  Remove, now use create_array_type.
	* convex-tdep.c (value_of_trapped_internalvar):  Convert calls to
	vector_type into calls to create_array_type.
	* dwarfread.c (decode_subscr_data):  Name changed to
	decode_subscript_data_item throughout.
	* dwarfread.c (decode_subscript_data_item):  Rewrite to use
	create_array_type.  Now records index type and range as well.
	* dwarfread.c (dwarf_read_array_type):  Rewrite as part of
	change to use create_array_type.
	* dwarfread.c (read_subroutine_type):  Test existing user defined
	types before decorating them, to ensure they are blank, and
	complain about it if they are not.
	* dwarfread.c (decode_fund_type):  For unrecognized types, always
	return some valid type (type integer).  If the unrecognized type
	cannot be an implementation defined type, complain as well.
	* m88k-tdep.c (pushed_size):  Update comment for TYPE_CODE_ARRAY.
	* m88k-tdep.c (store_param):  Update comment for TYPE_CODE_ARRAY.
	* mipsread.c (upgrade_type):  Add FIXME comment that code to
	handcraft arrays should be replaced with call to create_array_type.
	* stabsread.c (read_array_type):  Replace code to handcraft
	array types with call to create_array_type.
	* valprint.c (type_print_varspec_prefix):  Minor formatting
	change, join lines that don't need to be split.
1992-12-15 02:52:11 +00:00
Fred Fish 22e3975901 * c-exp.y, m2-exp.y: Migrate code that has nothing to do with
expression parsing into c-lang.c and m2-lang.c respectively.
	* c-lang.c, m2-lang.c:  New files, code migrated from c-exp.y and
	m2-exp.y respectively.
	* c-lang.h, m2-lang.h:  New files, internal interfaces between c-*
	and m2-* files respectively.
	* Makefile.in (SFILES_MAINDIR):  Add c-lang.c, m2-lang.c.
	* Makefile.in (HFILES):  Add c-lang.h, m2-lang.h.
	* Makefile.in (OBS):  Add c-lang.o, m2-lang.o.
	* expression.h (struct block):  Forward declaration for prototypes.
	* language.h (struct objfile):  Forward declaration for prototypes.
	**** start-sanitize-chill ****
	* Makefile.in (SFILES_MAINDIR):  Add ch-lang.c.
	* Makefile.in (HFILES):  Add ch-lang.h.
	* Makefile.in (OBS):  Add ch-lang.o.
	* ch-exp.y:  Migrate code that has nothing to do with expression
	parsing into ch-lang.c.
	* ch-lang.c:  New file, code migrated from c-exp.y.
	* ch-lang.h:  New file, internal interface between ch-* files.
	**** end-sanitize-chill ****
1992-12-09 06:50:30 +00:00
Fred Fish bf229b4ea5 * c-exp.y (c_create_fundamental_type): New function to create
language specific fundamental types for C.
	* m2-exp.y (m2_create_fundamental_type):  New function to create
	language specific fundamental types for Modula 2.
	* c-exp.y (c_language_defn, cplus_language_defn):  Add
	c_create_fundamental_type to language struct initializers.
	* m2-exp.y (m2_language_defn):  Add m2_create_fundamental_type
	to language struct initializers.
	* dwarfread.c (expression.h, language.h):  Include.
	* dwarfread.c (ftypes):  New array to hold fundamental types
	for current compilation unit.
	* dwarfread.c (cu_language_defn):  New pointer to language
	struct for language of current compilation unit.
	* dwarfread.c (dwarf_fundamental_type):  New function to
	create/lookup fundamental types.
	* dwarfread.c (set_cu_language):  Initialize cu_language_defn.
	* dwarfread.c (throughout):  Replace lookup_fundamental_type
	with dwarf_fundamental_type.
	* dwarfread.c (read_file_scope):  Zero out ftypes for each new
	compilation unit (may be different language or different objfile).
	* gdbtypes.c (lookup_fundamental_type):  Move actual type
	creations into language specific fundamental type creation
	functions and call via create_fundamental_type.  Add comment
	about this function being obsolescent.
	* gdbtypes.h (FT_BYTE, FT_UNSIGNED_BYTE):  New types, true byte
	sized signed and unsigned integers.
	* gdbtypes.h (FT_NUM_MEMBERS):  Increment, new types added.
	* language.c (language_def):  New function to lookup a language
	struct given it's enumeration.
	* language.h (struct language_defn):  Add la_fund_type, a pointer
	to a function that creates fundamental types for this language.
	* language.h (create_fundamental_type):  New macro to create
	fundamental types based on the current language.
	* language.h (language_def):  Add prototype.
	* language.c (unk_lang_create_fundamental_type):  New function
	for initializing language structs, calls error if called.
	* language.c (unk_language_defn, auto_language_defn,
	local_language_defn):  Use unk_lang_create_fundamental_type.
	**** start-sanitize-chill ****
	ch-exp.y (chill_create_fundamental_type):  New function.
	ch-exp.y (chill_language_defn):  Add chill_create_fundamental_type.
	ch-exp.y (_initialize_chill_exp):  BOOL types are only one byte.
	**** end-sanitize-chill ****
1992-12-03 20:28:16 +00:00
Fred Fish bac89d6ca8 * c-exp.y (yylex): Add tempbuf, tempbufindex, and tempbufsize,
which together maintain a dynamically expandable static buffer
	for the lexer to use when translating C strings to their internal
	form (other future uses possible).  Fix parsing of C style strings
	to do the normal C style input conversions of escaped character
	sequences.
	* valops.c (value_string):  Remove translation of escaped
	character sequences, now done in C expression parser.
1992-11-24 03:02:10 +00:00
Fred Fish 5707ea9fad * language.h (PRINT_LITERAL_FORM): New macro that takes character
and decides if it should be printed in literal form or some other
	form, based on it's ASCII value and setting of sevenbit_strings.
	* {c-exp.y, m2-exp.y} (emit_char):  Use new PRINT_LITERAL_FORM
	macro, change indentation style.
	**** start-sanitize-chill ****
	* ch-exp.y (chill_printchar):  Use new PRINT_LITERAL_FORM macro.
	* ch-exp.y (chill_printstr):  First cut at real function instead
	of error stub.
	**** end-sanitize-chill ****
1992-11-23 19:57:29 +00:00
Fred Fish 5d074aa977 * defs.h (sevenbit_strings): Add declaration.
* defs.h (printchar):  Replace with gdb_printchar.
	* language.h (language_defn):  Add new function pointers
	la_printchar and la_printstr, to do language dependent
	printing of characters and strings.
	* language.h (local_printchar, local_printstr):  New macros
	to call language dependent functions pointed to by la_printchar
	and la_printstr respectively.
	* c-exp.y (emit_char, c_printchar, c_printstr):  New language
	dependent functions for printing characters and strings.
	* c-exp.y (c_language_defn, cplus_language_defn):  Add
	c_printchar and c_printstr.
	* command.c (do_setshow_command):  Rename printchar use to
	gdb_printchar.
	* expprint.c (print_subexp):  Replace C style string output
	with call to local_printstr.
	* language.c (unk_lang_printchar, unk_lang_printstr):
	New stubs, currently errors.
	* language.c (unknown_language_defn, auto_language_defn,
	local_language_defn):  Add unk_lang_printchar and
	unk_lang_printstr.
	* m2-exp.y (emit_char, m2_printchar, m2_printstr):  New
	language dependent functions to print characters and strings.
	* m2-exp.y (m2_language_defn):  Add m2_printchar and m2_printstr.
	* utils.c (printchar):  Renamed to gdb_printchar.
	* valprint.c (print_string):  Remove prototype, function moved
	to c-exp.y, where it becomes c_printstr.
	* valprint.c (print_max):  Made global for reference from the
	language dependent printing routines in *-exp.y.
	* valprint.c (repeat_count_threshold):  New variable with function
	of old REPEAT_COUNT_THREHOLD define, but now settable by user.
	Change all references to old macro to references to new variable.
	* valprint.c (value_print, val_print):  Replace calls to
	print_string with calls to local_printstr.
	* valprint.c (val_print):  Replace C style character printing
	with call to local_printchar.
	* valprint.c (val_print):  Add case for TYPE_CODE_CHAR.
	* valprint.c (_initialize_valprint):  Add add_show_from_set
	call for setting up repeat_count_threshold as print variable.
	**** start-sanitize-chill ****
	* ch-exp.y (decode_integer_value):  New function.
	* ch-exp.y (decode_integer_literal):  Use decode_integer_value.
	* ch-exp.y (chill_printchar, chill_printstr):  New language
	dependent functions for printing characters and strings.
	* ch-exp.y (chill_language_defn):  Add chill_printchar and
	chill_printstr.
	**** end-sanitize-chill ****
1992-11-21 06:10:08 +00:00
Fred Fish 2e66cf7d6d * language.h (language_format_info): New structure to bundle
local formatting information.
	* language.h (language_defn):  Replace individual format info
	with language_format_info structs.
	* language.h (local_*_format, local_*_format_prefix,
	local_*_format_specifier, local_*_format_suffix):  New macros
	for binary/octal/decimal/hex formats to access info elements.
	* c-exp.y (c_language_defn):  Update for new format handling.
	* m2-exp.y (m2_language_defn):  Update for new format handling.
	* dbxread.c (language.h):  Include for partial-stab.h use.
	* defs.h (local_hex_format, local_hex_format_custom,
	local_hex_string, local_hex_string_custom):  Move to language.h.
	* language.c (local_hex_format_custom, local_hex_string,
	local_hex_string_custom, local_octal_format_custom):  Use new
	format handling.
	* language.c (unknown_language_defn, auto_language_defn,
	local_language_defn):  Update for new format handling.
	* printcmd.c (print_scalar_formatted):  Use new macros
	to access decimal and binary format info for printing.
	**** start-sanitize-chill ****
	* c-exp.y (chill_language_defn):  Update for new format handling.
	* ch-exp.y (CHARACTER_LITERAL):  Add support to yylex.
	* ch-exp.y (match_integer_literal):  Add function.
	* ch-exp.y (builtin_type_chill_char):  Add definition.
	* gdbtypes.h (builtin_type_chill_char):  Add declaration.
	**** end-sanitize-chill ****
1992-11-18 22:49:38 +00:00
Fred Fish e58de8a230 * Makefile.in (SFILES_MAINDIR): Add ch-exp.y.
* Makefile.in (YYFILES):  Add ch-exp.tab.c.
	* Makefile.in (YYOBJ):  Add ch-exp.tab.o.
	* Makefile.in (saber_gdb):  Add unload of ch-exp.y and load
	of ch-exp.tab.c.
	* Makefile.in (distclean):  Add target ch-exp.tab.c.
	* Makefile.in (realclean):  Add rm of ch-exp.tab.c.
	* Makefile.in (c-exp.tab.c, m2-exp.tab.c):  Add dependency on
	Makefile since it contains sed patterns used in generation.
	Add sed pattern to also delete #include of any malloc.h.
	* Makefile.in (ch-exp.tab.o, ch-exp.tab.c):  New targets.
	* ch-exp.y:  New expression parser, for GNU-Chill.
	* c-exp.y, expr.c, expression.h, language.c, m2-exp.y,
	parser-defs.h, valarith.c, valops.c, value.h:  Remap macros and
	function names to conform to K&R terminology with respect to
	logical and bitwise operators:
	UNOP_ZEROP => UNOP_LOGICAL_NOT
	UNOP_LOGNOT => UNOP_COMPLEMENT
	BINOP_LOGAND => BINOP_BITWISE_AND
	BINOP_LOGXOR => BINOP_BITWISE_XOR
	BINOP_LOGIOR => BINOP_BITWISE_IOR
	BINOP_AND => BINOP_LOGICAL_AND
	BINOP_OR => BINOP_LOGICAL_OR
	PREC_OR => PREC_LOGICAL_OR
	PREC_AND => PREC_LOGICAL_AND
	PREC_LOGIOR => PREC_BITWISE_IOR
	PREC_LOGXOR => PREC_BITWISE_XOR
	PREC_LOGAND => PREC_BITWISE_AND
	value_zerop() => value_logical_not()
	value_lognot() => value_complement()
	* c-exp.y (c_op_print_tab):  Add explicit empty terminator.
	* m2-exp.y (m2_op_print_tab):  Add explicit empty terminator.
	* defs.h (enum language):  Add language_chill.
	* dwarfread.c (set_cu_language):  Add LANG_CHILL case and make
	LANG_MODULA2 a recognized language.
	* eval.c (evaluate_subexp):  Add OP_BOOL case.
	* expprint.c (print_subexp):  Add OP_BOOL case.
	* gdbtypes.h (enum_typecode):  Note TYPE_CODE_BOOL used for
	Chill as well as Modula-2.
	* gdbtypes.y (builtin_type_chill_bool, builtin_type_chill_long,
	builtin_type_chill_ulong, builtin_type_chill_real):  Add.
	* i387-tdep.c (sys/dir.h):  Remove, appears to be unnecessary
	and is nonexistant in some SVR4 based systems.
	* language.c (DEFAULT_ALLOCSIZE):  Change from 3 => 4.
	* language.c (set_language_command):  Add chill.
	* language.c (binop_result_type, integral_type, character_type,
	boolean_type, structured_type, value_true, binop_type_check):
	Add language_chill cases.
	* language.h (_LANG_chill):  Define.
	* m2-exp.y (number_sign, modblock):  Make static, #ifdef out
	unused modblock.
	* m2-exp.y (ANDAND):  Rename to LOGICAL_AND.
	* source.c (source_info):  Fix minor nits, print "1 line" rather
	than "1 lines", and "language is <lang>".
	* symfile.c (deduce_language_from_filename):  Recognize the
	filename extensions ".chill", ".c186", and ".c286" for Chill.
	* valarith.c (value_binop):  Handle TYPE_CODE_BOOL as well
	as TYPE_CODE_INT and TYPE_CODE_FLOAT.
	* valprint.c (val_print):  Print TYPE_CODE_BOOL type values as
	"TRUE" or "FALSE".
	* valprint.c (typedef_print):  Add case for language_chill.
	* values.c (value_from_longest):  Handle TYPE_CODE_BOOL.
1992-11-15 17:28:02 +00:00
Steve Chamberlain 2e6edad13c * c-exp.y: separated host/target idea of integer type size,
removed redundant parse rules. (YYSTYPE): added typed_val, removed
	UINT and CHAR rules. (parse_number): work out the targetwise type
	of a number based upon it's size and qualifiers. (yylex): chars
	are now treated the same way as ints.

	* source.c (indentify_source_line): don't core dump if wanted
	line is larger than number of lines in source. (can happen when
	coff gets confused about #included source).
1992-11-06 18:37:20 +00:00
Fred Fish e35843d476 * Makefile.in (c-exp.tab.c, m2-exp.tab.c): Add sed patterns to
remap all malloc's to xmalloc's and all realloc's to xrealloc's.
	* c-exp.y, m2-exp.y:  Add comment about how malloc/realloc are
	  remapped to xmalloc/xrealloc, use only malloc/realloc in grammer
	  file.  Remove preprocessor defines that previously did remapping.
1992-10-31 00:35:08 +00:00
Per Bothner 10a297b791 * c-exp.y: Moved handling of 'const' and 'volatile' from
<type> to <typebase>.  This removes 2 conflicts.
1992-10-19 19:46:05 +00:00
John Gilmore 2640f7e138 Removed a large number of changes inserted by Per Bothner
for C++ support.  These will go back in when they've been
examined.
1992-09-10 00:07:06 +00:00
Per Bothner 35fcebce93 A ton of changes to improve C++ debugging. See ChangeLog. 1992-09-04 07:37:18 +00:00
Per Bothner a252e71520 * gdbtypes.c, gdbtypes.h: New function lookup_signed_typename.
* c-exp.y:  Call lookup_signed_typename() after seeing
	"signed".  This handles "signed char" correctly.
	* c-exp.y:  Recognize (but ignore) 'const' and 'volatile'
	keywords before a type specifier.
1992-07-10 23:30:40 +00:00
Michael Tiemann 368c8614bc Minor changes to make these work with bison again. 1992-07-09 11:47:50 +00:00
Fred Fish 866ecded64 Only treat "class" as a token if the current language is C++. 1992-07-09 07:15:11 +00:00
Fred Fish 8050a57b2c * dwarfread.c (alloc_utype, decode_subscr_data): Call alloc_type
to create new blank types, instead of handcrafting them.
	* defs.h (printfi_filtered):  Add prototype.
	* utils.c (printfi_filtered):  New function.
	* gdbtypes.c (recursive_dump_type):  Use printfi_filtered to
	to simplify the code.  Other cleanups.
	* gdbtypes.c (check_stub_method):  Demangle using DMGL_ANSI.
	* gdbtypes.h (struct cplus_struct_type):  Add comments describing
	use of various fields.
	* gdbtypes.c (print_bit_vector, print_cplus_stuff):  New functions.
	* c-exp.y (%token):  Add CLASS as a token for C++, add grammar
	production that currently treats it exactly the same as STRUCT.
	* c-exp.y (yylex):  Recognize "class" as token CLASS.
	* symtab.c (gdb_mangle_name):  Rewrite to match current g++ stabs.
	* symtab.c (decode_line_1):  Fix to pass quoted args on down to
	general symbol handling code.  Call cplus_mangle_opname with
	DMGL_ANSI.
	* symtab.c (decode_line_2):  Print demangled function names in
	breakpoint menus, instead of just file and line number.
	* symtab.c (name_match):  Call cplus_demangle with DMGL_ANSI.
	* valprint.c (type_print_base):  Print "class" for C++ classes,
	rather than "struct".  Print section labels for public, protected
	and private members of C++ classes.
	* values.c:  Include demangle.h.
	* values.c (value_headof):  Call cplus_demangle with DMGL_ANSI.
1992-07-09 04:40:39 +00:00
Fred Fish 4ed3a9ea66 * breakpoint.c, buildsym.c, c-exp.y, coffread.c, command.c,
core.c, cplus-dem.c, dbxread.c, dwarfread.c, elfread.c, environ.c,
	eval.c, findvar.c, gdbtypes.c, hppabsd-tdep.c, hppahpux-tdep.c,
	i386-tdep.c, ieee-float.c, infcmd.c, inflow.c, infptrace.c,
	infrun.c, m2-exp.y, mipsread.c, objfiles.c, parse.c, procfs.c,
	putenv.c, remote-mm.c, remote-vx.c, solib.c, sparc-tdep.c,
	sparc-xdep.c, stack.c, symfile.c, symtab.c, symtab.h, target.c,
	tm-i386v.h, tm-sparc.h, utils.c, valarith.c, valops.c, valprint.c,
	values.c, xcoffread.c:
	Remove "(void)" casts from function calls where the return value
	is ignored, in accordance with GNU coding standards.
1992-07-04 03:22:08 +00:00
Fred Fish 51b57ded88 * dbxread.c, i386-pinsn.c, i386-tdep.c, regex.c, solib.c, symmisc.c,
symtab.h, tm-i386v4.h, valprint.c, values.c:  Lint.
	* breakpoint.c, c-exp.y, coffread.c, command.c, environ.c, eval.c,
	findvar.c, infcmd.c, infptrace.c, infrun.c, m2-exp.y, parse.c,
	putenv.c, solib.c, sparc-xdep.c, symtab.c, tm-i386v.h, tm-sparc.h,
	utils.c, valarith.c, valops.c, valprint.c, values.c:
	Replace bcopy() use with memcpy(), which is more standard and can
	take advantage of gcc's builtin functions for increased performance.
	* breakpoint.c, buildsym.c, coffread.c, dbxread.c, i386-tdep.c,
	ieee-float.c, infcmd.c, sparc-tdep.c, stack.c, symtab.c, symtab.h,
	target.c, values.c:
	Replace bzero() use with memset(), which is more standard and can
	take advantage of gcc's builtin functions for increased performance.
	* i386-tdep.c, main.c, valprint.c:
	Replace bcmp() use with memcmp(), which is more standard and can
	take advantage of gcc's builtin functions for increased performance.
1992-06-29 23:34:38 +00:00
Fred Fish 36ce1b6469 * c-exp.y, m2-exp.y: Move remapping defines for malloc and
realloc.  Add remapping defines for {yyss, yyssp, yyvs, yyvsp}.
	* config/{amix.mh, i386v4.mh, ncr3000.mh, stratus.mh,
	sun4os5.mh}:  Add definition for INSTALL using /usr/ucb/install.
1992-06-10 02:05:20 +00:00
Fred Fish d630b6150e * c-exp.y (yylex): Recognize single-quoted strings that specify
tokens with embedded whitespace, such as C++ demangled names.
	* defs.h (demangle_and_match, strcmp_iw, skip_quoted):  Prototypes.
	* main.c (gdb_completer_quote_characters):  Add global variable.
	* main.c (symbol_completion_function):  Total rewrite for C++
	demangled name handling.
	* main.c (skip_quoted):  New function.
	* main.c (main):  Set rl_completer_quote_characters.
	* symmisc.c (dump_symtab):  Print source language for symtab.
	* symtab.c (expensive_mangler):  Add prototype and function.
	* symtab.c (completion_list_add_symbol):  Total rewrite for new
	C++ demangled name handling.
	* symtab.c (lookup_symbol): Check for demangled C++ symbol first,
	other changes for demangled C++ symbol handling.
	* symtab.c (lookup_demangled_block_symbol):  Use demangle_and_match.
	* symtab.c (lookup_demangled_partial_symbol):  Use demangle_and_match.
	* symtab.c (decode_line_1):  Recognize C++ demangled names on input.
	* symtab.c (completion_list_add_symbol):  Total rewrite for new
	C++ demangled name handling.
	* symtab.c (expensive_mangler):  New function.
	* utils.c (strcmp_iw, demangle_and_match):  New functions.
	* xcoffread.c (aixcoff_symfile_read):  Fix prototype.
1992-06-09 06:09:33 +00:00
Fred Fish 6c316cfd66 * inflow.c (new_tty): Temporarily ignore SIGTTOU when
disconnecting from controlling terminal, to avoid gdb hanging
	on SVR4.  Fixes bug reported by Oliver Okrongli.
	* procfs.c (PROC_NAME_FMT):  Change format to match default used
	by system, as suggested by Oliver Okrongli.
	* tm-68k.h (FRAME_FIND_SAVED_REGS):  Apply missing parentheses
	bug fix from Brent Townshend (bst%tt@cam.ORG).
	* c-exp.y (nonempty_typelist):  Fix memory overrun bug reported
	by turlais@rechser.total.fr.
	* dwarfread.c (decode_subscr_data):  Fix bug in calculation of
	length of non-zero lowerbound arrays.  Bug fix from Peggy Fieland.
	* objfiles.h (unlink_objfile):  Add prototype.
	* objfiles.c (unlink_objfile):  Add function.
	* objfiles.c (free_objfile):  Call unlink_objfile.
	* objfiles.c (allocate_objfile):  Call unlink_objfile on newly
	remapped objfiles.  Bug reported by hahn@sunshine.labs.tek.com.
	Also, discard old possibly bogus sf struct.
	* symfile.c (symbol_file_add):  Call init_entry_point_info() and
	find_sym_fns() for remapped symbol files, in case of any changes
	since the last mapping.
1992-05-17 23:54:32 +00:00
Fred Fish 1867b3be84 Back out of TYPE_FLAG_FUND_TYPE change, solve the problem in valprint.c by
just printing the type name from the type if it is not otherwise handled.
Implement new handling of the ".syms" file for reusable symbol files.
1992-04-18 02:30:28 +00:00
Fred Fish 4a11eef2eb Add TYPE_FLAG_FUND_TYPE bit to the flags member of the type structure,
and use it to decide when to print the actual type name rather than
trying to invent the name of a fundamental type.  This clears up the
confusion between int/long when they are the same sizes, removes one
obstacle to multi-language support (previously valprint.c thought
everything was a C type), and allows gdb to support distinctions between
explicitly and implicitly signed types when the compiler supports such
distinction in the debug output (as does every ANSI compiler I tested
except for gcc).
1992-04-15 05:42:00 +00:00
John Gilmore ac88ca205c Lint.
* symfile.c (add_symbol_file_command):  Initialize mapped/readnow.
1992-04-02 10:35:19 +00:00
Per Bothner d26b50b794 c-exp.y: Add missing return type to yyparse() prototype. 1992-03-30 22:19:14 +00:00
John Gilmore be772100b5 Lint 1992-03-29 23:26:47 +00:00
Per Bothner 04f27ddc6d * c-exp.y, gdbtypes.h: Add builtin_type_signed_char.
* cplus-dem.c:  Support "Sc" meaning "signed char".
1992-03-26 08:33:43 +00:00
Per Bothner 01be69139e More C++ improvements (pointers to members, qualified names). See ChangeLog. 1992-03-20 21:57:17 +00:00
Fred Fish 318bf84ffe Globs of changes. See the ChangeLog for details. Most related to
using the new mmalloc package.
1992-03-15 01:09:14 +00:00
John Gilmore 1ab3bf1b14 * Check in Fred Fish's changes in these modules. Fred
will make ChangeLog entries for all of them.
1992-02-22 01:46:16 +00:00
John Gilmore 088c3a0b74 * defs.h: Include ansidecl.h and PARAMS macro. Use PARAMS
to make prototypes for all functions declared here.
* cplus-dem.c:  Avoid declaring xmalloc and xrealloc.
* c-exp.y:  Rename SIGNED, OR, and AND to avoid conflict.
* environ.c:  Include <stdio.h> before defs.h.  Minor cleanup.
* ieee-float.h:  Use PARAMS for prototypes; make some params const.
* ieee-float.c, valarith.c:  Include <stdio.h>.  Lint.  b*=>mem*.
* m2-exp.y:  Remove unused CONST; Rename OR and AND.
* utils.c:  Avoid declaring malloc and realloc.  Lint.
(request_quit):  Accept signal-number parameter.
1992-02-20 19:23:42 +00:00
John Gilmore 5a4e721505 * buildsym.c (read_struct_type): Circumvent sun3 sunos "--" compiler bug.
* c-exp.y (yylex):  `this' and `template' are only tokens in C++.
* target.c (target_xfer_memory):  Return errno in preference to EIO.
1992-01-27 22:10:05 +00:00
John Gilmore 2a5ec41d88 Fix things pointed up by Fred Fish's test suite; see ChangeLog. 1991-12-05 11:56:20 +00:00
John Gilmore 7d9884b927 * defs.h: Incorporate param.h. All users changed.
* param-no-tm.h:  Change users to define TM_FILE_OVERRIDE instead.
* param.h, param-no-tm.h:  Removed.
* Update copyrights in all changed files.
* dbxread.c, dwarfread.c, inflow.c, infrun.c, m2-exp.y, putenv.c,
solib.c, symtab.h, tm-umax.h, valprint.c:  Lint.
* tm-convex.h, tm-hp300hpux.h, tm-merlin.h, tm-sparc.h,
xm-merlin.h:  Avoid host include files in target descriptions.
* getpagesize.h:  Removed, libiberty copes now.
1991-11-21 18:42:05 +00:00
Fred Fish d018c8a6e1 Add defines so that parsers produced by SVR4 versions of yacc can coexist
in the same executable without collision (c-exp.y, m2-exp.y).  Add forward
delaration of function returning pointer to shut up compiler warnings about
conversion of int to pointer (symtab.h).
1991-11-19 15:59:55 +00:00
Sean Eric Fagan d671e293c3 Fixed a syntax error. 1991-11-16 07:24:23 +00:00
David Henkel-Wallace 4c53d9ca84 ansi name abuse changes 1991-11-15 23:16:29 +00:00
Per Bothner 0e2a896cf5 Fixes related to handling of C++ methods (handle destructors
and parameters that are functions).
1991-11-12 22:20:02 +00:00
Per Bothner 545af6ce07 Add C++ as a separate language.
Also, fix a C++ problem when looking for methods in super-classes.
(There was confusion between base and derived types.)
1991-11-06 01:08:21 +00:00
John Gilmore b90c4f33cd * c-exp.y (yyerror): Pass error message if given.
* configure.in:  Add rs6000 host and target.
* inflow.c (new_tty):  O_NOCTTY kludge for RS/6000.
* symfile.h (entry_point):  Add.
1991-10-27 22:27:15 +00:00
Fred Fish e2aab0314f Add three new builtin types (builtin_type_long_double, builtin_type_complex,
and builtin_type_double_complex).  Also add and use various TARGET_<TYPE>_BIT
macros to indicate the sizes of various types on the target machine.
1991-10-24 10:58:41 +00:00
John Gilmore 5b0a744f98 * c-exp.y: sym->class to SYMBOL_CLASS (sym).
* dbxread.c (dbx_lookup_type):  Keep doubling size of typevector
until it is large enough.
1991-10-04 03:17:46 +00:00
John Gilmore 39bf59520b * c-exp.y, m2-exp.y: Define more yysymbols that happen to be
"bss" rather than "data" symbols, but which still conflict.
* m2-exp.y:  Lint.
1991-09-28 01:30:41 +00:00
Stu Grossman 9ce7cb7c52 #define yyerrflag and yynerrs to avoid global name conflicts. 1991-09-20 19:30:36 +00:00
John Gilmore f24adda313 * c-exp.y, m2-exp.y: Lint.
* m2-exp.y:  Avoid using yytname[] which is a Bison-ism.
1991-09-19 22:16:40 +00:00
John Gilmore 9dffe475b5 Lint 1991-09-19 11:51:26 +00:00
John Gilmore 3d6b6a9075 * parse.c: New file with the common code remains of expread.y.
* expread.y, expread.tab.c:  Remove.
* parser-defs.h:  New file with common declarations from expread.y.
* c-exp.y:  New file with the C parser from expread.y.
* m2-exp.y:  New file with the Modula-2 parser.
1991-09-19 10:31:00 +00:00