/* Modula 2 language support routines for GDB, the GNU debugger.
- Copyright 1992 Free Software Foundation, Inc.
+ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 2000, 2002
+ Free Software Foundation, Inc.
This file is part of GDB.
#include "language.h"
#include "m2-lang.h"
#include "c-lang.h"
+#include "valprint.h"
-extern void _initialize_m2_language PARAMS ((void));
-static struct type *m2_create_fundamental_type PARAMS ((struct objfile *, int));
-static void m2_printstr PARAMS ((GDB_FILE * stream, char *string, unsigned int length, int width, int force_ellipses));
-static void m2_printchar PARAMS ((int, GDB_FILE *));
-static void m2_emit_char PARAMS ((int, GDB_FILE *, int));
+extern void _initialize_m2_language (void);
+static struct type *m2_create_fundamental_type (struct objfile *, int);
+static void m2_printstr (struct ui_file * stream, char *string,
+ unsigned int length, int width,
+ int force_ellipses);
+static void m2_printchar (int, struct ui_file *);
+static void m2_emit_char (int, struct ui_file *, int);
/* Print the character C on STREAM as part of the contents of a literal
string whose delimiter is QUOTER. Note that that format for printing
*/
static void
-m2_emit_char (c, stream, quoter)
- register int c;
- GDB_FILE *stream;
- int quoter;
+m2_emit_char (register int c, struct ui_file *stream, int quoter)
{
c &= 0xFF; /* Avoid sign bit follies */
be replaced with a true Modula version. */
static void
-m2_printchar (c, stream)
- int c;
- GDB_FILE *stream;
+m2_printchar (int c, struct ui_file *stream)
{
fputs_filtered ("'", stream);
LA_EMIT_CHAR (c, stream, '\'');
be replaced with a true Modula version. */
static void
-m2_printstr (stream, string, length, width, force_ellipses)
- GDB_FILE *stream;
- char *string;
- unsigned int length;
- int width;
- int force_ellipses;
+m2_printstr (struct ui_file *stream, char *string, unsigned int length,
+ int width, int force_ellipses)
{
register unsigned int i;
unsigned int things_printed = 0;
int in_quotes = 0;
int need_comma = 0;
extern int inspect_it;
- extern int repeat_count_threshold;
- extern int print_max;
if (length == 0)
{
by an experienced Modula programmer. */
static struct type *
-m2_create_fundamental_type (objfile, typeid)
- struct objfile *objfile;
- int typeid;
+m2_create_fundamental_type (struct objfile *objfile, int typeid)
{
register struct type *type = NULL;
struct type *builtin_type_m2_real;
struct type *builtin_type_m2_bool;
-struct type **CONST_PTR (m2_builtin_types[]) =
+struct type **const (m2_builtin_types[]) =
{
&builtin_type_m2_char,
&builtin_type_m2_int,
m2_builtin_types,
range_check_on,
type_check_on,
+ case_sensitive_on,
m2_parse, /* parser */
m2_error, /* parser error function */
evaluate_subexp_standard,
/* Initialization for Modula-2 */
void
-_initialize_m2_language ()
+_initialize_m2_language (void)
{
/* Modula-2 "pervasive" types. NOTE: these can be redefined!!! */
builtin_type_m2_int =