*** empty log message ***
[deliverable/binutils-gdb.git] / gdb / m2-lang.c
index 1f8322e707f0fa2aea9504b8f52ca19db9ec32d5..c850b1f5f025e36300d0740c767ea08621343f1e 100644 (file)
@@ -1,7 +1,7 @@
 /* Modula 2 language support routines for GDB, the GNU debugger.
 
    Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 2000, 2002, 2003, 2004,
-   2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+   2005, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -42,7 +42,7 @@ static void
 m2_emit_char (int c, struct type *type, struct ui_file *stream, int quoter)
 {
 
-  c &= 0xFF;                   /* Avoid sign bit follies */
+  c &= 0xFF;                   /* Avoid sign bit follies */
 
   if (PRINT_LITERAL_FORM (c))
     {
@@ -104,14 +104,13 @@ m2_printchar (int c, struct type *type, struct ui_file *stream)
 
 static void
 m2_printstr (struct ui_file *stream, struct type *type, const gdb_byte *string,
-            unsigned int length, int force_ellipses,
+            unsigned int length, const char *encoding, int force_ellipses,
             const struct value_print_options *options)
 {
   unsigned int i;
   unsigned int things_printed = 0;
   int in_quotes = 0;
   int need_comma = 0;
-  int width = TYPE_LENGTH (type);
 
   if (length == 0)
     {
@@ -195,6 +194,7 @@ evaluate_subexp_modula2 (struct type *expect_type, struct expression *exp,
   struct value *arg1;
   struct value *arg2;
   struct type *type;
+
   switch (op)
     {
     case UNOP_HIGH:
@@ -211,6 +211,7 @@ evaluate_subexp_modula2 (struct type *expect_type, struct expression *exp,
          if (m2_is_unbounded_array (type))
            {
              struct value *temp = arg1;
+
              type = TYPE_FIELD_TYPE (type, 1);
              /* i18n: Do not translate the "_m2_high" part!  */
              arg1 = value_struct_elt (&temp, NULL, "_m2_high", NULL,
@@ -240,10 +241,12 @@ evaluate_subexp_modula2 (struct type *expect_type, struct expression *exp,
        {
          struct value *temp = arg1;
          type = TYPE_FIELD_TYPE (type, 0);
-         if (type == NULL || (TYPE_CODE (type) != TYPE_CODE_PTR)) {
-           warning (_("internal error: unbounded array structure is unknown"));
-           return evaluate_subexp_standard (expect_type, exp, pos, noside);
-         }
+         if (type == NULL || (TYPE_CODE (type) != TYPE_CODE_PTR))
+           {
+             warning (_("internal error: unbounded "
+                        "array structure is unknown"));
+             return evaluate_subexp_standard (expect_type, exp, pos, noside);
+           }
          /* i18n: Do not translate the "_m2_contents" part!  */
          arg1 = value_struct_elt (&temp, NULL, "_m2_contents", NULL,
                                   _("unbounded structure "
@@ -252,7 +255,7 @@ evaluate_subexp_modula2 (struct type *expect_type, struct expression *exp,
          if (value_type (arg1) != type)
            arg1 = value_cast (type, arg1);
 
-         type = check_typedef (value_type (arg1));
+         check_typedef (value_type (arg1));
          return value_ind (value_ptradd (arg1, value_as_long (arg2)));
        }
       else
@@ -356,6 +359,7 @@ const struct exp_descriptor exp_descriptor_modula2 =
 {
   print_subexp_standard,
   operator_length_standard,
+  operator_check_standard,
   op_name_standard,
   dump_subexp_body_standard,
   evaluate_subexp_modula2
@@ -386,7 +390,8 @@ const struct language_defn m2_language_defn =
   basic_lookup_symbol_nonlocal,        /* lookup_symbol_nonlocal */
   basic_lookup_transparent_type,/* lookup_transparent_type */
   NULL,                                /* Language specific symbol demangler */
-  NULL,                                /* Language specific class_name_from_physname */
+  NULL,                                /* Language specific
+                                  class_name_from_physname */
   m2_op_print_tab,             /* expression operators for printing */
   0,                           /* arrays are first-class (not c-style) */
   0,                           /* String lower bound */
@@ -396,6 +401,8 @@ const struct language_defn m2_language_defn =
   default_print_array_index,
   default_pass_by_reference,
   default_get_string,
+  strcmp_iw_ordered,
+  iterate_over_symbols,
   LANG_MAGIC
 };
 
This page took 0.025793 seconds and 4 git commands to generate.