gdb/d-lang.h - gdb

Data types defined

Macros defined

Source code

  1. /* D language support definitions for GDB, the GNU debugger.

  2.    Copyright (C) 2005-2015 Free Software Foundation, Inc.

  3.    This file is part of GDB.

  4.    This program is free software; you can redistribute it and/or modify
  5.    it under the terms of the GNU General Public License as published by
  6.    the Free Software Foundation; either version 3 of the License, or
  7.    (at your option) any later version.

  8.    This program is distributed in the hope that it will be useful,
  9.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  10.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11.    GNU General Public License for more details.

  12.    You should have received a copy of the GNU General Public License
  13.    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */

  14. #if !defined (D_LANG_H)
  15. #define D_LANG_H 1

  16. #include "symtab.h"

  17. /* Language specific builtin types for D.  Any additional types added
  18.    should be kept in sync with enum d_primitive_types, where these
  19.    types are documented.  */

  20. struct builtin_d_type
  21. {
  22.   struct type *builtin_void;
  23.   struct type *builtin_bool;
  24.   struct type *builtin_byte;
  25.   struct type *builtin_ubyte;
  26.   struct type *builtin_short;
  27.   struct type *builtin_ushort;
  28.   struct type *builtin_int;
  29.   struct type *builtin_uint;
  30.   struct type *builtin_long;
  31.   struct type *builtin_ulong;
  32.   struct type *builtin_cent;
  33.   struct type *builtin_ucent;
  34.   struct type *builtin_float;
  35.   struct type *builtin_double;
  36.   struct type *builtin_real;
  37.   struct type *builtin_ifloat;
  38.   struct type *builtin_idouble;
  39.   struct type *builtin_ireal;
  40.   struct type *builtin_cfloat;
  41.   struct type *builtin_cdouble;
  42.   struct type *builtin_creal;
  43.   struct type *builtin_char;
  44.   struct type *builtin_wchar;
  45.   struct type *builtin_dchar;
  46. };

  47. /* Defined in d-exp.y.  */

  48. extern int d_parse (struct parser_state *);

  49. extern void d_error (char *);

  50. /* Defined in d-lang.c  */

  51. extern const char *d_main_name (void);

  52. extern char *d_demangle (const char *mangled, int options);

  53. extern const struct builtin_d_type *builtin_d_type (struct gdbarch *);

  54. /* Defined in d-valprint.c  */

  55. extern void d_val_print (struct type *type, const gdb_byte *valaddr,
  56.                          int embedded_offset, CORE_ADDR address,
  57.                          struct ui_file *stream, int recurse,
  58.                          const struct value *val,
  59.                          const struct value_print_options *options);

  60. #endif /* !defined (D_LANG_H) */