aboutsummaryrefslogtreecommitdiff
path: root/gdb/c-exp.y
AgeCommit message (Collapse)AuthorFilesLines
1992-11-24 * c-exp.y (yylex): Add tempbuf, tempbufindex, and tempbufsize,Fred Fish1-16/+54
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-23 * language.h (PRINT_LITERAL_FORM): New macro that takes characterFred Fish1-37/+38
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-21 * defs.h (sevenbit_strings): Add declaration.Fred Fish1-0/+161
* 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-18 * language.h (language_format_info): New structure to bundleFred Fish1-4/+8
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-15 * Makefile.in (SFILES_MAINDIR): Add ch-exp.y.Fred Fish1-17/+18
* 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-06 * c-exp.y: separated host/target idea of integer type size,Steve Chamberlain1-69/+57
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-10-31 * Makefile.in (c-exp.tab.c, m2-exp.tab.c): Add sed patterns toFred Fish1-15/+11
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-19 * c-exp.y: Moved handling of 'const' and 'volatile' fromPer Bothner1-4/+4
<type> to <typebase>. This removes 2 conflicts.
1992-09-10Removed a large number of changes inserted by Per BothnerJohn Gilmore1-57/+23
for C++ support. These will go back in when they've been examined.
1992-09-04A ton of changes to improve C++ debugging. See ChangeLog.Per Bothner1-23/+57
1992-07-10 * gdbtypes.c, gdbtypes.h: New function lookup_signed_typename.Per Bothner1-2/+9
* 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-09Minor changes to make these work with bison again.Michael Tiemann1-3/+3
1992-07-09Only treat "class" as a token if the current language is C++.Fred Fish1-1/+2
1992-07-09 * dwarfread.c (alloc_utype, decode_subscr_data): Call alloc_typeFred Fish1-1/+6
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-04 * breakpoint.c, buildsym.c, c-exp.y, coffread.c, command.c,Fred Fish1-1/+1
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-06-29 * dbxread.c, i386-pinsn.c, i386-tdep.c, regex.c, solib.c, symmisc.c,Fred Fish1-1/+1
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-10 * c-exp.y, m2-exp.y: Move remapping defines for malloc andFred Fish1-8/+20
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-09 * c-exp.y (yylex): Recognize single-quoted strings that specifyFred Fish1-1/+15
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-05-17 * inflow.c (new_tty): Temporarily ignore SIGTTOU whenFred Fish1-4/+4
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-04-18Back out of TYPE_FLAG_FUND_TYPE change, solve the problem in valprint.c byFred Fish1-17/+17
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-15Add TYPE_FLAG_FUND_TYPE bit to the flags member of the type structure,Fred Fish1-17/+17
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-02Lint.John Gilmore1-0/+3
* symfile.c (add_symbol_file_command): Initialize mapped/readnow.
1992-03-30c-exp.y: Add missing return type to yyparse() prototype.Per Bothner1-0/+1
1992-03-29LintJohn Gilmore1-6/+2
1992-03-26 * c-exp.y, gdbtypes.h: Add builtin_type_signed_char.Per Bothner1-0/+6
* cplus-dem.c: Support "Sc" meaning "signed char".
1992-03-20More C++ improvements (pointers to members, qualified names). See ChangeLog.Per Bothner1-4/+27
1992-03-15Globs of changes. See the ChangeLog for details. Most related toFred Fish1-0/+6
using the new mmalloc package.
1992-02-22* Check in Fred Fish's changes in these modules. FredJohn Gilmore1-68/+85
will make ChangeLog entries for all of them.
1992-02-20* defs.h: Include ansidecl.h and PARAMS macro. Use PARAMSJohn Gilmore1-10/+10
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-01-27* buildsym.c (read_struct_type): Circumvent sun3 sunos "--" compiler bug.John Gilmore1-2/+4
* c-exp.y (yylex): `this' and `template' are only tokens in C++. * target.c (target_xfer_memory): Return errno in preference to EIO.
1991-12-05Fix things pointed up by Fred Fish's test suite; see ChangeLog.John Gilmore1-3/+4
1991-11-21* defs.h: Incorporate param.h. All users changed.John Gilmore1-1/+0
* 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-19Add defines so that parsers produced by SVR4 versions of yacc can coexistFred Fish1-0/+3
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-16Fixed a syntax error.Sean Eric Fagan1-1/+1
1991-11-15ansi name abuse changesDavid Henkel-Wallace1-1/+8
1991-11-12Fixes related to handling of C++ methods (handle destructorsPer Bothner1-0/+2
and parameters that are functions).
1991-11-06Add C++ as a separate language.Per Bothner1-4/+22
Also, fix a C++ problem when looking for methods in super-classes. (There was confusion between base and derived types.)
1991-10-27* c-exp.y (yyerror): Pass error message if given.John Gilmore1-1/+1
* configure.in: Add rs6000 host and target. * inflow.c (new_tty): O_NOCTTY kludge for RS/6000. * symfile.h (entry_point): Add.
1991-10-24Add three new builtin types (builtin_type_long_double, builtin_type_complex,Fred Fish1-23/+53
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-04* c-exp.y: sym->class to SYMBOL_CLASS (sym).John Gilmore1-1/+1
* dbxread.c (dbx_lookup_type): Keep doubling size of typevector until it is large enough.
1991-09-28* c-exp.y, m2-exp.y: Define more yysymbols that happen to beJohn Gilmore1-0/+8
"bss" rather than "data" symbols, but which still conflict. * m2-exp.y: Lint.
1991-09-20#define yyerrflag and yynerrs to avoid global name conflicts.Stu Grossman1-0/+2
1991-09-19* c-exp.y, m2-exp.y: Lint.John Gilmore1-0/+2
* m2-exp.y: Avoid using yytname[] which is a Bison-ism.
1991-09-19LintJohn Gilmore1-2/+3
1991-09-19* parse.c: New file with the common code remains of expread.y.John Gilmore1-0/+1513
* 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.