* gdbtypes.h (struct main_type): Change type of name,tag_name,
[deliverable/binutils-gdb.git] / gdb / typeprint.c
index f090231f3684595bbe3f138f2d8a7d28884caf73..803d20bee6c569899fefa5dbe6b1e2f419527ad1 100644 (file)
@@ -1,7 +1,7 @@
 /* Language independent support for printing types for GDB, the GNU debugger.
 
-   Copyright (C) 1986, 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1998, 1999,
-   2000, 2001, 2003, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+   Copyright (C) 1986, 1988-1989, 1991-1995, 1998-2001, 2003, 2006-2012
+   Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -48,7 +48,7 @@ static void whatis_exp (char *, int);
 
 /* Print a description of a type in the format of a 
    typedef for the current language.
-   NEW is the new name for a type TYPE. */
+   NEW is the new name for a type TYPE.  */
 
 void
 typedef_print (struct type *type, struct symbol *new, struct ui_file *stream)
@@ -73,7 +73,7 @@ default_print_typedef (struct type *type, struct symbol *new_symbol,
    If SHOW is negative, we never show the details of elements' types.  */
 
 void
-type_print (struct type *type, char *varstring, struct ui_file *stream,
+type_print (struct type *type, const char *varstring, struct ui_file *stream,
            int show)
 {
   LA_PRINT_TYPE (type, varstring, stream, show, 0);
@@ -289,13 +289,13 @@ maintenance_print_type (char *typename, int from_tty)
       old_chain = make_cleanup (free_current_contents, &expr);
       if (expr->elts[0].opcode == OP_TYPE)
        {
-         /* The user expression names a type directly, just use that type. */
+         /* The user expression names a type directly, just use that type.  */
          type = expr->elts[1].type;
        }
       else
        {
          /* The user expression may name a type indirectly by naming an
-            object of that type.  Find that indirectly named type. */
+            object of that type.  Find that indirectly named type.  */
          val = evaluate_type (expr);
          type = value_type (val);
        }
@@ -315,8 +315,10 @@ _initialize_typeprint (void)
 Print definition of type TYPE.\n\
 Argument may be a type name defined by typedef, or \"struct STRUCT-TAG\"\n\
 or \"class CLASS-NAME\" or \"union UNION-TAG\" or \"enum ENUM-TAG\".\n\
-The selected stack frame's lexical context is used to look up the name."));
+The selected stack frame's lexical context is used to look up the name.\n\
+Contrary to \"whatis\", \"ptype\" always unrolls any typedefs."));
 
   add_com ("whatis", class_vars, whatis_command,
-          _("Print data type of expression EXP."));
+          _("Print data type of expression EXP.\n\
+Only one level of typedefs is unrolled.  See also \"ptype\"."));
 }
This page took 0.026205 seconds and 4 git commands to generate.