Yearly gdb/ChangeLog rotation.
[deliverable/binutils-gdb.git] / gdb / expprint.c
index 69055348cf64993e4f3a640ae9132d8968885f62..59fd4e32330f00c289f6a0ccf2222e1eba9892f7 100644 (file)
@@ -1,6 +1,6 @@
 /* Print in infix form a struct expression.
 
-   Copyright (C) 1986-2013 Free Software Foundation, Inc.
+   Copyright (C) 1986-2014 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 #include "parser-defs.h"
 #include "user-regs.h"         /* For user_reg_map_regnum_to_name.  */
 #include "target.h"
-#include "gdb_string.h"
 #include "block.h"
 #include "objfiles.h"
-#include "gdb_assert.h"
 #include "valprint.h"
 
 #include <ctype.h>
@@ -99,7 +97,7 @@ print_subexp_standard (struct expression *exp, int *pos,
       {
        struct value_print_options opts;
 
-       get_raw_print_options (&opts);
+       get_no_prettyformat_print_options (&opts);
        (*pos) += 3;
        value_print (value_from_longest (exp->elts[pc + 1].type,
                                         exp->elts[pc + 2].longconst),
@@ -111,7 +109,7 @@ print_subexp_standard (struct expression *exp, int *pos,
       {
        struct value_print_options opts;
 
-       get_raw_print_options (&opts);
+       get_no_prettyformat_print_options (&opts);
        (*pos) += 3;
        value_print (value_from_double (exp->elts[pc + 1].type,
                                        exp->elts[pc + 2].doubleconst),
@@ -448,7 +446,7 @@ print_subexp_standard (struct expression *exp, int *pos,
          (*pos) += 4;
          val = value_at_lazy (exp->elts[pc + 1].type,
                               (CORE_ADDR) exp->elts[pc + 5].longconst);
-         get_raw_print_options (&opts);
+         get_no_prettyformat_print_options (&opts);
          value_print (val, stream, &opts);
        }
       else
@@ -802,8 +800,6 @@ dump_subexp_body_standard (struct expression *exp,
     case BINOP_ASSIGN_MODIFY:
     case BINOP_VAL:
     case BINOP_CONCAT:
-    case BINOP_IN:
-    case BINOP_RANGE:
     case BINOP_END:
     case STRUCTOP_MEMBER:
     case STRUCTOP_MPTR:
@@ -934,7 +930,7 @@ dump_subexp_body_standard (struct expression *exp,
       gdb_print_host_address (exp->elts[elt + 1].type, stream);
       fprintf_filtered (stream, " (__thread /* \"%s\" */ ",
                         (exp->elts[elt].objfile == NULL ? "(null)"
-                        : exp->elts[elt].objfile->name));
+                        : objfile_name (exp->elts[elt].objfile)));
       type_print (exp->elts[elt + 1].type, NULL, stream, 0);
       fprintf_filtered (stream, ")");
       elt = dump_subexp (exp, stream, elt + 3);
@@ -953,6 +949,11 @@ dump_subexp_body_standard (struct expression *exp,
       elt = dump_subexp (exp, stream, elt);
       fprintf_filtered (stream, ")");
       break;
+    case OP_TYPEID:
+      fprintf_filtered (stream, "typeid (");
+      elt = dump_subexp (exp, stream, elt);
+      fprintf_filtered (stream, ")");
+      break;
     case STRUCTOP_STRUCT:
     case STRUCTOP_PTR:
       {
@@ -1006,12 +1007,29 @@ dump_subexp_body_standard (struct expression *exp,
        elt = dump_subexp (exp, stream, elt);
       }
       break;
+    case OP_STRING:
+      {
+       LONGEST len = exp->elts[elt].longconst;
+       LONGEST type = exp->elts[elt + 1].longconst;
+
+       fprintf_filtered (stream, "Language-specific string type: %s",
+                         plongest (type));
+
+       /* Skip length.  */
+       elt += 1;
+
+       /* Skip string content. */
+       elt += BYTES_TO_EXP_ELEM (len);
+
+       /* Skip length and ending OP_STRING. */
+       elt += 2;
+      }
+      break;
     default:
     case OP_NULL:
     case MULTI_SUBSCRIPT:
     case OP_F77_UNDETERMINED_ARGLIST:
     case OP_COMPLEX:
-    case OP_STRING:
     case OP_BOOL:
     case OP_M2_STRING:
     case OP_THIS:
This page took 0.033893 seconds and 4 git commands to generate.