Commit graph

103 commits

Author SHA1 Message Date
Peter Schauer
0742270560 * c-exp.y (yylex): Handle nested template parameter lists.
* symtab.c (decode_line_2):  Fix test for valid choice number.
1997-03-22 10:50:18 +00:00
Peter Schauer
a46d92a736 * c-exp.y (qualified_name): Replace explicit check for valid
destructor name with call to destructor_name_p.

	* c-lang.h, c-typeprint.c (cp_type_print_method_args):  Removed,
	no longer needed.

	* c-typeprint.c (c_type_print_varspec_prefix, c_type_print_base):
	Replace remaining fprintf_unfiltered calls with their filtered variant.
	(c_type_print_base):  Do not print return type for destructors from
	template classes.
	Replace cp_type_print_method_args with cplus_demangle call to get
	consistent type output for stubbed and unstubbed methods.

	* cp-valprint.c (cp_print_class_method):  Replace
	cp_type_print_method_args with cplus_demangle call to get consistent
	type output for stubbed and unstubbed methods.

	* gdbtypes.c, gdbtypes.h (get_destructor_fn_field):  New function
	to find the destructor field indices for a type.

	* gdbtypes.h (struct type):  Clarify comments for vptr_basetype
	and arg_types fields.
	(struct fn_field):  Remove args field, no longer used.

	* symtab.c (decode_line_1), valops.c (value_struct_elt,
	check_field_in):  Use get_destructor_fn_field to find the destructor
	field indices instead of assuming that the compiler passes the member
	function fields in a specific order.

	* symtab.c (find_methods):  Pass NULL instead of SYMBOL_BLOCK_VALUE
	to lookup_symbol.
	(list_symbol):  Replace cp_type_print_method_args with cplus_demangle
	call in zapped out code and explain why this code is zapped out.
1996-12-14 09:17:22 +00:00
Jim Wilson
119dfbb7c1 Patches to add Irix6 host support. 1996-11-12 23:33:32 +00:00
Fred Fish
72ae15f6b0 * configure.in: Check for setpgid function.
* config.in: Regenerate with autoheader.
	* configure: Regenerate with autoconf.
	* inflow.c (_initialize_inflow): Only try to use _SC_JOB_CONTROL
	if it is actually defined.
	(gdb_setpgid): Use HAVE_SETPGID.
	* ch-exp.c: Change include of <string.h> to "gdb_string.h".
	* c-exp.y: Ditto.
	* f-exp.y: Ditto.
	* m2-exp.y: Ditto.
	* c-exp.y: Include <ctype.h>.
	* serial.c: Ditto.
	* config/m68k/nm-news.h: Add typedef for pid_t which is
	apparently missing from <sys/types.h>.  Enclose entire
	file in NM_NEWS_H ifndef and define when included.
	* config/mips/nm-news-mips.h: Ditto.
	* config/m68k/tm-m68k.h (REGISTER_CONVERT_TO_VIRTUAL,
	REGISTER_CONVERT_TO_RAW): Change name of temporary variable.
1996-04-05 04:22:08 +00:00
Fred Fish
07b77f5ca4 * configure.in: Check whether printf family supports printing
long doubles or not and define PRINTF_HAS_LONG_DOUBLE if so.
	* acconfig.h: Provide default undef for PRINTF_HAS_LONG_DOUBLE.
	* configure: Regenerate.
	* valprint.c (print_floating): Use PRINTF_HAS_LONG_DOUBLE.
	* c-exp.y (parse_number): Use PRINTF_HAS_LONG_DOUBLE.
	* configure.in: Fix have_gregset and have_fpregset autoconf
	variable names so that they match the pattern required to
	cache them.
1996-03-31 01:04:37 +00:00
Stu Grossman
aa220473ba * Add native support for long double data type.
* c-exp.y (%union):  Change dval to typed_val_float.  Use DOUBLEST
	to store actual data.  Change types of INT and FLOAT tokens to
	typed_val_int and typed_val_float respectively.  Create new token
	DOUBLE_KEYWORD to specify the string `double'.  Make production
	for FLOAT use type determined by parse_number.  Add production for
	"long double" data type.
	* (parse_number):  Use sscanf to parse numbers as float, double or
	long double depending upon the type of typed_val_float.dval.  Also
	allow user to specify `f' or `l' suffix to explicitly specify
	float or long double constants.  Change typed_val to
	typed_val_int.
	* (yylex):  Change typed_val to typed_val_int.  Also, scan for
	"double" keyword.
	* coffread.c (decode_base_type):  Add support for T_LNGDBL basic
	type.
	* configure, configure.in:  Add check for long double support in
	the host compiler.
	* defs.h:  Define DOUBLEST appropriatly depending on whether
	HAVE_LONG_DOUBLE (from autoconf) is defined.  Also, fix prototypes
	for functions that handle this type.
	* expression.h (union exp_element):  doubleconst is now type
	DOUBLEST.
	* m2-exp.y f-exp.y (%union):  dval becomes type DOUBLEST.
	* findvar.c (extract_floating):  Make return value be DOUBLEST.
	Also, add support for numbers with size of long double.
	* (store_floating):  Arg `val' is now type DOUBLEST.  Handle all
	floating types.
	* parser-defs.h parse.c (write_exp_elt_dblcst):  Arg expelt is now
	DOUBLEST.
	* valarith.c (value_binop):  Change temp variables v1, v2 and v to
	type DOUBLEST.  Coerce type of result to long double if either op
	was of that type.
	* valops.c (value_arg_coerce):  If argument type is bigger than
	double, coerce to long double.
	* (call_function_by_hand):  If REG_STRUCT_HAS_ADDR is defined, and
	arg type is float and > 8 bytes, then use pointer-to-object
	calling conventions.
	* valprint.c (print_floating):  Arg doub is now type DOUBLEST.
	Use appropriate format and precision to print out floating point
	values.
	* value.h:  Fixup prototypes for value_as_double,
	value_from_double, and unpack_double to use DOUBLEST.
	* values.c (record_latest_value):  Remove check for invalid
	floats.  Allow history to store them so that people may examine
	them in hex if they want.
	* (value_as_double unpack_double):  Change return value to DOUBLEST.
	* (value_from_double):  Arg `num' is now DOUBLEST.
	* (using_struct_return):  Use RETURN_VALUE_ON_STACK macro (target
	specific) to expect certain types to always be returned on the stack.
1996-02-17 00:07:35 +00:00
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